Fix sorting on double columns.
authorkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Fri, 11 May 2012 03:38:58 +0000 (03:38 +0000)
committerkruland2607 <kruland2607@180e2498-e6e9-4542-8430-84ac67f01cd8>
Fri, 11 May 2012 03:38:58 +0000 (03:38 +0000)
git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@670 180e2498-e6e9-4542-8430-84ac67f01cd8

core/src/net/sf/openrocket/gui/dialogs/preset/ComponentPresetTable.java

index 1c08f09be95e4e74490c40602f688e0edf643cd1..e74669cea9dc9a721a5401efa076a451721d06b8 100644 (file)
@@ -6,6 +6,7 @@ import java.awt.event.MouseAdapter;
 import java.awt.event.MouseEvent;
 import java.util.ArrayList;
 import java.util.Collections;
+import java.util.Comparator;
 import java.util.List;
 
 import javax.swing.JCheckBoxMenuItem;
@@ -28,6 +29,7 @@ import net.sf.openrocket.preset.TypedKey;
 import net.sf.openrocket.startup.Application;
 import net.sf.openrocket.unit.Unit;
 import net.sf.openrocket.unit.UnitGroup;
+import net.sf.openrocket.unit.Value;
 import net.sf.openrocket.util.AlphanumComparator;
 
 public class ComponentPresetTable extends JTable {
@@ -108,6 +110,15 @@ public class ComponentPresetTable extends JTable {
                                tableColumnModel.addColumn(columns[index]);
                                if ( key == ComponentPreset.MANUFACTURER || key == ComponentPreset.PARTNO ) {
                                        sorter.setComparator(index, new AlphanumComparator());
+                               } else if ( key.getType() == Double.class ) {
+                                       sorter.setComparator(index,  new Comparator<Value>() {
+
+                                               @Override
+                                               public int compare(Value o1, Value o2) {
+                                                       return Double.compare(o1.getValue(), o2.getValue());
+                                               }
+                                               
+                                       });
                                }
                                if ( visibleColumnKeys.indexOf(key) < 0 ) {
                                        hiddenColumns.add(columns[index]);