Final tweaking of motor filter in the MotorChooserPanel.

This commit is contained in:
kruland2607 2013-10-08 21:08:05 -05:00
parent fbc7cf69f5
commit 9420390ea8
3 changed files with 53 additions and 52 deletions

View File

@ -39,7 +39,7 @@ public class MotorChooserDialog extends JDialog implements CloseableDialog {
selectionPanel = new ThrustCurveMotorSelectionPanel(); selectionPanel = new ThrustCurveMotorSelectionPanel();
panel.add(selectionPanel, "grow, wrap para"); panel.add(selectionPanel, "grow, wrap");
// OK / Cancel buttons // OK / Cancel buttons

View File

@ -11,6 +11,7 @@ import java.util.List;
import javax.swing.BorderFactory; import javax.swing.BorderFactory;
import javax.swing.JButton; import javax.swing.JButton;
import javax.swing.JCheckBox;
import javax.swing.JLabel; import javax.swing.JLabel;
import javax.swing.JPanel; import javax.swing.JPanel;
import javax.swing.JScrollPane; import javax.swing.JScrollPane;
@ -90,6 +91,21 @@ public abstract class MotorFilterPanel extends JPanel {
List<Manufacturer> unselectedManusFromPreferences = ((SwingPreferences) Application.getPreferences()).getExcludedMotorManufacturers(); List<Manufacturer> unselectedManusFromPreferences = ((SwingPreferences) Application.getPreferences()).getExcludedMotorManufacturers();
filter.setExcludedManufacturers(unselectedManusFromPreferences); filter.setExcludedManufacturers(unselectedManusFromPreferences);
//// Hide used motor files
{
final JCheckBox hideUsedBox = new JCheckBox(trans.get("TCMotorSelPan.checkbox.hideUsed"));
GUIUtil.changeFontSize(hideUsedBox, -1);
hideUsedBox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
MotorFilterPanel.this.filter.setHideUsedMotors(hideUsedBox.isSelected());
onSelectionChanged();
}
});
this.add(hideUsedBox, "gapleft para, spanx, growx, wrap");
}
// Manufacturer selection // Manufacturer selection
JPanel sub = new JPanel(new MigLayout("fill")); JPanel sub = new JPanel(new MigLayout("fill"));
TitledBorder border = BorderFactory.createTitledBorder(trans.get("TCurveMotorCol.MANUFACTURER")); TitledBorder border = BorderFactory.createTitledBorder(trans.get("TCurveMotorCol.MANUFACTURER"));
@ -292,7 +308,7 @@ public abstract class MotorFilterPanel extends JPanel {
diameterSlider.setValueAt(1, i-1); diameterSlider.setValueAt(1, i-1);
motorMountDimension.setText( trans.get("TCMotorSelPan.MotorMountDimensions") + " " + motorMountDimension.setText( trans.get("TCMotorSelPan.MotorMountDimensions") + " " +
UnitGroup.UNITS_MOTOR_DIMENSIONS.toStringUnit(mountDiameter)+ "x" + UnitGroup.UNITS_MOTOR_DIMENSIONS.toStringUnit(mountLength)); UnitGroup.UNITS_MOTOR_DIMENSIONS.toStringUnit(mountDiameter)+ " x " + UnitGroup.UNITS_MOTOR_DIMENSIONS.toStringUnit(mountLength));
} }
} }

View File

