From f78dd18c66d607b693c0bf5937fc59181bf5a26b Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Wed, 26 Jun 2019 20:39:14 -0400 Subject: [PATCH] Fix multiple selection --- ObjEditor.java | 63 ++++++++++++++++++++++++++----- 1 files changed, 52 insertions(+), 11 deletions(-) diff --git a/ObjEditor.java b/ObjEditor.java index 7128e8d..ef7c93d 100644 --- a/ObjEditor.java +++ b/ObjEditor.java @@ -15,6 +15,9 @@ //import javax.swing.plaf.ColorUIResource; //import javax.swing.plaf.metal.DefaultMetalTheme; +import javax.swing.plaf.basic.BasicSplitPaneDivider; +import javax.swing.plaf.basic.BasicSplitPaneUI; + //import javax.media.opengl.GLCanvas; import //weka.core. @@ -207,7 +210,7 @@ objEditor.ctrlPanel.remove(namePanel); - if (!GroupEditor.allparams) + if (!allparams) return; // objEditor.ctrlPanel.remove(liveCB); @@ -337,6 +340,11 @@ return frame.action(event, obj); } + // Cannot work without static + static boolean allparams = true; + + static java.util.Vector<Object3D> listUI = new java.util.Vector<Object3D>(); + void SetupMenu() { frame.setMenuBar(menuBar = new MenuBar()); @@ -398,6 +406,11 @@ // // materialFlushed = true; // } +// if (objectPanel.getSelectedIndex() == objectPanel.indexOfTab("Edit")) +// { +// if (listUI.size() == 0) +// EditSelection(false); +// } refreshContents(false); // To refresh Info tab } @@ -448,7 +461,13 @@ mainPanel.setDividerSize(9); mainPanel.setDividerLocation(0.5); //1.0); mainPanel.setResizeWeight(0.5); - + +//mainPanel.setDividerSize((int) (mainPanel.getDividerSize() * 1.5)); +// BasicSplitPaneDivider divider = ( (BasicSplitPaneUI) mainPanel.getUI()).getDivider(); +// divider.setDividerSize(15); +// divider.setBorder(BorderFactory.createTitledBorder(divider.getBorder(), "Custom border title -- gets rid of the one-touch arrows!")); + + //ctrlPanel.setLayout(new GridLayout(4, 1, 5, 5)); //mainPanel.setLayout(new GridBagLayout()); toolbarPanel.setLayout(new FlowLayout(FlowLayout.LEFT)); @@ -723,7 +742,9 @@ void ToggleFullScreen() { - if (CameraPane.FULLSCREEN) + cameraView.ToggleFullScreen(); + + if (!CameraPane.FULLSCREEN) { device.setFullScreenWindow(null); //frame.setVisible(false); @@ -763,8 +784,6 @@ radio.layout.doClick(); //frame.setVisible(true); } - - cameraView.ToggleFullScreen(); } private JTextPane createTextPane() @@ -1102,7 +1121,7 @@ oe.ctrlPanel.Return(); - if (!GroupEditor.allparams) + if (!allparams) return; setupPanel = new cGridBag().setVertical(false); @@ -1115,7 +1134,7 @@ hideCB = AddCheckBox(setupPanel, "Hide", copy.hide); hideCB.setToolTipText("Hide object"); markCB = AddCheckBox(setupPanel, "Mark", copy.marked); - markCB.setToolTipText("Set the animation target transform"); + markCB.setToolTipText("As animation target transform"); setupPanel2 = new cGridBag().setVertical(false); @@ -1123,7 +1142,7 @@ rewindCB.setToolTipText("Rewind animation"); randomCB = AddCheckBox(setupPanel2, "Rand", copy.random); - randomCB.setToolTipText("Randomly Rewind or Go back and forth"); + randomCB.setToolTipText("Randomly Rewind (or Go back and forth)"); if (Globals.ADVANCED) { @@ -1439,13 +1458,13 @@ //JScrollPane tmp = new JScrollPane(ctrlPanel, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //tmp.setName("Edit"); objectPanel.add(materialPanel); - objectPanel.add(toolboxPanel); // JPanel north = new JPanel(new BorderLayout()); // north.setName("Edit"); // north.add(ctrlPanel, BorderLayout.NORTH); // objectPanel.add(north); objectPanel.add(editPanel); objectPanel.add(infoPanel); + objectPanel.add(toolboxPanel); /* aConstraints.gridx = 0; @@ -1454,7 +1473,7 @@ aConstraints.gridy += 1; aConstraints.gridwidth = 1; mainPanel.add(objectPanel, aConstraints); - */ + */ scrollpane = new JScrollPane(mainPanel, ScrollPaneConstants.// VERTICAL_SCROLLBAR_ALWAYS, VERTICAL_SCROLLBAR_AS_NEEDED, @@ -3007,12 +3026,17 @@ // } /**/ - if (deselect) + if (deselect || child == null) { //group.deselectAll(); //freeze = true; GetTree().clearSelection(); //freeze = false; + + if (child == null) + { + return; + } } //group.addSelectee(child); @@ -3527,6 +3551,8 @@ tab.graphs[i] = null; } + SetUndoStates(); + // test save if (false) { @@ -3549,6 +3575,8 @@ void CopyChanged(Object3D obj) { + SetUndoStates(); + boolean temp = CameraPane.SWITCH; CameraPane.SWITCH = false; @@ -3586,6 +3614,17 @@ } refreshContents(); + } + + cButton undoButton; + cButton redoButton; + + void SetUndoStates() + { + cRadio tab = GetCurrentTab(); + + undoButton.setEnabled(tab.undoindex > 0); + redoButton.setEnabled(tab.graphs[tab.undoindex + 1] != null); } public void Undo() @@ -4765,6 +4804,8 @@ String filename = browser.getFile(); if (filename != null && filename.length() > 0) { + if (!filename.endsWith(".gfd")) + filename += ".gfd"; lastname = browser.getDirectory() + filename; save(); } -- Gitblit v1.6.2