+/*\r
+ * Jalview - A Sequence Alignment Editor and Viewer\r
+ * Copyright (C) 2005 AM Waterhouse, J Procter, 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
+ *\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
+ *\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
+ */\r
package jalview.gui;\r
\r
import java.util.*;\r
\r
+\r
/**\r
* NOTE: Columns are zero based.\r
*/\r
-public class ColumnSelection{\r
- Vector selected = new Vector();\r
-\r
- public void addElement(int col) {\r
- selected.addElement(new Integer(col));\r
- }\r
-\r
- public void clear() {\r
- selected.removeAllElements();\r
- }\r
-\r
- public void removeElement(int col) {\r
- Integer colInt = new Integer(col);\r
- if (selected.contains(colInt)) {\r
- selected.removeElement(colInt);\r
- } else {\r
- System.err.println("WARNING: Tried to remove Integer NOT in ColumnSelection");\r
- }\r
- }\r
+public class ColumnSelection\r
+{\r
+ Vector selected = new Vector();\r
\r
- public boolean contains(int col) {\r
- return selected.contains(new Integer(col));\r
- }\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param col DOCUMENT ME!\r
+ */\r
+ public void addElement(int col)\r
+ {\r
+ if (!selected.contains(new Integer(col)))\r
+ {\r
+ selected.addElement(new Integer(col));\r
+ }\r
+ }\r
\r
- public int columnAt(int i) {\r
- return ((Integer)selected.elementAt(i)).intValue();\r
- }\r
+ /**\r
+ * DOCUMENT ME!\r
+ */\r
+ public void clear()\r
+ {\r
+ selected.removeAllElements();\r
+ }\r
\r
- public int size() {\r
- return selected.size();\r
- }\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param col DOCUMENT ME!\r
+ */\r
+ public void removeElement(int col)\r
+ {\r
+ Integer colInt = new Integer(col);\r
\r
- public int getMax() {\r
- int max = -1;\r
+ if (selected.contains(colInt))\r
+ {\r
+ selected.removeElement(colInt);\r
+ }\r
+ }\r
\r
- for (int i=0;i<selected.size();i++) {\r
- if (columnAt(i) > max) {\r
- max = columnAt(i);\r
+ public void removeElements(int start, int end)\r
+ {\r
+ Integer colInt;\r
+ for(int i=start; i<end; i++)\r
+ {\r
+ colInt = new Integer(i);\r
+ if (selected.contains(colInt))\r
+ {\r
+ selected.removeElement(colInt);\r
+ }\r
}\r
}\r
- return max;\r
- }\r
\r
- public int getMin() {\r
- int min = 1000000000;\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param col DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public boolean contains(int col)\r
+ {\r
+ return selected.contains(new Integer(col));\r
+ }\r
\r
- for (int i=0;i<selected.size();i++) {\r
- if (columnAt(i) < min) {\r
- min = columnAt(i);\r
- }\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param i DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public int columnAt(int i)\r
+ {\r
+ return ((Integer) selected.elementAt(i)).intValue();\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public int size()\r
+ {\r
+ return selected.size();\r
}\r
- return min;\r
- }\r
\r
- public Vector asVector() {\r
- return selected;\r
- }\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public int getMax()\r
+ {\r
+ int max = -1;\r
+\r
+ for (int i = 0; i < selected.size(); i++)\r
+ {\r
+ if (columnAt(i) > max)\r
+ {\r
+ max = columnAt(i);\r
+ }\r
+ }\r
+\r
+ return max;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public int getMin()\r
+ {\r
+ int min = 1000000000;\r
+\r
+ for (int i = 0; i < selected.size(); i++)\r
+ {\r
+ if (columnAt(i) < min)\r
+ {\r
+ min = columnAt(i);\r
+ }\r
+ }\r
+\r
+ return min;\r
+ }\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @return DOCUMENT ME!\r
+ */\r
+ public Vector asVector()\r
+ {\r
+ return selected;\r
+ }\r
\r
- public void compensateForEdit(int start, int change) {\r
- for (int i=0; i < size();i++) {\r
- int temp = columnAt(i);\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param start DOCUMENT ME!\r
+ * @param change DOCUMENT ME!\r
+ */\r
+ public void compensateForEdit(int start, int change)\r
+ {\r
+ for (int i = 0; i < size(); i++)\r
+ {\r
+ int temp = columnAt(i);\r
\r
- if (temp >= start)\r
- selected.setElementAt(new Integer(temp-change),i);\r
+ if (temp >= start)\r
+ {\r
+ selected.setElementAt(new Integer(temp - change), i);\r
+ }\r
+ }\r
}\r
- }\r
}\r