Normand Briere
2019-04-28 f23e09019d161b02d566ffe312fdc553459fb954
ObjEditor.java
....@@ -28,7 +28,12 @@
2828 iSendInfo
2929 //KeyListener
3030 {
31
+ boolean timeline;
32
+ boolean wasFullScreen;
3133
34
+ GroupEditor callee;
35
+ JFrame frame;
36
+
3237 // SCRIPT
3338
3439 transient JFrame textpanel = null;
....@@ -119,14 +124,13 @@
119124 void keyPressed(int key, int modifiers)
120125 {
121126 System.out.println("KEY PRESSED");
122
- CameraPane.theRenderer.keyPressed(key, modifiers);
127
+ Globals.theRenderer.keyPressed(key, modifiers);
123128 }
124129 */
125130
126131 static GridBagConstraints aConstraints;
127132 static GridBagConstraints aWindowConstraints;
128
- GroupEditor callee;
129
- JFrame frame;
133
+
130134 static int GRIDWIDTH = 100; // 4;
131135
132136 public void closeUI()
....@@ -158,12 +162,16 @@
158162 objEditor.ctrlPanel.remove(slowerButton);
159163 objEditor.ctrlPanel.remove(fasterButton);
160164 objEditor.ctrlPanel.remove(remarkButton);
165
+
166
+ Remove(normalpushField);
161167 }
162168
163169 public ObjEditor GetEditor()
164170 {
165171 return objEditor; //.GetEditor();
166172 }
173
+
174
+ // Sometimes myself, sometimes my callee's.
167175 ObjEditor objEditor;
168176
169177 /*
....@@ -238,7 +246,7 @@
238246 //if (!isDisplayable())
239247 //setUndecorated(true);
240248
241
- System.out.println("getFullScreenWindow? " + gd.getFullScreenWindow());
249
+ //System.out.println("getFullScreenWindow? " + gd.getFullScreenWindow());
242250 client = inClient;
243251 copy = localCopy;
244252 copy.editWindow = this;
....@@ -292,18 +300,18 @@
292300 //normalLensItem.addActionListener(this);
293301 cameraMenu.add(revertCameraItem = new MenuItem("Revert Camera"));
294302 revertCameraItem.addActionListener(this);
303
+ cameraMenu.add(toggleTimelineItem = new CheckboxMenuItem("Timeline"));
304
+ toggleTimelineItem.addItemListener(this);
295305 cameraMenu.add(toggleFullScreenItem = new CheckboxMenuItem("Full Screen"));
296306 toggleFullScreenItem.addItemListener(this);
297307 toggleFullScreenItem.setState(CameraPane.FULLSCREEN);
298
- cameraMenu.add(toggleTimelineItem = new CheckboxMenuItem("Timeline"));
299
- toggleTimelineItem.addItemListener(this);
300308 cameraMenu.add("-");
301309 cameraMenu.add(toggleTextureItem = new CheckboxMenuItem("Texture"));
302310 toggleTextureItem.addItemListener(this);
303311 toggleTextureItem.setState(CameraPane.textureon);
304312 cameraMenu.add(toggleLiveItem = new CheckboxMenuItem("Live"));
305313 toggleLiveItem.addItemListener(this);
306
- toggleLiveItem.setState(CameraPane.isLIVE());
314
+ toggleLiveItem.setState(Globals.isLIVE());
307315 cameraMenu.add(stepItem = new MenuItem("Step"));
308316 stepItem.addActionListener(this);
309317 // cameraMenu.add(toggleDLItem = new CheckboxMenuItem("Display List"));
....@@ -596,6 +604,22 @@
596604 }
597605 }
598606
607
+ void ToggleFullScreen()
608
+ {
609
+ if (CameraPane.FULLSCREEN)
610
+ {
611
+ frame.getContentPane().remove(/*"Center",*/bigThree);
612
+ framePanel.add(bigThree);
613
+ frame.getContentPane().add(/*"Center",*/framePanel);
614
+ } else
615
+ {
616
+ frame.getContentPane().remove(/*"Center",*/framePanel);
617
+ framePanel.remove(bigThree);
618
+ frame.getContentPane().add(/*"Center",*/bigThree);
619
+ }
620
+ cameraView.ToggleFullScreen();
621
+ }
622
+
599623 private JTextArea createTextPane()
600624 {
601625 String[] initString =
....@@ -796,7 +820,7 @@
796820
797821 aConstraints.fill = GridBagConstraints.VERTICAL;
798822 jlabel.setHorizontalAlignment(SwingConstants.TRAILING);
799
- aConstraints.gridwidth = 2;
823
+ aConstraints.gridwidth = 1;
800824 ctrlPanel.add(jlabel, aConstraints); //, oe.ctrlPanel.getComponentCount()-1);
801825 aConstraints.gridx += 1;
802826 aConstraints.fill = GridBagConstraints.HORIZONTAL;
....@@ -965,6 +989,9 @@
965989
966990 Return();
967991
992
+ normalpushField = AddSlider(oe.ctrlPanel, "Push", -10, 10, 0, -1);
993
+ Return();
994
+
968995 // oe.ctrlPanel.add(stepButton = new cButton("Step"), ObjEditor.aConstraints, oe.ctrlPanel.getComponentCount() - 2);
969996 // ObjEditor.aConstraints.gridx += 1;
970997
....@@ -1164,6 +1191,13 @@
11641191 timelinePanel = new JPanel(new BorderLayout());
11651192 timelineMenubar = new timeflow.app.TimeflowApp().TimeFlowWindow(timelinePanel);
11661193
1194
+ cameraPanel = new JSplitPane(JSplitPane.VERTICAL_SPLIT, cameraView, timelinePanel);
1195
+ cameraPanel.setContinuousLayout(true);
1196
+ cameraPanel.setOneTouchExpandable(true);
1197
+// cameraPanel.setDividerLocation(0.9);
1198
+// cameraPanel.setDividerSize(9);
1199
+ cameraPanel.setResizeWeight(1.0);
1200
+
11671201 centralPanel.add(cameraView);
11681202 //frame.setJMenuBar(timelineMenubar);
11691203 //centralPanel.add(timelinePanel);
....@@ -1258,6 +1292,9 @@
12581292 optionsPanel = new JPanel(new GridBagLayout());
12591293
12601294 optionsPanel.setName("Options");
1295
+
1296
+ AddOptions(optionsPanel, aConstraints);
1297
+
12611298 scenePanel.add(optionsPanel);
12621299
12631300
....@@ -1337,7 +1374,8 @@
13371374 //worldPane.add(bigPanel);
13381375 //worldPane.add(worldPanel);
13391376 /**/
1340
- frame.getContentPane().add(/*"Center",*/framePanel);
1377
+ //frame.getContentPane().add(/*"Center",*/framePanel);
1378
+ frame.add(/*"Center",*/framePanel);
13411379 //frame.getContentPane().add(/*"Center",*/ worldPane);
13421380
13431381 // aConstraints = gbc; // (GridBagConstraints) GrafreeD.clone(gbc);
....@@ -1358,6 +1396,10 @@
13581396 });
13591397 }
13601398
1399
+ void AddOptions(JPanel panel, GridBagConstraints constraints)
1400
+ {
1401
+ }
1402
+
13611403 JTree GetTree()
13621404 {
13631405 return objEditor.jTree;
....@@ -1428,7 +1470,7 @@
14281470 aConstraints.gridx += 1;
14291471 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
14301472 //aConstraints.weightx = 0;
1431
- ctrlPanel.add(colorField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1473
+ ctrlPanel.add(colorField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14321474 aConstraints.gridx = 0;
14331475 aConstraints.gridy += 1;
14341476 aConstraints.gridwidth = 1;
....@@ -1438,7 +1480,7 @@
14381480 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14391481 aConstraints.gridx += 1;
14401482 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1441
- ctrlPanel.add(modulationField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1483
+ ctrlPanel.add(modulationField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14421484 aConstraints.gridx = 0;
14431485 aConstraints.gridy += 1;
14441486 aConstraints.gridwidth = 1;
....@@ -1448,7 +1490,7 @@
14481490 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14491491 aConstraints.gridx += 1;
14501492 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1451
- ctrlPanel.add(textureField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1493
+ ctrlPanel.add(textureField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14521494 aConstraints.gridx = 0;
14531495 aConstraints.gridy += 1;
14541496 aConstraints.gridwidth = 1;
....@@ -1458,7 +1500,7 @@
14581500 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14591501 aConstraints.gridx += 1;
14601502 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1461
- ctrlPanel.add(anisoField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1503
+ ctrlPanel.add(anisoField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14621504 aConstraints.gridx = 0;
14631505 aConstraints.gridy += 1;
14641506 aConstraints.gridwidth = 1;
....@@ -1468,7 +1510,7 @@
14681510 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14691511 aConstraints.gridx += 1;
14701512 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1471
- ctrlPanel.add(anisoVField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1513
+ ctrlPanel.add(anisoVField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14721514 aConstraints.gridx = 0;
14731515 aConstraints.gridy += 1;
14741516 aConstraints.gridwidth = 1;
....@@ -1537,7 +1579,7 @@
15371579 aConstraints.fill = GridBagConstraints.HORIZONTAL;
15381580 aConstraints.gridx += 1;
15391581 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1540
- ctrlPanel.add(subsurfaceField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1582
+ ctrlPanel.add(subsurfaceField = new NumberSlider(0.001, 1, -0.5), aConstraints);
15411583 aConstraints.gridx = 0;
15421584 aConstraints.gridy += 1;
15431585 aConstraints.gridwidth = 1;
....@@ -1606,7 +1648,7 @@
16061648 aConstraints.fill = GridBagConstraints.HORIZONTAL;
16071649 aConstraints.gridx += 1;
16081650 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1609
- ctrlPanel.add(metalnessField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1651
+ ctrlPanel.add(metalnessField = new NumberSlider(0.001, 1, -0.5), aConstraints);
16101652 aConstraints.gridx = 0;
16111653 aConstraints.gridy += 1;
16121654 aConstraints.gridwidth = 1;
....@@ -1677,7 +1719,7 @@
16771719 aConstraints.fill = GridBagConstraints.HORIZONTAL;
16781720 aConstraints.gridx += 1;
16791721 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1680
- ctrlPanel.add(opacityField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1722
+ ctrlPanel.add(opacityField = new NumberSlider(0.001, 1, -0.5), aConstraints);
16811723 aConstraints.gridx = 0;
16821724 aConstraints.gridy += 1;
16831725 aConstraints.gridwidth = 1;
....@@ -2966,37 +3008,35 @@
29663008 return;
29673009 } else if (event.getSource() == toggleTimelineItem)
29683010 {
2969
- copy.timeline ^= true;
3011
+ timeline ^= true;
29703012
2971
- if (copy.timeline)
3013
+ if (timeline)
29723014 {
29733015 centralPanel.remove(cameraView);
2974
- centralPanel.add(timelinePanel);
3016
+ cameraPanel.add(cameraView);
3017
+ centralPanel.add(cameraPanel);
29753018 frame.setJMenuBar(timelineMenubar);
3019
+ wasFullScreen = CameraPane.FULLSCREEN;
3020
+ if (!CameraPane.FULLSCREEN)
3021
+ ToggleFullScreen();
3022
+ toggleFullScreenItem.setEnabled(false);
29763023 }
29773024 else
29783025 {
2979
- centralPanel.remove(timelinePanel);
3026
+ centralPanel.remove(cameraPanel);
29803027 centralPanel.add(cameraView);
29813028 frame.setJMenuBar(null);
3029
+ if (!wasFullScreen)
3030
+ ToggleFullScreen();
3031
+ toggleFullScreenItem.setEnabled(true);
29823032 }
29833033
29843034 frame.validate();
29853035 return;
29863036 } else if (event.getSource() == toggleFullScreenItem)
29873037 {
2988
- if (CameraPane.FULLSCREEN)
2989
- {
2990
- frame.getContentPane().remove(/*"Center",*/bigThree);
2991
- framePanel.add(bigThree);
2992
- frame.getContentPane().add(/*"Center",*/framePanel);
2993
- } else
2994
- {
2995
- frame.getContentPane().remove(/*"Center",*/framePanel);
2996
- frame.getContentPane().add(/*"Center",*/bigThree);
2997
- }
3038
+ ToggleFullScreen();
29983039 frame.validate();
2999
- cameraView.ToggleFullScreen();
30003040
30013041 return;
30023042 } else if (event.getSource() == toggleRandomItem)
....@@ -3106,7 +3146,8 @@
31063146 objEditor.refreshContents();
31073147 } else if (event.getSource() == stepItem)
31083148 {
3109
- cameraView.ONESTEP = true;
3149
+ //cameraView.ONESTEP = true;
3150
+ Globals.ONESTEP = true;
31103151 cameraView.repaint();
31113152 return;
31123153 } else if (event.getSource() == stepButton)
....@@ -3263,25 +3304,25 @@
32633304
32643305 void ToggleAnimation()
32653306 {
3266
- if (!CameraPane.ANIMATION)
3307
+ if (!Globals.ANIMATION)
32673308 {
32683309 FileDialog browser = new FileDialog(frame, "Save Animation As...", FileDialog.SAVE);
32693310 browser.show();
32703311 String filename = browser.getFile();
32713312 if (filename != null && filename.length() > 0)
32723313 {
3273
- CameraPane.filename = browser.getDirectory() + filename;
3314
+ Globals.filename = browser.getDirectory() + filename;
32743315 //CameraPane.framecount = 0;
3275
- CameraPane.imagecount = 0;
3316
+ Globals.imagecount = 0;
32763317
3277
- CameraPane.ANIMATION ^= true;
3318
+ Globals.ANIMATION ^= true;
32783319
32793320 GrafreeD.wav.cursor = 0;
32803321 GrafreeD.wav.loop = 0;
32813322 }
32823323 } else
32833324 {
3284
- CameraPane.ANIMATION ^= true;
3325
+ Globals.ANIMATION ^= true;
32853326 }
32863327 }
32873328
....@@ -3534,7 +3575,13 @@
35343575 //System.out.println("PARENT = " + parent);
35353576 //if (parent != null)
35363577 // parent.applySelf();
3537
- refreshContents();
3578
+ if (e.getSource() == normalpushField)
3579
+ {
3580
+ objEditor.refreshContents();
3581
+ //Refresh();
3582
+ }
3583
+ else
3584
+ refreshContents();
35383585 // ??? client.refreshEditWindow();
35393586 }
35403587 //else
....@@ -3546,7 +3593,7 @@
35463593 //group.name = nameField.getText();
35473594 //objEditor.applySelf();
35483595
3549
- assert (objEditor == this);
3596
+ // OCT2018: assert (objEditor == this);
35503597 if (copy.selection == null || copy.selection.size() == 0)
35513598 //super.applySelf()
35523599 ; else
....@@ -3570,12 +3617,18 @@
35703617 objEditor.copy = keep;
35713618 }
35723619 }
3620
+
3621
+ if (normalpushField != null)
3622
+ copy.NORMALPUSH = (float)normalpushField.getFloat()/1000;
35733623 }
35743624
35753625 void SnapObject()
35763626 {
3577
- Object3D obj = (Object3D)copy.selection.elementAt(0);
3578
- SnapObject(obj);
3627
+ if (copy.selection.size() > 0)
3628
+ {
3629
+ Object3D obj = (Object3D)copy.selection.elementAt(0);
3630
+ SnapObject(obj);
3631
+ }
35793632 }
35803633
35813634 void SnapObject(Object3D obj)
....@@ -4499,6 +4552,7 @@
44994552 JPanel bigThree;
45004553 JTabbedPane scenePanel;
45014554 JPanel centralPanel;
4555
+ JSplitPane cameraPanel;
45024556 JPanel timelinePanel;
45034557 JMenuBar timelineMenubar;
45044558 JSplitPane framePanel;
....@@ -4611,4 +4665,6 @@
46114665 NumberSlider opacityPowerField;
46124666 JTree jTree;
46134667 //ObjectUI parent;
4668
+
4669
+ NumberSlider normalpushField;
46144670 }