From bed42c663d286d76a32f155049f9efabc2fdb73f Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Sun, 28 Apr 2019 20:48:43 -0400 Subject: [PATCH] New UI proto --- ObjEditor.java | 109 +++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 78 insertions(+), 31 deletions(-) diff --git a/ObjEditor.java b/ObjEditor.java index a0dc1a7..0ea0e59 100644 --- a/ObjEditor.java +++ b/ObjEditor.java @@ -19,6 +19,8 @@ import //weka.core. matrix.Matrix; +import grafeme.ui.*; + class ObjEditor /*extends JFrame*/ implements iCallBack, ObjectUI, ActionListener, ChangeListener, InputMethodListener, @@ -31,6 +33,9 @@ boolean timeline; boolean wasFullScreen; + GroupEditor callee; + JFrame frame; + // SCRIPT transient JFrame textpanel = null; @@ -121,14 +126,13 @@ void keyPressed(int key, int modifiers) { System.out.println("KEY PRESSED"); - CameraPane.theRenderer.keyPressed(key, modifiers); + Globals.theRenderer.keyPressed(key, modifiers); } */ static GridBagConstraints aConstraints; static GridBagConstraints aWindowConstraints; - GroupEditor callee; - JFrame frame; + static int GRIDWIDTH = 100; // 4; public void closeUI() @@ -160,12 +164,16 @@ objEditor.ctrlPanel.remove(slowerButton); objEditor.ctrlPanel.remove(fasterButton); objEditor.ctrlPanel.remove(remarkButton); + + Remove(normalpushField); } public ObjEditor GetEditor() { return objEditor; //.GetEditor(); } + + // Sometimes myself, sometimes my callee's. ObjEditor objEditor; /* @@ -305,7 +313,7 @@ toggleTextureItem.setState(CameraPane.textureon); cameraMenu.add(toggleLiveItem = new CheckboxMenuItem("Live")); toggleLiveItem.addItemListener(this); - toggleLiveItem.setState(CameraPane.isLIVE()); + toggleLiveItem.setState(Globals.isLIVE()); cameraMenu.add(stepItem = new MenuItem("Step")); stepItem.addActionListener(this); // cameraMenu.add(toggleDLItem = new CheckboxMenuItem("Display List")); @@ -814,7 +822,7 @@ aConstraints.fill = GridBagConstraints.VERTICAL; jlabel.setHorizontalAlignment(SwingConstants.TRAILING); - aConstraints.gridwidth = 2; + aConstraints.gridwidth = 1; ctrlPanel.add(jlabel, aConstraints); //, oe.ctrlPanel.getComponentCount()-1); aConstraints.gridx += 1; aConstraints.fill = GridBagConstraints.HORIZONTAL; @@ -983,6 +991,9 @@ Return(); + normalpushField = AddSlider(oe.ctrlPanel, "Push", -10, 10, 0, -1); + Return(); + // oe.ctrlPanel.add(stepButton = new cButton("Step"), ObjEditor.aConstraints, oe.ctrlPanel.getComponentCount() - 2); // ObjEditor.aConstraints.gridx += 1; @@ -1182,6 +1193,13 @@ timelinePanel = new JPanel(new BorderLayout()); timelineMenubar = new timeflow.app.TimeflowApp().TimeFlowWindow(timelinePanel); + cameraPanel = new JSplitPane(JSplitPane.VERTICAL_SPLIT, cameraView, timelinePanel); + cameraPanel.setContinuousLayout(true); + cameraPanel.setOneTouchExpandable(true); +// cameraPanel.setDividerLocation(0.9); +// cameraPanel.setDividerSize(9); + cameraPanel.setResizeWeight(1.0); + centralPanel.add(cameraView); //frame.setJMenuBar(timelineMenubar); //centralPanel.add(timelinePanel); @@ -1201,12 +1219,12 @@ //frontView.object = copy; //sideView.object = copy; - XYZPanel = new JPanel(); - XYZPanel.setLayout(new GridLayout(3, 1, 5, 5)); + XYZPanel = new cGridBag().setVertical(true); + //XYZPanel.setLayout(new GridLayout(3, 1, 5, 5)); - XYZPanel.add(/*BorderLayout.SOUTH,*/sideView); // Scroll); - XYZPanel.add(/*BorderLayout.CENTER,*/frontView); // Scroll); - XYZPanel.add(/*BorderLayout.NORTH,*/topView); // Scroll); + XYZPanel.addComponent(/*BorderLayout.SOUTH,*/sideView); // Scroll); + XYZPanel.addComponent(/*BorderLayout.CENTER,*/frontView); // Scroll); + XYZPanel.addComponent(/*BorderLayout.NORTH,*/topView); // Scroll); /* gridPanel = new JPanel(); //new BorderLayout()); @@ -1276,6 +1294,9 @@ optionsPanel = new JPanel(new GridBagLayout()); optionsPanel.setName("Options"); + + AddOptions(optionsPanel, aConstraints); + scenePanel.add(optionsPanel); @@ -1311,6 +1332,7 @@ //bigPanel.setSize(new Dimension(10,10)); //bigPanel.add(ctrlPanel); //bigPanel.add(gridPanel); + /** bigThree = new JPanel(); //big.setLayout(new FlowLayout(FlowLayout.LEFT)); bigThree.setLayout(new GridBagLayout()); //1,3,5,5)); @@ -1334,7 +1356,13 @@ // aConstraints.gridheight = 3; aWindowConstraints.fill = GridBagConstraints.VERTICAL; bigThree.add(XYZPanel, aWindowConstraints); + /**/ + bigThree = new cGridBag(); + bigThree.addComponent(scenePanel); + bigThree.addComponent(centralPanel); + bigThree.addComponent(XYZPanel); + // // SIDE EFFECT!!! // aConstraints.gridx = 0; // aConstraints.gridy = 0; @@ -1355,7 +1383,8 @@ //worldPane.add(bigPanel); //worldPane.add(worldPanel); /**/ - frame.getContentPane().add(/*"Center",*/framePanel); + //frame.getContentPane().add(/*"Center",*/framePanel); + frame.add(/*"Center",*/framePanel); //frame.getContentPane().add(/*"Center",*/ worldPane); // aConstraints = gbc; // (GridBagConstraints) GrafreeD.clone(gbc); @@ -1376,6 +1405,10 @@ }); } + void AddOptions(JPanel panel, GridBagConstraints constraints) + { + } + JTree GetTree() { return objEditor.jTree; @@ -1446,7 +1479,7 @@ aConstraints.gridx += 1; aConstraints.gridwidth = ObjEditor.GRIDWIDTH; //aConstraints.weightx = 0; - ctrlPanel.add(colorField = new NumberSlider(0.001, 1, -0.1), aConstraints); + ctrlPanel.add(colorField = new NumberSlider(0.001, 1, -0.5), aConstraints); aConstraints.gridx = 0; aConstraints.gridy += 1; aConstraints.gridwidth = 1; @@ -1456,7 +1489,7 @@ aConstraints.fill = GridBagConstraints.HORIZONTAL; aConstraints.gridx += 1; aConstraints.gridwidth = ObjEditor.GRIDWIDTH; - ctrlPanel.add(modulationField = new NumberSlider(0.001, 1, -0.1), aConstraints); + ctrlPanel.add(modulationField = new NumberSlider(0.001, 1, -0.5), aConstraints); aConstraints.gridx = 0; aConstraints.gridy += 1; aConstraints.gridwidth = 1; @@ -1466,7 +1499,7 @@ aConstraints.fill = GridBagConstraints.HORIZONTAL; aConstraints.gridx += 1; aConstraints.gridwidth = ObjEditor.GRIDWIDTH; - ctrlPanel.add(textureField = new NumberSlider(0.001, 1, -0.1), aConstraints); + ctrlPanel.add(textureField = new NumberSlider(0.001, 1, -0.5), aConstraints); aConstraints.gridx = 0; aConstraints.gridy += 1; aConstraints.gridwidth = 1; @@ -1476,7 +1509,7 @@ aConstraints.fill = GridBagConstraints.HORIZONTAL; aConstraints.gridx += 1; aConstraints.gridwidth = ObjEditor.GRIDWIDTH; - ctrlPanel.add(anisoField = new NumberSlider(0.001, 1, -0.1), aConstraints); + ctrlPanel.add(anisoField = new NumberSlider(0.001, 1, -0.5), aConstraints); aConstraints.gridx = 0; aConstraints.gridy += 1; aConstraints.gridwidth = 1; @@ -1486,7 +1519,7 @@ aConstraints.fill = GridBagConstraints.HORIZONTAL; aConstraints.gridx += 1; aConstraints.gridwidth = ObjEditor.GRIDWIDTH; - ctrlPanel.add(anisoVField = new NumberSlider(0.001, 1, -0.1), aConstraints); + ctrlPanel.add(anisoVField = new NumberSlider(0.001, 1, -0.5), aConstraints); aConstraints.gridx = 0; aConstraints.gridy += 1; aConstraints.gridwidth = 1; @@ -1555,7 +1588,7 @@ aConstraints.fill = GridBagConstraints.HORIZONTAL; aConstraints.gridx += 1; aConstraints.gridwidth = ObjEditor.GRIDWIDTH; - ctrlPanel.add(subsurfaceField = new NumberSlider(0.001, 1, -0.1), aConstraints); + ctrlPanel.add(subsurfaceField = new NumberSlider(0.001, 1, -0.5), aConstraints); aConstraints.gridx = 0; aConstraints.gridy += 1; aConstraints.gridwidth = 1; @@ -1624,7 +1657,7 @@ aConstraints.fill = GridBagConstraints.HORIZONTAL; aConstraints.gridx += 1; aConstraints.gridwidth = ObjEditor.GRIDWIDTH; - ctrlPanel.add(metalnessField = new NumberSlider(0.001, 1, -0.1), aConstraints); + ctrlPanel.add(metalnessField = new NumberSlider(0.001, 1, -0.5), aConstraints); aConstraints.gridx = 0; aConstraints.gridy += 1; aConstraints.gridwidth = 1; @@ -1695,7 +1728,7 @@ aConstraints.fill = GridBagConstraints.HORIZONTAL; aConstraints.gridx += 1; aConstraints.gridwidth = ObjEditor.GRIDWIDTH; - ctrlPanel.add(opacityField = new NumberSlider(0.001, 1, -0.1), aConstraints); + ctrlPanel.add(opacityField = new NumberSlider(0.001, 1, -0.5), aConstraints); aConstraints.gridx = 0; aConstraints.gridy += 1; aConstraints.gridwidth = 1; @@ -2989,7 +3022,8 @@ if (timeline) { centralPanel.remove(cameraView); - centralPanel.add(timelinePanel); + cameraPanel.add(cameraView); + centralPanel.add(cameraPanel); frame.setJMenuBar(timelineMenubar); wasFullScreen = CameraPane.FULLSCREEN; if (!CameraPane.FULLSCREEN) @@ -2998,7 +3032,7 @@ } else { - centralPanel.remove(timelinePanel); + centralPanel.remove(cameraPanel); centralPanel.add(cameraView); frame.setJMenuBar(null); if (!wasFullScreen) @@ -3121,7 +3155,8 @@ objEditor.refreshContents(); } else if (event.getSource() == stepItem) { - cameraView.ONESTEP = true; + //cameraView.ONESTEP = true; + Globals.ONESTEP = true; cameraView.repaint(); return; } else if (event.getSource() == stepButton) @@ -3278,25 +3313,25 @@ void ToggleAnimation() { - if (!CameraPane.ANIMATION) + if (!Globals.ANIMATION) { FileDialog browser = new FileDialog(frame, "Save Animation As...", FileDialog.SAVE); browser.show(); String filename = browser.getFile(); if (filename != null && filename.length() > 0) { - CameraPane.filename = browser.getDirectory() + filename; + Globals.filename = browser.getDirectory() + filename; //CameraPane.framecount = 0; - CameraPane.imagecount = 0; + Globals.imagecount = 0; - CameraPane.ANIMATION ^= true; + Globals.ANIMATION ^= true; GrafreeD.wav.cursor = 0; GrafreeD.wav.loop = 0; } } else { - CameraPane.ANIMATION ^= true; + Globals.ANIMATION ^= true; } } @@ -3549,7 +3584,13 @@ //System.out.println("PARENT = " + parent); //if (parent != null) // parent.applySelf(); - refreshContents(); + if (e.getSource() == normalpushField) + { + objEditor.refreshContents(); + //Refresh(); + } + else + refreshContents(); // ??? client.refreshEditWindow(); } //else @@ -3561,7 +3602,7 @@ //group.name = nameField.getText(); //objEditor.applySelf(); - assert (objEditor == this); + // OCT2018: assert (objEditor == this); if (copy.selection == null || copy.selection.size() == 0) //super.applySelf() ; else @@ -3585,6 +3626,9 @@ objEditor.copy = keep; } } + + if (normalpushField != null) + copy.NORMALPUSH = (float)normalpushField.getFloat()/1000; } void SnapObject() @@ -4511,12 +4555,13 @@ JScrollPane infoPanel; JPanel optionsPanel; JTabbedPane objectPanel; - JPanel XYZPanel; + cGridBag XYZPanel; JSplitPane gridPanel; JSplitPane bigPanel; - JPanel bigThree; + cGridBag bigThree; JTabbedPane scenePanel; JPanel centralPanel; + JSplitPane cameraPanel; JPanel timelinePanel; JMenuBar timelineMenubar; JSplitPane framePanel; @@ -4629,4 +4674,6 @@ NumberSlider opacityPowerField; JTree jTree; //ObjectUI parent; + + NumberSlider normalpushField; } -- Gitblit v1.6.2