From 4adffbdca7e5fc6aa8d0ca442d17e5f61404ce1e Mon Sep 17 00:00:00 2001 From: denny Date: Sun, 20 Mar 2016 06:40:25 -0400 Subject: [PATCH] wip #34 adds sort ordering to tuner table --- src/source/tuner/TunerEditor.java | 6 +++++- src/source/tuner/TunerViewPanel.java | 13 +++++++++++++ .../configuration/TunerConfigurationModel.java | 6 +++--- 3 files changed, 21 insertions(+), 4 deletions(-) diff --git a/src/source/tuner/TunerEditor.java b/src/source/tuner/TunerEditor.java index e1a2beb6..9489f84f 100644 --- a/src/source/tuner/TunerEditor.java +++ b/src/source/tuner/TunerEditor.java @@ -7,6 +7,8 @@ import gui.editor.EmptyEditor; import java.awt.Dimension; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.util.ArrayList; +import java.util.List; import javax.swing.JButton; import javax.swing.JLabel; @@ -15,7 +17,9 @@ import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.RowFilter; +import javax.swing.RowSorter; import javax.swing.ScrollPaneConstants; +import javax.swing.SortOrder; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import javax.swing.table.TableRowSorter; @@ -67,8 +71,8 @@ public class TunerEditor extends Editor mFrequencyControl.setEnabled( false ); listPanel.add( mFrequencyControl, "span" ); - mTunerConfigurationTable = new JTable( mTunerConfigurationModel ); mRowSorter = new TableRowSorter<>( mTunerConfigurationModel ); + mTunerConfigurationTable = new JTable( mTunerConfigurationModel ); mTunerConfigurationTable.setRowSorter( mRowSorter ); mTunerConfigurationTable.setEnabled( false ); mTunerConfigurationTable.getSelectionModel().addListSelectionListener( new ListSelectionListener() diff --git a/src/source/tuner/TunerViewPanel.java b/src/source/tuner/TunerViewPanel.java index 3bedee68..b6ab262a 100644 --- a/src/source/tuner/TunerViewPanel.java +++ b/src/source/tuner/TunerViewPanel.java @@ -5,16 +5,21 @@ import java.awt.Component; import java.awt.Dimension; import java.awt.event.MouseAdapter; import java.awt.event.MouseEvent; +import java.util.ArrayList; +import java.util.List; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JScrollPane; import javax.swing.JTable; import javax.swing.ListSelectionModel; +import javax.swing.RowSorter; +import javax.swing.SortOrder; import javax.swing.event.ListSelectionEvent; import javax.swing.event.ListSelectionListener; import javax.swing.table.DefaultTableCellRenderer; import javax.swing.table.TableCellRenderer; +import javax.swing.table.TableRowSorter; import net.miginfocom.swing.MigLayout; @@ -32,6 +37,7 @@ public class TunerViewPanel extends JPanel private TunerModel mTunerModel; private JTable mTunerTable; + private TableRowSorter mRowSorter; private JideSplitPane mSplitPane; private TunerEditor mTunerEditor; @@ -47,7 +53,14 @@ public class TunerViewPanel extends JPanel { setLayout( new MigLayout( "insets 0 0 0 0", "[fill,grow]", "[fill,grow]" ) ); + mRowSorter = new TableRowSorter<>( mTunerModel ); + List sortKeys = new ArrayList<>(); + sortKeys.add( new RowSorter.SortKey( TunerModel.TUNER_TYPE, SortOrder.ASCENDING ) ); + sortKeys.add( new RowSorter.SortKey( TunerModel.TUNER_ID, SortOrder.ASCENDING ) ); + mRowSorter.setSortKeys( sortKeys ); + mTunerTable = new JTable( mTunerModel ); + mTunerTable.setRowSorter( mRowSorter ); mTunerTable.setSelectionMode( ListSelectionModel.SINGLE_SELECTION ); mTunerTable.getSelectionModel().addListSelectionListener( new ListSelectionListener() { diff --git a/src/source/tuner/configuration/TunerConfigurationModel.java b/src/source/tuner/configuration/TunerConfigurationModel.java index daa37793..9b0e1c1d 100644 --- a/src/source/tuner/configuration/TunerConfigurationModel.java +++ b/src/source/tuner/configuration/TunerConfigurationModel.java @@ -18,9 +18,9 @@ public class TunerConfigurationModel extends AbstractTableModel private final static Logger mLog = LoggerFactory.getLogger( TunerConfigurationModel.class ); - private static final int TUNER_TYPE = 0; - private static final int CONFIGURATION_NAME = 1; - private static final int ASSIGNED = 2; + public static final int TUNER_TYPE = 0; + public static final int CONFIGURATION_NAME = 1; + public static final int ASSIGNED = 2; private static final String[] COLUMN_HEADERS = { "Tuner Type", "Name", "Assigned" }; private List> mConfigurationChangeListeners =