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