Normand Briere
2019-08-22 0c7b833be7d86598a6813cd1c6db0ca9e1b17966
Clear versions.
5 files modified
112 ■■■■■ changed files
CameraPane.java 2 ●●● patch | view | raw | blame | history
Globals.java 3 ●●●● patch | view | raw | blame | history
GroupEditor.java 47 ●●●●● patch | view | raw | blame | history
ObjEditor.java 22 ●●●●● patch | view | raw | blame | history
Object3D.java 38 ●●●●● patch | view | raw | blame | history
CameraPane.java
....@@ -15504,7 +15504,7 @@
1550415504 repaint();
1550515505 break;
1550615506 case 'O':
15507
- Globals.drawMode = OCCLUSION; // WARNING
15507
+ // Too dangerous. Use menu. Globals.drawMode = OCCLUSION; // WARNING
1550815508 repaint();
1550915509 break;
1551015510 case 'o':
Globals.java
....@@ -1,10 +1,11 @@
11
22 public class Globals
33 {
4
+ static boolean ADVANCED = false; // false;
5
+
46 static boolean NIMBUSLAF = false; // false;
57
68 static boolean TOOLTIPS = true; // true;
7
- static boolean ADVANCED = false; // false;
89 static boolean DEBUG = false; // false
910
1011 static iCameraPane theRenderer;
GroupEditor.java
....@@ -417,13 +417,13 @@
417417
418418 assert(false);
419419
420
- if (copy.versionlist == null)
421
- {
422
- copy.versionlist = new Object3D[100];
423
- copy.versionindex = -1;
424
-
425
- //Save(true);
426
- }
420
+// if (copy.versionlist == null)
421
+// {
422
+// copy.versionlist = new Object3D[100];
423
+// copy.versionindex = -1;
424
+//
425
+// //Save(true);
426
+// }
427427
428428 if(ui)
429429 SetupUI(objEditor);
....@@ -446,13 +446,13 @@
446446
447447 ((cRadio)radioPanel.getComponent(0)).SetCamera(cameraView.renderCamera, true);
448448
449
- if (copy.versionlist == null)
450
- {
451
- copy.versionlist = new Object3D[100];
452
- copy.versionindex = -1;
453
-
454
- //Save(true);
455
- }
449
+// if (copy.versionlist == null)
450
+// {
451
+// copy.versionlist = new Object3D[100];
452
+// copy.versionindex = -1;
453
+//
454
+// //Save(true);
455
+// }
456456 }
457457
458458 void CloneSelection(boolean supports)
....@@ -835,6 +835,8 @@
835835 }
836836
837837 oe.menuBar.add(menu = new Menu("Attributes"));
838
+ clearVersionsItem = menu.add(new MenuItem("Clear Versions"));
839
+ clearVersionsItem.addActionListener(this);
838840 clearMaterialsItem = menu.add(new MenuItem("Clear Materials"));
839841 clearMaterialsItem.addActionListener(this);
840842 resetAllItem = menu.add(new MenuItem("Reset All"));
....@@ -3466,6 +3468,10 @@
34663468 {
34673469 ClearMaterials();
34683470 } else
3471
+ if (source == clearVersionsItem)
3472
+ {
3473
+ ClearVersions();
3474
+ } else
34693475 if (source == liveleavesItem)
34703476 {
34713477 LiveLeaves(true);
....@@ -4142,12 +4148,14 @@
41424148 // and check if any of these nodes are reachable below the root.
41434149 Grafreed.grafreed.universe.TagObjects(copy, true);
41444150
4145
- if (!copy.HasTags())
4151
+ if (copy.versionlist == null && !copy.HasTags())
41464152 {
41474153 copy.versionlist = new Object3D[100];
41484154
4149
- Save(true);
4155
+ //Save(true);
41504156 }
4157
+ else
4158
+ copy.versionindex = -2;
41514159
41524160 Grafreed.grafreed.universe.TagObjects(copy, false);
41534161 }
....@@ -5110,6 +5118,12 @@
51105118 void ClearMaterials()
51115119 {
51125120 group.selection.ClearMaterials();
5121
+ refreshContents();
5122
+ }
5123
+
5124
+ void ClearVersions()
5125
+ {
5126
+ group.selection.ClearVersions();
51135127 refreshContents();
51145128 }
51155129
....@@ -6354,6 +6368,7 @@
63546368 private MenuItem clipMeshItem;
63556369 private MenuItem smoothMeshItem;
63566370 private MenuItem clearMaterialsItem;
6371
+ private MenuItem clearVersionsItem;
63576372
63586373 private MenuItem liveleavesItem;
63596374 private MenuItem unliveleavesItem;
ObjEditor.java
....@@ -383,14 +383,6 @@
383383 client = inClient;
384384 copy = client;
385385
386
- if (copy.versionlist == null)
387
- {
388
- copy.versionlist = new Object3D[100];
389
- copy.versionindex = -1;
390
-
391
-// Save(true);
392
- }
393
-
394386 SetupUI2(callee.GetEditor());
395387 }
396388
....@@ -1884,9 +1876,9 @@
18841876
18851877 if (Globals.ADVANCED)
18861878 {
1887
- tabbedPane.add(infoPanel);
1888
- tabbedPane.setIconAt(4, GetIcon("icons/info.png"));
1889
- tabbedPane.setToolTipTextAt(4, "Information");
1879
+ objectPanel.add(infoPanel);
1880
+ objectPanel.setIconAt(5, GetIcon("icons/info.png"));
1881
+ objectPanel.setToolTipTextAt(4, "Information");
18901882 }
18911883
18921884 /*
....@@ -4475,7 +4467,11 @@
44754467 System.err.println("Save");
44764468 Replace();
44774469
4478
- //cRadio tab = GetCurrentTab();
4470
+ if (copy.versionlist == null)
4471
+ {
4472
+ copy.versionlist = new Object3D[100];
4473
+ copy.versionindex = -1;
4474
+ }
44794475
44804476 Object3D compress = Duplicate(copy); // Saved version. No need for "Replace"?
44814477
....@@ -4649,7 +4645,7 @@
46494645
46504646 //cRadio tab = GetCurrentTab();
46514647
4652
- if (copy.versionlist == null)
4648
+ if (copy.versionindex == -2)
46534649 {
46544650 saveVersionButton.setEnabled(false);
46554651 restoreButton.setEnabled(false);
Object3D.java
....@@ -3622,15 +3622,47 @@
36223622
36233623 void ClearMaterials()
36243624 {
3625
+ if (blockloop)
3626
+ return;
3627
+
3628
+ blockloop = true;
3629
+
36253630 ClearMaterial();
3626
- for (int i = 0; i < size(); i++)
3631
+ for (int i = 0; i < Size(); i++)
36273632 {
3628
- Object3D child = (Object3D) reserve(i);
3633
+ Object3D child = (Object3D) get(i);
36293634 if (child == null)
36303635 continue;
36313636 child.ClearMaterials();
3632
- release(i);
36333637 }
3638
+
3639
+ blockloop = false;
3640
+ }
3641
+
3642
+ void ClearVersionList()
3643
+ {
3644
+ this.versionlist = null;
3645
+ this.versionindex = -1;
3646
+ this.versiontable = null;
3647
+ }
3648
+
3649
+ void ClearVersions()
3650
+ {
3651
+ if (blockloop)
3652
+ return;
3653
+
3654
+ blockloop = true;
3655
+
3656
+ ClearVersionList();
3657
+ for (int i = 0; i < Size(); i++)
3658
+ {
3659
+ Object3D child = (Object3D) get(i);
3660
+ if (child == null)
3661
+ continue;
3662
+ child.ClearVersions();
3663
+ }
3664
+
3665
+ blockloop = false;
36343666 }
36353667
36363668 void FlipV(boolean flip)