From a16191ccf45d2639feb8cc9350b51f78befeef31 Mon Sep 17 00:00:00 2001 From: Steve Date: Thu, 17 Feb 2011 09:42:03 +0000 Subject: Attempted menu fix, needs redesign Toroid now works (donut) --- src/tesseract/menuitems/DonutMenuItem.java | 84 +++++++++++++++++++------- src/tesseract/menuitems/TesseractMenuItem.java | 2 +- 2 files changed, 63 insertions(+), 23 deletions(-) (limited to 'src') diff --git a/src/tesseract/menuitems/DonutMenuItem.java b/src/tesseract/menuitems/DonutMenuItem.java index fb4a79a..990e0fd 100644 --- a/src/tesseract/menuitems/DonutMenuItem.java +++ b/src/tesseract/menuitems/DonutMenuItem.java @@ -1,22 +1,17 @@ package tesseract.menuitems; -import java.awt.Color; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import javax.swing.JButton; import javax.swing.JCheckBox; -import javax.swing.JColorChooser; import javax.swing.JFrame; -import javax.swing.JOptionPane; -import javax.vecmath.Color3f; +import javax.swing.JLabel; +import javax.swing.JTextField; import javax.vecmath.Vector3f; import tesseract.World; -import tesseract.objects.ChainLink; -import tesseract.objects.ChainLink2; -import tesseract.objects.Icosahedron; -import tesseract.objects.PlanarPolygon; +import tesseract.objects.Toroid; /** * Icosahedron Menu Item. @@ -29,6 +24,12 @@ public class DonutMenuItem extends TesseractMenuItem { * Serial ID. */ private static final long serialVersionUID = 1L; + + private float scale = 1f; + private float sliceRadius = .06f; //inside whole + private int sliceDivisions = 50; + private float arcRadius = .08f; //outside whole + private int arcDivisions = 30; /** * Constructor for the menu item. @@ -45,23 +46,49 @@ public class DonutMenuItem extends TesseractMenuItem { * @param arg0 Unused event info. */ public void actionPerformed(final ActionEvent arg0) { - createParameterMenu(); - final float scale = 0.5f; - final float sliceRadius = .06f; //inside whole - final int sliceDivisions = 50; - final float arcRadius = .08f; //outside whole - final int arcDivisions = 30; + createParameterMenu(); //If the default button is checked, the frame will close. final JCheckBox defaultButton = getDefaultButton(); final JFrame params = getParamFrame(); - //final JButton enterButton = getEnterButton(); - + /* final JButton enterButton = getEnterButton(); + + final JTextField scale_input = new JTextField(10); + scale_input.setText("1"); + final JTextField sliceRadiusInput = new JTextField(10); + sliceRadiusInput.setText(".06"); + final JTextField sliceDivisionsInput = new JTextField(10); + sliceDivisionsInput.setText("50"); + final JTextField arcRadiusInput = new JTextField(10); + arcRadiusInput.setText(".08"); + final JTextField arcDivisionsInput = new JTextField(10); + arcDivisionsInput.setText("30"); + + JLabel scale_label = new JLabel("scale: "); + JLabel slice_radius_label = new JLabel("sliceRadius: "); + JLabel slice_divs_label = new JLabel("sliceDivs: "); + JLabel arc_radius_label = new JLabel("arcRadius: "); + JLabel arc_divs_label = new JLabel("arcDivs: "); + + params.add(scale_label); + params.add(scale_input); + params.add(slice_radius_label); + params.add(sliceRadiusInput); + params.add(slice_divs_label); + params.add(sliceDivisionsInput); + params.add(arc_radius_label); + params.add(arcRadiusInput); + params.add(arc_divs_label); + params.add(arcDivisionsInput); + + + params.add(enterButton);*/ + defaultButton.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent e) { if (defaultButton.isSelected()) { - myWorld.addObject(new ChainLink(getDefaultPosition(), 1, scale, + myWorld.addObject(new Toroid(getDefaultPosition(), 1, scale, sliceRadius, sliceDivisions, arcRadius, arcDivisions)); params.dispose(); } @@ -70,20 +97,33 @@ public class DonutMenuItem extends TesseractMenuItem { /*enterButton.addActionListener(new ActionListener() { public void actionPerformed(final ActionEvent event) { + String string = getPositionField().getText(); Vector3f pos = parseVector(string); setPosition(pos); - String string2 = getRadiusField().getText(); - float radius = Float.parseFloat(string2); - setRadius(radius); - String string3 = getMassField().getText(); float mass = Float.parseFloat(string3); setMass(mass); + + String string4 = getMassField().getText(); + scale = Float.parseFloat(string4); + + String string5 = getMassField().getText(); + sliceRadius = Float.parseFloat(string5); + + String string6 = getMassField().getText(); + sliceDivisions = Integer.parseInt(string6); + + String string7 = getMassField().getText(); + arcRadius = Float.parseFloat(string7); + + String string8 = getMassField().getText(); + arcDivisions = Integer.parseInt(string8); if (event.getSource() == enterButton) { - myWorld.addObject(new ChainLink(getPosition(), getRadius())); + myWorld.addObject(new Toroid(pos, 1, scale, + sliceRadius, sliceDivisions, arcRadius, arcDivisions)); params.dispose(); } } diff --git a/src/tesseract/menuitems/TesseractMenuItem.java b/src/tesseract/menuitems/TesseractMenuItem.java index 5c79ba3..b1d3d8c 100644 --- a/src/tesseract/menuitems/TesseractMenuItem.java +++ b/src/tesseract/menuitems/TesseractMenuItem.java @@ -130,7 +130,7 @@ public abstract class TesseractMenuItem my_param_frame = new JFrame("Parameters"); my_param_frame.setBackground(Color.GRAY); - my_param_frame.setLayout(new GridLayout(5,1)); + my_param_frame.setLayout(new GridLayout(5,2)); Toolkit tk = Toolkit.getDefaultToolkit(); Dimension screenSize = tk.getScreenSize(); -- cgit v1.2.3