From 5892f05411c3d4dce2d8a59e0966dc2e1843a971 Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Sat, 17 Aug 2019 08:33:35 -0400 Subject: [PATCH] Fix L&F nimbus too slow. --- GroupEditor.java | 46 ++++++++++++++++++++++++++++++---------------- 1 files changed, 30 insertions(+), 16 deletions(-) diff --git a/GroupEditor.java b/GroupEditor.java index 03991c3..08097bc 100644 --- a/GroupEditor.java +++ b/GroupEditor.java @@ -415,12 +415,14 @@ this.copy = this.group = group; //selectees = this.group.selectees; + assert(false); + if (copy.versionlist == null) { copy.versionlist = new Object3D[100]; copy.versionindex = -1; - Save(true); + //Save(true); } if(ui) @@ -449,7 +451,7 @@ copy.versionlist = new Object3D[100]; copy.versionindex = -1; - Save(true); + //Save(true); } } @@ -569,9 +571,6 @@ // pasteExpandItem.addActionListener(this); //menu.add("-"); oe.jTree.popup.addSeparator(); - - deleteItem = oe.jTree.popup.add(new JMenuItem("Delete")); - deleteItem.addActionListener(this); if (Globals.ADVANCED) { @@ -706,15 +705,17 @@ setMasterItem.addActionListener(this); } - oe.menuBar.add(menu = new Menu("Group")); -// grabItem = menu.add(new MenuItem("Grab")); -// grabItem.addActionListener(this); + oe.menuBar.add(menu = new Menu("Order")); + backItem = menu.add(new MenuItem("Back")); backItem.addActionListener(this); frontItem = menu.add(new MenuItem("Front")); frontItem.addActionListener(this); // compositeItem = menu.add(new MenuItem("Composite")); // compositeItem.addActionListener(this); + + grabItem = oe.jTree.popup.add(new JMenuItem("Group")); + grabItem.addActionListener(this); if (Globals.ADVANCED) { @@ -723,6 +724,11 @@ } ungroupItem = oe.jTree.popup.add(new JMenuItem("Ungroup")); ungroupItem.addActionListener(this); + + oe.jTree.popup.addSeparator(); + + deleteItem = oe.jTree.popup.add(new JMenuItem("Delete")); + deleteItem.addActionListener(this); // menu.add("-"); // @@ -1034,7 +1040,7 @@ */ cGridBag copyOptionsPanel = new cGridBag(); - copyOptionsPanel.preferredHeight = 2; + copyOptionsPanel.preferredHeight = 3; //this.AddOptions(oe.toolbarPanel, oe.aConstraints); @@ -1065,7 +1071,7 @@ collapseButton.setToolTipText("Collapse toolbar"); collapseButton.addActionListener(this); - oe.toolbarPanel.add(maximize3DButton = GetButton("", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); + oe.toolbarPanel.add(maximize3DButton = GetButton("icons/empty.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); maximize3DButton.setToolTipText("Maximize 3D view"); maximize3DButton.addActionListener(this); @@ -1107,6 +1113,7 @@ copyOptionsPanel.add(deleteVersionButton = GetButton("icons/trash.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); deleteVersionButton.setToolTipText("Delete current version"); deleteVersionButton.addActionListener(this); + deleteVersionButton.setEnabled(false); copyOptionsPanel.add(previousVersionButton = GetButton("icons/undo.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); previousVersionButton.setToolTipText("Previous version"); @@ -1117,12 +1124,12 @@ updown.add(restoreButton = GetButton("icons/restore.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); restoreButton.setToolTipText("Undo (restore current version)"); restoreButton.addActionListener(this); - //restoreButton.setEnabled(false); + restoreButton.setEnabled(false); updown.add(replaceButton = GetButton("icons/replace.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); replaceButton.setToolTipText("Save (replace current version)"); replaceButton.addActionListener(this); - //replaceButton.setEnabled(false); + replaceButton.setEnabled(false); copyOptionsPanel.add(updown); @@ -1252,6 +1259,8 @@ CreateTexturePanel(textures); + resourcecontainer.setSelectedIndex((int)(Math.random() * resourcecontainer.getTabCount())); + oe.toolboxPanel.add(textures); textures.preferredHeight = 100; @@ -1314,7 +1323,7 @@ oe.treePanel.Return(); cGridBag sliderPane = AddSlider(oe.treePanel, "Version", 0, 0, 0); versionSlider = (cNumberSlider)sliderPane.getComponent(1); - sliderPane.preferredHeight = 1; + sliderPane.preferredHeight = 2; // mainPanel.setDividerLocation(0.1); //1.0); mainPanel.setResizeWeight(0.4); @@ -1504,6 +1513,7 @@ oe.SetupViews(); + if (Globals.DEBUG) System.out.println("SetupViews"); DragSource.getDefaultDragSource().createDefaultDragGestureRecognizer( oe.cameraView, DnDConstants.ACTION_COPY_OR_MOVE, this); // ACTION_LINK ?? @@ -4114,7 +4124,10 @@ copy.versionlist = new Object3D[100]; copy.versionindex = -1; - Save(true); + // Cannot work with loops + // To fix this issue, first mark all nodes above the root, + // and check if any of these nodes are reachable below the root. + //Save(true); } SetVersionStates(); @@ -5359,7 +5372,8 @@ if (group.selection != null) for (Enumeration e = group.selection.elements(); e.hasMoreElements();) { - if (!(e.nextElement() instanceof Composite)) + Object next = e.nextElement(); + if (!(next instanceof Composite)) // || (next instanceof GroupLeaf)) { allComposites = false; break; @@ -6350,7 +6364,7 @@ private MenuItem transformGeometryItem; private MenuItem transformChildrenItem; private MenuItem hideItem; - private MenuItem grabItem; + private JMenuItem grabItem; private MenuItem backItem; private MenuItem frontItem; private MenuItem cameraItem; -- Gitblit v1.6.2