Normand Briere
2019-05-02 c209bbe1cf788c9af3dcffea7667c830170a3f1f
ObjEditor.java
....@@ -143,6 +143,8 @@
143143 //nameField.removeActionListener(this);
144144 // objEditor.ctrlPanel.remove(nameField);
145145
146
+ objEditor.ctrlPanel.remove(namePanel);
147
+
146148 if (!GroupEditor.allparams)
147149 return;
148150
....@@ -165,7 +167,6 @@
165167 // objEditor.ctrlPanel.remove(fasterButton);
166168 // objEditor.ctrlPanel.remove(remarkButton);
167169
168
- objEditor.ctrlPanel.remove(namePanel);
169170 objEditor.ctrlPanel.remove(setupPanel);
170171 objEditor.ctrlPanel.remove(commandsPanel);
171172 objEditor.ctrlPanel.remove(pushPanel);
....@@ -308,44 +309,60 @@
308309 //normalLensItem.addActionListener(this);
309310 cameraMenu.add(revertCameraItem = new MenuItem("Revert Camera"));
310311 revertCameraItem.addActionListener(this);
311
- cameraMenu.add(toggleTimelineItem = new CheckboxMenuItem("Timeline"));
312
- toggleTimelineItem.addItemListener(this);
312
+
313313 cameraMenu.add(toggleFullScreenItem = new CheckboxMenuItem("Full Screen"));
314314 toggleFullScreenItem.addItemListener(this);
315315 toggleFullScreenItem.setState(CameraPane.FULLSCREEN);
316316 cameraMenu.add("-");
317
+
317318 cameraMenu.add(toggleTextureItem = new CheckboxMenuItem("Texture"));
318319 toggleTextureItem.addItemListener(this);
319320 toggleTextureItem.setState(CameraPane.textureon);
320
- cameraMenu.add(toggleLiveItem = new CheckboxMenuItem("Live"));
321
- toggleLiveItem.addItemListener(this);
322
- toggleLiveItem.setState(Globals.isLIVE());
323
- cameraMenu.add(stepItem = new MenuItem("Step"));
324
- stepItem.addActionListener(this);
325
-// cameraMenu.add(toggleDLItem = new CheckboxMenuItem("Display List"));
326
-// toggleDLItem.addItemListener(this);
327
-// toggleDLItem.setState(false);
328
- cameraMenu.add(toggleRenderItem = new CheckboxMenuItem("Render"));
329
- toggleRenderItem.addItemListener(this);
330
- toggleRenderItem.setState(!CameraPane.frozen);
331
- cameraMenu.add(toggleDebugItem = new CheckboxMenuItem("Debug"));
332
- toggleDebugItem.addItemListener(this);
333
- toggleDebugItem.setState(CameraPane.DEBUG);
334
- cameraMenu.add(toggleFrustumItem = new CheckboxMenuItem("Frustum"));
335
- toggleFrustumItem.addItemListener(this);
336
- toggleFrustumItem.setState(CameraPane.FRUSTUM);
337
- cameraMenu.add(toggleFootContactItem = new CheckboxMenuItem("Foot contact"));
338
- toggleFootContactItem.addItemListener(this);
339
- toggleFootContactItem.setState(CameraPane.FOOTCONTACT);
340
- cameraMenu.add(toggleRandomItem = new CheckboxMenuItem("Random"));
341
- toggleRandomItem.addItemListener(this);
342
- toggleRandomItem.setState(CameraPane.RANDOM);
321
+
322
+ if (Globals.ADVANCED)
323
+ {
324
+ cameraMenu.add(toggleLiveItem = new CheckboxMenuItem("Live"));
325
+ toggleLiveItem.addItemListener(this);
326
+ toggleLiveItem.setState(Globals.isLIVE());
327
+
328
+ cameraMenu.add(stepItem = new MenuItem("Step"));
329
+ stepItem.addActionListener(this);
330
+ // cameraMenu.add(toggleDLItem = new CheckboxMenuItem("Display List"));
331
+ // toggleDLItem.addItemListener(this);
332
+ // toggleDLItem.setState(false);
333
+
334
+ cameraMenu.add(toggleRenderItem = new CheckboxMenuItem("Render"));
335
+ toggleRenderItem.addItemListener(this);
336
+ toggleRenderItem.setState(!CameraPane.frozen);
337
+
338
+ cameraMenu.add(toggleDebugItem = new CheckboxMenuItem("Debug"));
339
+ toggleDebugItem.addItemListener(this);
340
+ toggleDebugItem.setState(CameraPane.DEBUG);
341
+
342
+ cameraMenu.add(toggleFrustumItem = new CheckboxMenuItem("Frustum"));
343
+ toggleFrustumItem.addItemListener(this);
344
+ toggleFrustumItem.setState(CameraPane.FRUSTUM);
345
+
346
+ cameraMenu.add(toggleFootContactItem = new CheckboxMenuItem("Foot contact"));
347
+ toggleFootContactItem.addItemListener(this);
348
+ toggleFootContactItem.setState(CameraPane.FOOTCONTACT);
349
+
350
+ cameraMenu.add(toggleTimelineItem = new CheckboxMenuItem("Timeline"));
351
+ toggleTimelineItem.addItemListener(this);
352
+ }
353
+
354
+ cameraMenu.add(toggleSwitchItem = new CheckboxMenuItem("Switch"));
355
+ toggleSwitchItem.addItemListener(this);
356
+ toggleSwitchItem.setState(CameraPane.SWITCH);
357
+
343358 cameraMenu.add(toggleHandleItem = new CheckboxMenuItem("Handles"));
344359 toggleHandleItem.addItemListener(this);
345360 toggleHandleItem.setState(CameraPane.HANDLES);
361
+
346362 cameraMenu.add(togglePaintItem = new CheckboxMenuItem("Paint mode"));
347363 togglePaintItem.addItemListener(this);
348364 togglePaintItem.setState(CameraPane.PAINTMODE);
365
+
349366 // cameraMenu.add(toggleRootItem = new CheckboxMenuItem("Alternate Root"));
350367 // toggleRootItem.addItemListener(this);
351368 // toggleRootItem.setState(false);
....@@ -359,7 +376,7 @@
359376 objectPanel = new JTabbedPane();
360377 toolbarPanel = new JPanel();
361378 toolbarPanel.setName("Toolbar");
362
- treePanel = new JPanel();
379
+ treePanel = new cGridBag();
363380 treePanel.setName("Tree");
364381 ctrlPanel = new cGridBag().setVertical(false); // new GridBagLayout());
365382 ctrlPanel.setName("Edit");
....@@ -367,13 +384,15 @@
367384 materialPanel.setName("Material");
368385 /*JTextPane*/
369386 infoarea = createTextPane();
387
+ doc = infoarea.getStyledDocument();
388
+
370389 infoarea.setEditable(true);
371390 SetText();
372391 // infoarea.setFont(infoarea.getFont().deriveFont(10, 14f));
373392 // infoarea.setOpaque(false);
374393 // //infoarea.setForeground(textcolor);
375
- infoarea.setLineWrap(true);
376
- infoarea.setWrapStyleWord(true);
394
+// TEXTAREA infoarea.setLineWrap(true);
395
+// TEXTAREA infoarea.setWrapStyleWord(true);
377396 infoPanel = new JScrollPane(infoarea, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //AS_NEEDED);
378397 infoPanel.setPreferredSize(new Dimension(50, 200));
379398 infoPanel.setName("Info");
....@@ -384,14 +403,14 @@
384403 mainPanel.setName("Main");
385404 mainPanel.setContinuousLayout(true);
386405 mainPanel.setOneTouchExpandable(true);
387
- mainPanel.setDividerLocation(1.0);
388406 mainPanel.setDividerSize(9);
389
- mainPanel.setResizeWeight(0);
407
+ mainPanel.setDividerLocation(0.5); //1.0);
408
+ mainPanel.setResizeWeight(0.5);
390409
391410 //ctrlPanel.setLayout(new GridLayout(4, 1, 5, 5));
392411 //mainPanel.setLayout(new GridBagLayout());
393412 toolbarPanel.setLayout(new FlowLayout(FlowLayout.LEFT));
394
- treePanel.setLayout(new GridBagLayout());
413
+// treePanel.setLayout(new GridBagLayout());
395414 //ctrlPanel.setLayout(new GridBagLayout());
396415 //materialPanel.setLayout(new GridBagLayout());
397416
....@@ -432,7 +451,7 @@
432451 static String newline = "\n";
433452 protected static final String buttonString = "JButton";
434453 StyledDocument doc;
435
- JTextArea infoarea;
454
+ JTextPane infoarea;
436455
437456 void ClearInfo()
438457 {
....@@ -499,7 +518,10 @@
499518 }
500519
501520 if (full)
502
- si.SendInfo(" BBox: " + minima + " - " + maxima, "regular");
521
+ {
522
+ si.SendInfo(" BBox min: " + minima, "regular");
523
+ si.SendInfo(" BBox max: " + maxima, "regular");
524
+ }
503525
504526 if (sel.bRep != null)
505527 {
....@@ -597,6 +619,9 @@
597619 {
598620 CameraPane.pointflow = (PointFlow) sel;
599621 }
622
+
623
+ si.SendInfo("_____________________", "regular");
624
+ si.SendInfo("", "regular");
600625 }
601626 }
602627
....@@ -628,52 +653,52 @@
628653 cameraView.ToggleFullScreen();
629654 }
630655
631
- private JTextArea createTextPane()
656
+ private JTextPane createTextPane()
632657 {
633
- String[] initString =
634
- {
635
- "This is an editable JTextPane, ", //regular
636
- "another ", //italic
637
- "styled ", //bold
638
- "text ", //small
639
- "component, ", //large
640
- "which supports embedded components..." + newline,//regular
641
- " " + newline, //button
642
- "...and embedded icons..." + newline, //regular
643
- " ", //icon
644
- newline + "JTextPane is a subclass of JEditorPane that "
645
- + "uses a StyledEditorKit and StyledDocument, and provides "
646
- + "cover methods for interacting with those objects."
647
- };
658
+// TEXTAREA String[] initString =
659
+// {
660
+// "This is an editable JTextPane, ", //regular
661
+// "another ", //italic
662
+// "styled ", //bold
663
+// "text ", //small
664
+// "component, ", //large
665
+// "which supports embedded components..." + newline,//regular
666
+// " " + newline, //button
667
+// "...and embedded icons..." + newline, //regular
668
+// " ", //icon
669
+// newline + "JTextPane is a subclass of JEditorPane that "
670
+// + "uses a StyledEditorKit and StyledDocument, and provides "
671
+// + "cover methods for interacting with those objects."
672
+// };
673
+//
674
+// String[] initStyles =
675
+// {
676
+// "regular", "italic", "bold", "small", "large",
677
+// "regular", "button", "regular", "icon",
678
+// "regular"
679
+// };
680
+//
681
+// JTextPane textPane = new JTextPane();
682
+// textPane.setEditable(true);
683
+// /*StyledDocument*/ doc = textPane.getStyledDocument();
684
+// addStylesToDocument(doc);
685
+//
686
+// try
687
+// {
688
+// for (int j = 0; j < 2; j++)
689
+// {
690
+// for (int i = 0; i < initString.length; i++)
691
+// {
692
+// doc.insertString(doc.getLength(), initString[i],
693
+// doc.getStyle(initStyles[i]));
694
+// }
695
+// }
696
+// } catch (BadLocationException ble)
697
+// {
698
+// System.err.println("Couldn't insert initial text into text pane.");
699
+// }
648700
649
- String[] initStyles =
650
- {
651
- "regular", "italic", "bold", "small", "large",
652
- "regular", "button", "regular", "icon",
653
- "regular"
654
- };
655
-
656
- JTextPane textPane = new JTextPane();
657
- textPane.setEditable(true);
658
- /*StyledDocument*/ doc = textPane.getStyledDocument();
659
- addStylesToDocument(doc);
660
-
661
- try
662
- {
663
- for (int j = 0; j < 2; j++)
664
- {
665
- for (int i = 0; i < initString.length; i++)
666
- {
667
- doc.insertString(doc.getLength(), initString[i],
668
- doc.getStyle(initStyles[i]));
669
- }
670
- }
671
- } catch (BadLocationException ble)
672
- {
673
- System.err.println("Couldn't insert initial text into text pane.");
674
- }
675
-
676
- return new JTextArea(); // textPane;
701
+ return new JTextPane(); // textPane;
677702 }
678703
679704 protected void addStylesToDocument(StyledDocument doc)
....@@ -943,10 +968,6 @@
943968
944969 void SetupUI2(ObjEditor oe)
945970 {
946
-// oe.aConstraints.weightx = 0;
947
-// oe.aConstraints.weighty = 0;
948
-// oe.aConstraints.gridx = 0;
949
-// oe.aConstraints.gridy = 0;
950971 //SetupName(oe);
951972
952973 namePanel = new cGridBag();
....@@ -963,27 +984,45 @@
963984 setupPanel = new cGridBag().setVertical(false);
964985
965986 liveCB = AddCheckBox(setupPanel, "Live", copy.live);
966
- link2masterCB = AddCheckBox(setupPanel, "Supp", copy.link2master);
987
+ liveCB.setToolTipText("Animate object");
967988 hideCB = AddCheckBox(setupPanel, "Hide", copy.hide);
989
+ hideCB.setToolTipText("Hide object");
968990 // Return();
969991 markCB = AddCheckBox(setupPanel, "Mark", copy.marked);
970
- rewindCB = AddCheckBox(setupPanel, "Rew", copy.rewind);
971
- randomCB = AddCheckBox(setupPanel, "Rand", copy.random);
992
+ markCB.setToolTipText("Set the animation target transform");
993
+
994
+ rewindCB = AddCheckBox(setupPanel, "Rewind", copy.rewind);
995
+ rewindCB.setToolTipText("Rewind animation");
996
+
997
+ randomCB = AddCheckBox(setupPanel, "Random", copy.random);
998
+ randomCB.setToolTipText("Option for switch node");
972999
1000
+ if (Globals.ADVANCED)
1001
+ {
1002
+ link2masterCB = AddCheckBox(setupPanel, "Support", copy.link2master);
1003
+ link2masterCB.setToolTipText("Attach to support");
1004
+ speedupCB = AddCheckBox(setupPanel, "Speed", copy.speedup);
1005
+ speedupCB.setToolTipText("Option motion capture");
1006
+ }
1007
+
9731008 oe.ctrlPanel.add(setupPanel);
9741009 oe.ctrlPanel.Return();
9751010
9761011 commandsPanel = new cGridBag().setVertical(false);
9771012
9781013 resetButton = AddButton(commandsPanel, "Reset");
1014
+ resetButton.setToolTipText("Jump to frame zero");
9791015 stepButton = AddButton(commandsPanel, "Step");
1016
+ stepButton.setToolTipText("Step one frame");
9801017 // resetAllButton = AddButton(oe, "Reset All");
9811018 // stepAllButton = AddButton(oe, "Step All");
982
- speedupCB = AddCheckBox(commandsPanel, "Speed", copy.speedup);
9831019 // Return();
9841020 slowerButton = AddButton(commandsPanel, "Slow");
1021
+ slowerButton.setToolTipText("Decrease animation speed");
9851022 fasterButton = AddButton(commandsPanel, "Fast");
1023
+ fasterButton.setToolTipText("Increase animation speed");
9861024 remarkButton = AddButton(commandsPanel, "Remark");
1025
+ remarkButton.setToolTipText("Set the current transform as the target");
9871026
9881027 oe.ctrlPanel.add(commandsPanel);
9891028 oe.ctrlPanel.Return();
....@@ -1436,17 +1475,25 @@
14361475
14371476 cGridBag editBar = new cGridBag().setVertical(false);
14381477
1439
- editBar.add(createMaterialButton = new cButton("Create")); // , aConstraints);
1478
+ editBar.add(createMaterialButton = new cButton("Create", !GrafreeD.NIMBUSLAF)); // , aConstraints);
1479
+ createMaterialButton.setToolTipText("Create material");
14401480
14411481 /*
14421482 ctrlPanel.add(resetSlidersButton = new cButton("Reset All"), aConstraints);
14431483 */
14441484
1445
- editBar.add(clearMaterialButton = new cButton("Clear")); // , aConstraints);
1446
- editBar.add(resetSlidersButton = new cButton("Reset")); // , aConstraints);
1447
- editBar.add(propagateToggle = new cCheckBox("Prop", propagate)); // , aConstraints);
1448
- editBar.add(multiplyToggle = new cCheckBox("Mult", false)); // , aConstraints);
1485
+ editBar.add(clearMaterialButton = new cButton("Clear", !GrafreeD.NIMBUSLAF)); // , aConstraints);
1486
+ clearMaterialButton.setToolTipText("Clear material");
1487
+
1488
+ if (Globals.ADVANCED)
1489
+ {
1490
+ editBar.add(resetSlidersButton = new cButton("Reset", !GrafreeD.NIMBUSLAF)); // , aConstraints);
1491
+ editBar.add(propagateToggle = new cCheckBox("Prop", propagate)); // , aConstraints);
1492
+ editBar.add(multiplyToggle = new cCheckBox("Mult", false)); // , aConstraints);
1493
+ }
14491494
1495
+ editBar.preferredHeight = 15;
1496
+
14501497 panel.add(editBar);
14511498
14521499 /**/
....@@ -1712,12 +1759,15 @@
17121759 opacityPowerField.addChangeListener(this);
17131760 /**/
17141761
1715
- resetSlidersButton.addActionListener(this);
17161762 clearMaterialButton.addActionListener(this);
17171763 createMaterialButton.addActionListener(this);
1718
-
1719
- propagateToggle.addItemListener(this);
1720
- multiplyToggle.addItemListener(this);
1764
+
1765
+ if (Globals.ADVANCED)
1766
+ {
1767
+ resetSlidersButton.addActionListener(this);
1768
+ propagateToggle.addItemListener(this);
1769
+ multiplyToggle.addItemListener(this);
1770
+ }
17211771 }
17221772
17231773 void DropFile(java.io.File[] files, boolean textures)
....@@ -2709,7 +2759,8 @@
27092759 return;
27102760 }
27112761
2712
- multiplyToggle.setSelected(mat.multiply);
2762
+ if (multiplyToggle != null)
2763
+ multiplyToggle.setSelected(mat.multiply);
27132764
27142765 assert (object.projectedVertices != null);
27152766
....@@ -2924,7 +2975,7 @@
29242975 frame.validate();
29252976
29262977 return;
2927
- } else if (event.getSource() == toggleRandomItem)
2978
+ } else if (event.getSource() == toggleSwitchItem)
29282979 {
29292980 cameraView.ToggleRandom();
29302981 cameraView.repaint();
....@@ -2969,6 +3020,7 @@
29693020 if (event.getSource() == randomCB)
29703021 {
29713022 copy.random ^= true;
3023
+ objEditor.refreshContents();
29723024 return;
29733025 }
29743026 if (event.getSource() == speedupCB)
....@@ -3192,7 +3244,7 @@
31923244 if (!Globals.ANIMATION)
31933245 {
31943246 FileDialog browser = new FileDialog(frame, "Save Animation As...", FileDialog.SAVE);
3195
- browser.show();
3247
+ browser.setVisible(true);
31963248 String filename = browser.getFile();
31973249 if (filename != null && filename.length() > 0)
31983250 {
....@@ -3254,7 +3306,7 @@
32543306 void CreateMaterial()
32553307 {
32563308 //copy.ClearMaterial(); // PATCH
3257
- copy.CreateMaterialS(multiplyToggle.isSelected());
3309
+ copy.CreateMaterialS(multiplyToggle != null && multiplyToggle.isSelected());
32583310 if (copy.selection.size() > 0)
32593311 //SetMaterial(copy);
32603312 {
....@@ -3313,11 +3365,11 @@
33133365 {
33143366 copy.ResetBlockLoop(); // temporary problem
33153367
3316
- boolean random = CameraPane.RANDOM;
3317
- CameraPane.RANDOM = false; // parse everything
3368
+ boolean random = CameraPane.SWITCH;
3369
+ CameraPane.SWITCH = false; // parse everything
33183370 copy.ResetDisplayList();
33193371 copy.HardTouch();
3320
- CameraPane.RANDOM = random;
3372
+ CameraPane.SWITCH = random;
33213373 }
33223374
33233375 // public void applySelf()
....@@ -4417,7 +4469,7 @@
44174469 CheckboxMenuItem toggleFootContactItem;
44184470 CheckboxMenuItem toggleDLItem;
44194471 CheckboxMenuItem toggleTextureItem;
4420
- CheckboxMenuItem toggleRandomItem;
4472
+ CheckboxMenuItem toggleSwitchItem;
44214473 CheckboxMenuItem toggleRootItem;
44224474 CheckboxMenuItem animationItem;
44234475 CheckboxMenuItem toggleHandleItem;
....@@ -4425,7 +4477,7 @@
44254477 JSplitPane mainPanel;
44264478 JScrollPane scrollpane;
44274479 JPanel toolbarPanel;
4428
- JPanel treePanel;
4480
+ cGridBag treePanel;
44294481 JPanel radioPanel;
44304482 ButtonGroup buttonGroup;
44314483 cGridBag ctrlPanel;