Normand Briere
2019-08-07 59de607850161a26863f92961d53caae7a2dabc8
GroupEditor.java
....@@ -16,6 +16,7 @@
1616 //import buoy.widget.BFileChooser;
1717
1818 class GroupEditor extends ObjEditor implements //iParse, //iCallBack,
19
+ Grafreed.iResourceCallBack,
1920 ObjectUI,
2021 Runnable,
2122 ActionListener,
....@@ -311,12 +312,24 @@
311312 }
312313 }
313314
314
- public void ChangeSkybox(String name)
315
+ public void CallBack(String[] path)
316
+ {
317
+ for (int i = 0; i < path.length; i++)
318
+ {
319
+ System.out.print(path[i] + "/");
320
+ }
321
+
322
+ System.out.println();
323
+ }
324
+
325
+ public void ChangeSkybox(String skybox)
315326 {
316327 //cameraView.envyoff = false;
317
- group.skyboxname = name;
328
+ group.skyboxname = skybox;
318329 group.skyboxext = "jpg";
319330 cameraView.repaint();
331
+
332
+ Grafreed.ParseResources("textures", this);
320333 }
321334
322335 //ObjEditor objEditor;
....@@ -356,9 +369,9 @@
356369 this.copy = this.group = group;
357370 //selectees = this.group.selectees;
358371
359
- if (copy.versions == null)
372
+ if (copy.versionlist == null)
360373 {
361
- copy.versions = new byte[100][];
374
+ copy.versionlist = new Object3D[100];
362375 copy.versionindex = -1;
363376 }
364377
....@@ -383,9 +396,9 @@
383396
384397 ((cRadio)radioPanel.getComponent(0)).SetCamera(cameraView.renderCamera, true);
385398
386
- if (copy.versions == null)
399
+ if (copy.versionlist == null)
387400 {
388
- copy.versions = new byte[100][];
401
+ copy.versionlist = new Object3D[100];
389402 copy.versionindex = -1;
390403
391404 Save(true);
....@@ -931,32 +944,36 @@
931944 restoreCameraButton.setToolTipText("Restore viewpoint");
932945 restoreCameraButton.addActionListener(this);
933946
934
- copyOptionsPanel.add(saveButton = GetButton("icons/down_arrow.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
935
- saveButton.setToolTipText("New version");
936
- saveButton.addActionListener(this);
947
+ copyOptionsPanel.add(saveVersionButton = GetButton("icons/down_arrow.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
948
+ saveVersionButton.setToolTipText("Duplicate current version");
949
+ saveVersionButton.addActionListener(this);
937950
938
- copyOptionsPanel.add(undoButton = GetButton("icons/undo.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
939
- undoButton.setToolTipText("Previous version");
940
- undoButton.addActionListener(this);
941
- undoButton.setEnabled(false);
951
+ copyOptionsPanel.add(deleteVersionButton = GetButton("icons/trash.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
952
+ deleteVersionButton.setToolTipText("Delete current version");
953
+ deleteVersionButton.addActionListener(this);
954
+
955
+ copyOptionsPanel.add(previousVersionButton = GetButton("icons/undo.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
956
+ previousVersionButton.setToolTipText("Previous version");
957
+ previousVersionButton.addActionListener(this);
958
+ previousVersionButton.setEnabled(false);
942959
943960 cGridBag updown = new cGridBag().setVertical(true);
944961 updown.add(restoreButton = GetButton("icons/restore.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
945
- restoreButton.setToolTipText("Restore current");
962
+ restoreButton.setToolTipText("Undo (restore current version)");
946963 restoreButton.addActionListener(this);
947
- restoreButton.setEnabled(false);
964
+ //restoreButton.setEnabled(false);
948965
949966 updown.add(replaceButton = GetButton("icons/replace.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
950
- replaceButton.setToolTipText("Replace current");
967
+ replaceButton.setToolTipText("Save (replace current version)");
951968 replaceButton.addActionListener(this);
952
- replaceButton.setEnabled(false);
969
+ //replaceButton.setEnabled(false);
953970
954971 copyOptionsPanel.add(updown);
955972
956
- copyOptionsPanel.add(redoButton = GetButton("icons/redo.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
957
- redoButton.setToolTipText("Next version");
958
- redoButton.addActionListener(this);
959
- redoButton.setEnabled(false);
973
+ copyOptionsPanel.add(nextVersionButton = GetButton("icons/redo.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
974
+ nextVersionButton.setToolTipText("Next version");
975
+ nextVersionButton.addActionListener(this);
976
+ nextVersionButton.setEnabled(false);
960977
961978 oe.toolbarPanel.add(liveCB = GetToggleButton("icons/run.png", Globals.isLIVE())); //, oe.aConstraints);
962979 liveCB.setToolTipText("Enable animation");
....@@ -1094,7 +1111,7 @@
10941111 cGridBag skyboxpane = new cGridBag();
10951112 skyboxpane.preferredHeight = 100;
10961113
1097
- oe.toolboxPanel.add(skyboxpane);
1114
+ oe.skyboxPanel.add(skyboxpane);
10981115
10991116 JTabbedPane skyboxpanel = new JTabbedPane();
11001117 skyboxpane.add(skyboxpanel);
....@@ -1110,20 +1127,20 @@
11101127 editButton.addActionListener(this);
11111128
11121129 editCommandsPanel.add(uneditButton = GetButton("icons/remove.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
1113
- uneditButton.setToolTipText("Remove selection controls");
1130
+ uneditButton.setToolTipText("Unpin and remove selection controls");
11141131 uneditButton.addActionListener(this);
11151132
11161133 editCommandsPanel.add(allParamsButton = new JCheckBox("All", allparams)); //, oe.aConstraints);
11171134 allParamsButton.setToolTipText("Show all controle");
11181135 allParamsButton.addActionListener(this);
11191136
1120
- editCommandsPanel.add(clearPanelButton = new cButton("C", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
1137
+ editCommandsPanel.add(clearPanelButton = GetButton("icons/clear.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
11211138 clearPanelButton.setToolTipText("Clear edit panel");
11221139 clearPanelButton.addActionListener(this);
11231140
1124
- editCommandsPanel.add(unselectButton = new cButton("U", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
1125
- unselectButton.setToolTipText("Unselect");
1126
- unselectButton.addActionListener(this);
1141
+ //editCommandsPanel.add(unselectButton = new cButton("U", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
1142
+ //unselectButton.setToolTipText("Unselect");
1143
+ //unselectButton.addActionListener(this);
11271144
11281145 editCommandsPanel.add(flashSelectionButton = GetButton("icons/flash-light.png", !Grafreed.NIMBUSLAF)); //, oe.aConstraints);
11291146 flashSelectionButton.setToolTipText("Highlight selection");
....@@ -1183,7 +1200,7 @@
11831200 dgr.addDragGestureListener(this);
11841201 }catch(Exception e) {}
11851202 */
1186
- radio.layout = sixButton; // sevenButton;
1203
+ radio.layout = threeButton; // sixButton;
11871204 oe.toolbarPanel.add(radioPanel); //, oe.aConstraints);
11881205 }
11891206
....@@ -1234,9 +1251,12 @@
12341251 smoothCB.setToolTipText("Snapping delay");
12351252 smoothCB.addItemListener(this);
12361253
1237
- panel.add(slowCB = new cCheckBox("Slow", CameraPane.SLOWPOSE)); //, constraints);
1238
- slowCB.setToolTipText("Smooth interpolation");
1239
- slowCB.addItemListener(this);
1254
+// panel.add(slowCB = new cCheckBox("Slow", CameraPane.SLOWPOSE)); //, constraints);
1255
+// slowCB.setToolTipText("Smooth interpolation");
1256
+// slowCB.addItemListener(this);
1257
+ panel.add(minshaderCB = new cCheckBox("Min shader", Globals.MINSHADER)); //, constraints);
1258
+ minshaderCB.setToolTipText("Minimal fast shader");
1259
+ minshaderCB.addItemListener(this);
12401260
12411261 // constraints.gridy += 1;
12421262 // panel.add(speakerMocapCB = new cCheckBox("Mocap", CameraPane.SPEAKERMOCAP), constraints);
....@@ -1325,7 +1345,7 @@
13251345 }
13261346
13271347 radioButton.SetObject(obj);
1328
- radioButton.layout = sixButton; // sevenButton;
1348
+ radioButton.layout = threeButton; // sixButton;
13291349 radioButton.SetCamera(cameraView.renderCamera, false);
13301350 radioButton.addActionListener(this);
13311351 radioPanel.add(radioButton);
....@@ -1350,6 +1370,8 @@
13501370 cCheckBox localCB;
13511371 cCheckBox crowdCB;
13521372 cCheckBox smoothCB;
1373
+ cCheckBox minshaderCB;
1374
+
13531375 cToggleButton fastCB;
13541376 cCheckBox slowCB;
13551377 cCheckBox boxCB;
....@@ -1420,6 +1442,12 @@
14201442 {
14211443 cameraView.ToggleInertia();
14221444 cameraView.repaint();
1445
+ }
1446
+ else if(e.getSource() == minshaderCB)
1447
+ {
1448
+ Globals.MINSHADER ^= true;
1449
+ cameraView.programInitialized = false;
1450
+ cameraView.repaint();
14231451 }
14241452 else if(e.getSource() == localCB)
14251453 {
....@@ -2560,7 +2588,7 @@
25602588 if (source == invariantsItem)
25612589 {
25622590 System.out.println("Invariants:");
2563
- Grafreed.grafreeD.universe.invariants();
2591
+ Grafreed.grafreed.universe.invariants();
25642592 } else
25652593 if (source == memoryItem)
25662594 {
....@@ -2591,33 +2619,40 @@
25912619 {
25922620 ToggleFullScreen();
25932621 } else
2594
- if (source == undoButton)
2622
+ if (source == previousVersionButton)
25952623 {
25962624 // Go to previous version
25972625 //if (!Undo())
25982626 //java.awt.Toolkit.getDefaultToolkit().beep();
2599
- Undo();
2627
+ PreviousVersion();
26002628 } else
26012629 if (source == restoreButton)
26022630 {
26032631 // Restore current version
26042632 Restore();
2633
+ //restoreButton.setEnabled(false);
26052634 } else
26062635 if (source == replaceButton)
26072636 {
26082637 // Overwrite current version
26092638 Replace();
2639
+ //replaceButton.setEnabled(false);
26102640 } else
2611
- if (source == redoButton)
2641
+ if (source == nextVersionButton)
26122642 {
26132643 // Go to next version
2614
- Redo();
2644
+ NextVersion();
26152645 } else
2616
- if (source == saveButton)
2646
+ if (source == saveVersionButton)
26172647 {
26182648 // Save a new version
26192649 if (!Save(true))
26202650 java.awt.Toolkit.getDefaultToolkit().beep();
2651
+ } else
2652
+ if (source == deleteVersionButton)
2653
+ {
2654
+ // Delete a new version
2655
+ DeleteVersion();
26212656 } else
26222657 if (source == oneStepButton)
26232658 {
....@@ -2672,11 +2707,11 @@
26722707 } else
26732708 if (source == undoItem)
26742709 {
2675
- Undo();
2710
+ PreviousVersion();
26762711 } else
26772712 if (source == redoItem)
26782713 {
2679
- Redo();
2714
+ NextVersion();
26802715 } else
26812716 if (source == duplicateItem)
26822717 {
....@@ -3809,10 +3844,10 @@
38093844 {
38103845 Object3D child = (Object3D)e.nextElement();
38113846 if(child.editWindow != null)
3812
- objectPanel.setSelectedIndex(objectPanel.indexOfTab("Edit"));
38133847 child.pinned = false;
38143848 child.CloseUI();
38153849 listUI.remove(child);
3850
+// objectPanel.setSelectedIndex(objectPanel.indexOfTab("Edit"));
38163851
38173852 //child.editWindow = null; // ???????????
38183853 }
....@@ -3831,6 +3866,7 @@
38313866 obj.CloseUI();
38323867 }
38333868 listUI.clear();
3869
+ SetPinStates(group.selection.size() > 0);
38343870 refreshContents(true);
38353871 } else
38363872 if (source == allParamsButton)
....@@ -3917,6 +3953,7 @@
39173953 radio.layout.doClick();
39183954
39193955 ClearUnpinned();
3956
+
39203957 //Grafreed.Assert(group != null);
39213958 //Grafreed.Assert(group.selection != null);
39223959 SetPinStates(group.selection == null || group.selection.size() > 0);
....@@ -3933,11 +3970,13 @@
39333970 } else if (event.getSource() == editCameraItem)
39343971 {
39353972 cameraView.ProtectCamera();
3973
+ cameraView.requestFocusInWindow();
39363974 cameraView.repaint();
39373975 return;
39383976 } else if (event.getSource() == restoreCameraItem || event.getSource() == restoreCameraButton)
39393977 {
39403978 cameraView.RevertCamera();
3979
+ cameraView.requestFocusInWindow();
39413980 cameraView.repaint();
39423981 return;
39433982 // } else if (event.getSource() == textureButton)
....@@ -5070,9 +5109,7 @@
50705109
50715110 freezemodel = false;
50725111 }
5073
-
5074
- boolean flashIt = true;
5075
-
5112
+
50765113 public void valueChanged(TreeSelectionEvent e)
50775114 //public boolean handleEvent(Event event)
50785115 {
....@@ -5145,13 +5182,15 @@
51455182 {
51465183 editButton.setEnabled(enabled);
51475184 uneditButton.setEnabled(enabled);
5148
- unselectButton.setEnabled(enabled);
5185
+ //unselectButton.setEnabled(enabled);
51495186 flashSelectionButton.setEnabled(enabled);
5187
+
5188
+ clearPanelButton.setEnabled(!listUI.isEmpty());
51505189 }
51515190
51525191 void refreshContents(boolean cp)
51535192 {
5154
- if (objectPanel.getSelectedIndex() == 2) // objectPanel.indexOfTab("Info"))
5193
+ //if (objectPanel.getSelectedIndex() == 2) // objectPanel.indexOfTab("Info"))
51555194 if (!Globals.MOUSEDRAGGED && group.selection != null) // && !Globals.TIMERRUNNING)
51565195 {
51575196 objEditor.ClearInfo(); // .GetMaterial());
....@@ -5987,7 +6026,6 @@
59876026
59886027 cButton restoreCameraButton;
59896028
5990
- cButton saveButton;
59916029 cButton oneStepButton;
59926030
59936031 cButton groupButton;