Normand Briere
2019-08-13 0cdf3fb57ddea3226f094ba45c836c7e9b123e3a
GroupEditor.java
....@@ -31,7 +31,7 @@
3131 final String path = "cubemaps/" + f + "-skyboxes/" + s;
3232 row.add(skyboxButton = GetButton(path + "/preview.jpg", !Grafreed.NIMBUSLAF));
3333 //row.add(skyboxButton = GetButton(path + "/negx.jpg", !Grafreed.NIMBUSLAF));
34
- skyboxButton.setToolTipText(s);
34
+ skyboxButton.setToolTipText(s.equals("") ? "No background" : s);
3535 skyboxButton.addActionListener(new ActionListener()
3636 {
3737 @Override
....@@ -73,7 +73,7 @@
7373 cGridBag row5 = new cGridBag();
7474 cGridBag row6 = new cGridBag();
7575
76
- AddSkyboxButton("default", "rgb", row0);
76
+ AddSkyboxButton("default", "", row0);
7777 //AddSkyboxButton("default", "cornell", row0);
7878 AddSkyboxButton("penguins", "dust", row0);
7979 AddSkyboxButton("penguins", "tropic", row0);
....@@ -330,10 +330,19 @@
330330
331331 public void ChangeSkybox(String skybox)
332332 {
333
- //cameraView.envyoff = false;
334
- group.skyboxname = skybox;
335
- group.skyboxext = "jpg";
336
- cameraView.repaint();
333
+ if (skybox.endsWith("/"))
334
+ {
335
+ group.skyboxname = null;
336
+ group.skyboxext = null;
337
+ cameraView.repaint();
338
+ }
339
+ else
340
+ {
341
+ //cameraView.envyoff = false;
342
+ group.skyboxname = skybox;
343
+ group.skyboxext = "jpg";
344
+ cameraView.repaint();
345
+ }
337346 }
338347
339348 public void CreateSkyboxPanel(cGridBag skyboxPanel)
....@@ -410,6 +419,8 @@
410419 {
411420 copy.versionlist = new Object3D[100];
412421 copy.versionindex = -1;
422
+
423
+ Save(true);
413424 }
414425
415426 if(ui)
....@@ -641,11 +652,9 @@
641652 oe.cameraMenu.add(lookAtItem = new MenuItem("Set Interest"));
642653 //cameraMenu.add(lookFromItem = new MenuItem("Look From Selection"));
643654 //cameraMenu.add(switchViewItem = new MenuItem("Reverse View"));
644
- editLeafItem = oe.cameraMenu.add(new MenuItem("Edit Leaf"));
645655 oe.cameraMenu.add("-");
646656 openWindowItem = oe.cameraMenu.add(new MenuItem("Edit copy..."));
647657 openWindowItem.addActionListener(this);
648
- editLeafItem.addActionListener(this);
649658 lookAtItem.addActionListener(this);
650659 //lookFromItem.addActinoListener(this);
651660 //switchViewItem.addActionListener(this);
....@@ -893,6 +902,9 @@
893902 shareGeometriesItem.addActionListener(this);
894903 mergeGeometriesItem = menu.add(new MenuItem("Merge Geometries"));
895904 mergeGeometriesItem.addActionListener(this);
905
+ menu.add("-");
906
+ editLeafItem = menu.add(new MenuItem("Edit leaf..."));
907
+ editLeafItem.addActionListener(this);
896908 if (Globals.ADVANCED)
897909 {
898910 // Pretty much the same as duplicate and clone.
....@@ -1026,22 +1038,22 @@
10261038
10271039 if (Globals.ADVANCED)
10281040 {
1029
- oe.toolbarPanel.add(maxButton = GetButton("icons/add-128.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
1030
- maxButton.setToolTipText("Maximize window");
1031
- maxButton.addActionListener(this);
1041
+// oe.toolbarPanel.add(maxButton = GetButton("icons/add-128.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
1042
+// maxButton.setToolTipText("Maximize window");
1043
+// maxButton.addActionListener(this);
10321044 }
10331045
1034
- cButton gcButton;
1035
-
1036
- oe.toolbarPanel.add(gcButton = GetButton("icons/trash.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
1037
- gcButton.setToolTipText("Garbage collect");
1038
- gcButton.addActionListener(new ActionListener()
1039
- {
1040
- public void actionPerformed(ActionEvent e)
1041
- {
1042
- System.gc();
1043
- }
1044
- });
1046
+// cButton gcButton;
1047
+//
1048
+// oe.toolbarPanel.add(gcButton = GetButton("icons/trash.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
1049
+// gcButton.setToolTipText("Garbage collect");
1050
+// gcButton.addActionListener(new ActionListener()
1051
+// {
1052
+// public void actionPerformed(ActionEvent e)
1053
+// {
1054
+// System.gc();
1055
+// }
1056
+// });
10451057
10461058 oe.toolbarPanel.add(collapseButton = GetButton("icons/collapse.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
10471059 collapseButton.setToolTipText("Collapse toolbar");
....@@ -1162,7 +1174,7 @@
11621174
11631175 // INSERT
11641176 row1.add(gridButton = GetButton("icons/grid.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
1165
- gridButton.setToolTipText("Create grid");
1177
+ gridButton.setToolTipText("Create ground");
11661178 gridButton.addActionListener(this);
11671179
11681180 row1.add(boxButton = GetButton("icons/box.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
....@@ -1454,6 +1466,14 @@
14541466
14551467 void EditObject(Object3D obj)
14561468 {
1469
+ assert(obj instanceof Composite);
1470
+
1471
+// if (obj.versionlist == null)
1472
+// {
1473
+// obj.versionlist = new Object3D[100];
1474
+// obj.versionindex = -1;
1475
+// }
1476
+
14571477 cRadio radioButton = new cRadio(obj.name);
14581478
14591479 // June 2019. Patch to avoid bug with transparency.
....@@ -3892,6 +3912,7 @@
38923912 } else
38933913 if (source == rootButton)
38943914 {
3915
+ Replace();
38953916 Object3D obj;
38963917 for (Enumeration e = group.selection.elements(); e.hasMoreElements();)
38973918 {
....@@ -4028,8 +4049,6 @@
40284049
40294050 copy = group;
40304051
4031
- SetUndoStates();
4032
-
40334052 //Globals.theRenderer.object = group;
40344053 if(!useclient)
40354054 {
....@@ -4057,6 +4076,18 @@
40574076 */
40584077 radio.layout.doClick();
40594078
4079
+ assert(copy instanceof Composite);
4080
+
4081
+ if (copy.versionlist == null)
4082
+ {
4083
+ copy.versionlist = new Object3D[100];
4084
+ copy.versionindex = -1;
4085
+
4086
+ Save(true);
4087
+ }
4088
+
4089
+ SetVersionStates();
4090
+
40604091 ClearUnpinned();
40614092
40624093 //Grafreed.Assert(group != null);
....@@ -5291,6 +5322,19 @@
52915322 flashSelectionButton.setEnabled(enabled);
52925323
52935324 clearPanelButton.setEnabled(!listUI.isEmpty());
5325
+
5326
+ boolean allComposites = true;
5327
+
5328
+ for (Enumeration e = group.selection.elements(); e.hasMoreElements();)
5329
+ {
5330
+ if (!(e.nextElement() instanceof Composite))
5331
+ {
5332
+ allComposites = false;
5333
+ break;
5334
+ }
5335
+ }
5336
+
5337
+ rootButton.setEnabled(allComposites);
52945338 }
52955339
52965340 void refreshContents(boolean cp)