Normand Briere
2019-04-29 c0c300a9dbd4c0fc127e003e9481d3f9246bbe7a
ObjEditor.java
....@@ -19,6 +19,8 @@
1919 import //weka.core.
2020 matrix.Matrix;
2121
22
+import grafeme.ui.*;
23
+
2224 class ObjEditor /*extends JFrame*/ implements iCallBack, ObjectUI,
2325 ActionListener, ChangeListener,
2426 InputMethodListener,
....@@ -31,6 +33,9 @@
3133 boolean timeline;
3234 boolean wasFullScreen;
3335
36
+ GroupEditor callee;
37
+ JFrame frame;
38
+
3439 // SCRIPT
3540
3641 transient JFrame textpanel = null;
....@@ -121,14 +126,13 @@
121126 void keyPressed(int key, int modifiers)
122127 {
123128 System.out.println("KEY PRESSED");
124
- CameraPane.theRenderer.keyPressed(key, modifiers);
129
+ Globals.theRenderer.keyPressed(key, modifiers);
125130 }
126131 */
127132
128133 static GridBagConstraints aConstraints;
129134 static GridBagConstraints aWindowConstraints;
130
- GroupEditor callee;
131
- JFrame frame;
135
+
132136 static int GRIDWIDTH = 100; // 4;
133137
134138 public void closeUI()
....@@ -160,12 +164,16 @@
160164 objEditor.ctrlPanel.remove(slowerButton);
161165 objEditor.ctrlPanel.remove(fasterButton);
162166 objEditor.ctrlPanel.remove(remarkButton);
167
+
168
+ Remove(normalpushField);
163169 }
164170
165171 public ObjEditor GetEditor()
166172 {
167173 return objEditor; //.GetEditor();
168174 }
175
+
176
+ // Sometimes myself, sometimes my callee's.
169177 ObjEditor objEditor;
170178
171179 /*
....@@ -305,7 +313,7 @@
305313 toggleTextureItem.setState(CameraPane.textureon);
306314 cameraMenu.add(toggleLiveItem = new CheckboxMenuItem("Live"));
307315 toggleLiveItem.addItemListener(this);
308
- toggleLiveItem.setState(CameraPane.isLIVE());
316
+ toggleLiveItem.setState(Globals.isLIVE());
309317 cameraMenu.add(stepItem = new MenuItem("Step"));
310318 stepItem.addActionListener(this);
311319 // cameraMenu.add(toggleDLItem = new CheckboxMenuItem("Display List"));
....@@ -814,7 +822,7 @@
814822
815823 aConstraints.fill = GridBagConstraints.VERTICAL;
816824 jlabel.setHorizontalAlignment(SwingConstants.TRAILING);
817
- aConstraints.gridwidth = 2;
825
+ aConstraints.gridwidth = 1;
818826 ctrlPanel.add(jlabel, aConstraints); //, oe.ctrlPanel.getComponentCount()-1);
819827 aConstraints.gridx += 1;
820828 aConstraints.fill = GridBagConstraints.HORIZONTAL;
....@@ -983,6 +991,9 @@
983991
984992 Return();
985993
994
+ normalpushField = AddSlider(oe.ctrlPanel, "Push", -10, 10, 0, -1);
995
+ Return();
996
+
986997 // oe.ctrlPanel.add(stepButton = new cButton("Step"), ObjEditor.aConstraints, oe.ctrlPanel.getComponentCount() - 2);
987998 // ObjEditor.aConstraints.gridx += 1;
988999
....@@ -1178,10 +1189,18 @@
11781189 //JPanel worldPanel =
11791190 // new gov.nasa.worldwind.examples.ApplicationTemplate.AppPanel(null, true);
11801191 //worldPanel.setName("World");
1181
- centralPanel = new JPanel(new BorderLayout());
1192
+ centralPanel = new cGridBag();
1193
+ centralPanel.preferredWidth = 20;
11821194 timelinePanel = new JPanel(new BorderLayout());
11831195 timelineMenubar = new timeflow.app.TimeflowApp().TimeFlowWindow(timelinePanel);
11841196
1197
+ cameraPanel = new JSplitPane(JSplitPane.VERTICAL_SPLIT, cameraView, timelinePanel);
1198
+ cameraPanel.setContinuousLayout(true);
1199
+ cameraPanel.setOneTouchExpandable(true);
1200
+// cameraPanel.setDividerLocation(0.9);
1201
+// cameraPanel.setDividerSize(9);
1202
+ cameraPanel.setResizeWeight(1.0);
1203
+
11851204 centralPanel.add(cameraView);
11861205 //frame.setJMenuBar(timelineMenubar);
11871206 //centralPanel.add(timelinePanel);
....@@ -1201,12 +1220,13 @@
12011220 //frontView.object = copy;
12021221 //sideView.object = copy;
12031222
1204
- XYZPanel = new JPanel();
1205
- XYZPanel.setLayout(new GridLayout(3, 1, 5, 5));
1223
+ XYZPanel = new cGridBag().setVertical(true);
1224
+ //XYZPanel.setLayout(new GridLayout(3, 1, 5, 5));
12061225
1207
- XYZPanel.add(/*BorderLayout.SOUTH,*/sideView); // Scroll);
1208
- XYZPanel.add(/*BorderLayout.CENTER,*/frontView); // Scroll);
1209
- XYZPanel.add(/*BorderLayout.NORTH,*/topView); // Scroll);
1226
+ XYZPanel.preferredWidth = 5;
1227
+ XYZPanel.addComponent(/*BorderLayout.SOUTH,*/sideView); // Scroll);
1228
+ XYZPanel.addComponent(/*BorderLayout.CENTER,*/frontView); // Scroll);
1229
+ XYZPanel.addComponent(/*BorderLayout.NORTH,*/topView); // Scroll);
12101230
12111231 /*
12121232 gridPanel = new JPanel(); //new BorderLayout());
....@@ -1268,16 +1288,23 @@
12681288 scrollpane.setWheelScrollingEnabled(true);
12691289 scrollpane.addMouseWheelListener(this); // Default not fast enough
12701290
1271
- /*JTabbedPane*/ scenePanel = new JTabbedPane();
1272
- scenePanel.add(scrollpane);
1291
+ /*JTabbedPane*/ scenePanel = new cGridBag();
1292
+ scenePanel.preferredWidth = 7;
1293
+
1294
+ JTabbedPane tabbedPane = new JTabbedPane();
1295
+ tabbedPane.add(scrollpane);
12731296
1274
- scenePanel.add(FSPane = new cFileSystemPane(this));
1297
+ tabbedPane.add(FSPane = new cFileSystemPane(this));
12751298
12761299 optionsPanel = new JPanel(new GridBagLayout());
12771300
12781301 optionsPanel.setName("Options");
1279
- scenePanel.add(optionsPanel);
1280
-
1302
+
1303
+ AddOptions(optionsPanel, aConstraints);
1304
+
1305
+ tabbedPane.add(optionsPanel);
1306
+
1307
+ scenePanel.add(tabbedPane);
12811308
12821309 /*
12831310 cTree jTree = new cTree(null);
....@@ -1311,6 +1338,7 @@
13111338 //bigPanel.setSize(new Dimension(10,10));
13121339 //bigPanel.add(ctrlPanel);
13131340 //bigPanel.add(gridPanel);
1341
+ /**
13141342 bigThree = new JPanel();
13151343 //big.setLayout(new FlowLayout(FlowLayout.LEFT));
13161344 bigThree.setLayout(new GridBagLayout()); //1,3,5,5));
....@@ -1334,7 +1362,13 @@
13341362 // aConstraints.gridheight = 3;
13351363 aWindowConstraints.fill = GridBagConstraints.VERTICAL;
13361364 bigThree.add(XYZPanel, aWindowConstraints);
1365
+ /**/
13371366
1367
+ bigThree = new cGridBag();
1368
+ bigThree.addComponent(scenePanel);
1369
+ bigThree.addComponent(centralPanel);
1370
+ bigThree.addComponent(XYZPanel);
1371
+
13381372 // // SIDE EFFECT!!!
13391373 // aConstraints.gridx = 0;
13401374 // aConstraints.gridy = 0;
....@@ -1355,7 +1389,8 @@
13551389 //worldPane.add(bigPanel);
13561390 //worldPane.add(worldPanel);
13571391 /**/
1358
- frame.getContentPane().add(/*"Center",*/framePanel);
1392
+ //frame.getContentPane().add(/*"Center",*/framePanel);
1393
+ frame.add(/*"Center",*/framePanel);
13591394 //frame.getContentPane().add(/*"Center",*/ worldPane);
13601395
13611396 // aConstraints = gbc; // (GridBagConstraints) GrafreeD.clone(gbc);
....@@ -1376,6 +1411,10 @@
13761411 });
13771412 }
13781413
1414
+ void AddOptions(JPanel panel, GridBagConstraints constraints)
1415
+ {
1416
+ }
1417
+
13791418 JTree GetTree()
13801419 {
13811420 return objEditor.jTree;
....@@ -1446,7 +1485,7 @@
14461485 aConstraints.gridx += 1;
14471486 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
14481487 //aConstraints.weightx = 0;
1449
- ctrlPanel.add(colorField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1488
+ ctrlPanel.add(colorField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14501489 aConstraints.gridx = 0;
14511490 aConstraints.gridy += 1;
14521491 aConstraints.gridwidth = 1;
....@@ -1456,7 +1495,7 @@
14561495 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14571496 aConstraints.gridx += 1;
14581497 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1459
- ctrlPanel.add(modulationField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1498
+ ctrlPanel.add(modulationField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14601499 aConstraints.gridx = 0;
14611500 aConstraints.gridy += 1;
14621501 aConstraints.gridwidth = 1;
....@@ -1466,7 +1505,7 @@
14661505 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14671506 aConstraints.gridx += 1;
14681507 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1469
- ctrlPanel.add(textureField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1508
+ ctrlPanel.add(textureField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14701509 aConstraints.gridx = 0;
14711510 aConstraints.gridy += 1;
14721511 aConstraints.gridwidth = 1;
....@@ -1476,7 +1515,7 @@
14761515 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14771516 aConstraints.gridx += 1;
14781517 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1479
- ctrlPanel.add(anisoField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1518
+ ctrlPanel.add(anisoField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14801519 aConstraints.gridx = 0;
14811520 aConstraints.gridy += 1;
14821521 aConstraints.gridwidth = 1;
....@@ -1486,7 +1525,7 @@
14861525 aConstraints.fill = GridBagConstraints.HORIZONTAL;
14871526 aConstraints.gridx += 1;
14881527 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1489
- ctrlPanel.add(anisoVField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1528
+ ctrlPanel.add(anisoVField = new NumberSlider(0.001, 1, -0.5), aConstraints);
14901529 aConstraints.gridx = 0;
14911530 aConstraints.gridy += 1;
14921531 aConstraints.gridwidth = 1;
....@@ -1555,7 +1594,7 @@
15551594 aConstraints.fill = GridBagConstraints.HORIZONTAL;
15561595 aConstraints.gridx += 1;
15571596 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1558
- ctrlPanel.add(subsurfaceField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1597
+ ctrlPanel.add(subsurfaceField = new NumberSlider(0.001, 1, -0.5), aConstraints);
15591598 aConstraints.gridx = 0;
15601599 aConstraints.gridy += 1;
15611600 aConstraints.gridwidth = 1;
....@@ -1624,7 +1663,7 @@
16241663 aConstraints.fill = GridBagConstraints.HORIZONTAL;
16251664 aConstraints.gridx += 1;
16261665 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1627
- ctrlPanel.add(metalnessField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1666
+ ctrlPanel.add(metalnessField = new NumberSlider(0.001, 1, -0.5), aConstraints);
16281667 aConstraints.gridx = 0;
16291668 aConstraints.gridy += 1;
16301669 aConstraints.gridwidth = 1;
....@@ -1695,7 +1734,7 @@
16951734 aConstraints.fill = GridBagConstraints.HORIZONTAL;
16961735 aConstraints.gridx += 1;
16971736 aConstraints.gridwidth = ObjEditor.GRIDWIDTH;
1698
- ctrlPanel.add(opacityField = new NumberSlider(0.001, 1, -0.1), aConstraints);
1737
+ ctrlPanel.add(opacityField = new NumberSlider(0.001, 1, -0.5), aConstraints);
16991738 aConstraints.gridx = 0;
17001739 aConstraints.gridy += 1;
17011740 aConstraints.gridwidth = 1;
....@@ -2989,7 +3028,8 @@
29893028 if (timeline)
29903029 {
29913030 centralPanel.remove(cameraView);
2992
- centralPanel.add(timelinePanel);
3031
+ cameraPanel.add(cameraView);
3032
+ centralPanel.add(cameraPanel);
29933033 frame.setJMenuBar(timelineMenubar);
29943034 wasFullScreen = CameraPane.FULLSCREEN;
29953035 if (!CameraPane.FULLSCREEN)
....@@ -2998,7 +3038,7 @@
29983038 }
29993039 else
30003040 {
3001
- centralPanel.remove(timelinePanel);
3041
+ centralPanel.remove(cameraPanel);
30023042 centralPanel.add(cameraView);
30033043 frame.setJMenuBar(null);
30043044 if (!wasFullScreen)
....@@ -3121,7 +3161,8 @@
31213161 objEditor.refreshContents();
31223162 } else if (event.getSource() == stepItem)
31233163 {
3124
- cameraView.ONESTEP = true;
3164
+ //cameraView.ONESTEP = true;
3165
+ Globals.ONESTEP = true;
31253166 cameraView.repaint();
31263167 return;
31273168 } else if (event.getSource() == stepButton)
....@@ -3278,25 +3319,25 @@
32783319
32793320 void ToggleAnimation()
32803321 {
3281
- if (!CameraPane.ANIMATION)
3322
+ if (!Globals.ANIMATION)
32823323 {
32833324 FileDialog browser = new FileDialog(frame, "Save Animation As...", FileDialog.SAVE);
32843325 browser.show();
32853326 String filename = browser.getFile();
32863327 if (filename != null && filename.length() > 0)
32873328 {
3288
- CameraPane.filename = browser.getDirectory() + filename;
3329
+ Globals.filename = browser.getDirectory() + filename;
32893330 //CameraPane.framecount = 0;
3290
- CameraPane.imagecount = 0;
3331
+ Globals.imagecount = 0;
32913332
3292
- CameraPane.ANIMATION ^= true;
3333
+ Globals.ANIMATION ^= true;
32933334
32943335 GrafreeD.wav.cursor = 0;
32953336 GrafreeD.wav.loop = 0;
32963337 }
32973338 } else
32983339 {
3299
- CameraPane.ANIMATION ^= true;
3340
+ Globals.ANIMATION ^= true;
33003341 }
33013342 }
33023343
....@@ -3549,7 +3590,13 @@
35493590 //System.out.println("PARENT = " + parent);
35503591 //if (parent != null)
35513592 // parent.applySelf();
3552
- refreshContents();
3593
+ if (e.getSource() == normalpushField)
3594
+ {
3595
+ objEditor.refreshContents();
3596
+ //Refresh();
3597
+ }
3598
+ else
3599
+ refreshContents();
35533600 // ??? client.refreshEditWindow();
35543601 }
35553602 //else
....@@ -3561,7 +3608,7 @@
35613608 //group.name = nameField.getText();
35623609 //objEditor.applySelf();
35633610
3564
- assert (objEditor == this);
3611
+ // OCT2018: assert (objEditor == this);
35653612 if (copy.selection == null || copy.selection.size() == 0)
35663613 //super.applySelf()
35673614 ; else
....@@ -3585,6 +3632,9 @@
35853632 objEditor.copy = keep;
35863633 }
35873634 }
3635
+
3636
+ if (normalpushField != null)
3637
+ copy.NORMALPUSH = (float)normalpushField.getFloat()/1000;
35883638 }
35893639
35903640 void SnapObject()
....@@ -4511,12 +4561,13 @@
45114561 JScrollPane infoPanel;
45124562 JPanel optionsPanel;
45134563 JTabbedPane objectPanel;
4514
- JPanel XYZPanel;
4564
+ cGridBag XYZPanel;
45154565 JSplitPane gridPanel;
45164566 JSplitPane bigPanel;
4517
- JPanel bigThree;
4518
- JTabbedPane scenePanel;
4519
- JPanel centralPanel;
4567
+ cGridBag bigThree;
4568
+ cGridBag scenePanel;
4569
+ cGridBag centralPanel;
4570
+ JSplitPane cameraPanel;
45204571 JPanel timelinePanel;
45214572 JMenuBar timelineMenubar;
45224573 JSplitPane framePanel;
....@@ -4629,4 +4680,6 @@
46294680 NumberSlider opacityPowerField;
46304681 JTree jTree;
46314682 //ObjectUI parent;
4683
+
4684
+ NumberSlider normalpushField;
46324685 }