From 4ec7130da08861dc4aff0232dbce38f3471696a4 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Mon, 05 Aug 2019 20:41:17 -0400
Subject: [PATCH] Materials working.

---
 GroupEditor.java |  196 +++++++++++++++++++++++++++++++++++-------------
 1 files changed, 142 insertions(+), 54 deletions(-)

diff --git a/GroupEditor.java b/GroupEditor.java
index 59663ef..5698ae1 100644
--- a/GroupEditor.java
+++ b/GroupEditor.java
@@ -60,7 +60,7 @@
         //AddSkyboxButton("default", "cornell", row0);
         AddSkyboxButton("penguins", "dust", row0);
         AddSkyboxButton("penguins", "tropic", row0);
-        AddSkyboxButton("default", "skycube", row0);
+        AddSkyboxButton("penguins", "yonder", row0);
 
         AddSkyboxButton("default", "uffizi", row1);
         AddSkyboxButton("bridge", "Bridge", row1);
@@ -90,7 +90,7 @@
         AddSkyboxButton("park", "Skansen3", row6);
         AddSkyboxButton("park", "Skansen4", row6);
         AddSkyboxButton("park", "Skansen5", row6);
-        AddSkyboxButton("park", "Stairs", row6);
+        AddSkyboxButton("persson", "VancouverConventionCentre", row6);
         
         tab0.add(row0);
         tab0.add(row1);
@@ -144,21 +144,18 @@
         
         AddSkyboxButton("mountain", "Maskonaive2", row4);
         AddSkyboxButton("mountain", "Maskonaive3", row4);
-        AddSkyboxButton("mountain", "Ryfjallet", row4);
         AddSkyboxButton("mountain", "Teide", row4);
         AddSkyboxButton("park", "Tantolunden4", row4);
         
-        AddSkyboxButton("penguins", "wrath", row5);
-        AddSkyboxButton("penguins", "yonder", row5);
+        AddSkyboxButton("park", "Stairs", row5);
+        AddSkyboxButton("default", "skycube", row6);
         AddSkyboxButton("rocky", "Langholmen", row5);
         AddSkyboxButton("rocky", "Skinnarviksberget", row5);
-        AddSkyboxButton("rocky", "Tantolunden6", row5);
         
+        AddSkyboxButton("rocky", "Tantolunden6", row5);
         AddSkyboxButton("default", "CloudyHills", row6);
         AddSkyboxButton("daz", "Autumn", row6);
-        AddSkyboxButton("daz", "Greenlands", row6);
         AddSkyboxButton("daz", "MountainTrail", row6);
