From 0cdf3fb57ddea3226f094ba45c836c7e9b123e3a Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Tue, 13 Aug 2019 10:33:05 -0400
Subject: [PATCH] No background

---
 GroupEditor.java |   94 ++++++++++++++++++++++++++++++++++------------
 1 files changed, 69 insertions(+), 25 deletions(-)

diff --git a/GroupEditor.java b/GroupEditor.java
index 1e9db13..4faf49e 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();
-                }
-        });
+//                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(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,19 @@
             flashSelectionButton.setEnabled(enabled);
             
             clearPanelButton.setEnabled(!listUI.isEmpty());
+            
+            boolean allComposites = true;
+            
+            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