summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/tesseract/newmenu/MenuItem.java51
-rw-r--r--src/tesseract/newmenu/NewChainLinkMenuItem.java3
-rw-r--r--src/tesseract/newmenu/NewEllipsoidMenuItem.java3
-rw-r--r--src/tesseract/newmenu/NewIcosahedronMenuItem.java2
-rw-r--r--src/tesseract/newmenu/NewParticleEmitterMenuItem.java6
-rw-r--r--src/tesseract/newmenu/NewParticleMenuItem.java6
-rw-r--r--src/tesseract/newmenu/NewPlanarPolygonMenuItem.java2
-rw-r--r--src/tesseract/newmenu/NewToroidMenuItem.java2
8 files changed, 62 insertions, 13 deletions
diff --git a/src/tesseract/newmenu/MenuItem.java b/src/tesseract/newmenu/MenuItem.java
index e4f689e..da3cb54 100644
--- a/src/tesseract/newmenu/MenuItem.java
+++ b/src/tesseract/newmenu/MenuItem.java
@@ -5,6 +5,7 @@ import java.awt.Color;
import java.awt.Dimension;
import java.awt.GridLayout;
import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.util.HashMap;
import java.util.Map;
@@ -12,6 +13,7 @@ import java.util.Set;
import javax.swing.JButton;
import javax.swing.JCheckBox;
+import javax.swing.JColorChooser;
import javax.swing.JFrame;
import javax.swing.JLabel;
import javax.swing.JMenuItem;
@@ -65,6 +67,12 @@ public abstract class MenuItem extends JMenuItem implements ActionListener {
* World to add objects to.
*/
protected World myWorld;
+
+ /**
+ * Color to make object.
+ */
+ protected Color myColor;
+
/**
* A Parameter setting JFrame.
*/
@@ -74,11 +82,19 @@ public abstract class MenuItem extends JMenuItem implements ActionListener {
* The button that get all inputs for shape.
*/
private JButton myEnterButton;
+
+ /**
+ * The button that get all inputs for shape.
+ */
+ private JButton myColorButton;
+
/**
* The default button.
*/
private JButton myDefaultButton;
+ private boolean useColorButton;
+
/**
* Default constructor.
*/
@@ -91,6 +107,7 @@ public abstract class MenuItem extends JMenuItem implements ActionListener {
*/
public MenuItem(final World theWorld, final String theLabel) {
super(theLabel);
+ useColorButton = true;
myFrame = new JFrame();
myParameters = new HashMap<String, Object>();
myPanel = new JPanel();
@@ -102,6 +119,19 @@ public abstract class MenuItem extends JMenuItem implements ActionListener {
myParamFrame = new JFrame("Parameters");
myParamFrame.setBackground(Color.GRAY);
myParamFrame.setLayout(new BorderLayout());
+ myColorButton = new JButton("Color");
+ myColor = Color.RED;
+ }
+
+ /**
+ * Constructor.
+ * @param theWorld world parameter.
+ * @param theLabel for menu item.
+ * @param theColor use color button.
+ */
+ public MenuItem(final World theWorld, final String theLabel, boolean theColor) {
+ this(theWorld, theLabel);
+ useColorButton = theColor;
}
/**
@@ -128,7 +158,14 @@ public abstract class MenuItem extends JMenuItem implements ActionListener {
protected void createParameterMenu() {
-
+ myColorButton.addActionListener(new ActionListener(){
+
+ @Override
+ public void actionPerformed(ActionEvent arg0) {
+ myColor = JColorChooser.showDialog(null, "Particle Color",
+ Color.RED);
+
+ }});
Toolkit tk = Toolkit.getDefaultToolkit();
Dimension screenSize = tk.getScreenSize();
int screenHeight = screenSize.height;
@@ -152,9 +189,19 @@ public abstract class MenuItem extends JMenuItem implements ActionListener {
myDefaultButton = new JButton("Default Shape");
+ if (useColorButton) {
+ JPanel temp = new JPanel();
+ temp.setLayout(new GridLayout(1, 2));
+ temp.add(myColorButton);
+ temp.add(myEnterButton);
+ myParamFrame.add(temp, BorderLayout.SOUTH);
+ } else {
+ myParamFrame.add(myEnterButton, BorderLayout.SOUTH);
+ }
+
myParamFrame.add(myDefaultButton, BorderLayout.NORTH);
myParamFrame.add(myPanel, BorderLayout.CENTER);
- myParamFrame.add(myEnterButton, BorderLayout.SOUTH);
+
myParamFrame.setAlwaysOnTop(true);
myParamFrame.pack();
diff --git a/src/tesseract/newmenu/NewChainLinkMenuItem.java b/src/tesseract/newmenu/NewChainLinkMenuItem.java
index 1011822..110c79e 100644
--- a/src/tesseract/newmenu/NewChainLinkMenuItem.java
+++ b/src/tesseract/newmenu/NewChainLinkMenuItem.java
@@ -88,7 +88,8 @@ public class NewChainLinkMenuItem extends MenuItem {
((Float) myParameters.get("Mass")).floatValue(),
((Float) myParameters.get("Diameter")).floatValue(),
((Float) myParameters.get("Length")).floatValue(),
- ((Float) myParameters.get("Width")).floatValue()));
+ ((Float) myParameters.get("Width")).floatValue(),
+ myColor));
params.dispose();
}
}
diff --git a/src/tesseract/newmenu/NewEllipsoidMenuItem.java b/src/tesseract/newmenu/NewEllipsoidMenuItem.java
index 2261c73..d5ee1ca 100644
--- a/src/tesseract/newmenu/NewEllipsoidMenuItem.java
+++ b/src/tesseract/newmenu/NewEllipsoidMenuItem.java
@@ -82,7 +82,8 @@ public class NewEllipsoidMenuItem extends MenuItem {
}
if (event.getSource() == enterButton) {
myWorld.addObject(new Ellipsoid(getPosition(), getMass(),
- ((Float) myParameters.get("Radius")).floatValue()));
+ ((Float) myParameters.get("Radius")).floatValue(),
+ myColor));
params.dispose();
}
}
diff --git a/src/tesseract/newmenu/NewIcosahedronMenuItem.java b/src/tesseract/newmenu/NewIcosahedronMenuItem.java
index e2c8e76..d519b7d 100644
--- a/src/tesseract/newmenu/NewIcosahedronMenuItem.java
+++ b/src/tesseract/newmenu/NewIcosahedronMenuItem.java
@@ -80,7 +80,7 @@ public class NewIcosahedronMenuItem extends MenuItem {
}
if (event.getSource() == enterButton) {
myWorld.addObject(new Icosahedron(
- getPosition(), getMass(), getScale()));
+ getPosition(), getMass(), getScale(), myColor));
params.dispose();
}
}
diff --git a/src/tesseract/newmenu/NewParticleEmitterMenuItem.java b/src/tesseract/newmenu/NewParticleEmitterMenuItem.java
index dc0b1fc..04a6ca6 100644
--- a/src/tesseract/newmenu/NewParticleEmitterMenuItem.java
+++ b/src/tesseract/newmenu/NewParticleEmitterMenuItem.java
@@ -90,11 +90,11 @@ public class NewParticleEmitterMenuItem extends MenuItem {
}
if (event.getSource() == enterButton) {
params.dispose();
- Color c = JColorChooser.showDialog(null, "Particle Color",
- Color.RED);
+ //Color c = JColorChooser.showDialog(null, "Particle Color",
+ // Color.RED);
myWorld.addObject(new ParticleEmitter(getPosition(),
((Float) myParameters.get("Frequency")).floatValue(),
- new Color3f(c)));
+ new Color3f(myColor)));
}
}
diff --git a/src/tesseract/newmenu/NewParticleMenuItem.java b/src/tesseract/newmenu/NewParticleMenuItem.java
index 4b87852..360b7ed 100644
--- a/src/tesseract/newmenu/NewParticleMenuItem.java
+++ b/src/tesseract/newmenu/NewParticleMenuItem.java
@@ -89,10 +89,10 @@ public class NewParticleMenuItem extends MenuItem {
}
if (event.getSource() == enterButton) {
params.dispose();
- Color c = JColorChooser.showDialog(null, "Particle Color",
- Color.RED);
+ //Color c = JColorChooser.showDialog(null, "Particle Color",
+ // Color.RED);
myWorld.addObject(new Particle(getPosition(), getMass(),
- new Color3f(c)));
+ new Color3f(myColor)));
}
}
diff --git a/src/tesseract/newmenu/NewPlanarPolygonMenuItem.java b/src/tesseract/newmenu/NewPlanarPolygonMenuItem.java
index c2ea659..bb26c7c 100644
--- a/src/tesseract/newmenu/NewPlanarPolygonMenuItem.java
+++ b/src/tesseract/newmenu/NewPlanarPolygonMenuItem.java
@@ -33,7 +33,7 @@ public class NewPlanarPolygonMenuItem extends MenuItem {
* @param theWorld to add objects to.
*/
public NewPlanarPolygonMenuItem(final World theWorld) {
- super(theWorld, "Planar Polygon");
+ super(theWorld, "Planar Polygon", false);
buildParams();
diff --git a/src/tesseract/newmenu/NewToroidMenuItem.java b/src/tesseract/newmenu/NewToroidMenuItem.java
index 59f07e8..4656603 100644
--- a/src/tesseract/newmenu/NewToroidMenuItem.java
+++ b/src/tesseract/newmenu/NewToroidMenuItem.java
@@ -97,7 +97,7 @@ public class NewToroidMenuItem extends MenuItem {
((Float) myParameters.get("Toroid Radius")
).floatValue(),
((Integer) myParameters.get("Toroid Resolution")
- ).intValue()));
+ ).intValue(), myColor));
params.dispose();
}
}