-        AddSkyboxButton("daz", "Oasis", row6);
         /*
 Autumn
 Greenlands
@@ -210,8 +207,8 @@
         AddSkyboxButton("penguins", "sleepyhollow", row1);
         
         AddSkyboxButton("penguins", "kenon_star", row2);
-        AddSkyboxButton("indoors", "DallasW", row2);
-        AddSkyboxButton("indoors", "MarriottMadisonWest", row2);
+        AddSkyboxButton("persson", "corona", row2);
+        AddSkyboxButton("persson", "spaceskybox", row2);
         AddSkyboxButton("indoors", "Vasa", row2);
         
         AddSkyboxButton("winter", "Backyard", row3);
@@ -232,7 +229,7 @@
         AddSkyboxButton("daz", "TheRock", row6);
         AddSkyboxButton("daz", "TopOfTheWorld", row6);
         AddSkyboxButton("daz", "Winter", row6);
-        AddSkyboxButton("penguins", "desertdawn", row6);
+        AddSkyboxButton("mountain", "Ryfjallet", row6);
         
         tab0.add(row0);
         tab0.add(row1);
@@ -248,12 +245,77 @@
             //tab0.add(new cGridBag());
         }
     }
-    
+
+    public void AddSkyboxTab3(JTabbedPane skyboxpanel)
+    {
+        cGridBag tab0 = new cGridBag().setVertical(true);
+        
+        tab0.setName("Others");
+        skyboxpanel.add(tab0);
+
+        cGridBag row0 = new cGridBag();
+        cGridBag row1 = new cGridBag();
+        cGridBag row2 = new cGridBag();
+        cGridBag row3 = new cGridBag();
+        cGridBag row4 = new cGridBag();
+        cGridBag row5 = new cGridBag();
+        cGridBag row6 = new cGridBag();
+        
+        AddSkyboxButton("mayhem", "afterrain", row0);
+        AddSkyboxButton("mayhem", "aqua4", row0);
+        AddSkyboxButton("mayhem", "aqua9", row0);
+        AddSkyboxButton("mayhem", "flame", row0);
+        
+        AddSkyboxButton("mayhem", "h2s", row1);
+        AddSkyboxButton("mayhem", "prehistoric", row1);
+        AddSkyboxButton("mayhem", "scorched", row1);
+        AddSkyboxButton("penguins", "desertdawn", row1);
+        
+        AddSkyboxButton("persson", "Citadella", row2);
+        AddSkyboxButton("persson", "Citadella2", row2);
+        AddSkyboxButton("persson", "clouds1", row2);
+        AddSkyboxButton("penguins", "wrath", row2);
+        
+        AddSkyboxButton("persson", "FishermansBastion", row3);
+        AddSkyboxButton("persson", "HeroesSquare", row3);
+        AddSkyboxButton("indoors", "DallasW", row3);
+        AddSkyboxButton("indoors", "MarriottMadisonWest", row3);
+        
+        AddSkyboxButton("persson", "LancellottiChapel", row4);
+        AddSkyboxButton("persson", "PereaBeach1", row4);
+        AddSkyboxButton("persson", "PereaBeach2", row4);
+        AddSkyboxButton("persson", "redeclipse", row4);
+        
+        AddSkyboxButton("daz", "Greenlands", row5);
+        AddSkyboxButton("daz", "Oasis", row5);
+        AddSkyboxButton("elyvisions", "arch3", row5);
+        AddSkyboxButton("elyvisions", "calm_sea", row5);
+        
+        AddSkyboxButton("elyvisions", "rainbow", row6);
+        AddSkyboxButton("elyvisions", "distant_sunset", row6);
+        AddSkyboxButton("elyvisions", "heaven", row6);
+        AddSkyboxButton("elyvisions", "hot", row6);
+        
+        tab0.add(row0);
+        tab0.add(row1);
+        tab0.add(row2);
+        tab0.add(row3);
+        tab0.add(row4);
+        tab0.add(row5);
+        tab0.add(row6);
+        
+        for (int i=5; --i>=0;)
+        {
+            //oe.toolboxPanel.Return();
+            //tab0.add(new cGridBag());
+        }
+    }
+        
     public void ChangeSkybox(String name)
     {
-        cameraView.envyoff = false;
-        cameraView.skyboxname = name;
-        cameraView.skyboxext = "jpg";
+        //cameraView.envyoff = false;
+        group.skyboxname = name;
+        group.skyboxext = "jpg";
         cameraView.repaint();
     }
     
@@ -294,9 +356,9 @@
 		this.copy = this.group = group;
 		//selectees = this.group.selectees;
 		
-        if (copy.versions == null)
+        if (copy.versionlist == null)
         {
-            copy.versions = new byte[100][];
+            copy.versionlist = new Object3D[100];
             copy.versionindex = -1;
         }
         
@@ -321,9 +383,9 @@
                 
                 ((cRadio)radioPanel.getComponent(0)).SetCamera(cameraView.renderCamera, true);
                 
-        if (copy.versions == null)
+        if (copy.versionlist == null)
         {
-            copy.versions = new byte[100][];
+            copy.versionlist = new Object3D[100];
             copy.versionindex = -1;
             
             Save(true);
@@ -869,32 +931,36 @@
                 restoreCameraButton.setToolTipText("Restore viewpoint");
 		restoreCameraButton.addActionListener(this);
                 
-		copyOptionsPanel.add(saveButton = GetButton("icons/down_arrow.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
-                saveButton.setToolTipText("New version");
-		saveButton.addActionListener(this);
+		copyOptionsPanel.add(saveVersionButton = GetButton("icons/down_arrow.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
+                saveVersionButton.setToolTipText("Duplicate current version");
+		saveVersionButton.addActionListener(this);
                                                 
-		copyOptionsPanel.add(undoButton = GetButton("icons/undo.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
-                undoButton.setToolTipText("Previous version");
-		undoButton.addActionListener(this);
-                undoButton.setEnabled(false);
+		copyOptionsPanel.add(deleteVersionButton = GetButton("icons/trash.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
+                deleteVersionButton.setToolTipText("Delete current version");
+		deleteVersionButton.addActionListener(this);
+                                                
+		copyOptionsPanel.add(previousVersionButton = GetButton("icons/undo.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
+                previousVersionButton.setToolTipText("Previous version");
+		previousVersionButton.addActionListener(this);
+                previousVersionButton.setEnabled(false);
                 
                 cGridBag updown = new cGridBag().setVertical(true);
 		updown.add(restoreButton = GetButton("icons/restore.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
-                restoreButton.setToolTipText("Restore current");
+                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("Replace current");
+                replaceButton.setToolTipText("Save (replace current version)");
 		replaceButton.addActionListener(this);
-                replaceButton.setEnabled(false);
+                //replaceButton.setEnabled(false);
                 
                 copyOptionsPanel.add(updown);
                 
-		copyOptionsPanel.add(redoButton = GetButton("icons/redo.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
-                redoButton.setToolTipText("Next version");
-		redoButton.addActionListener(this);
-                redoButton.setEnabled(false);
+		copyOptionsPanel.add(nextVersionButton = GetButton("icons/redo.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
+                nextVersionButton.setToolTipText("Next version");
+		nextVersionButton.addActionListener(this);
+                nextVersionButton.setEnabled(false);
                 
                 oe.toolbarPanel.add(liveCB = GetToggleButton("icons/run.png", Globals.isLIVE())); //, oe.aConstraints);
                 liveCB.setToolTipText("Enable animation");
@@ -1040,6 +1106,7 @@
                 AddSkyboxTab0(skyboxpanel);
                 AddSkyboxTab1(skyboxpanel);
                 AddSkyboxTab2(skyboxpanel);
+                AddSkyboxTab3(skyboxpanel);
                 
                 // EDIT panel
 		editCommandsPanel.add(editButton = GetButton("icons/controls.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
@@ -1047,14 +1114,14 @@
 		editButton.addActionListener(this);
 
 		editCommandsPanel.add(uneditButton = GetButton("icons/remove.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
-                uneditButton.setToolTipText("Remove selection controls");
+                uneditButton.setToolTipText("Unpin and remove selection controls");
 		uneditButton.addActionListener(this);
 
 		editCommandsPanel.add(allParamsButton = new JCheckBox("All", allparams)); //, oe.aConstraints);
                 allParamsButton.setToolTipText("Show all controle");
 		allParamsButton.addActionListener(this);
 
-		editCommandsPanel.add(clearPanelButton = new cButton("C", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
+		editCommandsPanel.add(clearPanelButton = GetButton("icons/clear.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
                 clearPanelButton.setToolTipText("Clear edit panel");
 		clearPanelButton.addActionListener(this);
 
@@ -1120,7 +1187,7 @@
 		dgr.addDragGestureListener(this);
 		}catch(Exception e) {}
 		*/
