Normand Briere
2019-07-21 5a546232b84ce65d8779d29e9171e7e2df013614
GroupEditor.java
....@@ -60,6 +60,12 @@
6060 this.copy = this.group = group;
6161 //selectees = this.group.selectees;
6262
63
+ if (copy.versions == null)
64
+ {
65
+ copy.versions = new byte[100][];
66
+ copy.versionindex = -1;
67
+ }
68
+
6369 if(ui)
6470 SetupUI(objEditor);
6571 }
....@@ -80,6 +86,14 @@
8086 SetupViews(objEditor);
8187
8288 ((cRadio)radioPanel.getComponent(0)).SetCamera(cameraView.renderCamera, true);
89
+
90
+ if (copy.versions == null)
91
+ {
92
+ copy.versions = new byte[100][];
93
+ copy.versionindex = -1;
94
+
95
+ Save(true);
96
+ }
8397 }
8498
8599 void CloneSelection(boolean supports)
....@@ -194,8 +208,8 @@
194208 // pasteExpandItem = menu.add(new MenuItem("Paste expand"));
195209 // pasteExpandItem.addActionListener(this);
196210 menu.add("-");
197
- clearItem = menu.add(new MenuItem("Clear"));
198
- clearItem.addActionListener(this);
211
+ deleteItem = menu.add(new MenuItem("Delete"));
212
+ deleteItem.addActionListener(this);
199213
200214 if (Globals.ADVANCED)
201215 {
....@@ -421,7 +435,7 @@
421435 genNormalsMESHItem.addActionListener(this);
422436 if (Globals.ADVANCED)
423437 {
424
- genNormalsMINEItem = menu.add(new MenuItem("My Normals"));
438
+ genNormalsMINEItem = menu.add(new MenuItem("Stitch Normals"));
425439 genNormalsMINEItem.addActionListener(this);
426440 }
427441 stripifyItem = menu.add(new MenuItem("Stripify"));
....@@ -673,27 +687,28 @@
673687
674688 //oe.toolbarPanel.add(new JSeparator(SwingConstants.VERTICAL));
675689
676
- oe.toolbarPanel.add(twoButton = new cButton("|-|", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
677
- twoButton.setToolTipText("Show center view only");
678
- twoButton.addActionListener(this);
679
- this.fullscreenLayout = twoButton;
680
-
681690 oe.toolbarPanel.add(fourButton = new cButton("-||", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
682691 fourButton.addActionListener(this);
683692 fourButton.setToolTipText("Show left panel only");
693
+
694
+ oe.toolbarPanel.add(twoButton = new cButton("|-|", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
695
+ twoButton.setToolTipText("Show right view only");
696
+ twoButton.addActionListener(this);
697
+ this.fullscreenLayout = twoButton;
698
+
684699 oe.toolbarPanel.add(sixButton = new cButton("-|-|", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
685
- sixButton.setToolTipText("2-column layout left");
700
+ sixButton.setToolTipText("Show left and right");
686701 sixButton.addActionListener(this);
687
- oe.toolbarPanel.add(threeButton = new cButton("|-|-", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
688
- threeButton.setToolTipText("2-column layout right");
689
- threeButton.addActionListener(this);
690
- oe.toolbarPanel.add(sevenButton = new cButton("-|-|-", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
691
- sevenButton.setToolTipText("3-column layout");
692
- sevenButton.addActionListener(this);
702
+// oe.toolbarPanel.add(threeButton = new cButton("|-|-", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
703
+// threeButton.setToolTipText("2-column layout right");
704
+// threeButton.addActionListener(this);
705
+// oe.toolbarPanel.add(sevenButton = new cButton("-|-|-", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
706
+// sevenButton.setToolTipText("3-column layout");
707
+// sevenButton.addActionListener(this);
693708 //
694709
695
- oe.toolbarPanel.add(rootButton = GetButton("icons/write.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
696
- rootButton.setToolTipText("Edit selection in new tab");
710
+ oe.toolbarPanel.add(rootButton = GetButton("icons/openwindow.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
711
+ rootButton.setToolTipText("Open selection in new tab");
697712 rootButton.addActionListener(this);
698713
699714 oe.toolbarPanel.add(closeButton = GetButton("icons/close-icon.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
....@@ -834,8 +849,8 @@
834849
835850 oe.treePanel.add(copyOptionsPanel);
836851 oe.treePanel.Return();
837
- cGridBag sliderPane = AddSlider(oe.treePanel, "Version", 0, 10, 0);
838
- versionField = (cNumberSlider)sliderPane.getComponent(1);
852
+ cGridBag sliderPane = AddSlider(oe.treePanel, "Version", 0, 0, 0);
853
+ versionSlider = (cNumberSlider)sliderPane.getComponent(1);
839854 sliderPane.preferredHeight = 1;
840855
841856 // mainPanel.setDividerLocation(0.5); //1.0);
....@@ -859,7 +874,7 @@
859874 dgr.addDragGestureListener(this);
860875 }catch(Exception e) {}
861876 */
862
- radio.layout = sevenButton;
877
+ radio.layout = sixButton; // sevenButton;
863878 oe.toolbarPanel.add(radioPanel); //, oe.aConstraints);
864879 }
865880
....@@ -1001,7 +1016,7 @@
10011016 }
10021017
10031018 radioButton.SetObject(obj);
1004
- radioButton.layout = sevenButton;
1019
+ radioButton.layout = sixButton; // sevenButton;
10051020 radioButton.SetCamera(cameraView.renderCamera, false);
10061021 radioButton.addActionListener(this);
10071022 radioPanel.add(radioButton);
....@@ -1680,6 +1695,16 @@
16801695 listUI.remove(i);
16811696 }
16821697 }
1698
+ }
1699
+
1700
+ private void EditElement(Object3D elem, boolean newWindow)
1701
+ {
1702
+ // if (!(elem instanceof Composite))
1703
+ // newWindow = false;
1704
+ listUI.add(elem);
1705
+ elem.openEditWindow(this, newWindow); //, false);
1706
+ System.out.println("edit : " + elem);
1707
+ elem.editWindow.refreshContents(true); // ? new
16831708 }
16841709
16851710 /**
....@@ -2646,7 +2671,7 @@
26462671 {
26472672 StepAll();
26482673 } else
2649
- if (source == clearItem) // || event.getSource() == clearButton)
2674
+ if (source == deleteItem) // || event.getSource() == clearButton)
26502675 {
26512676 //int indices[] = jList.getSelectedIndices();
26522677 //for (int i = indices.length - 1; i >= 0; i--)
....@@ -3541,8 +3566,10 @@
35413566 radio.layout.doClick();
35423567
35433568 ClearUnpinned();
3544
- SetPinStates(group.selection.size() > 0);
3545
- if (group.selection.size() == 1)
3569
+ //Grafreed.Assert(group != null);
3570
+ //Grafreed.Assert(group.selection != null);
3571
+ SetPinStates(group.selection == null || group.selection.size() > 0);
3572
+ if (group.selection == null || group.selection.size() == 1)
35463573 EditSelection(false);
35473574 keepparent = group.parent;
35483575 // PARENT = NULL or not???
....@@ -4613,6 +4640,12 @@
46134640
46144641 void EditSelection(boolean newWindow)
46154642 {
4643
+ if (group.selection == null)
4644
+ {
4645
+ EditElement(group, newWindow); // ? new
4646
+ return;
4647
+ }
4648
+
46164649 // aConstraints.gridy = 0;
46174650 for (int i=0; i<group.selection.size(); i++)
46184651 {
....@@ -4623,12 +4656,7 @@
46234656 Object3D elem = (Object3D)group.selection.elementAt(i);
46244657 if(elem != group || !newWindow)
46254658 {
4626
- // if (!(elem instanceof Composite))
4627
- // newWindow = false;
4628
- listUI.add(elem);
4629
- elem.openEditWindow(this, newWindow); //, false);
4630
- System.out.println("edit : " + elem);
4631
- elem.editWindow.refreshContents(true); // ? new
4659
+ EditElement(elem, newWindow); // ? new
46324660 }
46334661 }
46344662 }
....@@ -4772,7 +4800,7 @@
47724800
47734801 void refreshContents(boolean cp)
47744802 {
4775
- if (objectPanel.getSelectedIndex() == objectPanel.indexOfTab("Info"))
4803
+ if (objectPanel.getSelectedIndex() == 2) // objectPanel.indexOfTab("Info"))
47764804 if (!Globals.MOUSEDRAGGED && group.selection != null) // && !Globals.TIMERRUNNING)
47774805 {
47784806 objEditor.ClearInfo(); // .GetMaterial());
....@@ -5681,7 +5709,7 @@
56815709 private MenuItem pasteLinkItem;
56825710 private MenuItem pasteCloneItem;
56835711 private MenuItem pasteExpandItem;
5684
- private MenuItem clearItem;
5712
+ private MenuItem deleteItem;
56855713 private MenuItem clearAllItem;
56865714 private MenuItem genUVItem;
56875715 private MenuItem genNormalsMESHItem;