From 79d0f9a45d36656051a77a7b0837aa0318f81ee5 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Sun, 09 Jun 2019 11:23:18 -0400 Subject: [PATCH] Undo/redo --- GroupEditor.java | 32 ++++++++++++++++++++++++++------ 1 files changed, 26 insertions(+), 6 deletions(-) diff --git a/GroupEditor.java b/GroupEditor.java index acdf1fc..5d4b4bf 100644 --- a/GroupEditor.java +++ b/GroupEditor.java @@ -154,6 +154,11 @@ oe.menuBar.add(menu = new Menu("Edit")); //editItem = menu.add(new MenuItem("Edit")); //editItem.addActionListener(this); + undoItem = menu.add(new MenuItem("Undo")); + undoItem.addActionListener(this); + redoItem = menu.add(new MenuItem("Redo")); + redoItem.addActionListener(this); + menu.add("-"); duplicateItem = menu.add(new MenuItem("Duplicate")); duplicateItem.addActionListener(this); cloneItem = menu.add(new MenuItem("Clone")); @@ -197,7 +202,7 @@ //zBufferItem.addActionListener(this); //cameraMenu.add(normalLensItem = new MenuItem("Normal Lens")); //normalLensItem.addActionListener(this); - cameraMenu.add(revertCameraItem = new MenuItem("Revert Camera")); + cameraMenu.add(revertCameraItem = new MenuItem("Restore Camera")); revertCameraItem.addActionListener(this); cameraMenu.add(toggleFullScreenItem = new CheckboxMenuItem("Full Screen")); @@ -261,7 +266,7 @@ // animationItem.addItemListener(this); // animationItem.setState(CameraPane.ANIMATION); cameraMenu.add("-"); - cameraMenu.add(editCameraItem = new MenuItem("Freeze Camera")); + cameraMenu.add(editCameraItem = new MenuItem("Save Camera")); editCameraItem.addActionListener(this); if (Globals.ADVANCED) @@ -2004,6 +2009,14 @@ if (source == cutItem || source == clearButton) { loadClipboard(true); + } else + if (source == undoItem) + { + Undo(); + } else + if (source == redoItem) + { + Redo(); } else if (source == duplicateItem) { @@ -4297,14 +4310,19 @@ objEditor.SetText(); // jan 2014 - if (flashIt && !Globals.isLIVE() && tps != null && tps.length > 0 && !(((Object3D) tps[0].getLastPathComponent()) instanceof Camera)) + Object3D object = (Object3D) tps[0].getLastPathComponent(); + + if (flashIt && !Globals.isLIVE() && tps != null && tps.length > 0 && !(object instanceof Camera)) CameraPane.flash = true; - if (tps != null && tps.length > 0 && ((Object3D) tps[0].getLastPathComponent()) instanceof Camera) + if (tps != null && tps.length > 0 && object instanceof Camera) // a camera { - CameraPane.camerachangeframe = 0; // don't refuse it - Globals.theRenderer.SetCamera((Camera) tps[0].getLastPathComponent()); + if (object != Globals.theRenderer.LightCamera()) + { + CameraPane.camerachangeframe = 0; // don't refuse it + Globals.theRenderer.SetCamera((Camera) tps[0].getLastPathComponent()); + } // Globals.theRenderer.renderCamera = Globals.theRenderer.manipCamera; // Globals.theRenderer.eyeCamera = Globals.theRenderer.manipCamera; } @@ -5145,6 +5163,8 @@ private MenuItem lookFromItem; private MenuItem switchItem; private MenuItem cutItem; + private MenuItem undoItem; + private MenuItem redoItem; private MenuItem duplicateItem; private MenuItem cloneItem; private MenuItem cloneSupportItem; -- Gitblit v1.6.2