-        radio.layout = sixButton; // sevenButton;
+        radio.layout = threeButton; // sixButton;
         oe.toolbarPanel.add(radioPanel); //, oe.aConstraints);
 	}
         
@@ -1171,9 +1238,12 @@
                 smoothCB.setToolTipText("Snapping delay");
                                 smoothCB.addItemListener(this);
 
-                panel.add(slowCB = new cCheckBox("Slow", CameraPane.SLOWPOSE)); //, constraints);
-                slowCB.setToolTipText("Smooth interpolation");
-                                slowCB.addItemListener(this);
+//                panel.add(slowCB = new cCheckBox("Slow", CameraPane.SLOWPOSE)); //, constraints);
+//                slowCB.setToolTipText("Smooth interpolation");
+//                                slowCB.addItemListener(this);
+                panel.add(minshaderCB = new cCheckBox("Min shader", Globals.MINSHADER)); //, constraints);
+                minshaderCB.setToolTipText("Minimal fast shader");
+                                minshaderCB.addItemListener(this);
                                 
 //        	constraints.gridy += 1;
 //                panel.add(speakerMocapCB = new cCheckBox("Mocap", CameraPane.SPEAKERMOCAP), constraints);
@@ -1262,7 +1332,7 @@
             }
             
             radioButton.SetObject(obj);
-            radioButton.layout = sixButton; // sevenButton;
+            radioButton.layout = threeButton; // sixButton;
             radioButton.SetCamera(cameraView.renderCamera, false);
             radioButton.addActionListener(this);
             radioPanel.add(radioButton);
@@ -1287,6 +1357,8 @@
         cCheckBox localCB;
         cCheckBox crowdCB;
         cCheckBox smoothCB;
+        cCheckBox minshaderCB;
+        
         cToggleButton fastCB;
         cCheckBox slowCB;
         cCheckBox boxCB;
