From d5d6485126da83b06645e90e3e4ce66659a56009 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Sat, 17 Aug 2019 13:56:24 -0400 Subject: [PATCH] Reset transform, fix loop versioning. --- ObjEditor.java | 131 ++++++++++++++++++++++++++++++++----------- 1 files changed, 98 insertions(+), 33 deletions(-) diff --git a/ObjEditor.java b/ObjEditor.java index 7bec816..4b47343 100644 --- a/ObjEditor.java +++ b/ObjEditor.java @@ -83,7 +83,10 @@ cButton GetButton(String name, boolean border) { ImageIcon icon = GetIcon(name); - return new cButton(icon, border); + if (icon != null) + return new cButton(icon, border); + else + return new cButton(name, border); } cLabel GetLabel(String name, boolean border) @@ -965,8 +968,13 @@ object.versionlist = null; object.versiontable = null; + Object3D parent = object.parent; + object.parent = null; + //byte[] compress = Compress(copy); Object3D compress = (Object3D)Grafreed.clone(object); + + object.parent = parent; object.versionlist = versions; object.versiontable = versiontable; // if Grafreed.grafreed.universe @@ -1624,6 +1632,42 @@ //frontView.object = copy; //sideView.object = copy; + transformPanel = new cGridBag().setVertical(true); + + cGridBag resetTransformPanel = new cGridBag(); + + resetTransformPanel.preferredHeight = 2; + + cButton resetTransform = GetButton("Reset all", !Grafreed.NIMBUSLAF); + resetTransform.addMouseListener(new MouseAdapter() + { + public void mouseClicked(MouseEvent e) + { + ResetTransform(); + } + }); + resetTransformPanel.add(resetTransform); + + resetTransform = GetButton("T only", !Grafreed.NIMBUSLAF); + resetTransform.addMouseListener(new MouseAdapter() + { + public void mouseClicked(MouseEvent e) + { + ResetTransform(1); + } + }); + resetTransformPanel.add(resetTransform); + + resetTransform = GetButton("RS only", !Grafreed.NIMBUSLAF); + resetTransform.addMouseListener(new MouseAdapter() + { + public void mouseClicked(MouseEvent e) + { + ResetTransform(2); + } + }); + resetTransformPanel.add(resetTransform); + XYZPanel = new cGridBag().setVertical(true); //XYZPanel.setLayout(new GridLayout(3, 1, 5, 5)); @@ -1633,6 +1677,9 @@ XYZPanel.addComponent(/*BorderLayout.NORTH,*/topView); // Scroll); //XYZPanel.setName("XYZ"); + transformPanel.add(resetTransformPanel); + transformPanel.add(XYZPanel); + /* gridPanel = new JPanel(); //new BorderLayout()); gridPanel.setLayout(new GridLayout(1, 2)); @@ -1640,12 +1687,12 @@ gridPanel.add(cameraView); gridPanel.add(XYZPanel); */ - gridPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, centralPanel, XYZPanel); //new BorderLayout()); - gridPanel.setContinuousLayout(true); - gridPanel.setOneTouchExpandable(true); - gridPanel.setDividerLocation(1.0); - gridPanel.setDividerSize(9); - gridPanel.setResizeWeight(0.85); +// gridPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, centralPanel, XYZPanel); //new BorderLayout()); +// gridPanel.setContinuousLayout(true); +// gridPanel.setOneTouchExpandable(true); +// gridPanel.setDividerLocation(1.0); +// gridPanel.setDividerSize(9); +// gridPanel.setResizeWeight(0.85); // aConstraints.weighty = 0; //System.out.println("THIS = " + this); @@ -1688,9 +1735,9 @@ objectPanel.setIconAt(3, GetIcon("icons/write.png")); objectPanel.setToolTipTextAt(3, "Edit controls"); - objectPanel.add(XYZPanel); + objectPanel.add(transformPanel); objectPanel.setIconAt(4, GetIcon("icons/XYZ.png")); - objectPanel.setToolTipTextAt(4, "XYZ/RGB transform"); + objectPanel.setToolTipTextAt(4, "TRS transform"); patchMaterial = true; cameraView.patchMaterial = this; @@ -1757,13 +1804,13 @@ jtp.add(tree); */ - bigPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, scenePanel, gridPanel); - bigPanel.setContinuousLayout(true); - bigPanel.setOneTouchExpandable(true); - bigPanel.setDividerLocation(0.8); - bigPanel.setDividerSize(15); - bigPanel.setResizeWeight(0.15); - bigPanel.setName("Scene"); +// bigPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, scenePanel, gridPanel); +// bigPanel.setContinuousLayout(true); +// bigPanel.setOneTouchExpandable(true); +// bigPanel.setDividerLocation(0.8); +// bigPanel.setDividerSize(15); +// bigPanel.setResizeWeight(0.15); +// bigPanel.setName("Scene"); //bigPanel.setLayout(new BorderLayout()); //bigPanel.setSize(new Dimension(10,10)); @@ -1847,7 +1894,7 @@ cameraView.requestFocusInWindow(); - gridPanel.setDividerLocation(1.0); +// gridPanel.setDividerLocation(1.0); frame.validate(); @@ -4432,6 +4479,8 @@ return count; } + public cGridBag versionSliderPane; + void SetVersionStates() { //if (true) @@ -4439,21 +4488,36 @@ //cRadio tab = GetCurrentTab(); - restoreButton.setEnabled(copy.versionindex != -1); - replaceButton.setEnabled(copy.versionindex != -1); - - previousVersionButton.setEnabled(copy.versionindex > 0); - nextVersionButton.setEnabled(copy.versionlist[copy.versionindex + 1] != null); - - deleteVersionButton.setEnabled(copy.versionindex != -1); - //copy.versionlist[copy.versionindex + 1] != null); - - muteSlider = true; - versionSlider.setMinimum(0); - versionSlider.setMaximum(VersionCount() - 1); - versionSlider.setInteger(copy.versionindex); - versionSlider.setEnabled(copy.versionindex != -1); - muteSlider = false; + if (copy.versionlist == null) + { + saveVersionButton.setEnabled(false); + restoreButton.setEnabled(false); + replaceButton.setEnabled(false); + previousVersionButton.setEnabled(false); + nextVersionButton.setEnabled(false); + deleteVersionButton.setEnabled(false); + versionSliderPane.setVisible(false); + } + else + { + restoreButton.setEnabled(copy.versionindex != -1); + replaceButton.setEnabled(copy.versionindex != -1); + + previousVersionButton.setEnabled(copy.versionindex > 0); + nextVersionButton.setEnabled(copy.versionlist[copy.versionindex + 1] != null); + + deleteVersionButton.setEnabled(copy.versionindex != -1); + //copy.versionlist[copy.versionindex + 1] != null); + + muteSlider = true; + versionSlider.setMinimum(0); + versionSlider.setMaximum(VersionCount() - 1); + versionSlider.setInteger(copy.versionindex); + versionSlider.setEnabled(copy.versionindex != -1); + muteSlider = false; + + versionSliderPane.setVisible(true); + } } public boolean PreviousVersion() @@ -4873,7 +4937,7 @@ public void stateChanged(ChangeEvent e) { - // assert(false); + // assert(false); if (e.getSource() == versionSlider) { if (muteSlider) @@ -5986,6 +6050,7 @@ boolean materialFlushed; Object3D latestObject; + cGridBag transformPanel; cGridBag XYZPanel; JSplitPane gridPanel; -- Gitblit v1.6.2