+ this.addWindowListener(new WindowAdapter()\r
+ {\r
+ public void windowClosing(WindowEvent e)\r
+ {\r
+ closeMenuItem_actionPerformed(null);\r
+ }\r
+ });\r
+\r
+ viewport.addPropertyChangeListener(new java.beans.PropertyChangeListener()\r
+ {\r
+ public void propertyChange(java.beans.PropertyChangeEvent evt)\r
+ {\r
+ if (evt.getPropertyName().equals("alignment"))\r
+ {\r
+ alignmentChanged();\r
+ }\r
+ }\r
+ });\r
+\r
+ jalview.bin.JalviewLite.addFrame(this, title,\r
+ NEW_WINDOW_WIDTH,\r
+ NEW_WINDOW_HEIGHT);\r
+\r
+\r
+ }\r
+\r
+\r
+ /**\r
+ * DOCUMENT ME!\r
+ *\r
+ * @param String DOCUMENT ME!\r
+ */\r
+\r
+ public void parseFeaturesFile(String file)\r
+ {\r
+ try\r
+ {\r
+ URL url = new URL(file);\r
+\r
+ BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));\r
+ SequenceI seq = null;\r
+ String line, type, desc, token;\r
+\r
+ int index, start, end;\r
+ StringTokenizer st;\r
+ SequenceFeature sf;\r
+ FeatureRenderer fr = alignPanel.seqPanel.seqCanvas.getFeatureRenderer();\r
+ int lineNo = 0;\r
+ while ( (line = in.readLine()) != null)\r
+ {\r
+ lineNo++;\r
+ st = new StringTokenizer(line, "\t");\r
+ if (st.countTokens() == 2)\r
+ {\r
+ type = st.nextToken();\r
+ UserColourScheme ucs = new UserColourScheme(st.nextToken());\r
+ fr.setColour(type, ucs.findColour("A"));\r
+ continue;\r
+ }\r
+\r
+ while (st.hasMoreElements())\r
+ {\r
+ desc = st.nextToken();\r
+ token = st.nextToken();\r
+ if (!token.equals("ID_NOT_SPECIFIED"))\r
+ {\r
+ index = viewport.alignment.findIndex(viewport.alignment.findName(\r
+ token));\r
+ st.nextToken();\r
+ }\r
+ else\r
+ {\r
+ index = Integer.parseInt(st.nextToken());\r
+ }\r
+\r
+ start = Integer.parseInt(st.nextToken());\r
+ end = Integer.parseInt(st.nextToken());\r
+\r
+ seq = viewport.alignment.getSequenceAt(index);\r
+ start = seq.findIndex(start) - 1;\r
+ end = seq.findIndex(end) - 1;\r
+\r
+ type = st.nextToken();\r
+\r
+ if(fr.getColour(type)==null)\r
+ {\r
+ // Probably the old style groups file\r
+ UserColourScheme ucs = new UserColourScheme(type);\r
+ fr.setColour(type, ucs.findColour("A"));\r
+ }\r