@@ -1357,6 +1429,12 @@
             {
                 cameraView.ToggleInertia();
         cameraView.repaint();
+            }
+            else if(e.getSource() == minshaderCB)
+            {
+                Globals.MINSHADER ^= true;
+                cameraView.programInitialized = false;
+                cameraView.repaint();
             }
             else if(e.getSource() == localCB)
             {
@@ -2497,7 +2575,7 @@
 		if (source == invariantsItem)
 		{
                     System.out.println("Invariants:");
-                    Grafreed.grafreeD.universe.invariants();
+                    Grafreed.grafreed.universe.invariants();
 		} else
 		if (source == memoryItem)
 		{
@@ -2528,33 +2606,40 @@
 		{
 			ToggleFullScreen();
 		} else
-		if (source == undoButton)
+		if (source == previousVersionButton)
 		{
                         // Go to previous version
 			//if (!Undo())
                             //java.awt.Toolkit.getDefaultToolkit().beep();
-			Undo();
+			PreviousVersion();
 		} else
 		if (source == restoreButton)
 		{
                         // Restore current version
 			Restore();
+        //restoreButton.setEnabled(false);
 		} else
 		if (source == replaceButton)
 		{
                         // Overwrite current version
 			Replace();
+        //replaceButton.setEnabled(false);
 		} else
-		if (source == redoButton)
+		if (source == nextVersionButton)
 		{
                         // Go to next version
-			Redo();
+			NextVersion();
 		} else
-		if (source == saveButton)
+		if (source == saveVersionButton)
 		{
                         // Save a new version
 			if (!Save(true))
                             java.awt.Toolkit.getDefaultToolkit().beep();
+		} else
+		if (source == deleteVersionButton)
+		{
+                        // Delete a new version
+                        DeleteVersion();
 		} else
 		if (source == oneStepButton)
 		{
@@ -2609,11 +2694,11 @@
 		} else
 		if (source == undoItem)
 		{
-			Undo();
+			PreviousVersion();
 		} else
 		if (source == redoItem)
 		{
-			Redo();
+			NextVersion();
 		} else
 		if (source == duplicateItem)
 		{
@@ -3746,10 +3831,10 @@
 			{
 				Object3D child = (Object3D)e.nextElement();
                                 if(child.editWindow != null)
-                                    objectPanel.setSelectedIndex(objectPanel.indexOfTab("Edit"));
                                 child.pinned = false;
 				child.CloseUI();
                                 listUI.remove(child);
+//                                    objectPanel.setSelectedIndex(objectPanel.indexOfTab("Edit"));
                                 
                                 //child.editWindow = null; // ???????????
 			}
@@ -3768,6 +3853,7 @@
                         obj.CloseUI();
                     }
                     listUI.clear();
+                    SetPinStates(group.selection.size() > 0);
                     refreshContents(true);
 		} else
 		if (source == allParamsButton)
@@ -3854,6 +3940,7 @@
                     radio.layout.doClick();
                     
                     ClearUnpinned();
+                    
                     //Grafreed.Assert(group != null);
                     //Grafreed.Assert(group.selection != null);
                     SetPinStates(group.selection == null || group.selection.size() > 0);
@@ -3870,11 +3957,13 @@
                 } else if (event.getSource() == editCameraItem)
                 {
                     cameraView.ProtectCamera();
+                    cameraView.requestFocusInWindow();
                     cameraView.repaint();
                     return;
                 } else if (event.getSource() == restoreCameraItem || event.getSource() == restoreCameraButton)
                 {
                     cameraView.RevertCamera();
+                    cameraView.requestFocusInWindow();
                     cameraView.repaint();
                     return;
         //        } else if (event.getSource() == textureButton)
@@ -5007,9 +5096,7 @@
 		
 		freezemodel = false;
 	}
-	
-        boolean flashIt = true;
-        
+	        
 	public void valueChanged(TreeSelectionEvent e)
 	//public boolean handleEvent(Event event)
 	{
@@ -5084,6 +5171,8 @@
             uneditButton.setEnabled(enabled);
             unselectButton.setEnabled(enabled);
             flashSelectionButton.setEnabled(enabled);
+            
+            clearPanelButton.setEnabled(!listUI.isEmpty());
         }
 
         void refreshContents(boolean cp)
@@ -5924,7 +6013,6 @@
 	
 	cButton restoreCameraButton;
         
-	cButton saveButton;
 	cButton oneStepButton;
         
         cButton groupButton;

--
Gitblit v1.6.2