Inheritance diagram for SegmentationTable::

Public Methods | |
| SegmentationTable (HxCorba.VxSegmentationOperations seg, String featureName) | |
| SegmentationTable (HxCorba.VxSegmentationOperations seg, String[] ids, String[] types) | |
| void | setUser (FrameNavigatorUser u) |
| void | setCurrentFrame (int frameNr) |
| void | setNumberOfFrames (int maxFrame) |
|
||||||||||||
|
00023 {
00024 this(seg,
00025 (featureName == null)? new String[0] : new String[] {featureName},
00026 (featureName == null)? new String[0] : new String[] {"string"});
00027 }
|
|
||||||||||||||||
|
00031 {
00032 setShowGrid(false);
00033 setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
00034
00035 getSelectionModel().addListSelectionListener(new MyListListener());
00036
00037 int nCols = 2 + Math.max(ids.length, 1);
00038 DefaultTableModel model = new DefaultTableModel(0,nCols) {
00039 public boolean isCellEditable(int row, int col) { return false; }
00040 };
00041
00042 //String featureValue = (featureName.length() > 0)? "..." : "";
00043
00044 HxCorba.VxTimeSpan[] times = seg.getTimeSpans();
00045 for (int i=0; i<times.length; i++) {
00046 Object[] row = new Object[nCols];
00047 row[0] = new Integer(times[i].start);
00048 row[1] = new Integer(times[i].end);
00049 row[2] = "";
00050 for(int j=0; j<ids.length; j++)
00051 row[2+j] = "..."; //(ids[j].length() > 0)? "..." : "";
00052 model.addRow(row);
00053 }
00054
00055 String[] colNames = new String[nCols];
00056 colNames[0] = "start";
00057 colNames[1] = "end";
00058 colNames[2] = "";
00059 for(int j=0; j<ids.length; j++)
00060 colNames[2+j] = ids[j];
00061 model.setColumnIdentifiers(colNames);
00062
00063 setModel(model);
00064 sizeColumnsToFit(-1);
00065 getColumnModel().getColumn(0).setPreferredWidth(70);
00066 getColumnModel().getColumn(1).setPreferredWidth(70);
00067 getColumnModel().getColumn(2).setPreferredWidth(400);
00068 for(int j=0; j<ids.length; j++)
00069 getColumnModel().getColumn(2+j).setPreferredWidth(400/ids.length);
00070 setAutoResizeMode(JTable.AUTO_RESIZE_LAST_COLUMN);
00071
00072 _timeList = new TimeSpanList(times);
00073 _currentStart = -1;
00074 _currentEnd = -1;
00075 //_currentRow = -1;
00076
00077 // load feature
00078
00079 if(ids.length > 0) {
00080 PlayingDirector director = new PlayingDirector(times.length);
00081 for(int i=0; i<ids.length; i++)
00082 director.addPlayingObserver(new FeatureDisplayer(seg.getAll(),
00083 ids[i], types[i], model, i+2));
00084 director.play();
00085 }
00086 }
|
|
|
Reimplemented from FrameNavigator.
00090 {
00091 _user = u;
00092 }
|
|
|
Reimplemented from FrameNavigator.
00096 {
00097 if((frameNr >= _currentStart) && (frameNr <= _currentEnd)) return;
00098
00099 _updatingFrame = true;
00100 int row = _timeList.searchSegmentOfFrame(frameNr);
00101 if(row != -1) {
00102 setRowSelectionInterval(row, row);
00103 scrollRectToVisible(getCellRect(row, 0, true));
00104 }
00105 else {
00106 clearSelection();
00107 _currentStart = -1;
00108 _currentEnd = -1;
00109 }
00110 _updatingFrame = false;
00111
00112 }
|
|
|
Reimplemented from FrameNavigator.
00116 {
00117 }
|
1.2.12 written by Dimitri van Heesch,
© 1997-2001