@ -164,7 +164,7 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec
} }
} }
}); });
panel.add(curveSelectionBox, "growx"); panel.add(curveSelectionBox, "growx, wrap");
} }
// Ejection charge delay: // Ejection charge delay:
@ -190,40 +190,25 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec
setDelays(false); setDelays(false);
} }
}); });
panel.add(delayBox, "split 2, growx"); panel.add(delayBox, "growx,wrap");
//// (Number of seconds or \"None\") //// (Number of seconds or \"None\")
panel.add(new StyledLabel(trans.get("TCMotorSelPan.lbl.NumberofsecondsorNone"), -3), "wrap para"); panel.add(new StyledLabel(trans.get("TCMotorSelPan.lbl.NumberofsecondsorNone"), -3), "skip, wrap");
setDelays(false); setDelays(false);
} }
// Search field //// Hide very similar thrust curves
{ {
//// Search: hideSimilarBox = new JCheckBox(trans.get("TCMotorSelPan.checkbox.hideSimilar"));
StyledLabel label = new StyledLabel(trans.get("TCMotorSelPan.lbl.Search")); GUIUtil.changeFontSize(hideSimilarBox, -1);
panel.add(label); hideSimilarBox.setSelected(Application.getPreferences().getBoolean(net.sf.openrocket.startup.Preferences.MOTOR_HIDE_SIMILAR, true));
searchField = new JTextField(); hideSimilarBox.addActionListener(new ActionListener() {
searchField.getDocument().addDocumentListener(new DocumentListener() {
@Override @Override
public void changedUpdate(DocumentEvent e) { public void actionPerformed(ActionEvent e) {
update(); Application.getPreferences().putBoolean(net.sf.openrocket.startup.Preferences.MOTOR_HIDE_SIMILAR, hideSimilarBox.isSelected());
} updateData();
@Override
public void insertUpdate(DocumentEvent e) {
update();
}
@Override
public void removeUpdate(DocumentEvent e) {
update();
}
private void update() {
String text = searchField.getText().trim();
String[] split = text.split("\\s+");
rowFilter.setSearchTerms(Arrays.asList(split));
sorter.sort();
scrollSelectionVisible();
} }
}); });
panel.add(searchField, "span, growx, wrap"); panel.add(hideSimilarBox, "gapleft para, spanx, growx, wrap");
} }
//// Motor selection table //// Motor selection table
@ -285,38 +270,38 @@ public class ThrustCurveMotorSelectionPanel extends JPanel implements MotorSelec
} }
//// Hide used motor files // Search field
{ {
final JCheckBox hideUsedBox = new JCheckBox(trans.get("TCMotorSelPan.checkbox.hideUsed")); //// Search:
GUIUtil.changeFontSize(hideUsedBox, -1); StyledLabel label = new StyledLabel(trans.get("TCMotorSelPan.lbl.Search"));
hideUsedBox.addActionListener(new ActionListener() { panel.add(label);
searchField = new JTextField();
searchField.getDocument().addDocumentListener(new DocumentListener() {
@Override @Override
public void actionPerformed(ActionEvent e) { public void changedUpdate(DocumentEvent e) {
rowFilter.setHideUsedMotors(hideUsedBox.isSelected()); update();
}
@Override
public void insertUpdate(DocumentEvent e) {
update();
}
@Override
public void removeUpdate(DocumentEvent e) {
update();
}
private void update() {
String text = searchField.getText().trim();
String[] split = text.split("\\s+");
rowFilter.setSearchTerms(Arrays.asList(split));
sorter.sort(); sorter.sort();
scrollSelectionVisible(); scrollSelectionVisible();
} }
}); });
panel.add(hideUsedBox, "gapleft para, spanx, growx, wrap"); panel.add(searchField, "span, growx");
}
//// Hide very similar thrust curves
{
hideSimilarBox = new JCheckBox(trans.get("TCMotorSelPan.checkbox.hideSimilar"));
GUIUtil.changeFontSize(hideSimilarBox, -1);
hideSimilarBox.setSelected(Application.getPreferences().getBoolean(net.sf.openrocket.startup.Preferences.MOTOR_HIDE_SIMILAR, true));
hideSimilarBox.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
Application.getPreferences().putBoolean(net.sf.openrocket.startup.Preferences.MOTOR_HIDE_SIMILAR, hideSimilarBox.isSelected());
updateData();
}
});
panel.add(hideSimilarBox, "gapleft para, spanx, growx, wrap");
} }
this.add(panel, "grow");
// Vertical split // Vertical split
this.add(panel, "grow");
this.add(new JSeparator(JSeparator.VERTICAL), "growy, gap para para"); this.add(new JSeparator(JSeparator.VERTICAL), "growy, gap para para");
JTabbedPane rightSide = new JTabbedPane(); JTabbedPane rightSide = new JTabbedPane();