Skip to content
Snippets Groups Projects
Commit 4ab65190 authored by Tobias Ask's avatar Tobias Ask
Browse files

Merge branch '6-copy-paste-actions-are-not-integrated' into 'master'

Resolve "Copy paste actions are not integrated"

Closes #6

See merge request !7
parents 38da25dc c732babc
Branches
No related tags found
1 merge request!7Resolve "Copy paste actions are not integrated"
Pipeline #
package no.tobask.sb4e;
import org.eclipse.jface.action.Action;
import com.oracle.javafx.scenebuilder.kit.editor.EditorController;
import com.oracle.javafx.scenebuilder.kit.editor.EditorController.ControlAction;
public class SceneBuilderControlActionHandler extends Action {
private EditorController editorController;
private ControlAction controlAction;
public SceneBuilderControlActionHandler(EditorController editorController, ControlAction controlAction) {
this.editorController = editorController;
this.controlAction = controlAction;
}
@Override
public boolean isEnabled() {
return editorController.canPerformControlAction(controlAction);
}
@Override
public void run() {
if (editorController.canPerformControlAction(controlAction)) {
editorController.performControlAction(controlAction);
}
}
}
package no.tobask.sb4e;
import org.eclipse.jface.action.Action;
import com.oracle.javafx.scenebuilder.kit.editor.EditorController;
import com.oracle.javafx.scenebuilder.kit.editor.EditorController.EditAction;
public class SceneBuilderEditActionHandler extends Action {
private EditorController editorController;
private EditAction editAction;
public SceneBuilderEditActionHandler(EditorController editorController, EditAction editAction) {
this.editorController = editorController;
this.editAction = editAction;
}
@Override
public boolean isEnabled() {
return editorController.canPerformEditAction(editAction);
}
@Override
public void run() {
if (editorController.canPerformEditAction(editAction)) {
editorController.performEditAction(editAction);
}
}
}
...@@ -36,6 +36,8 @@ import org.eclipse.ui.part.FileEditorInput; ...@@ -36,6 +36,8 @@ import org.eclipse.ui.part.FileEditorInput;
import com.oracle.javafx.scenebuilder.kit.editor.EditorController; import com.oracle.javafx.scenebuilder.kit.editor.EditorController;
import com.oracle.javafx.scenebuilder.kit.editor.JobManager; import com.oracle.javafx.scenebuilder.kit.editor.JobManager;
import com.oracle.javafx.scenebuilder.kit.editor.EditorController.ControlAction;
import com.oracle.javafx.scenebuilder.kit.editor.EditorController.EditAction;
import com.oracle.javafx.scenebuilder.kit.editor.job.Job; import com.oracle.javafx.scenebuilder.kit.editor.job.Job;
import com.oracle.javafx.scenebuilder.kit.fxom.FXOMDocument; import com.oracle.javafx.scenebuilder.kit.fxom.FXOMDocument;
import com.oracle.javafx.scenebuilder.kit.fxom.FXOMObject; import com.oracle.javafx.scenebuilder.kit.fxom.FXOMObject;
...@@ -47,6 +49,8 @@ import no.tobask.sb4e.EclipseProjectsClassLoader; ...@@ -47,6 +49,8 @@ import no.tobask.sb4e.EclipseProjectsClassLoader;
import no.tobask.sb4e.EditorWindowController; import no.tobask.sb4e.EditorWindowController;
import no.tobask.sb4e.JavaModelUtils; import no.tobask.sb4e.JavaModelUtils;
import no.tobask.sb4e.JavaProjectGlossary; import no.tobask.sb4e.JavaProjectGlossary;
import no.tobask.sb4e.SceneBuilderControlActionHandler;
import no.tobask.sb4e.SceneBuilderEditActionHandler;
public class FXMLEditor extends EditorPart { public class FXMLEditor extends EditorPart {
...@@ -58,6 +62,9 @@ public class FXMLEditor extends EditorPart { ...@@ -58,6 +62,9 @@ public class FXMLEditor extends EditorPart {
private IUndoContext undoContext; private IUndoContext undoContext;
private IOperationHistory operationHistory; private IOperationHistory operationHistory;
private ICompilationUnit controllerClass; private ICompilationUnit controllerClass;
private IAction copyHandler;
private IAction cutHandler;
private IAction pasteHandler;
public IAction getUndoActionHandler() { public IAction getUndoActionHandler() {
return undoActionHandler; return undoActionHandler;
...@@ -67,6 +74,18 @@ public class FXMLEditor extends EditorPart { ...@@ -67,6 +74,18 @@ public class FXMLEditor extends EditorPart {
return redoActionHandler; return redoActionHandler;
} }
public IAction getCopyHandler() {
return copyHandler;
}
public IAction getCutHandler() {
return cutHandler;
}
public IAction getPasteHandler() {
return pasteHandler;
}
public EditorController getEditorController() { public EditorController getEditorController() {
return editorController; return editorController;
} }
...@@ -138,6 +157,10 @@ public class FXMLEditor extends EditorPart { ...@@ -138,6 +157,10 @@ public class FXMLEditor extends EditorPart {
} }
canvas.setScene(editorWindowController.getScene()); canvas.setScene(editorWindowController.getScene());
editorController.getSelection().revisionProperty().addListener(editorSelectionListener); editorController.getSelection().revisionProperty().addListener(editorSelectionListener);
copyHandler = new SceneBuilderControlActionHandler(editorController, ControlAction.COPY);
cutHandler = new SceneBuilderEditActionHandler(editorController, EditAction.CUT);
pasteHandler = new SceneBuilderEditActionHandler(editorController, EditAction.PASTE);
} }
private ChangeListener<Number> editorSelectionListener = (oV, oldNum, newNum) -> { private ChangeListener<Number> editorSelectionListener = (oV, oldNum, newNum) -> {
......
package no.tobask.sb4e.editors; package no.tobask.sb4e.editors;
import org.eclipse.ui.IActionBars;
import org.eclipse.ui.IEditorPart; import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.actions.ActionFactory; import org.eclipse.ui.actions.ActionFactory;
import org.eclipse.ui.part.EditorActionBarContributor; import org.eclipse.ui.part.EditorActionBarContributor;
...@@ -7,16 +8,19 @@ import org.eclipse.ui.part.EditorActionBarContributor; ...@@ -7,16 +8,19 @@ import org.eclipse.ui.part.EditorActionBarContributor;
public class FXMLEditorContributor extends EditorActionBarContributor { public class FXMLEditorContributor extends EditorActionBarContributor {
public FXMLEditorContributor() { public FXMLEditorContributor() {
// TODO Auto-generated constructor stub
} }
@Override @Override
public void setActiveEditor(IEditorPart targetEditor) { public void setActiveEditor(IEditorPart targetEditor) {
if (targetEditor instanceof FXMLEditor) { if (targetEditor instanceof FXMLEditor) {
FXMLEditor editor = (FXMLEditor) targetEditor; FXMLEditor editor = (FXMLEditor) targetEditor;
getActionBars().setGlobalActionHandler(ActionFactory.UNDO.getId(), editor.getUndoActionHandler()); IActionBars actionBars = getActionBars();
getActionBars().setGlobalActionHandler(ActionFactory.REDO.getId(), editor.getRedoActionHandler()); actionBars.setGlobalActionHandler(ActionFactory.UNDO.getId(), editor.getUndoActionHandler());
getActionBars().updateActionBars(); actionBars.setGlobalActionHandler(ActionFactory.REDO.getId(), editor.getRedoActionHandler());
actionBars.setGlobalActionHandler(ActionFactory.COPY.getId(), editor.getCopyHandler());
actionBars.setGlobalActionHandler(ActionFactory.CUT.getId(), editor.getCutHandler());
actionBars.setGlobalActionHandler(ActionFactory.PASTE.getId(), editor.getPasteHandler());
actionBars.updateActionBars();
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment