From 78e51d0db4eb69d2907c2c118ba2fa74ce651b6b Mon Sep 17 00:00:00 2001 From: Anna Kozlova Date: Wed, 19 Nov 2014 12:35:27 +0100 Subject: [PATCH] provide help for choosers when needed (generate toString now) --- .../com/intellij/ide/util/MemberChooser.java | 12 +++++-- .../GenerateToStringActionHandlerImpl.java | 33 ++++++++++--------- .../GenerateToStringConfigurable.java | 2 +- 3 files changed, 28 insertions(+), 19 deletions(-) diff --git a/platform/lang-impl/src/com/intellij/ide/util/MemberChooser.java b/platform/lang-impl/src/com/intellij/ide/util/MemberChooser.java index 2addc59170b4..c8c53db4ef65 100644 --- a/platform/lang-impl/src/com/intellij/ide/util/MemberChooser.java +++ b/platform/lang-impl/src/com/intellij/ide/util/MemberChooser.java @@ -267,16 +267,22 @@ public class MemberChooser extends DialogWrapper implemen @Override @NotNull protected Action[] createActions() { + final List actions = new ArrayList(); + actions.add(getOKAction()); if (myAllowEmptySelection) { - return new Action[]{getOKAction(), new SelectNoneAction(), getCancelAction()}; + actions.add(new SelectNoneAction()); } - else { - return new Action[]{getOKAction(), getCancelAction()}; + actions.add(getCancelAction()); + if (getHelpId() != null) { + actions.add(getHelpAction()); } + return actions.toArray(new Action[actions.size()]); } @Override protected void doHelpAction() { + if (getHelpId() == null) return; + super.doHelpAction(); } protected void customizeOptionsPanel() { diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringActionHandlerImpl.java b/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringActionHandlerImpl.java index 527e66312f33..9da6e33608bf 100644 --- a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringActionHandlerImpl.java +++ b/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringActionHandlerImpl.java @@ -83,32 +83,35 @@ public class GenerateToStringActionHandlerImpl extends EditorWriteActionHandler final PsiElementClassMember[] dialogMembers = buildMembersToShow(clazz); - final MemberChooserBuilder builder = new MemberChooserBuilder(project); final MemberChooserHeaderPanel header = new MemberChooserHeaderPanel(clazz); - builder.setHeaderPanel(header); - builder.allowEmptySelection(true); - builder.overrideAnnotationVisible(PsiUtil.isLanguageLevel5OrHigher(clazz)); - builder.setTitle("Generate toString()"); - logger.debug("Displaying member chooser dialog"); ApplicationManager.getApplication().invokeLater(new Runnable() { public void run() { if (project.isDisposed()) return; - final MemberChooser dialog = builder.createBuilder(dialogMembers); - dialog.setCopyJavadocVisible(false); - dialog.selectElements(dialogMembers); - header.setChooser(dialog); - dialog.show(); + final MemberChooser chooser = + new MemberChooser(dialogMembers, true, true, project, PsiUtil.isLanguageLevel5OrHigher(clazz), header) { + @Nullable + @Override + protected String getHelpId() { + return "editing.altInsert.tostring"; + } + }; + chooser.setTitle("Generate toString()"); - if (DialogWrapper.OK_EXIT_CODE == dialog.getExitCode()) { - Collection selectedMembers = GenerationUtil.convertClassMembersToPsiMembers(dialog.getSelectedElements()); + chooser.setCopyJavadocVisible(false); + chooser.selectElements(dialogMembers); + header.setChooser(chooser); + chooser.show(); + + if (DialogWrapper.OK_EXIT_CODE == chooser.getExitCode()) { + Collection selectedMembers = GenerationUtil.convertClassMembersToPsiMembers(chooser.getSelectedElements()); final TemplateResource template = header.getSelectedTemplate(); TemplatesManager.getInstance().setDefaultTemplate(template); if (template.isValidTemplate()) { GenerateToStringWorker.executeGenerateActionLater(clazz, editor, selectedMembers, template, - dialog.isInsertOverrideAnnotation()); + chooser.isInsertOverrideAnnotation()); } else { HintManager.getInstance().showErrorHint(editor, "toString() template '" + template.getFileName() + "' is invalid"); @@ -201,7 +204,7 @@ public class GenerateToStringActionHandlerImpl extends EditorWriteActionHandler } public String getHelpTopic() { - return null; // TODO: + return "editing.altInsert.tostring.settings"; } @Override diff --git a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringConfigurable.java b/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringConfigurable.java index bee539235d1f..59b9602ba281 100644 --- a/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringConfigurable.java +++ b/plugins/generate-tostring/src/org/jetbrains/generate/tostring/GenerateToStringConfigurable.java @@ -42,7 +42,7 @@ public class GenerateToStringConfigurable implements Configurable { } public String getHelpTopic() { - return null; + return "editing.altInsert.tostring.settings"; } public JComponent createComponent() {