Normand Briere
2019-06-24 c67da2e5d8655704601d6d06e8bc60aabe212253
ObjEditor.java
....@@ -36,6 +36,8 @@
3636 GroupEditor callee;
3737 JFrame frame;
3838
39
+ static ObjEditor theFrame;
40
+
3941 // SCRIPT
4042
4143 transient JFrame textpanel = null;
....@@ -169,7 +171,7 @@
169171
170172 objEditor.ctrlPanel.remove(setupPanel);
171173 objEditor.ctrlPanel.remove(setupPanel2);
172
- objEditor.ctrlPanel.remove(commandsPanel);
174
+ objEditor.ctrlPanel.remove(objectCommandsPanel);
173175 objEditor.ctrlPanel.remove(pushPanel);
174176 //objEditor.ctrlPanel.remove(fillPanel);
175177
....@@ -244,6 +246,7 @@
244246 //localCopy.parent = null;
245247
246248 frame = new JFrame();
249
+ frame.setUndecorated(true);
247250 objEditor = this;
248251 this.callee = callee;
249252
....@@ -324,9 +327,18 @@
324327 toolbarPanel.setName("Toolbar");
325328 treePanel = new cGridBag();
326329 treePanel.setName("Tree");
330
+
331
+ editPanel = new cGridBag().setVertical(true);
332
+ editPanel.setName("Edit");
333
+
327334 ctrlPanel = new cGridBag().setVertical(false); // new GridBagLayout());
328
- ctrlPanel.setName("Edit");
335
+
336
+ editCommandsPanel = new cGridBag();
337
+ editPanel.add(editCommandsPanel);
338
+ editPanel.add(ctrlPanel);
339
+
329340 materialPanel = new cGridBag().setVertical(true);
341
+
330342 materialPanel.setName("Material");
331343 /*JTextPane*/
332344 infoarea = createTextPane();
....@@ -583,19 +595,89 @@
583595 }
584596 }
585597
598
+static GraphicsDevice device = GraphicsEnvironment
599
+ .getLocalGraphicsEnvironment().getScreenDevices()[0];
600
+
601
+ Rectangle keeprect;
602
+ cRadio radio;
603
+
604
+cButton keepButton;
605
+ cButton twoButton; // Full 3D
606
+ cButton sixButton;
607
+ cButton threeButton;
608
+ cButton sevenButton;
609
+ cButton fourButton; // full panel
610
+ cButton oneButton; // full XYZ
611
+ //cButton currentLayout;
612
+
613
+ boolean maximized;
614
+
615
+ void Minimize()
616
+ {
617
+ frame.setState(Frame.ICONIFIED);
618
+ }
619
+
620
+ void Maximize()
621
+ {
622
+ if (maximized)
623
+ {
624
+ frame.setBounds(keeprect.x, keeprect.y, keeprect.width, keeprect.height);
625
+ }
626
+ else
627
+ {
628
+ keeprect = frame.getBounds();
629
+ Rectangle rect = GraphicsEnvironment.getLocalGraphicsEnvironment().getMaximumWindowBounds();
630
+ Dimension rect2 = frame.getToolkit().getScreenSize();
631
+ frame.setBounds(0, rect2.height - rect.height, rect.width, rect.height);
632
+// frame.setState(Frame.MAXIMIZED_BOTH);
633
+ }
634
+
635
+ maximized ^= true;
636
+ }
637
+
586638 void ToggleFullScreen()
587639 {
588640 if (CameraPane.FULLSCREEN)
589641 {
590
- frame.getContentPane().remove(/*"Center",*/bigThree);
591
- framePanel.add(bigThree);
592
- frame.getContentPane().add(/*"Center",*/framePanel);
642
+ device.setFullScreenWindow(null);
643
+ //frame.setVisible(false);
644
+// frame.removeNotify();
645
+// frame.setUndecorated(false);
646
+// frame.addNotify();
647
+ //frame.setBounds(keeprect.x, keeprect.y, keeprect.width, keeprect.height);
648
+
649
+// X frame.getContentPane().remove(/*"Center",*/bigThree);
650
+// X framePanel.add(bigThree);
651
+// X frame.getContentPane().add(/*"Center",*/framePanel);
652
+ framePanel.setDividerLocation(1);
653
+
654
+ //frame.setVisible(true);
655
+ radio.layout = keepButton;
656
+ //theFrame = null;
657
+ keepButton = null;
658
+ radio.layout.doClick();
659
+
593660 } else
594661 {
595
- frame.getContentPane().remove(/*"Center",*/framePanel);
596
- framePanel.remove(bigThree);
597
- frame.getContentPane().add(/*"Center",*/bigThree);
662
+ keepButton = radio.layout;
663
+ //keeprect = frame.getBounds();
664
+// frame.setBounds(0, 0, frame.getToolkit().getScreenSize().width,
665
+// frame.getToolkit().getScreenSize().height);
666
+ //frame.setVisible(false);
667
+ device.setFullScreenWindow(frame);
668
+// frame.removeNotify();
669
+// frame.setUndecorated(true);
670
+// frame.addNotify();
671
+// X frame.getContentPane().remove(/*"Center",*/framePanel);
672
+// X framePanel.remove(bigThree);
673
+// X frame.getContentPane().add(/*"Center",*/bigThree);
674
+ framePanel.setDividerLocation(0);
675
+
676
+ radio.layout = twoButton;
677
+ radio.layout.doClick();
678
+ //frame.setVisible(true);
598679 }
680
+
599681 cameraView.ToggleFullScreen();
600682 }
601683
....@@ -746,10 +828,13 @@
746828 JButton fasterButton;
747829 JButton remarkButton;
748830
831
+ cGridBag editPanel;
832
+ cGridBag editCommandsPanel;
833
+
749834 cGridBag namePanel;
750835 cGridBag setupPanel;
751836 cGridBag setupPanel2;
752
- cGridBag commandsPanel;
837
+ cGridBag objectCommandsPanel;
753838 cGridBag pushPanel;
754839 cGridBag fillPanel;
755840
....@@ -947,7 +1032,7 @@
9471032 rewindCB.setToolTipText("Rewind animation");
9481033
9491034 randomCB = AddCheckBox(setupPanel2, "Rand", copy.random);
950
- randomCB.setToolTipText("Rewind or Go back and forth randomly");
1035
+ randomCB.setToolTipText("Randomly Rewind or Go back and forth");
9511036
9521037 if (Globals.ADVANCED)
9531038 {
....@@ -962,23 +1047,23 @@
9621047 oe.ctrlPanel.add(setupPanel2);
9631048 oe.ctrlPanel.Return();
9641049
965
- commandsPanel = new cGridBag().setVertical(false);
1050
+ objectCommandsPanel = new cGridBag().setVertical(false);
9661051
967
- resetButton = AddButton(commandsPanel, "Reset");
1052
+ resetButton = AddButton(objectCommandsPanel, "Reset");
9681053 resetButton.setToolTipText("Jump to frame zero");
969
- stepButton = AddButton(commandsPanel, "Step");
1054
+ stepButton = AddButton(objectCommandsPanel, "Step");
9701055 stepButton.setToolTipText("Step one frame");
9711056 // resetAllButton = AddButton(oe, "Reset All");
9721057 // stepAllButton = AddButton(oe, "Step All");
9731058 // Return();
974
- slowerButton = AddButton(commandsPanel, "Slow");
1059
+ slowerButton = AddButton(objectCommandsPanel, "Slow");
9751060 slowerButton.setToolTipText("Decrease animation speed");
976
- fasterButton = AddButton(commandsPanel, "Fast");
1061
+ fasterButton = AddButton(objectCommandsPanel, "Fast");
9771062 fasterButton.setToolTipText("Increase animation speed");
978
- remarkButton = AddButton(commandsPanel, "Remark");
1063
+ remarkButton = AddButton(objectCommandsPanel, "Remark");
9791064 remarkButton.setToolTipText("Set the current transform as the target");
9801065
981
- oe.ctrlPanel.add(commandsPanel);
1066
+ oe.ctrlPanel.add(objectCommandsPanel);
9821067 oe.ctrlPanel.Return();
9831068
9841069 pushPanel = AddSlider(oe.ctrlPanel, "Push", -1, 1, copy.NORMALPUSH, 1.1); // To have the buttons
....@@ -1184,8 +1269,11 @@
11841269 //worldPanel.setName("World");
11851270 centralPanel = new cGridBag();
11861271 centralPanel.preferredWidth = 20;
1187
- timelinePanel = new JPanel(new BorderLayout());
1188
- timelineMenubar = new timeflow.app.TimeflowApp().TimeFlowWindow(timelinePanel);
1272
+
1273
+ if (Globals.ADVANCED)
1274
+ {
1275
+ timelinePanel = new JPanel(new BorderLayout());
1276
+ timelineMenubar = new timeflow.app.TimeflowApp().TimeFlowWindow(timelinePanel);
11891277
11901278 cameraPanel = new JSplitPane(JSplitPane.VERTICAL_SPLIT, cameraView, timelinePanel);
11911279 cameraPanel.setContinuousLayout(true);
....@@ -1194,7 +1282,10 @@
11941282 // cameraPanel.setDividerSize(9);
11951283 cameraPanel.setResizeWeight(1.0);
11961284
1285
+ }
1286
+
11971287 centralPanel.add(cameraView);
1288
+ centralPanel.setFocusable(true);
11981289 //frame.setJMenuBar(timelineMenubar);
11991290 //centralPanel.add(timelinePanel);
12001291
....@@ -1261,7 +1352,7 @@
12611352 // north.setName("Edit");
12621353 // north.add(ctrlPanel, BorderLayout.NORTH);
12631354 // objectPanel.add(north);
1264
- objectPanel.add(ctrlPanel);
1355
+ objectPanel.add(editPanel);
12651356 objectPanel.add(infoPanel);
12661357
12671358 /*
....@@ -1392,6 +1483,8 @@
13921483 frame.setSize(1280, 860);
13931484 frame.setVisible(true);
13941485
1486
+ cameraView.requestFocusInWindow();
1487
+
13951488 gridPanel.setDividerLocation(1.0);
13961489
13971490 frame.setDefaultCloseOperation(WindowConstants.DO_NOTHING_ON_CLOSE);