From: Bill Kuker Date: Fri, 17 Jul 2009 14:11:59 +0000 (+0000) Subject: Menus and so forth X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=9a24d05c82c7c4374610043e7dc22284e0e455fc;p=sw%2Fmotorsim Menus and so forth --- diff --git a/src/MotorWorkbench.java b/src/MotorWorkbench.java new file mode 100644 index 0000000..e7a75b3 --- /dev/null +++ b/src/MotorWorkbench.java @@ -0,0 +1,19 @@ +import javax.swing.UIManager; + +public class MotorWorkbench { + + public static void main(String args[]) throws Exception { + + try { + System.setProperty("apple.laf.useScreenMenuBar", "true"); + System.setProperty( + "com.apple.mrj.application.apple.menu.about.name", + "MotorWorkbench"); + UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); + } catch (Exception e1) { + e1.printStackTrace(); + } + new com.billkuker.rocketry.motorsim.visual.workbench.MotorWorkbench().setVisible(true); + } + +} diff --git a/src/com/billkuker/rocketry/motorsim/visual/workbench/MotorEditor.java b/src/com/billkuker/rocketry/motorsim/visual/workbench/MotorEditor.java index e69562a..a46611f 100644 --- a/src/com/billkuker/rocketry/motorsim/visual/workbench/MotorEditor.java +++ b/src/com/billkuker/rocketry/motorsim/visual/workbench/MotorEditor.java @@ -3,6 +3,8 @@ package com.billkuker.rocketry.motorsim.visual.workbench; import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.beans.PropertyVetoException; @@ -11,15 +13,19 @@ import java.io.IOException; import javax.measure.quantity.Pressure; import javax.measure.quantity.Velocity; import javax.measure.unit.SI; +import javax.media.jai.operator.AddDescriptor; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JPanel; import javax.swing.JSplitPane; import javax.swing.JTabbedPane; +import javax.swing.JTextField; import javax.swing.SwingUtilities; import javax.swing.UIManager; import javax.swing.WindowConstants; +import javax.swing.event.ChangeEvent; +import javax.swing.event.ChangeListener; import javax.swing.event.DocumentEvent; import javax.swing.event.DocumentListener; @@ -231,6 +237,31 @@ public class MotorEditor extends JTabbedPane implements PropertyChangeListener, setLeftComponent(parts); setRightComponent(new NozzlePanel(n)); + parts.add(new JTextField(motor.getName()){ + { + final JTextField t = this; + addFocusListener(new FocusListener() { + + @Override + public void focusLost(FocusEvent e) { + String n = t.getText(); + if ( !"".equals(n) && !n.equals(motor.getName()) ){ + System.out.println("Name Changed"); + motor.setName(n); + } else { + t.setText(motor.getName()); + } + } + + @Override + public void focusGained(FocusEvent e) { + + } + }); + + } + }); + parts.add(new Editor(c)); parts.add(new Editor(n)); @@ -345,7 +376,9 @@ public class MotorEditor extends JTabbedPane implements PropertyChangeListener, public void propertyChange(PropertyChangeEvent evt) { reText(); - bt.reBurn(); + //Dont re-burn for a name change! + if ( !evt.getPropertyName().equals("Name") ) + bt.reBurn(); } public void changedUpdate(DocumentEvent e) { diff --git a/src/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java b/src/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java index 9882fec..92e28c8 100644 --- a/src/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java +++ b/src/com/billkuker/rocketry/motorsim/visual/workbench/MotorWorkbench.java @@ -258,23 +258,12 @@ public class MotorWorkbench extends JFrame implements TreeSelectionListener { motors.addTab(title, e); } - public static void main(String args[]) throws Exception { - - try { - System.setProperty("apple.laf.useScreenMenuBar", "true"); - System.setProperty( - "com.apple.mrj.application.apple.menu.about.name", - "MotorWorkbench"); - UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (Exception e1) { - e1.printStackTrace(); - } - new MotorWorkbench().setVisible(true); - } - @Override public void valueChanged(TreeSelectionEvent e) { Motor m = getMotor(e.getPath()); + + if ( m == null ) + return; motors.setSelectedComponent(m2e.get(m)); diff --git a/src/com/billkuker/rocketry/motorsim/visual/workbench/WorkbenchTreeModel.java b/src/com/billkuker/rocketry/motorsim/visual/workbench/WorkbenchTreeModel.java index 4d84457..09be53d 100644 --- a/src/com/billkuker/rocketry/motorsim/visual/workbench/WorkbenchTreeModel.java +++ b/src/com/billkuker/rocketry/motorsim/visual/workbench/WorkbenchTreeModel.java @@ -85,6 +85,8 @@ public class WorkbenchTreeModel extends DefaultTreeModel { remove(3); add(fn); nodesChanged(this, new int[]{3}); + } else { + nodeChanged(this); } }