diff --git a/.idea/modules.xml b/.idea/modules.xml
index aee60deaaf2c..00437da65030 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -3,8 +3,6 @@
-
-
diff --git a/build/scripts/layouts.gant b/build/scripts/layouts.gant
index d803b35af28f..4974934852ba 100644
--- a/build/scripts/layouts.gant
+++ b/build/scripts/layouts.gant
@@ -217,9 +217,7 @@ def layoutFull(String home, String targetDirectory, String patchedDescriptorDir
}
}
- jar("embedder.jar") {
- module("FxBuilderEmbedder")
- }
+ fileset(dir: "${home}/plugins/JavaFX/FxBuilderEmbedder/lib", includes: "embedder.jar");
}
}
diff --git a/plugins/javaFX/FxBuilderEmbedder/FxBuilderEmbedder.iml b/plugins/javaFX/FxBuilderEmbedder/FxBuilderEmbedder.iml
index 9379a8f49a6f..94b91b59e731 100644
--- a/plugins/javaFX/FxBuilderEmbedder/FxBuilderEmbedder.iml
+++ b/plugins/javaFX/FxBuilderEmbedder/FxBuilderEmbedder.iml
@@ -5,10 +5,18 @@
-
+
+
+
+
+
+
+
+
+
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/FxBuilderStubs.iml b/plugins/javaFX/FxBuilderEmbedder/Stubs/FxBuilderStubs.iml
deleted file mode 100644
index 826058ac32c6..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/FxBuilderStubs.iml
+++ /dev/null
@@ -1,12 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java
deleted file mode 100644
index cd941b40fa31..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/EditorController.java
+++ /dev/null
@@ -1,14 +0,0 @@
-package com.oracle.javafx.scenebuilder.kit.editor;
-
-import java.io.IOException;
-import java.net.URL;
-
-public class EditorController {
- public URL getFxmlLocation() {
- return null; // TODO: Auto-generated method stub
- }
-
- public void setFxmlTextAndLocation(String fxmlText, URL fxmlLocation) throws IOException {
- // TODO: Auto-generated method stub
- }
-}
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/drag/source/AbstractDragSource.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/drag/source/AbstractDragSource.java
deleted file mode 100644
index 22ffd7276a04..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/drag/source/AbstractDragSource.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package com.oracle.javafx.scenebuilder.kit.editor.drag.source;
-
-import javafx.scene.input.DataFormat;
-
-public class AbstractDragSource {
- public static final DataFormat INTERNAL_DATA_FORMAT = new DataFormat();
-}
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/panel/content/ContentPanelController.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/panel/content/ContentPanelController.java
deleted file mode 100644
index 18b5b2966e80..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/panel/content/ContentPanelController.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.oracle.javafx.scenebuilder.kit.editor.panel.content;
-
-import com.oracle.javafx.scenebuilder.kit.editor.EditorController;
-import com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractPanelController;
-
-/**
- * @author Alexander Lobas
- */
-public class ContentPanelController extends AbstractPanelController {
- public ContentPanelController(EditorController editorController) {
- // TODO: Auto-generated method stub
- }
-}
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treeview/HierarchyTreeViewController.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treeview/HierarchyTreeViewController.java
deleted file mode 100644
index 813295c13175..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/panel/hierarchy/treeview/HierarchyTreeViewController.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.oracle.javafx.scenebuilder.kit.editor.panel.hierarchy.treeview;
-
-import com.oracle.javafx.scenebuilder.kit.editor.EditorController;
-import com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractPanelController;
-
-/**
- * @author Alexander Lobas
- */
-public class HierarchyTreeViewController extends AbstractPanelController {
- public HierarchyTreeViewController(EditorController editorController) {
- // TODO: Auto-generated method stub
- }
-}
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/InspectorPanelController.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/InspectorPanelController.java
deleted file mode 100644
index 186705e65cb5..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/panel/inspector/InspectorPanelController.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.oracle.javafx.scenebuilder.kit.editor.panel.inspector;
-
-import com.oracle.javafx.scenebuilder.kit.editor.EditorController;
-import com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractPanelController;
-
-/**
- * @author Alexander Lobas
- */
-public class InspectorPanelController extends AbstractPanelController {
- public InspectorPanelController(EditorController editorController) {
- // TODO: Auto-generated method stub
- }
-}
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/panel/library/LibraryPanelController.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/panel/library/LibraryPanelController.java
deleted file mode 100644
index a09bdf803ddf..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/panel/library/LibraryPanelController.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.oracle.javafx.scenebuilder.kit.editor.panel.library;
-
-import com.oracle.javafx.scenebuilder.kit.editor.EditorController;
-import com.oracle.javafx.scenebuilder.kit.editor.panel.util.AbstractPanelController;
-
-/**
- * @author Alexander Lobas
- */
-public class LibraryPanelController extends AbstractPanelController {
- public LibraryPanelController(EditorController c) {
- // TODO: Auto-generated method stub
- }
-}
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractPanelController.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractPanelController.java
deleted file mode 100644
index 2ea76a51a154..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/editor/panel/util/AbstractPanelController.java
+++ /dev/null
@@ -1,12 +0,0 @@
-package com.oracle.javafx.scenebuilder.kit.editor.panel.util;
-
-import javafx.scene.Parent;
-
-/**
- * @author Alexander Lobas
- */
-public class AbstractPanelController {
- public Parent getPanelRoot() {
- return null; // TODO: Auto-generated method stub
- }
-}
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/fxom/FXOMDocument.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/fxom/FXOMDocument.java
deleted file mode 100644
index c5760658a79a..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/com/oracle/javafx/scenebuilder/kit/fxom/FXOMDocument.java
+++ /dev/null
@@ -1,13 +0,0 @@
-package com.oracle.javafx.scenebuilder.kit.fxom;
-
-import java.io.IOException;
-import java.net.URL;
-
-/**
- * @author Alexander Lobas
- */
-public class FXOMDocument {
- public static String readContentFromURL(URL url) throws IOException {
- return null; // TODO: Auto-generated method stub
- }
-}
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/application/Platform.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/application/Platform.java
deleted file mode 100644
index 7015b4e9e4d5..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/application/Platform.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package javafx.application;
-
-public class Platform {
- public static void runLater(Runnable runnable) {
- // TODO: Auto-generated method stub
- }
-}
\ No newline at end of file
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/collections/ObservableList.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/collections/ObservableList.java
deleted file mode 100644
index f79e5136e489..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/collections/ObservableList.java
+++ /dev/null
@@ -1,10 +0,0 @@
-package javafx.collections;
-
-import java.util.List;
-
-/**
- * @author Alexander Lobas
- */
-public interface ObservableList extends List {
- public boolean addAll(E... elements);
-}
\ No newline at end of file
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/embed/swing/JFXPanel.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/embed/swing/JFXPanel.java
deleted file mode 100644
index e3ad145eef5a..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/embed/swing/JFXPanel.java
+++ /dev/null
@@ -1,11 +0,0 @@
-package javafx.embed.swing;
-
-import javafx.scene.Scene;
-
-import javax.swing.*;
-
-public class JFXPanel extends JComponent {
- public void setScene(final Scene newScene) {
- // TODO: Auto-generated method stub
- }
-}
\ No newline at end of file
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/fxml/FXMLLoader.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/fxml/FXMLLoader.java
deleted file mode 100644
index ade5272ec4e0..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/fxml/FXMLLoader.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package javafx.fxml;
-
-public class FXMLLoader {
- public static void setDefaultClassLoader(ClassLoader defaultClassLoader) {
- // TODO: Auto-generated method stub
- }
-}
\ No newline at end of file
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/geometry/Orientation.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/geometry/Orientation.java
deleted file mode 100644
index 39c5dc971f94..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/geometry/Orientation.java
+++ /dev/null
@@ -1,8 +0,0 @@
-package javafx.geometry;
-
-/**
- * @author Alexander Lobas
- */
-public enum Orientation {
- HORIZONTAL, VERTICAL
-}
\ No newline at end of file
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/Node.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/Node.java
deleted file mode 100644
index d3e351aee893..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/Node.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package javafx.scene;
-
-/**
- * @author Alexander Lobas
- */
-public class Node {
-}
\ No newline at end of file
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/Parent.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/Parent.java
deleted file mode 100644
index b51a0ef9683c..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/Parent.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package javafx.scene;
-
-/**
- * @author Alexander Lobas
- */
-public abstract class Parent extends Node {
-}
\ No newline at end of file
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/Scene.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/Scene.java
deleted file mode 100644
index f3c8bd7c7776..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/Scene.java
+++ /dev/null
@@ -1,7 +0,0 @@
-package javafx.scene;
-
-public class Scene {
- public Scene(Parent root, double width, double height) {
- // TODO: Auto-generated method stub
- }
-}
\ No newline at end of file
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/control/Control.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/control/Control.java
deleted file mode 100644
index 6a1d0fb4078b..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/control/Control.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package javafx.scene.control;
-
-import javafx.scene.layout.Region;
-
-/**
- * @author Alexander Lobas
- */
-public abstract class Control extends Region {
-}
\ No newline at end of file
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/control/SplitPane.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/control/SplitPane.java
deleted file mode 100644
index 6a56a5826f99..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/control/SplitPane.java
+++ /dev/null
@@ -1,22 +0,0 @@
-package javafx.scene.control;
-
-import javafx.collections.ObservableList;
-import javafx.geometry.Orientation;
-import javafx.scene.Node;
-
-/**
- * @author Alexander Lobas
- */
-public class SplitPane extends Control {
- public final void setOrientation(Orientation value) {
- // TODO: Auto-generated method stub
- }
-
- public void setDividerPositions(double... positions) {
- // TODO: Auto-generated method stub
- }
-
- public ObservableList getItems() {
- return null; // TODO: Auto-generated method stub
- }
-}
\ No newline at end of file
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/input/DataFormat.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/input/DataFormat.java
deleted file mode 100644
index 7674469f6731..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/input/DataFormat.java
+++ /dev/null
@@ -1,4 +0,0 @@
-package javafx.scene.input;
-
-public class DataFormat {
-}
\ No newline at end of file
diff --git a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/layout/Region.java b/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/layout/Region.java
deleted file mode 100644
index 5bd724c71684..000000000000
--- a/plugins/javaFX/FxBuilderEmbedder/Stubs/stubsSrc/javafx/scene/layout/Region.java
+++ /dev/null
@@ -1,9 +0,0 @@
-package javafx.scene.layout;
-
-import javafx.scene.Parent;
-
-/**
- * @author Alexander Lobas
- */
-public class Region extends Parent {
-}
\ No newline at end of file
diff --git a/plugins/javaFX/FxBuilderEmbedder/lib/embedder.jar b/plugins/javaFX/FxBuilderEmbedder/lib/embedder.jar
new file mode 100644
index 000000000000..c975af501ba1
Binary files /dev/null and b/plugins/javaFX/FxBuilderEmbedder/lib/embedder.jar differ
diff --git a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/sceneBuilder/SceneBuilderEditor.java b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/sceneBuilder/SceneBuilderEditor.java
index 891ab95c0550..6194570d9ba9 100644
--- a/plugins/javaFX/src/org/jetbrains/plugins/javaFX/sceneBuilder/SceneBuilderEditor.java
+++ b/plugins/javaFX/src/org/jetbrains/plugins/javaFX/sceneBuilder/SceneBuilderEditor.java
@@ -3,6 +3,8 @@ package org.jetbrains.plugins.javaFX.sceneBuilder;
import com.intellij.codeHighlighting.BackgroundEditorHighlighter;
import com.intellij.ide.plugins.cl.PluginClassLoader;
import com.intellij.ide.structureView.StructureViewBuilder;
+import com.intellij.openapi.application.ApplicationManager;
+import com.intellij.openapi.application.PathManager;
import com.intellij.openapi.diagnostic.Logger;
import com.intellij.openapi.fileEditor.FileEditor;
import com.intellij.openapi.fileEditor.FileEditorLocation;
@@ -159,7 +161,16 @@ public class SceneBuilderEditor extends UserDataHolderBase implements FileEditor
if (SceneBuilderEditor.class.getClassLoader() instanceof PluginClassLoader) {
urls.add(new File(new File(parent).getParent(), "embedder.jar").toURI().toURL());
} else {
- urls.add(new File(parent, "FXBuilderEmbedder").toURI().toURL());
+ final File localEmbedder = new File(parent, "FXBuilderEmbedder");
+ if (localEmbedder.exists()) {
+ urls.add(localEmbedder.toURI().toURL());
+ } else {
+ File home = new File(PathManager.getHomePath(), "community");
+ if (!home.exists()) {
+ home = new File(PathManager.getHomePath());
+ }
+ urls.add(new File(home, "plugins/JavaFX/FxBuilderEmbedder/lib/embedder.jar").toURI().toURL());
+ }
}
return new URLClassLoader(urls.toArray(new URL[urls.size()]));
}