From c209bbe1cf788c9af3dcffea7667c830170a3f1f Mon Sep 17 00:00:00 2001 From: Normand Briere <nbriere@noware.ca> Date: Wed, 01 May 2019 20:30:51 -0400 Subject: [PATCH] Complete advanced mode. --- ObjEditor.java | 481 +++++++++++++++++++++++++++++----------------------- 1 files changed, 267 insertions(+), 214 deletions(-) diff --git a/ObjEditor.java b/ObjEditor.java index e07d192..afb7487 100644 --- a/ObjEditor.java +++ b/ObjEditor.java @@ -138,34 +138,41 @@ public void closeUI() { //new Exception().printStackTrace(); - System.out.println("this = " + this); - System.out.println("objEditor = " + objEditor); +// System.out.println("this = " + this); +// System.out.println("objEditor = " + objEditor); //nameField.removeActionListener(this); - objEditor.ctrlPanel.remove(nameField); +// objEditor.ctrlPanel.remove(nameField); + + objEditor.ctrlPanel.remove(namePanel); if (!GroupEditor.allparams) return; - objEditor.ctrlPanel.remove(liveCB); - objEditor.ctrlPanel.remove(hideCB); - objEditor.ctrlPanel.remove(markCB); - - objEditor.ctrlPanel.remove(randomCB); - objEditor.ctrlPanel.remove(speedupCB); - objEditor.ctrlPanel.remove(rewindCB); - - objEditor.ctrlPanel.remove(resetButton); - objEditor.ctrlPanel.remove(stepButton); -// objEditor.ctrlPanel.remove(stepAllButton); -// objEditor.ctrlPanel.remove(resetAllButton); - objEditor.ctrlPanel.remove(link2masterCB); - //objEditor.ctrlPanel.remove(flipVCB); - //objEditor.ctrlPanel.remove(texresMenu); - objEditor.ctrlPanel.remove(slowerButton); - objEditor.ctrlPanel.remove(fasterButton); - objEditor.ctrlPanel.remove(remarkButton); +// objEditor.ctrlPanel.remove(liveCB); +// objEditor.ctrlPanel.remove(hideCB); +// objEditor.ctrlPanel.remove(markCB); +// +// objEditor.ctrlPanel.remove(randomCB); +// objEditor.ctrlPanel.remove(speedupCB); +// objEditor.ctrlPanel.remove(rewindCB); +// +// objEditor.ctrlPanel.remove(resetButton); +// objEditor.ctrlPanel.remove(stepButton); +//// objEditor.ctrlPanel.remove(stepAllButton); +//// objEditor.ctrlPanel.remove(resetAllButton); +// objEditor.ctrlPanel.remove(link2masterCB); +// //objEditor.ctrlPanel.remove(flipVCB); +// //objEditor.ctrlPanel.remove(texresMenu); +// objEditor.ctrlPanel.remove(slowerButton); +// objEditor.ctrlPanel.remove(fasterButton); +// objEditor.ctrlPanel.remove(remarkButton); - Remove(normalpushField); + objEditor.ctrlPanel.remove(setupPanel); + objEditor.ctrlPanel.remove(commandsPanel); + objEditor.ctrlPanel.remove(pushPanel); + //objEditor.ctrlPanel.remove(fillPanel); + + //Remove(normalpushField); } public ObjEditor GetEditor() @@ -302,44 +309,60 @@ //normalLensItem.addActionListener(this); cameraMenu.add(revertCameraItem = new MenuItem("Revert Camera")); revertCameraItem.addActionListener(this); - cameraMenu.add(toggleTimelineItem = new CheckboxMenuItem("Timeline")); - toggleTimelineItem.addItemListener(this); + cameraMenu.add(toggleFullScreenItem = new CheckboxMenuItem("Full Screen")); toggleFullScreenItem.addItemListener(this); toggleFullScreenItem.setState(CameraPane.FULLSCREEN); cameraMenu.add("-"); + cameraMenu.add(toggleTextureItem = new CheckboxMenuItem("Texture")); toggleTextureItem.addItemListener(this); toggleTextureItem.setState(CameraPane.textureon); - cameraMenu.add(toggleLiveItem = new CheckboxMenuItem("Live")); - toggleLiveItem.addItemListener(this); - toggleLiveItem.setState(Globals.isLIVE()); - cameraMenu.add(stepItem = new MenuItem("Step")); - stepItem.addActionListener(this); -// cameraMenu.add(toggleDLItem = new CheckboxMenuItem("Display List")); -// toggleDLItem.addItemListener(this); -// toggleDLItem.setState(false); - cameraMenu.add(toggleRenderItem = new CheckboxMenuItem("Render")); - toggleRenderItem.addItemListener(this); - toggleRenderItem.setState(!CameraPane.frozen); - cameraMenu.add(toggleDebugItem = new CheckboxMenuItem("Debug")); - toggleDebugItem.addItemListener(this); - toggleDebugItem.setState(CameraPane.DEBUG); - cameraMenu.add(toggleFrustumItem = new CheckboxMenuItem("Frustum")); - toggleFrustumItem.addItemListener(this); - toggleFrustumItem.setState(CameraPane.FRUSTUM); - cameraMenu.add(toggleFootContactItem = new CheckboxMenuItem("Foot contact")); - toggleFootContactItem.addItemListener(this); - toggleFootContactItem.setState(CameraPane.FOOTCONTACT); - cameraMenu.add(toggleRandomItem = new CheckboxMenuItem("Random")); - toggleRandomItem.addItemListener(this); - toggleRandomItem.setState(CameraPane.RANDOM); + + if (Globals.ADVANCED) + { + cameraMenu.add(toggleLiveItem = new CheckboxMenuItem("Live")); + toggleLiveItem.addItemListener(this); + toggleLiveItem.setState(Globals.isLIVE()); + + cameraMenu.add(stepItem = new MenuItem("Step")); + stepItem.addActionListener(this); + // cameraMenu.add(toggleDLItem = new CheckboxMenuItem("Display List")); + // toggleDLItem.addItemListener(this); + // toggleDLItem.setState(false); + + cameraMenu.add(toggleRenderItem = new CheckboxMenuItem("Render")); + toggleRenderItem.addItemListener(this); + toggleRenderItem.setState(!CameraPane.frozen); + + cameraMenu.add(toggleDebugItem = new CheckboxMenuItem("Debug")); + toggleDebugItem.addItemListener(this); + toggleDebugItem.setState(CameraPane.DEBUG); + + cameraMenu.add(toggleFrustumItem = new CheckboxMenuItem("Frustum")); + toggleFrustumItem.addItemListener(this); + toggleFrustumItem.setState(CameraPane.FRUSTUM); + + cameraMenu.add(toggleFootContactItem = new CheckboxMenuItem("Foot contact")); + toggleFootContactItem.addItemListener(this); + toggleFootContactItem.setState(CameraPane.FOOTCONTACT); + + cameraMenu.add(toggleTimelineItem = new CheckboxMenuItem("Timeline")); + toggleTimelineItem.addItemListener(this); + } + + cameraMenu.add(toggleSwitchItem = new CheckboxMenuItem("Switch")); + toggleSwitchItem.addItemListener(this); + toggleSwitchItem.setState(CameraPane.SWITCH); + cameraMenu.add(toggleHandleItem = new CheckboxMenuItem("Handles")); toggleHandleItem.addItemListener(this); toggleHandleItem.setState(CameraPane.HANDLES); + cameraMenu.add(togglePaintItem = new CheckboxMenuItem("Paint mode")); togglePaintItem.addItemListener(this); togglePaintItem.setState(CameraPane.PAINTMODE); + // cameraMenu.add(toggleRootItem = new CheckboxMenuItem("Alternate Root")); // toggleRootItem.addItemListener(this); // toggleRootItem.setState(false); @@ -353,21 +376,23 @@ objectPanel = new JTabbedPane(); toolbarPanel = new JPanel(); toolbarPanel.setName("Toolbar"); - treePanel = new JPanel(); + treePanel = new cGridBag(); treePanel.setName("Tree"); - ctrlPanel = new cGridBag(); // new GridBagLayout()); + ctrlPanel = new cGridBag().setVertical(false); // new GridBagLayout()); ctrlPanel.setName("Edit"); materialPanel = new cGridBag().setVertical(true); materialPanel.setName("Material"); /*JTextPane*/ infoarea = createTextPane(); + doc = infoarea.getStyledDocument(); + infoarea.setEditable(true); SetText(); // infoarea.setFont(infoarea.getFont().deriveFont(10, 14f)); // infoarea.setOpaque(false); // //infoarea.setForeground(textcolor); - infoarea.setLineWrap(true); - infoarea.setWrapStyleWord(true); +// TEXTAREA infoarea.setLineWrap(true); +// TEXTAREA infoarea.setWrapStyleWord(true); infoPanel = new JScrollPane(infoarea, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //AS_NEEDED); infoPanel.setPreferredSize(new Dimension(50, 200)); infoPanel.setName("Info"); @@ -378,15 +403,15 @@ mainPanel.setName("Main"); mainPanel.setContinuousLayout(true); mainPanel.setOneTouchExpandable(true); - mainPanel.setDividerLocation(1.0); mainPanel.setDividerSize(9); - mainPanel.setResizeWeight(0); + mainPanel.setDividerLocation(0.5); //1.0); + mainPanel.setResizeWeight(0.5); //ctrlPanel.setLayout(new GridLayout(4, 1, 5, 5)); //mainPanel.setLayout(new GridBagLayout()); toolbarPanel.setLayout(new FlowLayout(FlowLayout.LEFT)); - treePanel.setLayout(new GridBagLayout()); - ctrlPanel.setLayout(new GridBagLayout()); +// treePanel.setLayout(new GridBagLayout()); + //ctrlPanel.setLayout(new GridBagLayout()); //materialPanel.setLayout(new GridBagLayout()); aConstraints = new GridBagConstraints(0, 0, 1, 1, 1.0, 1.0, @@ -426,7 +451,7 @@ static String newline = "\n"; protected static final String buttonString = "JButton"; StyledDocument doc; - JTextArea infoarea; + JTextPane infoarea; void ClearInfo() { @@ -493,7 +518,10 @@ } if (full) - si.SendInfo(" BBox: " + minima + " - " + maxima, "regular"); + { + si.SendInfo(" BBox min: " + minima, "regular"); + si.SendInfo(" BBox max: " + maxima, "regular"); + } if (sel.bRep != null) { @@ -591,6 +619,9 @@ { CameraPane.pointflow = (PointFlow) sel; } + + si.SendInfo("_____________________", "regular"); + si.SendInfo("", "regular"); } } @@ -622,52 +653,52 @@ cameraView.ToggleFullScreen(); } - private JTextArea createTextPane() + private JTextPane createTextPane() { - String[] initString = - { - "This is an editable JTextPane, ", //regular - "another ", //italic - "styled ", //bold - "text ", //small - "component, ", //large - "which supports embedded components..." + newline,//regular - " " + newline, //button - "...and embedded icons..." + newline, //regular - " ", //icon - newline + "JTextPane is a subclass of JEditorPane that " - + "uses a StyledEditorKit and StyledDocument, and provides " - + "cover methods for interacting with those objects." - }; +// TEXTAREA String[] initString = +// { +// "This is an editable JTextPane, ", //regular +// "another ", //italic +// "styled ", //bold +// "text ", //small +// "component, ", //large +// "which supports embedded components..." + newline,//regular +// " " + newline, //button +// "...and embedded icons..." + newline, //regular +// " ", //icon +// newline + "JTextPane is a subclass of JEditorPane that " +// + "uses a StyledEditorKit and StyledDocument, and provides " +// + "cover methods for interacting with those objects." +// }; +// +// String[] initStyles = +// { +// "regular", "italic", "bold", "small", "large", +// "regular", "button", "regular", "icon", +// "regular" +// }; +// +// JTextPane textPane = new JTextPane(); +// textPane.setEditable(true); +// /*StyledDocument*/ doc = textPane.getStyledDocument(); +// addStylesToDocument(doc); +// +// try +// { +// for (int j = 0; j < 2; j++) +// { +// for (int i = 0; i < initString.length; i++) +// { +// doc.insertString(doc.getLength(), initString[i], +// doc.getStyle(initStyles[i])); +// } +// } +// } catch (BadLocationException ble) +// { +// System.err.println("Couldn't insert initial text into text pane."); +// } - String[] initStyles = - { - "regular", "italic", "bold", "small", "large", - "regular", "button", "regular", "icon", - "regular" - }; - - JTextPane textPane = new JTextPane(); - textPane.setEditable(true); - /*StyledDocument*/ doc = textPane.getStyledDocument(); - addStylesToDocument(doc); - - try - { - for (int j = 0; j < 2; j++) - { - for (int i = 0; i < initString.length; i++) - { - doc.insertString(doc.getLength(), initString[i], - doc.getStyle(initStyles[i])); - } - } - } catch (BadLocationException ble) - { - System.err.println("Couldn't insert initial text into text pane."); - } - - return new JTextArea(); // textPane; + return new JTextPane(); // textPane; } protected void addStylesToDocument(StyledDocument doc) @@ -767,54 +798,44 @@ JButton slowerButton; JButton fasterButton; JButton remarkButton; + + cGridBag namePanel; + cGridBag setupPanel; + cGridBag commandsPanel; + cGridBag pushPanel; + cGridBag fillPanel; - JCheckBox AddCheckBox(ObjEditor oe, String label, boolean on) + JCheckBox AddCheckBox(cGridBag panel, String label, boolean on) { JCheckBox cb; - oe.aConstraints.fill = GridBagConstraints.HORIZONTAL; - oe.aConstraints.gridwidth = 1; // 3; -// oe.aConstraints.weightx = 1; -// oe.aConstraints.anchor = GridBagConstraints.WEST; - oe.ctrlPanel.add(cb = new JCheckBox(label, on), oe.aConstraints); //, oe.ctrlPanel.getComponentCount()-1); + panel.add(cb = new JCheckBox(label, on)); //, oe.aConstraints); //, oe.ctrlPanel.getComponentCount()-1); cb.addItemListener(this); -// oe.aConstraints.anchor = GridBagConstraints.EAST; - oe.aConstraints.gridwidth = 1; - oe.aConstraints.gridx += 1; return cb; } - cButton AddButton(ObjEditor oe, String label) + cButton AddButton(cGridBag panel, String label) { cButton cb; - oe.aConstraints.fill = GridBagConstraints.HORIZONTAL; - oe.aConstraints.gridwidth = 1; -// oe.aConstraints.weightx = 1; -// oe.aConstraints.anchor = GridBagConstraints.WEST; - oe.ctrlPanel.add(cb = new cButton(label), oe.aConstraints, oe.ctrlPanel.getComponentCount() - 1); + panel.add(cb = new cButton(label)); //, oe.aConstraints, oe.ctrlPanel.getComponentCount() - 1); cb.addActionListener(this); -// oe.aConstraints.anchor = GridBagConstraints.EAST; - oe.aConstraints.gridwidth = 1; - oe.aConstraints.gridx += 1; return cb; } - JComboBox AddCombo(ObjEditor oe, java.util.Vector list, int item) + JComboBox AddCombo(cGridBag panel, java.util.Vector list, int item) { JComboBox combo; - oe.aConstraints.fill = GridBagConstraints.HORIZONTAL; - oe.ctrlPanel.add(combo = new JComboBox(new cListModel(list, item)), oe.aConstraints); //, oe.ctrlPanel.getComponentCount()-1); - oe.aConstraints.gridx += 1; + panel.add(combo = new JComboBox(new cListModel(list, item))); //, oe.aConstraints); //, oe.ctrlPanel.getComponentCount()-1); combo.addActionListener(this); return combo; } - cNumberSlider AddSlider(cGridBag ctrlPanel, String label, double min, double max, double current, double pow) + cGridBag AddSlider(cGridBag panel, String label, double min, double max, double current, double pow) { cGridBag control = new cGridBag(); @@ -826,12 +847,12 @@ control.add(combo = new cNumberSlider(this, min, max, pow)); //, aConstraints); //, oe.ctrlPanel.getComponentCount()-1); combo.setFloat(current); - ctrlPanel.add(control); + panel.add(control); - return combo; + return control; } - cNumberSlider AddSlider(cGridBag ctrlPanel, String label, int min, int max, int current) + cGridBag AddSlider(cGridBag panel, String label, int min, int max, int current) { cGridBag control = new cGridBag(); @@ -839,25 +860,21 @@ JLabel jlabel = new JLabel(label); jlabel.setHorizontalAlignment(SwingConstants.TRAILING); - ctrlPanel.add(jlabel); //, aConstraints); //, oe.ctrlPanel.getComponentCount()-1); - ctrlPanel.add(combo = new cNumberSlider(this, min, max)); //, aConstraints); //, oe.ctrlPanel.getComponentCount()-1); + control.add(jlabel); //, aConstraints); //, oe.ctrlPanel.getComponentCount()-1); + control.add(combo = new cNumberSlider(this, min, max)); //, aConstraints); //, oe.ctrlPanel.getComponentCount()-1); combo.setInteger(current); - ctrlPanel.add(control); + panel.add(control); - return combo; + return control; } JTextArea AddText(cGridBag ctrlPanel, String name) { JTextArea text; - aConstraints.fill = GridBagConstraints.HORIZONTAL; - aConstraints.gridwidth = ObjEditor.GRIDWIDTH; ctrlPanel.add(text = new JTextArea(name)); //, aConstraints); //, oe.ctrlPanel.getComponentCount()-1); text.addCaretListener(this); - aConstraints.gridx += 1; - aConstraints.gridwidth = 1; return text; } @@ -896,7 +913,7 @@ /* */ - void Return() // ObjEditor oe) + void Return0() // ObjEditor oe) { aConstraints.gridy += 1; aConstraints.gridx = 0; @@ -951,37 +968,70 @@ void SetupUI2(ObjEditor oe) { -// oe.aConstraints.weightx = 0; -// oe.aConstraints.weighty = 0; -// oe.aConstraints.gridx = 0; -// oe.aConstraints.gridy = 0; - SetupName(oe); + //SetupName(oe); + + namePanel = new cGridBag(); + + nameField = AddText(namePanel, copy.GetName()); + namePanel.add(nameField); + oe.ctrlPanel.add(namePanel); + + oe.ctrlPanel.Return(); if (!GroupEditor.allparams) return; - liveCB = AddCheckBox(oe, "Live", copy.live); - link2masterCB = AddCheckBox(oe, "Supp", copy.link2master); - hideCB = AddCheckBox(oe, "Hide", copy.hide); + setupPanel = new cGridBag().setVertical(false); + + liveCB = AddCheckBox(setupPanel, "Live", copy.live); + liveCB.setToolTipText("Animate object"); + hideCB = AddCheckBox(setupPanel, "Hide", copy.hide); + hideCB.setToolTipText("Hide object"); // Return(); - markCB = AddCheckBox(oe, "Mark", copy.marked); - rewindCB = AddCheckBox(oe, "Rew", copy.rewind); - randomCB = AddCheckBox(oe, "Rand", copy.random); - Return(); - resetButton = AddButton(oe, "Reset"); - stepButton = AddButton(oe, "Step"); + markCB = AddCheckBox(setupPanel, "Mark", copy.marked); + markCB.setToolTipText("Set the animation target transform"); + + rewindCB = AddCheckBox(setupPanel, "Rewind", copy.rewind); + rewindCB.setToolTipText("Rewind animation"); + + randomCB = AddCheckBox(setupPanel, "Random", copy.random); + randomCB.setToolTipText("Option for switch node"); + + if (Globals.ADVANCED) + { + link2masterCB = AddCheckBox(setupPanel, "Support", copy.link2master); + link2masterCB.setToolTipText("Attach to support"); + speedupCB = AddCheckBox(setupPanel, "Speed", copy.speedup); + speedupCB.setToolTipText("Option motion capture"); + } + + oe.ctrlPanel.add(setupPanel); + oe.ctrlPanel.Return(); + + commandsPanel = new cGridBag().setVertical(false); + + resetButton = AddButton(commandsPanel, "Reset"); + resetButton.setToolTipText("Jump to frame zero"); + stepButton = AddButton(commandsPanel, "Step"); + stepButton.setToolTipText("Step one frame"); // resetAllButton = AddButton(oe, "Reset All"); // stepAllButton = AddButton(oe, "Step All"); - speedupCB = AddCheckBox(oe, "Speed", copy.speedup); // Return(); - slowerButton = AddButton(oe, "Slow"); - fasterButton = AddButton(oe, "Fast"); - remarkButton = AddButton(oe, "Rem"); + slowerButton = AddButton(commandsPanel, "Slow"); + slowerButton.setToolTipText("Decrease animation speed"); + fasterButton = AddButton(commandsPanel, "Fast"); + fasterButton.setToolTipText("Increase animation speed"); + remarkButton = AddButton(commandsPanel, "Remark"); + remarkButton.setToolTipText("Set the current transform as the target"); - Return(); + oe.ctrlPanel.add(commandsPanel); + oe.ctrlPanel.Return(); - normalpushField = AddSlider(oe.ctrlPanel, "Push", -10, 10, 0, -1); - Return(); + pushPanel = AddSlider(oe.ctrlPanel, "Push", -10, 10, 0, 1); + normalpushField = (cNumberSlider)pushPanel.getComponent(1); + //Return(); + + oe.ctrlPanel.Return(); // oe.ctrlPanel.add(stepButton = new cButton("Step"), ObjEditor.aConstraints, oe.ctrlPanel.getComponentCount() - 2); // ObjEditor.aConstraints.gridx += 1; @@ -1076,7 +1126,7 @@ oe.aConstraints.gridwidth = 1; /**/ nameField = AddText(oe.ctrlPanel, copy.GetName()); - Return(); + oe.ctrlPanel.Return(); //ctrlPanel.add(textureButton = new Button("Texture...")); //textureButton.setEnabled(false); @@ -1253,10 +1303,11 @@ //JScrollPane tmp = new JScrollPane(ctrlPanel, ScrollPaneConstants.VERTICAL_SCROLLBAR_AS_NEEDED, ScrollPaneConstants.HORIZONTAL_SCROLLBAR_NEVER); //tmp.setName("Edit"); objectPanel.add(materialPanel); - JPanel north = new JPanel(new BorderLayout()); - north.setName("Edit"); - north.add(ctrlPanel, BorderLayout.NORTH); - objectPanel.add(north); +// JPanel north = new JPanel(new BorderLayout()); +// north.setName("Edit"); +// north.add(ctrlPanel, BorderLayout.NORTH); +// objectPanel.add(north); + objectPanel.add(ctrlPanel); objectPanel.add(infoPanel); /* @@ -1415,7 +1466,7 @@ ctrlPanel.removeAll(); } - void SetupMaterial(cGridBag ctrlPanel) + void SetupMaterial(cGridBag panel) { /* ctrlPanel.add(materialLabel = new JLabel("MATERIAL : "), aConstraints); @@ -1424,18 +1475,26 @@ cGridBag editBar = new cGridBag().setVertical(false); - editBar.add(createMaterialButton = new cButton("Create")); // , aConstraints); + editBar.add(createMaterialButton = new cButton("Create", !GrafreeD.NIMBUSLAF)); // , aConstraints); + createMaterialButton.setToolTipText("Create material"); /* ctrlPanel.add(resetSlidersButton = new cButton("Reset All"), aConstraints); */ - editBar.add(clearMaterialButton = new cButton("Clear")); // , aConstraints); - editBar.add(resetSlidersButton = new cButton("Reset")); // , aConstraints); - editBar.add(propagateToggle = new cCheckBox("Prop", propagate)); // , aConstraints); - editBar.add(multiplyToggle = new cCheckBox("Mult", false)); // , aConstraints); + editBar.add(clearMaterialButton = new cButton("Clear", !GrafreeD.NIMBUSLAF)); // , aConstraints); + clearMaterialButton.setToolTipText("Clear material"); + + if (Globals.ADVANCED) + { + editBar.add(resetSlidersButton = new cButton("Reset", !GrafreeD.NIMBUSLAF)); // , aConstraints); + editBar.add(propagateToggle = new cCheckBox("Prop", propagate)); // , aConstraints); + editBar.add(multiplyToggle = new cCheckBox("Mult", false)); // , aConstraints); + } - ctrlPanel.add(editBar); + editBar.preferredHeight = 15; + + panel.add(editBar); /**/ //aConstraints.weighty = 0; @@ -1445,17 +1504,13 @@ //aConstraints.gridx += 1; //ctrlPanel.add(new JLabel("----------------------------------")); // , aConstraints); - JPanel colorPanel = new JPanel(new BorderLayout()); - colorPanel.setBorder(BorderFactory.createLineBorder(Color.black)); - cGridBag colorSection = new cGridBag().setVertical(true); - - colorPanel.add(colorSection); cGridBag color = new cGridBag(); color.add(colorLabel = new JLabel("Color/hue")); // , aConstraints); colorLabel.setHorizontalAlignment(SwingConstants.TRAILING); color.add(colorField = new cNumberSlider(this, 0.001, 1, -0.5)); // , aConstraints); + //colorField.preferredWidth = 200; colorSection.add(color); cGridBag modulation = new cGridBag(); @@ -1488,16 +1543,13 @@ shadowbias.add(shadowbiasField = new cNumberSlider(this, 0.001, 50, -1)); // , aConstraints); colorSection.add(shadowbias); - ctrlPanel.add(colorPanel); + panel.add(new JSeparator()); + + panel.add(colorSection); //ctrlPanel.add(new JLabel("----------------------------------")); // , aConstraints); - JPanel diffusePanel = new JPanel(new BorderLayout()); - diffusePanel.setBorder(BorderFactory.createLineBorder(Color.black)); - cGridBag diffuseSection = new cGridBag().setVertical(true); - - diffusePanel.add(diffuseSection); cGridBag diffuse = new cGridBag(); diffuse.add(diffuseLabel = new JLabel("Diffuse")); // , aConstraints); @@ -1541,16 +1593,13 @@ fakedepth.add(fakedepthField = new cNumberSlider(this, 0.001, 50, -1)); // , aConstraints); diffuseSection.add(fakedepth); - ctrlPanel.add(diffusePanel); + panel.add(new JSeparator()); + + panel.add(diffuseSection); //ctrlPanel.add(new JLabel("----------------------------------")); // , aConstraints); - JPanel specularPanel = new JPanel(new BorderLayout()); - specularPanel.setBorder(BorderFactory.createLineBorder(Color.black)); - cGridBag specularSection = new cGridBag().setVertical(true); - - specularPanel.add(specularSection); cGridBag specular = new cGridBag(); specular.add(specularLabel = new JLabel("Specular")); // , aConstraints); @@ -1582,7 +1631,7 @@ velvet.add(velvetField = new cNumberSlider(this, 0.001, 50, -1)); // , aConstraints); specularSection.add(velvet); - shiftField = AddSlider(specularSection, "Shift", 0.001, 50, copy.material.shift, -1); + shiftField = (cNumberSlider)AddSlider(specularSection, "Shift", 0.001, 50, copy.material.shift, -1).getComponent(1); //Return(); // ctrlPanel.add(shiftLabel = new JLabel("Shift"), aConstraints); // shiftLabel.setHorizontalAlignment(SwingConstants.TRAILING); @@ -1595,16 +1644,13 @@ // aConstraints.gridwidth = 1; - ctrlPanel.add(specularPanel); + panel.add(new JSeparator()); + + panel.add(specularSection); //ctrlPanel.add(new JLabel("----------------------------------")); // , aConstraints); - JPanel globalPanel = new JPanel(new BorderLayout()); - globalPanel.setBorder(BorderFactory.createLineBorder(Color.black)); - cGridBag globalSection = new cGridBag().setVertical(true); - - globalPanel.add(globalSection); cGridBag camera = new cGridBag(); camera.add(cameraLabel = new JLabel("GlobalLight")); // , aConstraints); @@ -1630,16 +1676,13 @@ opacity.add(opacityField = new cNumberSlider(this, 0.001, 1, -0.5)); // , aConstraints); globalSection.add(opacity); - ctrlPanel.add(globalPanel); + panel.add(new JSeparator()); + + panel.add(globalSection); //ctrlPanel.add(new JLabel("----------------------------------")); // , aConstraints); - JPanel texturePanel = new JPanel(new BorderLayout()); - texturePanel.setBorder(BorderFactory.createLineBorder(Color.black)); - cGridBag textureSection = new cGridBag().setVertical(true); - - texturePanel.add(textureSection); cGridBag bump = new cGridBag(); bump.add(bumpLabel = new JLabel("Bump")); // , aConstraints); @@ -1677,7 +1720,9 @@ opacityPower.add(opacityPowerField = new cNumberSlider(this, 0.0, 10 /*10 dec 2013*/)); // , aConstraints); textureSection.add(opacityPower); - ctrlPanel.add(texturePanel); + panel.add(new JSeparator()); + + panel.add(textureSection); //ctrlPanel.add(new JLabel("----------------------------------")); // , aConstraints); @@ -1714,12 +1759,15 @@ opacityPowerField.addChangeListener(this); /**/ - resetSlidersButton.addActionListener(this); clearMaterialButton.addActionListener(this); createMaterialButton.addActionListener(this); - - propagateToggle.addItemListener(this); - multiplyToggle.addItemListener(this); + + if (Globals.ADVANCED) + { + resetSlidersButton.addActionListener(this); + propagateToggle.addItemListener(this); + multiplyToggle.addItemListener(this); + } } void DropFile(java.io.File[] files, boolean textures) @@ -2496,6 +2544,7 @@ } if (input == null) { + new Exception().printStackTrace(); System.exit(0); } @@ -2710,7 +2759,8 @@ return; } - multiplyToggle.setSelected(mat.multiply); + if (multiplyToggle != null) + multiplyToggle.setSelected(mat.multiply); assert (object.projectedVertices != null); @@ -2925,7 +2975,7 @@ frame.validate(); return; - } else if (event.getSource() == toggleRandomItem) + } else if (event.getSource() == toggleSwitchItem) { cameraView.ToggleRandom(); cameraView.repaint(); @@ -2970,6 +3020,7 @@ if (event.getSource() == randomCB) { copy.random ^= true; + objEditor.refreshContents(); return; } if (event.getSource() == speedupCB) @@ -3193,7 +3244,7 @@ if (!Globals.ANIMATION) { FileDialog browser = new FileDialog(frame, "Save Animation As...", FileDialog.SAVE); - browser.show(); + browser.setVisible(true); String filename = browser.getFile(); if (filename != null && filename.length() > 0) { @@ -3225,6 +3276,7 @@ callee.refreshContents(); } else { + new Exception().printStackTrace(); System.exit(0); } } @@ -3254,7 +3306,7 @@ void CreateMaterial() { //copy.ClearMaterial(); // PATCH - copy.CreateMaterialS(multiplyToggle.isSelected()); + copy.CreateMaterialS(multiplyToggle != null && multiplyToggle.isSelected()); if (copy.selection.size() > 0) //SetMaterial(copy); { @@ -3313,11 +3365,11 @@ { copy.ResetBlockLoop(); // temporary problem - boolean random = CameraPane.RANDOM; - CameraPane.RANDOM = false; // parse everything + boolean random = CameraPane.SWITCH; + CameraPane.SWITCH = false; // parse everything copy.ResetDisplayList(); copy.HardTouch(); - CameraPane.RANDOM = random; + CameraPane.SWITCH = random; } // public void applySelf() @@ -3435,6 +3487,7 @@ || e.getSource() == apertureField || e.getSource() == shadowblurField) { + new Exception().printStackTrace(); System.exit(0); cameraView.options1[0] = (float) focusField.getFloat() * 10; cameraView.options1[1] = (float) apertureField.getFloat() / 1000; @@ -4406,8 +4459,8 @@ //MenuItem normalLensItem; MenuItem editCameraItem; MenuItem revertCameraItem; - CheckboxMenuItem toggleLiveItem; MenuItem stepItem; + CheckboxMenuItem toggleLiveItem; CheckboxMenuItem toggleFullScreenItem; CheckboxMenuItem toggleTimelineItem; CheckboxMenuItem toggleRenderItem; @@ -4416,7 +4469,7 @@ CheckboxMenuItem toggleFootContactItem; CheckboxMenuItem toggleDLItem; CheckboxMenuItem toggleTextureItem; - CheckboxMenuItem toggleRandomItem; + CheckboxMenuItem toggleSwitchItem; CheckboxMenuItem toggleRootItem; CheckboxMenuItem animationItem; CheckboxMenuItem toggleHandleItem; @@ -4424,7 +4477,7 @@ JSplitPane mainPanel; JScrollPane scrollpane; JPanel toolbarPanel; - JPanel treePanel; + cGridBag treePanel; JPanel radioPanel; ButtonGroup buttonGroup; cGridBag ctrlPanel; -- Gitblit v1.6.2