001    package jigcell.compare.ui;
002    
003    import jigcell.compare.ITab;
004    
005    /**
006     * Represents a Comparator tab that has promised functionality for manipulating the row selection of a table view.  Components supporting only a
007     * subset of these features should throw an UnsupportedOperationException to indicate features that are not supported.
008     * 
009     * <p>
010     * This code is licensed under the DARPA BioCOMP Open Source License.  See LICENSE for more details.
011     * </p>
012     *
013     * @author Nicholas Allen
014     */
015    
016    public interface IRowSelectionTab extends ITab {
017    
018       /**
019        * The selected rows of the table.
020        */
021    
022       int [] getSelectedRows ();
023    
024       /**
025        * Selects all cells in the table.
026        */
027    
028       void selectAll ();
029    
030       /**
031        * Inverts the table selection along the default direction.
032        */
033    
034       void selectInvert ();
035    
036       /**
037        * Inverts the table selection along the rows.
038        */
039    
040       void selectInvertRows ();
041    
042       /**
043        * Unselects all cells in the table.
044        */
045    
046       void selectNone ();
047    
048       /**
049        * Sets the table row selection.
050        *
051        * @param rows Rows
052        */
053    
054       void setSelectedRows (int rows []);
055    }