jalview 2.5 release banner
[jalview.git] / src / jalview / util / TableSorter.java
index 5f3b2a4..a0d449e 100755 (executable)
@@ -1,20 +1,19 @@
 /*\r
- * Jalview - A Sequence Alignment Editor and Viewer (Development Version 2.4.1)\r
- * Copyright (C) 2009 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.5)\r
+ * Copyright (C) 2010 J Procter, AM Waterhouse, G Barton, M Clamp, S Searle\r
  * \r
- * This program is free software; you can redistribute it and/or\r
- * modify it under the terms of the GNU General Public License\r
- * as published by the Free Software Foundation; either version 2\r
- * of the License, or (at your option) any later version.\r
+ * This file is part of Jalview.\r
  * \r
- * This program is distributed in the hope that it will be useful,\r
- * but WITHOUT ANY WARRANTY; without even the implied warranty of\r
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
- * GNU General Public License for more details.\r
+ * Jalview is free software: you can redistribute it and/or\r
+ * modify it under the terms of the GNU General Public License \r
+ * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.\r
  * \r
- * You should have received a copy of the GNU General Public License\r
- * along with this program; if not, write to the Free Software\r
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA\r
+ * Jalview is distributed in the hope that it will be useful, but \r
+ * WITHOUT ANY WARRANTY; without even the implied warranty \r
+ * of MERCHANTABILITY or FITNESS FOR A PARTICULAR \r
+ * PURPOSE.  See the GNU General Public License for more details.\r
+ * \r
+ * You should have received a copy of the GNU General Public License along with Jalview.  If not, see <http://www.gnu.org/licenses/>.\r
  */\r
 package jalview.util;\r
 \r
@@ -35,30 +34,33 @@ import javax.swing.table.*;
  * getValueAt(row, col)) they are passed to the underlying model after the row\r
  * numbers have been translated via the internal mapping array. This way, the\r
  * TableSorter appears to hold another copy of the table with the rows in a\r
- * different order. <p/> TableSorter registers itself as a listener to the\r
- * underlying model, just as the JTable itself would. Events recieved from the\r
- * model are examined, sometimes manipulated (typically widened), and then\r
- * passed on to the TableSorter's listeners (typically the JTable). If a change\r
- * to the model has invalidated the order of TableSorter's rows, a note of this\r
- * is made and the sorter will resort the rows the next time a value is\r
- * requested. <p/> When the tableHeader property is set, either by using the\r
- * setTableHeader() method or the two argument constructor, the table header may\r
- * be used as a complete UI for TableSorter. The default renderer of the\r
- * tableHeader is decorated with a renderer that indicates the sorting status of\r
- * each column. In addition, a mouse listener is installed with the following\r
- * behavior:\r
+ * different order.\r
+ * <p/>\r
+ * TableSorter registers itself as a listener to the underlying model, just as\r
+ * the JTable itself would. Events recieved from the model are examined,\r
+ * sometimes manipulated (typically widened), and then passed on to the\r
+ * TableSorter's listeners (typically the JTable). If a change to the model has\r
+ * invalidated the order of TableSorter's rows, a note of this is made and the\r
+ * sorter will resort the rows the next time a value is requested.\r
+ * <p/>\r
+ * When the tableHeader property is set, either by using the setTableHeader()\r
+ * method or the two argument constructor, the table header may be used as a\r
+ * complete UI for TableSorter. The default renderer of the tableHeader is\r
+ * decorated with a renderer that indicates the sorting status of each column.\r
+ * In addition, a mouse listener is installed with the following behavior:\r
  * <ul>\r
- * <li> Mouse-click: Clears the sorting status of all other columns and advances\r
+ * <li>Mouse-click: Clears the sorting status of all other columns and advances\r
  * the sorting status of that column through three values: {NOT_SORTED,\r
  * ASCENDING, DESCENDING} (then back to NOT_SORTED again).\r
- * <li> SHIFT-mouse-click: Clears the sorting status of all other columns and\r
+ * <li>SHIFT-mouse-click: Clears the sorting status of all other columns and\r
  * cycles the sorting status of the column through the same three values, in the\r
  * opposite order: {NOT_SORTED, DESCENDING, ASCENDING}.\r
- * <li> CONTROL-mouse-click and CONTROL-SHIFT-mouse-click: as above except that\r
+ * <li>CONTROL-mouse-click and CONTROL-SHIFT-mouse-click: as above except that\r
  * the changes to the column do not cancel the statuses of columns that are\r
  * already sorting - giving a way to initiate a compound sort.\r
  * </ul>\r
- * <p/> This is a long overdue rewrite of a class of the same name that first\r
+ * <p/>\r
+ * This is a long overdue rewrite of a class of the same name that first\r
  * appeared in the swing table demos in 1997.\r
  * \r
  * @author Philip Milne\r