From 0c1f740dd6ddd6432dc29266e42ef851e26027bb Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Tue, 13 Aug 2019 21:21:38 -0400 Subject: [PATCH] Random node + optimizations. --- GroupEditor.java | 91 ++++++++++++++++++++++++++++++++++----------- 1 files changed, 68 insertions(+), 23 deletions(-) diff --git a/GroupEditor.java b/GroupEditor.java index 1e9db13..9f3c422 100644 --- a/GroupEditor.java +++ b/GroupEditor.java @@ -31,7 +31,7 @@ final String path = "cubemaps/" + f + "-skyboxes/" + s; row.add(skyboxButton = GetButton(path + "/preview.jpg", !Grafreed.NIMBUSLAF)); //row.add(skyboxButton = GetButton(path + "/negx.jpg", !Grafreed.NIMBUSLAF)); - skyboxButton.setToolTipText(s); + skyboxButton.setToolTipText(s.equals("") ? "No background" : s); skyboxButton.addActionListener(new ActionListener() { @Override @@ -73,7 +73,7 @@ cGridBag row5 = new cGridBag(); cGridBag row6 = new cGridBag(); - AddSkyboxButton("default", "rgb", row0); + AddSkyboxButton("default", "", row0); //AddSkyboxButton("default", "cornell", row0); AddSkyboxButton("penguins", "dust", row0); AddSkyboxButton("penguins", "tropic", row0); @@ -330,10 +330,19 @@ public void ChangeSkybox(String skybox) { - //cameraView.envyoff = false; - group.skyboxname = skybox; - group.skyboxext = "jpg"; - cameraView.repaint(); + if (skybox.endsWith("/")) + { + group.skyboxname = null; + group.skyboxext = null; + cameraView.repaint(); + } + else + { + //cameraView.envyoff = false; + group.skyboxname = skybox; + group.skyboxext = "jpg"; + cameraView.repaint(); + } } public void CreateSkyboxPanel(cGridBag skyboxPanel) @@ -410,6 +419,8 @@ { copy.versionlist = new Object3D[100]; copy.versionindex = -1; + + Save(true); } if(ui) @@ -641,11 +652,9 @@ oe.cameraMenu.add(lookAtItem = new MenuItem("Set Interest")); //cameraMenu.add(lookFromItem = new MenuItem("Look From Selection")); //cameraMenu.add(switchViewItem = new MenuItem("Reverse View")); - editLeafItem = oe.cameraMenu.add(new MenuItem("Edit Leaf")); oe.cameraMenu.add("-"); openWindowItem = oe.cameraMenu.add(new MenuItem("Edit copy...")); openWindowItem.addActionListener(this); - editLeafItem.addActionListener(this); lookAtItem.addActionListener(this); //lookFromItem.addActinoListener(this); //switchViewItem.addActionListener(this); @@ -893,6 +902,9 @@ shareGeometriesItem.addActionListener(this); mergeGeometriesItem = menu.add(new MenuItem("Merge Geometries")); mergeGeometriesItem.addActionListener(this); + menu.add("-"); + editLeafItem = menu.add(new MenuItem("Edit leaf...")); + editLeafItem.addActionListener(this); if (Globals.ADVANCED) { // Pretty much the same as duplicate and clone. @@ -1026,22 +1038,22 @@ if (Globals.ADVANCED) { - oe.toolbarPanel.add(maxButton = GetButton("icons/add-128.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); - maxButton.setToolTipText("Maximize window"); - maxButton.addActionListener(this); +// oe.toolbarPanel.add(maxButton = GetButton("icons/add-128.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); +// maxButton.setToolTipText("Maximize window"); +// maxButton.addActionListener(this); } cButton gcButton; - oe.toolbarPanel.add(gcButton = GetButton("icons/trash.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); - gcButton.setToolTipText("Garbage collect"); - gcButton.addActionListener(new ActionListener() - { - public void actionPerformed(ActionEvent e) - { - System.gc(); - } - }); +// oe.toolbarPanel.add(gcButton = GetButton("icons/trash.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); +// gcButton.setToolTipText("Garbage collect"); +// gcButton.addActionListener(new ActionListener() +// { +// public void actionPerformed(ActionEvent e) +// { +// System.gc(); +// } +// }); oe.toolbarPanel.add(collapseButton = GetButton("icons/collapse.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); collapseButton.setToolTipText("Collapse toolbar"); @@ -1162,7 +1174,7 @@ // INSERT row1.add(gridButton = GetButton("icons/grid.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); - gridButton.setToolTipText("Create grid"); + gridButton.setToolTipText("Create ground"); gridButton.addActionListener(this); row1.add(boxButton = GetButton("icons/box.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints); @@ -1454,6 +1466,14 @@ void EditObject(Object3D obj) { + assert(obj instanceof Composite); + +// if (obj.versionlist == null) +// { +// obj.versionlist = new Object3D[100]; +// obj.versionindex = -1; +// } + cRadio radioButton = new cRadio(obj.name); // June 2019. Patch to avoid bug with transparency. @@ -3892,6 +3912,7 @@ } else if (source == rootButton) { + Replace(); Object3D obj; for (Enumeration e = group.selection.elements(); e.hasMoreElements();) { @@ -4028,8 +4049,6 @@ copy = group; - SetUndoStates(); - //Globals.theRenderer.object = group; if(!useclient) { @@ -4057,6 +4076,18 @@ */ radio.layout.doClick(); + assert(copy instanceof Composite); + + if (copy.versionlist == null) + { + copy.versionlist = new Object3D[100]; + copy.versionindex = -1; + + Save(true); + } + + SetVersionStates(); + ClearUnpinned(); //Grafreed.Assert(group != null); @@ -5291,6 +5322,20 @@ flashSelectionButton.setEnabled(enabled); clearPanelButton.setEnabled(!listUI.isEmpty()); + + boolean allComposites = true; + + if (group.selection != null) + for (Enumeration e = group.selection.elements(); e.hasMoreElements();) + { + if (!(e.nextElement() instanceof Composite)) + { + allComposites = false; + break; + } + } + + rootButton.setEnabled(allComposites); } void refreshContents(boolean cp) -- Gitblit v1.6.2