/[svn]/jsampler/trunk/src/org/jsampler/view/classic/InstrumentsDbFrame.java
ViewVC logotype

Diff of /jsampler/trunk/src/org/jsampler/view/classic/InstrumentsDbFrame.java

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1355 by iliev, Mon Sep 17 23:55:27 2007 UTC revision 1705 by iliev, Tue Feb 19 16:32:36 2008 UTC
# Line 33  import java.awt.event.KeyEvent; Line 33  import java.awt.event.KeyEvent;
33  import java.awt.event.WindowAdapter;  import java.awt.event.WindowAdapter;
34  import java.awt.event.WindowEvent;  import java.awt.event.WindowEvent;
35    
36    import java.util.List;
37  import java.util.logging.Level;  import java.util.logging.Level;
38    
39  import javax.swing.AbstractAction;  import javax.swing.AbstractAction;
# Line 53  import javax.swing.JTextField; Line 54  import javax.swing.JTextField;
54  import javax.swing.JToggleButton;  import javax.swing.JToggleButton;
55  import javax.swing.JToolBar;  import javax.swing.JToolBar;
56  import javax.swing.KeyStroke;  import javax.swing.KeyStroke;
57    import javax.swing.RowSorter.SortKey;
58    import javax.swing.SortOrder;
59    
60    import javax.swing.event.ChangeEvent;
61    import javax.swing.event.ChangeListener;
62  import javax.swing.event.ListSelectionEvent;  import javax.swing.event.ListSelectionEvent;
63  import javax.swing.event.ListSelectionListener;  import javax.swing.event.ListSelectionListener;
64    import javax.swing.event.RowSorterEvent;
65    import javax.swing.event.RowSorterListener;
66  import javax.swing.event.TreeSelectionEvent;  import javax.swing.event.TreeSelectionEvent;
67  import javax.swing.event.TreeSelectionListener;  import javax.swing.event.TreeSelectionListener;
68    
# Line 73  import net.sf.juife.event.TaskListener; Line 80  import net.sf.juife.event.TaskListener;
80    
81  import org.jsampler.CC;  import org.jsampler.CC;
82  import org.jsampler.HF;  import org.jsampler.HF;
 import org.jsampler.Instrument;  
83  import org.jsampler.JSI18n;  import org.jsampler.JSI18n;
84    
85  import org.jsampler.task.InstrumentsDb;  import org.jsampler.task.InstrumentsDb;
# Line 88  import org.linuxsampler.lscp.DbDirectory Line 94  import org.linuxsampler.lscp.DbDirectory
94  import org.linuxsampler.lscp.DbInstrumentInfo;  import org.linuxsampler.lscp.DbInstrumentInfo;
95  import org.linuxsampler.lscp.DbSearchQuery;  import org.linuxsampler.lscp.DbSearchQuery;
96    
97    import static javax.swing.event.RowSorterEvent.Type.SORT_ORDER_CHANGED;
98  import static org.jsampler.view.classic.ClassicI18n.i18n;  import static org.jsampler.view.classic.ClassicI18n.i18n;
99  import static org.jsampler.view.classic.ClassicPrefs.preferences;  import static org.jsampler.view.classic.ClassicPrefs.preferences;
100    import static org.jsampler.view.fantasia.FantasiaPrefs.INSTRUMENTS_DB_FRAME_SORT_ORDER;
101    
102  /**  /**
103   *   *
# Line 121  public class InstrumentsDbFrame extends Line 129  public class InstrumentsDbFrame extends
129                  if(Res.appIcon != null) setIconImage(Res.appIcon.getImage());                  if(Res.appIcon != null) setIconImage(Res.appIcon.getImage());
130                                    
131                  instrumentsDbTree = new JSInstrumentsDbTree(CC.getInstrumentsDbTreeModel());                  instrumentsDbTree = new JSInstrumentsDbTree(CC.getInstrumentsDbTreeModel());
132                    CC.addInstrumentsDbChangeListener(new ChangeListener() {
133                            public void
134                            stateChanged(ChangeEvent e) {
135                                    instrumentsDbTree.setModel(CC.getInstrumentsDbTreeModel());
136                                    
137                                    CC.scheduleInTaskQueue(new Runnable() {
138                                            public void
139                                            run() {
140                                                    instrumentsDbTree.setSelectedDirectory("/");
141                                                    navigationHistoryModel.clearHistory();
142                                            }
143                                    });
144                            }
145                    });
146                                    
147                  sidePane = new SidePane();                  sidePane = new SidePane();
148                  mainPane = new MainPane();                  mainPane = new MainPane();
# Line 651  public class InstrumentsDbFrame extends Line 673  public class InstrumentsDbFrame extends
673                          );                          );
674                                                    
675                          instrumentsTable.getParent().setBackground(instrumentsTable.getBackground());                          instrumentsTable.getParent().setBackground(instrumentsTable.getBackground());
676                          instrumentsTable.getRowSorter().toggleSortOrder(0);                          
677                            int i = preferences().getIntProperty(INSTRUMENTS_DB_FRAME_SORT_ORDER);
678                            boolean descending = i < 0;
679                            if(i < 0) i *= -1;
680                            
681                            instrumentsTable.getRowSorter().toggleSortOrder(--i);
682                            if(descending) instrumentsTable.getRowSorter().toggleSortOrder(i);
683                          searchResultsNode.setDetached(true);                          searchResultsNode.setDetached(true);
684                            
685                            RowSorterListener l = new RowSorterListener() {
686                                    public void
687                                    sorterChanged(RowSorterEvent e) {
688                                            if(e.getType() != SORT_ORDER_CHANGED) return;
689                                            rowSorterChanged();
690                                    }
691                            };
692                            
693                            instrumentsTable.getRowSorter().addRowSorterListener(l);
694                    }
695                    
696                    private void
697                    rowSorterChanged() {
698                            List<? extends SortKey> list = instrumentsTable.getRowSorter().getSortKeys();
699                            if(list.isEmpty()) return;
700                            SortKey k = list.get(0);
701                            int i = k.getColumn() + 1;
702                            if(k.getSortOrder() == SortOrder.UNSORTED) return;
703                            if(k.getSortOrder() == SortOrder.DESCENDING) i *= -1;
704                            preferences().setIntProperty(INSTRUMENTS_DB_FRAME_SORT_ORDER, i);
705                  }                  }
706                                    
707                  public JSInstrumentsDbTable                  public JSInstrumentsDbTable

Legend:
Removed from v.1355  
changed lines
  Added in v.1705

  ViewVC Help
Powered by ViewVC