+ /*
+ * Add show all compatible check box.
+ */
+ final List<ComponentPreset.Type> compatibleTypes = component.getPresetType().getCompatibleTypes();
+ final ComponentPreset.Type nativeType = component.getPresetType();
+ if (compatibleTypes != null && compatibleTypes.size() > 0) {
+ JCheckBox showAll = new JCheckBox();
+ showAll.setText(trans.get("ComponentPresetChooserDialog.checkbox.showAllCompatible"));
+ panel.add(showAll, "wrap");
+ showAll.addItemListener(new ItemListener() {
+ @Override
+ public void itemStateChanged(ItemEvent e) {
+ if (((JCheckBox) e.getItem()).isSelected()) {
+ presets = Application.getComponentPresetDao().listForTypes(compatibleTypes);
+ } else {
+ presets = Application.getComponentPresetDao().listForType(nativeType);
+ }
+ componentSelectionTable.updateData(presets);
+ }
+ });
+ }
+
+ /*
+ * Add filter by fore diameter
+ */
+ foreDiameterFilterCheckBox = new JCheckBox(trans.get("ComponentPresetChooserDialog.checkbox.filterForeDiameter"));
+ sc = getPreviousSymmetricComponent();
+ if (sc != null && foreDiameterColumnIndex >= 0) {
+ foreDiameterFilter = new ComponentPresetRowFilter(sc.getAftRadius() * 2.0, foreDiameterColumnIndex);
+ panel.add(foreDiameterFilterCheckBox, "wrap");
+ foreDiameterFilterCheckBox.addItemListener(new ItemListener() {
+ @Override
+ public void itemStateChanged(ItemEvent e) {
+ updateFilters();
+ }
+ });
+ }
+
+ /*
+ * Add filter by aft diameter
+ */
+ aftDiameterFilterCheckBox = new JCheckBox(trans.get("ComponentPresetChooserDialog.checkbox.filterAftDiameter"));
+ sc = getNextSymmetricComponent();
+ if (sc != null && aftDiameterColumnIndex >= 0) {
+ aftDiameterFilter = new ComponentPresetRowFilter(sc.getForeRadius() * 2.0, aftDiameterColumnIndex);
+ panel.add(aftDiameterFilterCheckBox, "wrap");
+ aftDiameterFilterCheckBox.addItemListener(new ItemListener() {
+ @Override
+ public void itemStateChanged(ItemEvent e) {
+ updateFilters();
+ }
+ });
+ }
+
+ return panel;