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 } |