Horus Doc || Java GUI Reference || Doxygen's quick Index  

SegmentationTable Class Reference

Inheritance diagram for SegmentationTable::

FrameNavigator List of all members.

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)

Constructor & Destructor Documentation

SegmentationTable::SegmentationTable HxCorba.VxSegmentationOperations    seg,
String    featureName
[inline]
 

00023 {
00024     this(seg,
00025         (featureName == null)? new String[0] : new String[] {featureName},
00026         (featureName == null)? new String[0] : new String[] {"string"});
00027 }

SegmentationTable::SegmentationTable HxCorba.VxSegmentationOperations    seg,
String    ids[],
String    types[]
[inline]
 

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 }


Member Function Documentation

void SegmentationTable::setUser FrameNavigatorUser    u [inline]
 

Reimplemented from FrameNavigator.

00090 {
00091     _user = u;
00092 }

void SegmentationTable::setCurrentFrame int    frameNr [inline]
 

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 }

void SegmentationTable::setNumberOfFrames int    maxFrame [inline]
 

Reimplemented from FrameNavigator.

00116 {
00117 }


The documentation for this class was generated from the following file:
Generated on Mon Jan 27 15:11:26 2003 for JavaReference by doxygen1.2.12 written by Dimitri van Heesch, © 1997-2001