import java.beans.PropertyChangeEvent;\r
import java.beans.PropertyChangeListener;\r
import java.beans.PropertyVetoException;\r
-import java.io.IOException;\r
+import java.util.Collection;\r
import java.util.HashMap;\r
import java.util.List;\r
import java.util.Map;\r
import javax.measure.unit.SI;\r
import javax.swing.Box;\r
import javax.swing.BoxLayout;\r
-import javax.swing.ComboBoxModel;\r
+import javax.swing.DefaultComboBoxModel;\r
import javax.swing.JButton;\r
import javax.swing.JComboBox;\r
import javax.swing.JFrame;\r
import javax.swing.WindowConstants;\r
\r
import org.apache.log4j.Logger;\r
-import org.fife.ui.rsyntaxtextarea.RSyntaxTextArea;\r
-import org.fife.ui.rsyntaxtextarea.SyntaxConstants;\r
import org.jscience.physics.amount.Amount;\r
\r
import com.billkuker.rocketry.motorsim.Burn;\r
import com.billkuker.rocketry.motorsim.grain.MultiGrain;\r
import com.billkuker.rocketry.motorsim.grain.RodAndTubeGrain;\r
import com.billkuker.rocketry.motorsim.grain.Star;\r
-import com.billkuker.rocketry.motorsim.io.MotorIO;\r
import com.billkuker.rocketry.motorsim.visual.BurnPanel;\r
import com.billkuker.rocketry.motorsim.visual.Editor;\r
import com.billkuker.rocketry.motorsim.visual.GrainPanel;\r
public class MotorEditor extends JTabbedPane implements PropertyChangeListener {\r
private static final long serialVersionUID = 1L;\r
private static Logger log = Logger.getLogger(MotorEditor.class);\r
- RSyntaxTextArea text = new RSyntaxTextArea();\r
Motor motor;\r
GrainEditor grainEditor;\r
BurnTab bt;\r
Burn burn;\r
\r
private Vector<BurnWatcher> burnWatchers = new Vector<BurnWatcher>();\r
- private ComboBoxModel availableFuels;\r
+ private DefaultComboBoxModel availableFuels = new DefaultComboBoxModel();\r
+ \r
+ public void addFuel(Fuel f){\r
+ availableFuels.addElement(f);\r
+ }\r
\r
//private static final int XML_TAB = 0;\r
private static final int CASING_TAB = 0;\r
}\r
}\r
\r
- {\r
- text.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_XML);\r
-\r
- }\r
\r
- public MotorEditor(Motor m, ComboBoxModel fuels) {\r
+ public MotorEditor(Motor m, Collection<Fuel> fuels) {\r
super(JTabbedPane.BOTTOM);\r
- this.availableFuels = fuels;\r
- text.setName("XML");\r
- text.setEditable(false);\r
- //add(text, XML_TAB);\r
- setMotor(m, true);\r
+ for ( Fuel f : fuels )\r
+ addFuel(f);\r
+ setMotor(m);\r
}\r
\r
public Motor getMotor() {\r
return motor;\r
}\r
\r
- private void reText() {\r
- try {\r
- text.setText(MotorIO.writeMotor(motor));\r
- } catch (IOException e) {\r
- throw new Error(e);\r
- }\r
- }\r
\r
- private void setMotor(Motor m, boolean retext) {\r
+ private void setMotor(Motor m) {\r
if (motor != null)\r
motor.removePropertyChangeListener(this);\r
motor = m;\r
motor.addPropertyChangeListener(this);\r
- if (retext)\r
- reText();\r
if (grainEditor != null)\r
remove(grainEditor);\r
while (getTabCount() > 1)\r
}\r
\r
public void propertyChange(PropertyChangeEvent evt) {\r
- reText();\r
// Dont re-burn for a name change!\r
if (!evt.getPropertyName().equals("Name")){\r
bt.reBurn();\r