import javax.swing.JTextField;
import net.miginfocom.swing.MigLayout;
+import net.sf.openrocket.database.Databases;
import net.sf.openrocket.gui.adaptors.DoubleModel;
import net.sf.openrocket.gui.components.StyledLabel;
import net.sf.openrocket.gui.components.UnitSelector;
import net.sf.openrocket.startup.Application;
public class CustomMaterialDialog extends JDialog {
-
+ private static final Translator trans = Application.getTranslator();
+
private final Material originalMaterial;
private boolean okClicked = false;
private JSpinner densitySpinner;
private UnitSelector densityUnit;
private JCheckBox addBox;
- private static final Translator trans = Application.getTranslator();
-
+
public CustomMaterialDialog(Window parent, Material material, boolean saveOption,
String title) {
this(parent, material, saveOption, title, null);
}
-
+
public CustomMaterialDialog(Window parent, Material material, boolean saveOption,
String title, String note) {
//// Custom material
// Add title and note
if (title != null) {
- panel.add(new JLabel("<html><b>" + title + ":"),
- "gapleft para, span, wrap" + (note == null ? " para":""));
+ panel.add(new JLabel("<html><b>" + title + ":"),
+ "gapleft para, span, wrap" + (note == null ? " para" : ""));
}
if (note != null) {
panel.add(new StyledLabel(note, -1), "span, wrap para");
}
-
+
//// Material name
panel.add(new JLabel(trans.get("custmatdlg.lbl.Materialname")));
nameField = new JTextField(15);
panel.add(new JLabel(trans.get("custmatdlg.lbl.Materialdensity")));
densitySpinner = new JSpinner();
panel.add(densitySpinner, "w 70lp");
- densityUnit = new UnitSelector((DoubleModel)null);
+ densityUnit = new UnitSelector((DoubleModel) null);
panel.add(densityUnit, "w 30lp");
panel.add(new JPanel(), "growx, wrap");
updateDensityModel();
if (saveOption) {
//// Add material to database
addBox = new JCheckBox(trans.get("custmatdlg.checkbox.Addmaterial"));
- panel.add(addBox,"span, wrap");
+ panel.add(addBox, "span, wrap");
}
-
+
//// OK button
JButton okButton = new JButton(trans.get("dlg.but.ok"));
CustomMaterialDialog.this.setVisible(false);
}
});
- panel.add(okButton,"span, split, tag ok");
+ panel.add(okButton, "span, split, tag ok");
//// Cancel
JButton closeButton = new JButton(trans.get("dlg.but.cancel"));
CustomMaterialDialog.this.setVisible(false);
}
});
- panel.add(closeButton,"tag cancel");
+ panel.add(closeButton, "tag cancel");
this.setContentPane(panel);
this.pack();
public Material getMaterial() {
Material.Type type;
String name;
- double density;
+ double materialDensity;
if (typeBox != null) {
type = (Material.Type) typeBox.getSelectedItem();
name = nameField.getText().trim();
- density = this.density.getValue();
+ materialDensity = this.density.getValue();
- return Material.newMaterial(type, name, density, true);
+ return Databases.findMaterial(type, name, materialDensity);
}