mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
extend create from template API: pass DataContext to getAttributesDefaults(), add callback after element was created
This commit is contained in:
+8
-2
@@ -55,8 +55,11 @@ public abstract class CreateFromTemplateActionBase extends AnAction {
|
||||
}
|
||||
else {
|
||||
FileTemplateManager.getInstance().addRecentName(selectedTemplate.getName());
|
||||
PsiElement createdElement = new CreateFromTemplateDialog(project, dir, selectedTemplate, getAttributesDefaults()).create();
|
||||
final AttributesDefaults defaults = getAttributesDefaults(dataContext);
|
||||
final CreateFromTemplateDialog dialog = new CreateFromTemplateDialog(project, dir, selectedTemplate, defaults);
|
||||
PsiElement createdElement = dialog.create();
|
||||
if (createdElement != null) {
|
||||
elementCreated(dialog, createdElement);
|
||||
view.selectElement(createdElement);
|
||||
}
|
||||
}
|
||||
@@ -74,7 +77,10 @@ public abstract class CreateFromTemplateActionBase extends AnAction {
|
||||
protected abstract FileTemplate getTemplate(final Project project, final PsiDirectory dir);
|
||||
|
||||
@Nullable
|
||||
public AttributesDefaults getAttributesDefaults() {
|
||||
public AttributesDefaults getAttributesDefaults(DataContext dataContext) {
|
||||
return null;
|
||||
}
|
||||
|
||||
protected void elementCreated(CreateFromTemplateDialog dialog, PsiElement createdElement) {
|
||||
}
|
||||
}
|
||||
|
||||
@@ -125,6 +125,10 @@ public class CreateFromTemplateDialog extends DialogWrapper {
|
||||
}
|
||||
}
|
||||
|
||||
public Properties getEnteredProperties() {
|
||||
return myAttrPanel.getProperties(new Properties());
|
||||
}
|
||||
|
||||
private void showErrorDialog(final Exception e) {
|
||||
Messages.showMessageDialog(myProject, filterMessage(e.getMessage()), getErrorMessage(), Messages.getErrorIcon());
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user