+ public void mouseClicked(MouseEvent evt)\r
+ {\r
+ MyCheckbox check = (MyCheckbox) evt.getSource();\r
+\r
+ if (fr.featureLinks != null\r
+ && fr.featureLinks.containsKey(check.getLabel()))\r
+ {\r
+ if (evt.getX() > check.stringWidth + 20)\r
+ {\r
+ evt.consume();\r
+ String link = fr.featureLinks.get(check.getLabel()).toString();\r
+ ap.alignFrame.showURL(link.substring(link.indexOf("|") + 1),\r
+ link.substring(0, link.indexOf("|")));\r
+ }\r
+ }\r
+\r
+ if (check.getParent() != featurePanel)\r
+ {\r
+ return;\r
+ }\r
+\r
+ if (evt.getClickCount() > 1)\r
+ {\r
+ new UserDefinedColours(this, check.getLabel(),\r
+ fr.getColour(check.getLabel()));\r
+ }\r
+ }\r
+\r
+ public void mouseMoved(MouseEvent evt)\r
+ {}\r
+\r
+ public void adjustmentValueChanged(AdjustmentEvent evt)\r
+ {\r
+ fr.transparency = ( (float) (100 - transparency.getValue()) / 100f);\r
+ ap.seqPanel.seqCanvas.repaint();\r
+\r
+ }\r
+\r
+ class MyCheckbox\r
+ extends Checkbox\r
+ {\r
+ public int stringWidth;\r
+ boolean hasLink;\r
+ public MyCheckbox(String label, boolean checked, boolean haslink)\r
+ {\r
+ super(label, checked);\r
+\r
+ FontMetrics fm = av.nullFrame.getFontMetrics(av.nullFrame.getFont());\r
+ stringWidth = fm.stringWidth(label);\r
+ this.hasLink = haslink;\r
+ }\r
+\r
+ public void paint(Graphics g)\r
+ {\r
+ if (hasLink)\r
+ {\r
+ g.drawImage(linkImage, stringWidth + 25, (\r
+ getSize().height - linkImage.getHeight(this)) / 2,\r
+ this);\r
+ }\r
+ }\r
+ }\r