Normand Briere
2018-12-15 6ed65dcb597fb2153cef75bf1845978f1115658c
ObjEditor.java
....@@ -28,6 +28,8 @@
2828 iSendInfo
2929 //KeyListener
3030 {
31
+ boolean timeline;
32
+ boolean wasFullScreen;
3133
3234 // SCRIPT
3335
....@@ -158,12 +160,16 @@
158160 objEditor.ctrlPanel.remove(slowerButton);
159161 objEditor.ctrlPanel.remove(fasterButton);
160162 objEditor.ctrlPanel.remove(remarkButton);
163
+
164
+ Remove(normalpushField);
161165 }
162166
163167 public ObjEditor GetEditor()
164168 {
165169 return objEditor; //.GetEditor();
166170 }
171
+
172
+ // Sometimes myself, sometimes my callee's.
167173 ObjEditor objEditor;
168174
169175 /*
....@@ -238,7 +244,7 @@
238244 //if (!isDisplayable())
239245 //setUndecorated(true);
240246
241
- System.out.println("getFullScreenWindow? " + gd.getFullScreenWindow());
247
+ //System.out.println("getFullScreenWindow? " + gd.getFullScreenWindow());
242248 client = inClient;
243249 copy = localCopy;
244250 copy.editWindow = this;
....@@ -292,9 +298,11 @@
292298 //normalLensItem.addActionListener(this);
293299 cameraMenu.add(revertCameraItem = new MenuItem("Revert Camera"));
294300 revertCameraItem.addActionListener(this);
295
- cameraMenu.add(toggleFullItem = new CheckboxMenuItem("Full Screen"));
296
- toggleFullItem.addItemListener(this);
297
- toggleFullItem.setState(CameraPane.FULLSCREEN);
301
+ cameraMenu.add(toggleTimelineItem = new CheckboxMenuItem("Timeline"));
302
+ toggleTimelineItem.addItemListener(this);
303
+ cameraMenu.add(toggleFullScreenItem = new CheckboxMenuItem("Full Screen"));
304
+ toggleFullScreenItem.addItemListener(this);
305
+ toggleFullScreenItem.setState(CameraPane.FULLSCREEN);
298306 cameraMenu.add("-");
299307 cameraMenu.add(toggleTextureItem = new CheckboxMenuItem("Texture"));
300308 toggleTextureItem.addItemListener(this);
....@@ -594,6 +602,22 @@
594602 }
595603 }
596604
605
+ void ToggleFullScreen()
606
+ {
607
+ if (CameraPane.FULLSCREEN)
608
+ {
609
+ frame.getContentPane().remove(/*"Center",*/bigThree);
610
+ framePanel.add(bigThree);
611
+ frame.getContentPane().add(/*"Center",*/framePanel);
612
+ } else
613
+ {
614
+ frame.getContentPane().remove(/*"Center",*/framePanel);
615
+ framePanel.remove(bigThree);
616
+ frame.getContentPane().add(/*"Center",*/bigThree);
617
+ }
618
+ cameraView.ToggleFullScreen();
619
+ }
620
+
597621 private JTextArea createTextPane()
598622 {
599623 String[] initString =
....@@ -794,7 +818,7 @@
794818
795819 aConstraints.fill = GridBagConstraints.VERTICAL;
796820 jlabel.setHorizontalAlignment(SwingConstants.TRAILING);
797
- aConstraints.gridwidth = 2;
821
+ aConstraints.gridwidth = 1;
798822 ctrlPanel.add(jlabel, aConstraints); //, oe.ctrlPanel.getComponentCount()-1);
799823 aConstraints.gridx += 1;
800824 aConstraints.fill = GridBagConstraints.HORIZONTAL;
....@@ -963,6 +987,9 @@
963987
964988 Return();
965989
990
+ normalpushField = AddSlider(oe.ctrlPanel, "Push", -10, 10, 0, -1);
991
+ Return();
992
+
966993 // oe.ctrlPanel.add(stepButton = new cButton("Step"), ObjEditor.aConstraints, oe.ctrlPanel.getComponentCount() - 2);
967994 // ObjEditor.aConstraints.gridx += 1;
968995
....@@ -1158,11 +1185,14 @@
11581185 //JPanel worldPanel =
11591186 // new gov.nasa.worldwind.examples.ApplicationTemplate.AppPanel(null, true);
11601187 //worldPanel.setName("World");
1161
- /*JPanel*/ cameraPanel =
1162
- new JPanel(new BorderLayout());
1163
- cameraPanel.add(cameraView);
1164
- //new timeflow.app.TimeflowApp().TimeFlowWindow(cameraPanel, frame);
1188
+ centralPanel = new JPanel(new BorderLayout());
1189
+ timelinePanel = new JPanel(new BorderLayout());
1190
+ timelineMenubar = new timeflow.app.TimeflowApp().TimeFlowWindow(timelinePanel);
11651191
1192
+ centralPanel.add(cameraView);
1193
+ //frame.setJMenuBar(timelineMenubar);
1194
+ //centralPanel.add(timelinePanel);
1195
+
11661196 //topView.camera = ;
11671197 //frontView.camera = new Camera(2);
11681198 //sideView.camera = new Camera(3);
....@@ -1192,7 +1222,7 @@
11921222 gridPanel.add(cameraView);
11931223 gridPanel.add(XYZPanel);
11941224 */
1195
- gridPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, cameraPanel, XYZPanel); //new BorderLayout());
1225
+ gridPanel = new JSplitPane(JSplitPane.HORIZONTAL_SPLIT, centralPanel, XYZPanel); //new BorderLayout());
11961226 gridPanel.setContinuousLayout(true);
11971227 gridPanel.setOneTouchExpandable(true);
11981228 gridPanel.setDividerLocation(1.0);
....@@ -1304,7 +1334,7 @@
13041334 // aConstraints.gridheight = 3;
13051335 aWindowConstraints.gridx = 1;
13061336 aWindowConstraints.fill = GridBagConstraints.BOTH;
1307
- bigThree.add(cameraPanel, aWindowConstraints);
1337
+ bigThree.add(centralPanel, aWindowConstraints);
13081338 aWindowConstraints.weightx = 0;
13091339 aWindowConstraints.gridx = 4;
13101340 aWindowConstraints.gridwidth = 1;
....@@ -1423,7 +1453,7 @@
14231453 aConstraints.gridx += 1;
14241454 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
14251455 //aConstraints.weightx = 0;
1426
- ctrlPanel.add(colorField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1456
+ ctrlPanel.add(colorField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14271457 aConstraints.gridx = 0;
14281458 aConstraints.gridy += 1;
14291459 aConstraints.gridwidth = 1;
....@@ -1433,7 +1463,7 @@
14331463 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14341464 aConstraints.gridx += 1;
14351465 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1436
- ctrlPanel.add(modulationField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1466
+ ctrlPanel.add(modulationField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14371467 aConstraints.gridx = 0;
14381468 aConstraints.gridy += 1;
14391469 aConstraints.gridwidth = 1;
....@@ -1443,7 +1473,7 @@
14431473 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14441474 aConstraints.gridx += 1;
14451475 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1446
- ctrlPanel.add(textureField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1476
+ ctrlPanel.add(textureField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14471477 aConstraints.gridx = 0;
14481478 aConstraints.gridy += 1;
14491479 aConstraints.gridwidth = 1;
....@@ -1453,7 +1483,7 @@
14531483 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14541484 aConstraints.gridx += 1;
14551485 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1456
- ctrlPanel.add(anisoField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1486
+ ctrlPanel.add(anisoField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14571487 aConstraints.gridx = 0;
14581488 aConstraints.gridy += 1;
14591489 aConstraints.gridwidth = 1;
....@@ -1463,7 +1493,7 @@
14631493 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14641494 aConstraints.gridx += 1;
14651495 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1466
- ctrlPanel.add(anisoVField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1496
+ ctrlPanel.add(anisoVField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14671497 aConstraints.gridx = 0;
14681498 aConstraints.gridy += 1;
14691499 aConstraints.gridwidth = 1;
....@@ -1532,7 +1562,7 @@
15321562 aConstraints.fill = GridBagConstraints.HORIZONTAL;
15331563 aConstraints.gridx += 1;
15341564 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1535
- ctrlPanel.add(subsurfaceField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1565
+ ctrlPanel.add(subsurfaceField = new NumberSlider(0.001, 1, -0.5), aConstraints);
15361566 aConstraints.gridx = 0;
15371567 aConstraints.gridy += 1;
15381568 aConstraints.gridwidth = 1;
....@@ -1601,7 +1631,7 @@
16011631 aConstraints.fill = GridBagConstraints.HORIZONTAL;
16021632 aConstraints.gridx += 1;
16031633 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1604
- ctrlPanel.add(metalnessField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1634
+ ctrlPanel.add(metalnessField = new NumberSlider(0.001, 1, -0.5), aConstraints);
16051635 aConstraints.gridx = 0;
16061636 aConstraints.gridy += 1;
16071637 aConstraints.gridwidth = 1;
....@@ -1672,7 +1702,7 @@
16721702 aConstraints.fill = GridBagConstraints.HORIZONTAL;
16731703 aConstraints.gridx += 1;
16741704 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1675
- ctrlPanel.add(opacityField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1705
+ ctrlPanel.add(opacityField = new NumberSlider(0.001, 1, -0.5), aConstraints);
16761706 aConstraints.gridx = 0;
16771707 aConstraints.gridy += 1;
16781708 aConstraints.gridwidth = 1;
....@@ -2959,20 +2989,36 @@
29592989 // june 2013 copy.HardTouch();
29602990 cameraView.repaint();
29612991 return;
2962
- } else if (event.getSource() == toggleFullItem)
2992
+ } else if (event.getSource() == toggleTimelineItem)
29632993 {
2964
- if (CameraPane.FULLSCREEN)
2994
+ timeline ^= true;
2995
+
2996
+ if (timeline)
29652997 {
2966
- frame.getContentPane().remove(/*"Center",*/bigThree);
2967
- framePanel.add(bigThree);
2968
- frame.getContentPane().add(/*"Center",*/framePanel);
2969
- } else
2970
- {
2971
- frame.getContentPane().remove(/*"Center",*/framePanel);
2972
- frame.getContentPane().add(/*"Center",*/bigThree);
2998
+ centralPanel.remove(cameraView);
2999
+ centralPanel.add(timelinePanel);
3000
+ frame.setJMenuBar(timelineMenubar);
3001
+ wasFullScreen = CameraPane.FULLSCREEN;
3002
+ if (!CameraPane.FULLSCREEN)
3003
+ ToggleFullScreen();
3004
+ toggleFullScreenItem.setEnabled(false);
29733005 }
3006
+ else
3007
+ {
3008
+ centralPanel.remove(timelinePanel);
3009
+ centralPanel.add(cameraView);
3010
+ frame.setJMenuBar(null);
3011
+ if (!wasFullScreen)
3012
+ ToggleFullScreen();
3013
+ toggleFullScreenItem.setEnabled(true);
3014
+ }
3015
+
29743016 frame.validate();
2975
- cameraView.ToggleFullScreen();
3017
+ return;
3018
+ } else if (event.getSource() == toggleFullScreenItem)
3019
+ {
3020
+ ToggleFullScreen();
3021
+ frame.validate();
29763022
29773023 return;
29783024 } else if (event.getSource() == toggleRandomItem)
....@@ -3221,9 +3267,9 @@
32213267 cameraView.RevertCamera();
32223268 cameraView.repaint();
32233269 return;
3224
- } else if (event.getSource() == textureButton)
3225
- {
3226
- return; // true;
3270
+// } else if (event.getSource() == textureButton)
3271
+// {
3272
+// return; // true;
32273273 } else // combos...
32283274 if (event.getSource() == texresMenu)
32293275 {
....@@ -3510,7 +3556,13 @@
35103556 //System.out.println("PARENT = " + parent);
35113557 //if (parent != null)
35123558 // parent.applySelf();
3513
- refreshContents();
3559
+ if (e.getSource() == normalpushField)
3560
+ {
3561
+ objEditor.refreshContents();
3562
+ //Refresh();
3563
+ }
3564
+ else
3565
+ refreshContents();
35143566 // ??? client.refreshEditWindow();
35153567 }
35163568 //else
....@@ -3522,7 +3574,7 @@
35223574 //group.name = nameField.getText();
35233575 //objEditor.applySelf();
35243576
3525
- assert (objEditor == this);
3577
+ // OCT2018: assert (objEditor == this);
35263578 if (copy.selection == null || copy.selection.size() == 0)
35273579 //super.applySelf()
35283580 ; else
....@@ -3546,12 +3598,18 @@
35463598 objEditor.copy = keep;
35473599 }
35483600 }
3601
+
3602
+ if (normalpushField != null)
3603
+ copy.NORMALPUSH = (float)normalpushField.getFloat()/1000;
35493604 }
35503605
35513606 void SnapObject()
35523607 {
3553
- Object3D obj = (Object3D)copy.selection.elementAt(0);
3554
- SnapObject(obj);
3608
+ if (copy.selection.size() > 0)
3609
+ {
3610
+ Object3D obj = (Object3D)copy.selection.elementAt(0);
3611
+ SnapObject(obj);
3612
+ }
35553613 }
35563614
35573615 void SnapObject(Object3D obj)
....@@ -4445,7 +4503,8 @@
44454503 MenuItem revertCameraItem;
44464504 CheckboxMenuItem toggleLiveItem;
44474505 MenuItem stepItem;
4448
- CheckboxMenuItem toggleFullItem;
4506
+ CheckboxMenuItem toggleFullScreenItem;
4507
+ CheckboxMenuItem toggleTimelineItem;
44494508 CheckboxMenuItem toggleRenderItem;
44504509 CheckboxMenuItem toggleDebugItem;
44514510 CheckboxMenuItem toggleFrustumItem;
....@@ -4473,10 +4532,12 @@
44734532 JSplitPane bigPanel;
44744533 JPanel bigThree;
44754534 JTabbedPane scenePanel;
4476
- JPanel cameraPanel;
4535
+ JPanel centralPanel;
4536
+ JPanel timelinePanel;
4537
+ JMenuBar timelineMenubar;
44774538 JSplitPane framePanel;
44784539 JTextArea/*Field*/ nameField;
4479
- cButton textureButton;
4540
+ //cButton textureButton;
44804541 cButton okButton;
44814542 cButton applyButton;
44824543 cButton cancelButton;
....@@ -4584,4 +4645,6 @@
45844645 NumberSlider opacityPowerField;
45854646 JTree jTree;
45864647 //ObjectUI parent;
4648
+
4649
+ NumberSlider normalpushField;
45874650 }