From 0c7b833be7d86598a6813cd1c6db0ca9e1b17966 Mon Sep 17 00:00:00 2001
From: Normand Briere <nbriere@noware.ca>
Date: Wed, 21 Aug 2019 23:22:47 -0400
Subject: [PATCH] Clear versions.

---
 GroupEditor.java |   47 +++++++++++++++++++++++++++++++----------------
 1 files changed, 31 insertions(+), 16 deletions(-)

diff --git a/GroupEditor.java b/GroupEditor.java
index 0ac356b..8d5ddbb 100644
--- a/GroupEditor.java
+++ b/GroupEditor.java
@@ -417,13 +417,13 @@
 		
                 assert(false);
                 
-        if (copy.versionlist == null)
-        {
-            copy.versionlist = new Object3D[100];
-            copy.versionindex = -1;
-            
-            //Save(true);
-        }
+//        if (copy.versionlist == null)
+//        {
+//            copy.versionlist = new Object3D[100];
+//            copy.versionindex = -1;
+//            
+//            //Save(true);
+//        }
         
 		if(ui)
                     SetupUI(objEditor);
@@ -446,13 +446,13 @@
                 
                 ((cRadio)radioPanel.getComponent(0)).SetCamera(cameraView.renderCamera, true);
                 
-        if (copy.versionlist == null)
-        {
-            copy.versionlist = new Object3D[100];
-            copy.versionindex = -1;
-            
-            //Save(true);
-        }
+//        if (copy.versionlist == null)
+//        {
+//            copy.versionlist = new Object3D[100];
+//            copy.versionindex = -1;
+//            
+//            //Save(true);
+//        }
 	}
 
     void CloneSelection(boolean supports)
@@ -835,6 +835,8 @@
         }
 
                 oe.menuBar.add(menu = new Menu("Attributes"));
+		clearVersionsItem = menu.add(new MenuItem("Clear Versions"));
+		clearVersionsItem.addActionListener(this);
 		clearMaterialsItem = menu.add(new MenuItem("Clear Materials"));
 		clearMaterialsItem.addActionListener(this);
                 resetAllItem = menu.add(new MenuItem("Reset All"));
@@ -3466,6 +3468,10 @@
                 {
 			ClearMaterials();
 		} else
+		if (source == clearVersionsItem)
+                {
+			ClearVersions();
+		} else
 		if (source == liveleavesItem)
                 {
 			LiveLeaves(true);
@@ -4142,12 +4148,14 @@
             // and check if any of these nodes are reachable below the root.
             Grafreed.grafreed.universe.TagObjects(copy, true);
             
-            if (!copy.HasTags())
+            if (copy.versionlist == null && !copy.HasTags())
             {
                 copy.versionlist = new Object3D[100];
                 
-                Save(true);
+                //Save(true);
             }
+            else
+                copy.versionindex = -2;
             
             Grafreed.grafreed.universe.TagObjects(copy, false);
         }
@@ -5110,6 +5118,12 @@
 	void ClearMaterials()
 	{
 		group.selection.ClearMaterials();
+		refreshContents();
+	}
+	
+	void ClearVersions()
+	{
+		group.selection.ClearVersions();
 		refreshContents();
 	}
 	
@@ -6354,6 +6368,7 @@
 	private MenuItem clipMeshItem;
 	private MenuItem smoothMeshItem;
 	private MenuItem clearMaterialsItem;
+	private MenuItem clearVersionsItem;
         
 	private MenuItem liveleavesItem;
 	private MenuItem unliveleavesItem;

--
Gitblit v1.6.2