<classpathentry kind="con" path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/>\r
<classpathentry kind="con" path="org.eclipse.ajdt.core.ASPECTJRT_CONTAINER"/>\r
<classpathentry kind="lib" path="lib/gui/l2fprod-common-sheet.jar"/>\r
- <classpathentry kind="lib" path="lib/gui/rsyntaxtextarea.jar"/>\r
<classpathentry kind="lib" path="lib/jscience.jar"/>\r
<classpathentry kind="lib" path="lib/log4j-1.2.15.jar"/>\r
<classpathentry kind="lib" path="lib/xpp3_min-1.1.4c.jar"/>\r
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 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
}\r
}\r
\r
- {\r
- text.setSyntaxEditingStyle(SyntaxConstants.SYNTAX_STYLE_XML);\r
-\r
- }\r
\r
public MotorEditor(Motor m, Collection<Fuel> fuels) {\r
super(JTabbedPane.BOTTOM);\r
for ( Fuel f : fuels )\r
addFuel(f);\r
- text.setName("XML");\r
- text.setEditable(false);\r
- //add(text, XML_TAB);\r
- setMotor(m, true);\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
return m;\r
}\r
\r
- public static String writeMotor(Motor m) throws IOException{\r
- StringWriter sout = new StringWriter();\r
- ObjectOutputStream out = getXStream().createObjectOutputStream(sout);\r
- out.writeObject(m);\r
- out.close();\r
- sout.close();\r
- return sout.toString();\r
- }\r
- \r
- public static Motor readMotor(String s) throws IOException{\r
- StringReader sin = new StringReader(s);\r
- ObjectInputStream in = getXStream().createObjectInputStream(sin);\r
- Motor m;\r
- try {\r
- m = (Motor)in.readObject();\r
- } catch (ClassNotFoundException e) {\r
- throw new IOException("Class not found", e);\r
- }\r
- return m;\r
- }\r
}\r