Skip to content

Commit 8f99ccf

Browse files
committed
updated plugin API.
1 parent b11d241 commit 8f99ccf

File tree

4 files changed

+44
-5
lines changed

4 files changed

+44
-5
lines changed

src/main/java/com/ss/editor/JFXApplication.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@
3030
import com.ss.editor.ui.control.tree.node.TreeNodeFactoryRegistry;
3131
import com.ss.editor.ui.css.CSSRegistry;
3232
import com.ss.editor.ui.dialog.ConfirmDialog;
33+
import com.ss.editor.ui.preview.FilePreviewFactoryRegistry;
3334
import com.ss.editor.ui.scene.EditorFXScene;
3435
import com.ss.editor.util.OpenGLVersion;
3536
import com.ss.editor.util.svg.SvgImageLoaderFactory;
@@ -205,7 +206,8 @@ private static void startJMEApplication(@NotNull final JmeToJFXApplication appli
205206
}
206207

207208
final JFXApplication application = JFXApplication.getInstance();
208-
final Window window = ArrayUtils.getInReadLock(application.openedWindows, windows -> windows.search(Window::isFocused));
209+
final Window window = ArrayUtils.getInReadLock(application.openedWindows,
210+
windows -> windows.search(Window::isFocused));
209211

210212
editor.setPaused(window == null);
211213
};
@@ -404,6 +406,7 @@ private void buildScene() {
404406
editorPlugin.register(AssetTreeContextMenuFillerRegistry.getInstance());
405407
editorPlugin.register(TreeNodeFactoryRegistry.getInstance());
406408
editorPlugin.register(PropertyBuilderRegistry.getInstance());
409+
editorPlugin.register(FilePreviewFactoryRegistry.getInstance());
407410
});
408411

409412
final EditorFXScene scene = getScene();

src/main/java/com/ss/editor/manager/JMEFilePreviewManager.java

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
import com.ss.editor.asset.locator.FolderAssetLocator;
3535
import com.ss.editor.config.EditorConfig;
3636
import com.ss.editor.executor.impl.JMEThreadExecutor;
37+
import com.ss.editor.model.EditorCamera;
3738
import com.ss.editor.model.tool.TangentGenerator;
3839
import com.ss.editor.ui.scene.EditorFXScene;
3940
import com.ss.editor.util.EditorUtil;
@@ -479,12 +480,24 @@ private void clearImpl() {
479480
final DirectionalLight light = new DirectionalLight();
480481
light.setDirection(LIGHT_DIRECTION);
481482

483+
final Node cameraNode = new Node("Camera node");
482484
final Node rootNode = editor.getPreviewNode();
483485
rootNode.addControl(this);
484486
rootNode.attachChild(sky);
485487
rootNode.addLight(light);
488+
rootNode.attachChild(cameraNode);
486489
rootNode.attachChild(modelNode);
487490

491+
final Camera camera = editor.getPreviewCamera();
492+
final EditorCamera editorCamera = new EditorCamera(camera, cameraNode);
493+
editorCamera.setMaxDistance(10000);
494+
editorCamera.setMinDistance(0.01F);
495+
editorCamera.setSmoothMotion(false);
496+
editorCamera.setRotationSensitivity(1);
497+
editorCamera.setZoomSensitivity(0.2F);
498+
499+
//TODO added supporting moving the camera
500+
488501
processor = bind(editor, imageView, imageView, editor.getPreviewViewPort(), false);
489502
processor.setTransferMode(ON_CHANGES);
490503
processor.setEnabled(false);

src/main/java/com/ss/editor/model/EditorCamera.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -174,7 +174,7 @@ public enum Direction {
174174
* @param camera the application camera
175175
* @param target the spatial to follow
176176
*/
177-
public EditorCamera(final Camera camera, final Spatial target) {
177+
public EditorCamera(@NotNull final Camera camera, @NotNull final Spatial target) {
178178
this(camera);
179179
target.addControl(this);
180180
}
@@ -185,7 +185,7 @@ public EditorCamera(final Camera camera, final Spatial target) {
185185
*
186186
* @param camera the application camera
187187
*/
188-
public EditorCamera(final Camera camera) {
188+
public EditorCamera(@NotNull final Camera camera) {
189189
this.camera = camera;
190190
this.initialUpVec = Vector3f.UNIT_Y;
191191
this.targetDir = new Vector3f();

src/main/java/com/ss/editor/plugin/EditorPlugin.java

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,14 @@
1111
import com.ss.editor.ui.control.property.builder.PropertyBuilderRegistry;
1212
import com.ss.editor.ui.control.tree.node.TreeNodeFactoryRegistry;
1313
import com.ss.editor.ui.css.CSSRegistry;
14+
import com.ss.editor.ui.preview.FilePreviewFactoryRegistry;
1415
import com.ss.rlib.plugin.PluginContainer;
1516
import com.ss.rlib.plugin.PluginSystem;
1617
import com.ss.rlib.plugin.impl.BasePlugin;
1718
import org.jetbrains.annotations.NotNull;
19+
import org.jetbrains.annotations.Nullable;
20+
21+
import java.net.URL;
1822

1923
/**
2024
* The base implementation of a plugin for this editor.
@@ -102,6 +106,15 @@ public void register(@NotNull final TreeNodeFactoryRegistry registry) {
102106
public void register(@NotNull final PropertyBuilderRegistry registry) {
103107
}
104108

109+
/**
110+
* Register this plugin's own file preview factories.
111+
*
112+
* @param registry the registry of file preview factories.
113+
*/
114+
@FromAnyThread
115+
public void register(@NotNull final FilePreviewFactoryRegistry registry) {
116+
}
117+
105118
/**
106119
* Do some things before when JME context will be created.
107120
*
@@ -147,9 +160,19 @@ public void onAfterCreateJavaFXContext(@NotNull final PluginSystem pluginSystem)
147160
public void onFinishLoading(@NotNull final PluginSystem pluginSystem) {
148161
}
149162

150-
@NotNull
151163
@Override
152-
public PluginContainer getContainer() {
164+
@FromAnyThread
165+
public @NotNull PluginContainer getContainer() {
153166
return super.getContainer();
154167
}
168+
169+
/**
170+
* Get the URL to a home page of this plugin.
171+
*
172+
* @return the URL of a home page of this plugin or null.
173+
*/
174+
@FromAnyThread
175+
public @Nullable URL getHomePageUrl() {
176+
return null;
177+
}
155178
}

0 commit comments

Comments
 (0)