mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
provide help for choosers when needed (generate toString now)
This commit is contained in:
@@ -267,16 +267,22 @@ public class MemberChooser<T extends ClassMember> extends DialogWrapper implemen
|
||||
@Override
|
||||
@NotNull
|
||||
protected Action[] createActions() {
|
||||
final List<Action> actions = new ArrayList<Action>();
|
||||
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() {
|
||||
|
||||
+18
-15
@@ -83,32 +83,35 @@ public class GenerateToStringActionHandlerImpl extends EditorWriteActionHandler
|
||||
|
||||
final PsiElementClassMember[] dialogMembers = buildMembersToShow(clazz);
|
||||
|
||||
final MemberChooserBuilder<PsiElementClassMember> builder = new MemberChooserBuilder<PsiElementClassMember>(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<PsiElementClassMember> dialog = builder.createBuilder(dialogMembers);
|
||||
dialog.setCopyJavadocVisible(false);
|
||||
dialog.selectElements(dialogMembers);
|
||||
header.setChooser(dialog);
|
||||
dialog.show();
|
||||
final MemberChooser<PsiElementClassMember> chooser =
|
||||
new MemberChooser<PsiElementClassMember>(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<PsiMember> selectedMembers = GenerationUtil.convertClassMembersToPsiMembers(dialog.getSelectedElements());
|
||||
chooser.setCopyJavadocVisible(false);
|
||||
chooser.selectElements(dialogMembers);
|
||||
header.setChooser(chooser);
|
||||
chooser.show();
|
||||
|
||||
if (DialogWrapper.OK_EXIT_CODE == chooser.getExitCode()) {
|
||||
Collection<PsiMember> 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
|
||||
|
||||
+1
-1
@@ -42,7 +42,7 @@ public class GenerateToStringConfigurable implements Configurable {
|
||||
}
|
||||
|
||||
public String getHelpTopic() {
|
||||
return null;
|
||||
return "editing.altInsert.tostring.settings";
|
||||
}
|
||||
|
||||
public JComponent createComponent() {
|
||||
|
||||
Reference in New Issue
Block a user