.. | .. |
---|
19 | 19 | import //weka.core. |
---|
20 | 20 | matrix.Matrix; |
---|
21 | 21 | |
---|
| 22 | +import grafeme.ui.*; |
---|
| 23 | + |
---|
22 | 24 | class ObjEditor /*extends JFrame*/ implements iCallBack, ObjectUI, |
---|
23 | 25 | ActionListener, ChangeListener, |
---|
24 | 26 | InputMethodListener, |
---|
.. | .. |
---|
31 | 33 | boolean timeline; |
---|
32 | 34 | boolean wasFullScreen; |
---|
33 | 35 | |
---|
| 36 | + GroupEditor callee; |
---|
| 37 | + JFrame frame; |
---|
| 38 | + |
---|
34 | 39 | // SCRIPT |
---|
35 | 40 | |
---|
36 | 41 | transient JFrame textpanel = null; |
---|
.. | .. |
---|
121 | 126 | void keyPressed(int key, int modifiers) |
---|
122 | 127 | { |
---|
123 | 128 | System.out.println("KEY PRESSED"); |
---|
124 | | - CameraPane.theRenderer.keyPressed(key, modifiers); |
---|
| 129 | + Globals.theRenderer.keyPressed(key, modifiers); |
---|
125 | 130 | } |
---|
126 | 131 | */ |
---|
127 | 132 | |
---|
128 | 133 | static GridBagConstraints aConstraints; |
---|
129 | 134 | static GridBagConstraints aWindowConstraints; |
---|
130 | | - GroupEditor callee; |
---|
131 | | - JFrame frame; |
---|
| 135 | + |
---|
132 | 136 | static int GRIDWIDTH = 100; // 4; |
---|
133 | 137 | |
---|
134 | 138 | public void closeUI() |
---|
.. | .. |
---|
160 | 164 | objEditor.ctrlPanel.remove(slowerButton); |
---|
161 | 165 | objEditor.ctrlPanel.remove(fasterButton); |
---|
162 | 166 | objEditor.ctrlPanel.remove(remarkButton); |
---|
| 167 | + |
---|
| 168 | + Remove(normalpushField); |
---|
163 | 169 | } |
---|
164 | 170 | |
---|
165 | 171 | public ObjEditor GetEditor() |
---|
166 | 172 | { |
---|
167 | 173 | return objEditor; //.GetEditor(); |
---|
168 | 174 | } |
---|
| 175 | + |
---|
| 176 | + // Sometimes myself, sometimes my callee's. |
---|
169 | 177 | ObjEditor objEditor; |
---|
170 | 178 | |
---|
171 | 179 | /* |
---|
.. | .. |
---|
305 | 313 | toggleTextureItem.setState(CameraPane.textureon); |
---|
306 | 314 | cameraMenu.add(toggleLiveItem = new CheckboxMenuItem("Live")); |
---|
307 | 315 | toggleLiveItem.addItemListener(this); |
---|
308 | | - toggleLiveItem.setState(CameraPane.isLIVE()); |
---|
| 316 | + toggleLiveItem.setState(Globals.isLIVE()); |
---|
309 | 317 | cameraMenu.add(stepItem = new MenuItem("Step")); |
---|
310 | 318 | stepItem.addActionListener(this); |
---|
311 | 319 | // cameraMenu.add(toggleDLItem = new CheckboxMenuItem("Display List")); |
---|
.. | .. |
---|
814 | 822 | |
---|
815 | 823 | aConstraints.fill = GridBagConstraints.VERTICAL; |
---|
816 | 824 | jlabel.setHorizontalAlignment(SwingConstants.TRAILING); |
---|
817 | | - aConstraints.gridwidth = 2; |
---|
| 825 | + aConstraints.gridwidth = 1; |
---|
818 | 826 | ctrlPanel.add(jlabel, aConstraints); //, oe.ctrlPanel.getComponentCount()-1); |
---|
819 | 827 | aConstraints.gridx += 1; |
---|
820 | 828 | aConstraints.fill = GridBagConstraints.HORIZONTAL; |
---|
.. | .. |
---|
983 | 991 | |
---|
984 | 992 | Return(); |
---|
985 | 993 | |
---|
| 994 | + normalpushField = AddSlider(oe.ctrlPanel, "Push", -10, 10, 0, -1); |
---|
| 995 | + Return(); |
---|
| 996 | + |
---|
986 | 997 | // oe.ctrlPanel.add(stepButton = new cButton("Step"), ObjEditor.aConstraints, oe.ctrlPanel.getComponentCount() - 2); |
---|
987 | 998 | // ObjEditor.aConstraints.gridx += 1; |
---|
988 | 999 | |
---|
.. | .. |
---|
1178 | 1189 | //JPanel worldPanel = |
---|
1179 | 1190 | // new gov.nasa.worldwind.examples.ApplicationTemplate.AppPanel(null, true); |
---|
1180 | 1191 | //worldPanel.setName("World"); |
---|
1181 | | - centralPanel = new JPanel(new BorderLayout()); |
---|
| 1192 | + centralPanel = new cGridBag(); |
---|
| 1193 | + centralPanel.preferredWidth = 20; |
---|
1182 | 1194 | timelinePanel = new JPanel(new BorderLayout()); |
---|
1183 | 1195 | timelineMenubar = new timeflow.app.TimeflowApp().TimeFlowWindow(timelinePanel); |
---|
1184 | 1196 | |
---|
| 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 | + |
---|
1185 | 1204 | centralPanel.add(cameraView); |
---|
1186 | 1205 | //frame.setJMenuBar(timelineMenubar); |
---|
1187 | 1206 | //centralPanel.add(timelinePanel); |
---|
.. | .. |
---|
1201 | 1220 | //frontView.object = copy; |
---|
1202 | 1221 | //sideView.object = copy; |
---|
1203 | 1222 | |
---|
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)); |
---|
1206 | 1225 | |
---|
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); |
---|
1210 | 1230 | |
---|
1211 | 1231 | /* |
---|
1212 | 1232 | gridPanel = new JPanel(); //new BorderLayout()); |
---|
.. | .. |
---|
1268 | 1288 | scrollpane.setWheelScrollingEnabled(true); |
---|
1269 | 1289 | scrollpane.addMouseWheelListener(this); // Default not fast enough |
---|
1270 | 1290 | |
---|
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); |
---|
1273 | 1296 | |
---|
1274 | | - scenePanel.add(FSPane = new cFileSystemPane(this)); |
---|
| 1297 | + tabbedPane.add(FSPane = new cFileSystemPane(this)); |
---|
1275 | 1298 | |
---|
1276 | 1299 | optionsPanel = new JPanel(new GridBagLayout()); |
---|
1277 | 1300 | |
---|
1278 | 1301 | optionsPanel.setName("Options"); |
---|
1279 | | - scenePanel.add(optionsPanel); |
---|
1280 | | - |
---|
| 1302 | + |
---|
| 1303 | + AddOptions(optionsPanel, aConstraints); |
---|
| 1304 | + |
---|
| 1305 | + tabbedPane.add(optionsPanel); |
---|
| 1306 | + |
---|
| 1307 | + scenePanel.add(tabbedPane); |
---|
1281 | 1308 | |
---|
1282 | 1309 | /* |
---|
1283 | 1310 | cTree jTree = new cTree(null); |
---|
.. | .. |
---|
1311 | 1338 | //bigPanel.setSize(new Dimension(10,10)); |
---|
1312 | 1339 | //bigPanel.add(ctrlPanel); |
---|
1313 | 1340 | //bigPanel.add(gridPanel); |
---|
| 1341 | + /** |
---|
1314 | 1342 | bigThree = new JPanel(); |
---|
1315 | 1343 | //big.setLayout(new FlowLayout(FlowLayout.LEFT)); |
---|
1316 | 1344 | bigThree.setLayout(new GridBagLayout()); //1,3,5,5)); |
---|
.. | .. |
---|
1334 | 1362 | // aConstraints.gridheight = 3; |
---|
1335 | 1363 | aWindowConstraints.fill = GridBagConstraints.VERTICAL; |
---|
1336 | 1364 | bigThree.add(XYZPanel, aWindowConstraints); |
---|
| 1365 | + /**/ |
---|
1337 | 1366 | |
---|
| 1367 | + bigThree = new cGridBag(); |
---|
| 1368 | + bigThree.addComponent(scenePanel); |
---|
| 1369 | + bigThree.addComponent(centralPanel); |
---|
| 1370 | + bigThree.addComponent(XYZPanel); |
---|
| 1371 | + |
---|
1338 | 1372 | // // SIDE EFFECT!!! |
---|
1339 | 1373 | // aConstraints.gridx = 0; |
---|
1340 | 1374 | // aConstraints.gridy = 0; |
---|
.. | .. |
---|
1355 | 1389 | //worldPane.add(bigPanel); |
---|
1356 | 1390 | //worldPane.add(worldPanel); |
---|
1357 | 1391 | /**/ |
---|
1358 | | - frame.getContentPane().add(/*"Center",*/framePanel); |
---|
| 1392 | + //frame.getContentPane().add(/*"Center",*/framePanel); |
---|
| 1393 | + frame.add(/*"Center",*/framePanel); |
---|
1359 | 1394 | //frame.getContentPane().add(/*"Center",*/ worldPane); |
---|
1360 | 1395 | |
---|
1361 | 1396 | // aConstraints = gbc; // (GridBagConstraints) GrafreeD.clone(gbc); |
---|
.. | .. |
---|
1376 | 1411 | }); |
---|
1377 | 1412 | } |
---|
1378 | 1413 | |
---|
| 1414 | + void AddOptions(JPanel panel, GridBagConstraints constraints) |
---|
| 1415 | + { |
---|
| 1416 | + } |
---|
| 1417 | + |
---|
1379 | 1418 | JTree GetTree() |
---|
1380 | 1419 | { |
---|
1381 | 1420 | return objEditor.jTree; |
---|
.. | .. |
---|
1446 | 1485 | aConstraints.gridx += 1; |
---|
1447 | 1486 | aConstraints.gridwidth = ObjEditor.GRIDWIDTH; |
---|
1448 | 1487 | //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); |
---|
1450 | 1489 | aConstraints.gridx = 0; |
---|
1451 | 1490 | aConstraints.gridy += 1; |
---|
1452 | 1491 | aConstraints.gridwidth = 1; |
---|
.. | .. |
---|
1456 | 1495 | aConstraints.fill = GridBagConstraints.HORIZONTAL; |
---|
1457 | 1496 | aConstraints.gridx += 1; |
---|
1458 | 1497 | 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); |
---|
1460 | 1499 | aConstraints.gridx = 0; |
---|
1461 | 1500 | aConstraints.gridy += 1; |
---|
1462 | 1501 | aConstraints.gridwidth = 1; |
---|
.. | .. |
---|
1466 | 1505 | aConstraints.fill = GridBagConstraints.HORIZONTAL; |
---|
1467 | 1506 | aConstraints.gridx += 1; |
---|
1468 | 1507 | 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); |
---|
1470 | 1509 | aConstraints.gridx = 0; |
---|
1471 | 1510 | aConstraints.gridy += 1; |
---|
1472 | 1511 | aConstraints.gridwidth = 1; |
---|
.. | .. |
---|
1476 | 1515 | aConstraints.fill = GridBagConstraints.HORIZONTAL; |
---|
1477 | 1516 | aConstraints.gridx += 1; |
---|
1478 | 1517 | 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); |
---|
1480 | 1519 | aConstraints.gridx = 0; |
---|
1481 | 1520 | aConstraints.gridy += 1; |
---|
1482 | 1521 | aConstraints.gridwidth = 1; |
---|
.. | .. |
---|
1486 | 1525 | aConstraints.fill = GridBagConstraints.HORIZONTAL; |
---|
1487 | 1526 | aConstraints.gridx += 1; |
---|
1488 | 1527 | 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); |
---|
1490 | 1529 | aConstraints.gridx = 0; |
---|
1491 | 1530 | aConstraints.gridy += 1; |
---|
1492 | 1531 | aConstraints.gridwidth = 1; |
---|
.. | .. |
---|
1555 | 1594 | aConstraints.fill = GridBagConstraints.HORIZONTAL; |
---|
1556 | 1595 | aConstraints.gridx += 1; |
---|
1557 | 1596 | 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); |
---|
1559 | 1598 | aConstraints.gridx = 0; |
---|
1560 | 1599 | aConstraints.gridy += 1; |
---|
1561 | 1600 | aConstraints.gridwidth = 1; |
---|
.. | .. |
---|
1624 | 1663 | aConstraints.fill = GridBagConstraints.HORIZONTAL; |
---|
1625 | 1664 | aConstraints.gridx += 1; |
---|
1626 | 1665 | 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); |
---|
1628 | 1667 | aConstraints.gridx = 0; |
---|
1629 | 1668 | aConstraints.gridy += 1; |
---|
1630 | 1669 | aConstraints.gridwidth = 1; |
---|
.. | .. |
---|
1695 | 1734 | aConstraints.fill = GridBagConstraints.HORIZONTAL; |
---|
1696 | 1735 | aConstraints.gridx += 1; |
---|
1697 | 1736 | 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); |
---|
1699 | 1738 | aConstraints.gridx = 0; |
---|
1700 | 1739 | aConstraints.gridy += 1; |
---|
1701 | 1740 | aConstraints.gridwidth = 1; |
---|
.. | .. |
---|
2989 | 3028 | if (timeline) |
---|
2990 | 3029 | { |
---|
2991 | 3030 | centralPanel.remove(cameraView); |
---|
2992 | | - centralPanel.add(timelinePanel); |
---|
| 3031 | + cameraPanel.add(cameraView); |
---|
| 3032 | + centralPanel.add(cameraPanel); |
---|
2993 | 3033 | frame.setJMenuBar(timelineMenubar); |
---|
2994 | 3034 | wasFullScreen = CameraPane.FULLSCREEN; |
---|
2995 | 3035 | if (!CameraPane.FULLSCREEN) |
---|
.. | .. |
---|
2998 | 3038 | } |
---|
2999 | 3039 | else |
---|
3000 | 3040 | { |
---|
3001 | | - centralPanel.remove(timelinePanel); |
---|
| 3041 | + centralPanel.remove(cameraPanel); |
---|
3002 | 3042 | centralPanel.add(cameraView); |
---|
3003 | 3043 | frame.setJMenuBar(null); |
---|
3004 | 3044 | if (!wasFullScreen) |
---|
.. | .. |
---|
3121 | 3161 | objEditor.refreshContents(); |
---|
3122 | 3162 | } else if (event.getSource() == stepItem) |
---|
3123 | 3163 | { |
---|
3124 | | - cameraView.ONESTEP = true; |
---|
| 3164 | + //cameraView.ONESTEP = true; |
---|
| 3165 | + Globals.ONESTEP = true; |
---|
3125 | 3166 | cameraView.repaint(); |
---|
3126 | 3167 | return; |
---|
3127 | 3168 | } else if (event.getSource() == stepButton) |
---|
.. | .. |
---|
3278 | 3319 | |
---|
3279 | 3320 | void ToggleAnimation() |
---|
3280 | 3321 | { |
---|
3281 | | - if (!CameraPane.ANIMATION) |
---|
| 3322 | + if (!Globals.ANIMATION) |
---|
3282 | 3323 | { |
---|
3283 | 3324 | FileDialog browser = new FileDialog(frame, "Save Animation As...", FileDialog.SAVE); |
---|
3284 | 3325 | browser.show(); |
---|
3285 | 3326 | String filename = browser.getFile(); |
---|
3286 | 3327 | if (filename != null && filename.length() > 0) |
---|
3287 | 3328 | { |
---|
3288 | | - CameraPane.filename = browser.getDirectory() + filename; |
---|
| 3329 | + Globals.filename = browser.getDirectory() + filename; |
---|
3289 | 3330 | //CameraPane.framecount = 0; |
---|
3290 | | - CameraPane.imagecount = 0; |
---|
| 3331 | + Globals.imagecount = 0; |
---|
3291 | 3332 | |
---|
3292 | | - CameraPane.ANIMATION ^= true; |
---|
| 3333 | + Globals.ANIMATION ^= true; |
---|
3293 | 3334 | |
---|
3294 | 3335 | GrafreeD.wav.cursor = 0; |
---|
3295 | 3336 | GrafreeD.wav.loop = 0; |
---|
3296 | 3337 | } |
---|
3297 | 3338 | } else |
---|
3298 | 3339 | { |
---|
3299 | | - CameraPane.ANIMATION ^= true; |
---|
| 3340 | + Globals.ANIMATION ^= true; |
---|
3300 | 3341 | } |
---|
3301 | 3342 | } |
---|
3302 | 3343 | |
---|
.. | .. |
---|
3549 | 3590 | //System.out.println("PARENT = " + parent); |
---|
3550 | 3591 | //if (parent != null) |
---|
3551 | 3592 | // parent.applySelf(); |
---|
3552 | | - refreshContents(); |
---|
| 3593 | + if (e.getSource() == normalpushField) |
---|
| 3594 | + { |
---|
| 3595 | + objEditor.refreshContents(); |
---|
| 3596 | + //Refresh(); |
---|
| 3597 | + } |
---|
| 3598 | + else |
---|
| 3599 | + refreshContents(); |
---|
3553 | 3600 | // ??? client.refreshEditWindow(); |
---|
3554 | 3601 | } |
---|
3555 | 3602 | //else |
---|
.. | .. |
---|
3561 | 3608 | //group.name = nameField.getText(); |
---|
3562 | 3609 | //objEditor.applySelf(); |
---|
3563 | 3610 | |
---|
3564 | | - assert (objEditor == this); |
---|
| 3611 | + // OCT2018: assert (objEditor == this); |
---|
3565 | 3612 | if (copy.selection == null || copy.selection.size() == 0) |
---|
3566 | 3613 | //super.applySelf() |
---|
3567 | 3614 | ; else |
---|
.. | .. |
---|
3585 | 3632 | objEditor.copy = keep; |
---|
3586 | 3633 | } |
---|
3587 | 3634 | } |
---|
| 3635 | + |
---|
| 3636 | + if (normalpushField != null) |
---|
| 3637 | + copy.NORMALPUSH = (float)normalpushField.getFloat()/1000; |
---|
3588 | 3638 | } |
---|
3589 | 3639 | |
---|
3590 | 3640 | void SnapObject() |
---|
.. | .. |
---|
4511 | 4561 | JScrollPane infoPanel; |
---|
4512 | 4562 | JPanel optionsPanel; |
---|
4513 | 4563 | JTabbedPane objectPanel; |
---|
4514 | | - JPanel XYZPanel; |
---|
| 4564 | + cGridBag XYZPanel; |
---|
4515 | 4565 | JSplitPane gridPanel; |
---|
4516 | 4566 | JSplitPane bigPanel; |
---|
4517 | | - JPanel bigThree; |
---|
4518 | | - JTabbedPane scenePanel; |
---|
4519 | | - JPanel centralPanel; |
---|
| 4567 | + cGridBag bigThree; |
---|
| 4568 | + cGridBag scenePanel; |
---|
| 4569 | + cGridBag centralPanel; |
---|
| 4570 | + JSplitPane cameraPanel; |
---|
4520 | 4571 | JPanel timelinePanel; |
---|
4521 | 4572 | JMenuBar timelineMenubar; |
---|
4522 | 4573 | JSplitPane framePanel; |
---|
.. | .. |
---|
4629 | 4680 | NumberSlider opacityPowerField; |
---|
4630 | 4681 | JTree jTree; |
---|
4631 | 4682 | //ObjectUI parent; |
---|
| 4683 | + |
---|
| 4684 | + NumberSlider normalpushField; |
---|
4632 | 4685 | } |
---|