Normand Briere
2019-08-13 0cdf3fb57ddea3226f094ba45c836c7e9b123e3a
ObjEditor.java
....@@ -297,11 +297,13 @@
297297 client = inClient;
298298 copy = client;
299299
300
- if (copy.versionlist == null)
301
- {
302
- copy.versionlist = new Object3D[100];
303
- copy.versionindex = -1;
304
- }
300
+// if (copy.versionlist == null)
301
+// {
302
+// copy.versionlist = new Object3D[100];
303
+// copy.versionindex = -1;
304
+//
305
+// callee.Save(true);
306
+// }
305307
306308 // "this" is not called: SetupUI2(objEditor);
307309 }
....@@ -320,6 +322,8 @@
320322 {
321323 copy.versionlist = new Object3D[100];
322324 copy.versionindex = -1;
325
+
326
+// Save(true);
323327 }
324328
325329 SetupUI2(callee.GetEditor());
....@@ -354,11 +358,13 @@
354358 copy = localCopy;
355359 copy.editWindow = this;
356360
357
- if (copy.versionlist == null)
358
- {
359
-// copy.versions = new byte[100][];
361
+// if (copy.versionlist == null)
362
+// {
363
+// copy.versionlist = new Object3D[100];
360364 // copy.versionindex = -1;
361
- }
365
+//
366
+// Save(true);
367
+// }
362368
363369 SetupMenu();
364370
....@@ -445,7 +451,7 @@
445451 // EditSelection(false);
446452 // }
447453
448
- refreshContents(false); // To refresh Info tab
454
+// refreshContents(false); // To refresh Info tab
449455 }
450456 };
451457 objectPanel.addChangeListener(changeListener);
....@@ -4123,7 +4129,7 @@
41234129 {
41244130 //Save(true);
41254131 Replace();
4126
- SetUndoStates();
4132
+ SetVersionStates();
41274133 }
41284134
41294135 private boolean Equal(byte[] compress, byte[] name)
....@@ -4153,7 +4159,7 @@
41534159
41544160 CopyChanged();
41554161
4156
- SetUndoStates();
4162
+ SetVersionStates();
41574163 }
41584164
41594165 public boolean Save(boolean user)
....@@ -4161,7 +4167,7 @@
41614167 System.err.println("Save");
41624168 Replace();
41634169
4164
- cRadio tab = GetCurrentTab();
4170
+ //cRadio tab = GetCurrentTab();
41654171
41664172 Object3D compress = Duplicate(copy); // Saved version. No need for "Replace"?
41674173
....@@ -4199,7 +4205,7 @@
41994205 // copy.versionlist[i] = null;
42004206 // }
42014207
4202
- SetUndoStates();
4208
+ SetVersionStates();
42034209
42044210 // test save
42054211 if (false)
....@@ -4259,7 +4265,7 @@
42594265 {
42604266 Object3D obj = (Object3D)Grafreed.clone(copy.versionlist[copy.versionindex]);
42614267
4262
- SetUndoStates();
4268
+ SetVersionStates();
42634269
42644270 boolean temp = CameraPane.SWITCH;
42654271 CameraPane.SWITCH = false;
....@@ -4326,12 +4332,15 @@
43264332 return count;
43274333 }
43284334
4329
- void SetUndoStates()
4335
+ void SetVersionStates()
43304336 {
4331
- cRadio tab = GetCurrentTab();
4337
+ //if (true)
4338
+ // return;
4339
+
4340
+ //cRadio tab = GetCurrentTab();
43324341
4333
- restoreButton.setEnabled(true); // copy.versionindex != -1);
4334
- replaceButton.setEnabled(true); // copy.versionindex != -1);
4342
+ restoreButton.setEnabled(copy.versionindex != -1);
4343
+ replaceButton.setEnabled(copy.versionindex != -1);
43354344
43364345 previousVersionButton.setEnabled(copy.versionindex > 0);
43374346 nextVersionButton.setEnabled(copy.versionlist[copy.versionindex + 1] != null);
....@@ -4340,8 +4349,10 @@
43404349 copy.versionlist[copy.versionindex + 1] != null);
43414350
43424351 muteSlider = true;
4352
+ versionSlider.setMinimum(0);
43434353 versionSlider.setMaximum(VersionCount() - 1);
43444354 versionSlider.setInteger(copy.versionindex);
4355
+ versionSlider.setEnabled(copy.versionindex != -1);
43454356 muteSlider = false;
43464357 }
43474358
....@@ -4352,7 +4363,7 @@
43524363
43534364 System.err.println("Undo");
43544365
4355
- cRadio tab = GetCurrentTab();
4366
+ //cRadio tab = GetCurrentTab();
43564367
43574368 if (copy.versionindex == 0)
43584369 {
....@@ -4384,7 +4395,7 @@
43844395 {
43854396 System.err.println("Restore");
43864397
4387
- cRadio tab = GetCurrentTab();
4398
+ //cRadio tab = GetCurrentTab();
43884399
43894400 if (copy.versionindex == -1 || copy.versionlist[copy.versionindex] == null)
43904401 {
....@@ -4402,7 +4413,7 @@
44024413 {
44034414 System.err.println("Replace");
44044415
4405
- cRadio tab = GetCurrentTab();
4416
+ //cRadio tab = GetCurrentTab();
44064417
44074418 if (copy.versionindex == -1 || copy.versionlist[copy.versionindex] == null)
44084419 {
....@@ -4420,7 +4431,7 @@
44204431 // Option?
44214432 Replace();
44224433
4423
- cRadio tab = GetCurrentTab();
4434
+ //cRadio tab = GetCurrentTab();
44244435
44254436 if (copy.versionlist[copy.versionindex + 1] == null)
44264437 {
....@@ -4741,7 +4752,7 @@
47414752
47424753 int version = versionSlider.getInteger();
47434754
4744
- if (copy.versionlist[version] != null)
4755
+ if (version != -1 && copy.versionlist[version] != null)
47454756 {
47464757 copy.versionindex = version;
47474758 CopyChanged();
....@@ -5100,7 +5111,7 @@
51005111 }
51015112
51025113 if (previousVersionButton != null && copy.versionlist != null)
5103
- SetUndoStates();
5114
+ SetVersionStates();
51045115 }
51055116
51065117 static TweenManager tweenManager = new TweenManager();
....@@ -5489,8 +5500,11 @@
54895500
54905501 if (copy.versionlist == null)
54915502 {
5503
+ // Backward compatibility
54925504 copy.versionlist = new Object3D[100];
54935505 copy.versionindex = -1;
5506
+
5507
+ Save(true);
54945508 }
54955509
54965510 //? SetUndoStates();
....@@ -5582,6 +5596,8 @@
55825596
55835597 void save()
55845598 {
5599
+ Replace();
5600
+
55855601 if (lastname == null)
55865602 {
55875603 return;