diff --git a/plugins/ui-designer/resources/META-INF/plugin.xml b/plugins/ui-designer/resources/META-INF/plugin.xml index 36ff0ea6f077..cf0d83f6cbc8 100644 --- a/plugins/ui-designer/resources/META-INF/plugin.xml +++ b/plugins/ui-designer/resources/META-INF/plugin.xml @@ -132,18 +132,11 @@ - - - - com.intellij.uiDesigner.propertyInspector.DesignerToolWindowManager - - - - com.intellij.ide.palette.impl.PaletteToolWindowManager - - - + + + + diff --git a/plugins/ui-designer/src/com/intellij/ide/palette/impl/PaletteToolWindowManager.java b/plugins/ui-designer/src/com/intellij/ide/palette/impl/PaletteToolWindowManager.java index d8f667edc087..e29fcc960743 100644 --- a/plugins/ui-designer/src/com/intellij/ide/palette/impl/PaletteToolWindowManager.java +++ b/plugins/ui-designer/src/com/intellij/ide/palette/impl/PaletteToolWindowManager.java @@ -38,7 +38,7 @@ public class PaletteToolWindowManager extends AbstractToolWindowManager { } public static PaletteToolWindowManager getInstance(Project project) { - return project.getComponent(PaletteToolWindowManager.class); + return project.getService(PaletteToolWindowManager.class); } @Override diff --git a/plugins/ui-designer/src/com/intellij/uiDesigner/FormEditingUtil.java b/plugins/ui-designer/src/com/intellij/uiDesigner/FormEditingUtil.java index cdba133a6de6..df6d8759455a 100644 --- a/plugins/ui-designer/src/com/intellij/uiDesigner/FormEditingUtil.java +++ b/plugins/ui-designer/src/com/intellij/uiDesigner/FormEditingUtil.java @@ -8,6 +8,7 @@ import com.intellij.openapi.actionSystem.DataContext; import com.intellij.openapi.actionSystem.PlatformDataKeys; import com.intellij.openapi.command.CommandProcessor; import com.intellij.openapi.fileEditor.FileEditor; +import com.intellij.openapi.fileEditor.FileEditorManager; import com.intellij.openapi.module.Module; import com.intellij.openapi.progress.ProcessCanceledException; import com.intellij.openapi.project.Project; @@ -586,16 +587,17 @@ public final class FormEditingUtil { } @Nullable - public static GuiEditor getActiveEditor(final DataContext context) { + public static GuiEditor getActiveEditor(@NotNull DataContext context) { Project project = CommonDataKeys.PROJECT.getData(context); - if (project == null) { + if (project == null || project.isDisposed()) { return null; } - final DesignerToolWindowManager toolWindowManager = DesignerToolWindowManager.getInstance(project); - if (toolWindowManager == null) { - return null; + for (FileEditor editor : FileEditorManager.getInstance(project).getSelectedEditors()) { + if (editor instanceof UIFormEditor) { + return ((UIFormEditor)editor).getEditor(); + } } - return toolWindowManager.getActiveFormEditor(); + return null; } /** diff --git a/plugins/ui-designer/src/com/intellij/uiDesigner/propertyInspector/DesignerToolWindowManager.java b/plugins/ui-designer/src/com/intellij/uiDesigner/propertyInspector/DesignerToolWindowManager.java index dd914acb459c..78c7513d8fbe 100644 --- a/plugins/ui-designer/src/com/intellij/uiDesigner/propertyInspector/DesignerToolWindowManager.java +++ b/plugins/ui-designer/src/com/intellij/uiDesigner/propertyInspector/DesignerToolWindowManager.java @@ -41,7 +41,7 @@ public class DesignerToolWindowManager extends AbstractToolWindowManager impleme } public static DesignerToolWindowManager getInstance(@NotNull Project project) { - return project.getComponent(DesignerToolWindowManager.class); + return project.getService(DesignerToolWindowManager.class); } @Nullable