Dont change ap font from treePanel
[jalview.git] / src / jalview / gui / FontChooser.java
index 98d3ecb..9803822 100755 (executable)
@@ -1,6 +1,6 @@
 /*\r
  * Jalview - A Sequence Alignment Editor and Viewer\r
- * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle\r
+ * Copyright (C) 2006 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
@@ -50,8 +50,10 @@ public class FontChooser extends GFontChooser
     public FontChooser(TreePanel tp)\r
     {\r
       this.tp = tp;\r
-      oldFont = tp.getFont();\r
+      ap = tp.treeCanvas.ap;\r
+      oldFont = tp.getTreeFont();\r
       defaultButton.setVisible(false);\r
+      smoothFont.setEnabled(false);\r
       init();\r
     }\r
     /**\r
@@ -70,10 +72,13 @@ public class FontChooser extends GFontChooser
     {\r
         frame = new JInternalFrame();\r
         frame.setContentPane(this);\r
+\r
+        smoothFont.setSelected(ap.av.antiAlias);\r
+\r
         if(tp!=null)\r
-           Desktop.addInternalFrame(frame, "Change Font (Tree Panel)", 480, 100, false);\r
+           Desktop.addInternalFrame(frame, "Change Font (Tree Panel)", 340, 170, false);\r
         else\r
-           Desktop.addInternalFrame(frame, "Change Font", 480, 100, false);\r
+           Desktop.addInternalFrame(frame, "Change Font", 340, 170, false);\r
 \r
         frame.setLayer(JLayeredPane.PALETTE_LAYER);\r
 \r
@@ -85,7 +90,7 @@ public class FontChooser extends GFontChooser
             fontName.addItem(fonts[i]);\r
         }\r
 \r
-        for (int i = 1; i < 31; i++)\r
+        for (int i = 1; i < 51; i++)\r
         {\r
             fontSize.addItem(i + "");\r
         }\r
@@ -98,9 +103,23 @@ public class FontChooser extends GFontChooser
         fontSize.setSelectedItem(oldFont.getSize() + "");\r
         fontStyle.setSelectedIndex(oldFont.getStyle());\r
 \r
+        FontMetrics fm = getGraphics().getFontMetrics(oldFont);\r
+        monospaced.setSelected( fm.getStringBounds("M",getGraphics()).getWidth()\r
+                              ==fm.getStringBounds("|",getGraphics()).getWidth());\r
+\r
+\r
         init = false;\r
     }\r
 \r
+    public void smoothFont_actionPerformed(ActionEvent e)\r
+    {\r
+      ap.av.antiAlias = smoothFont.isSelected();\r
+      ap.annotationPanel.image = null;\r
+      ap.repaint();\r
+    }\r
+\r
+\r
+\r
     /**\r
      * DOCUMENT ME!\r
      *\r
@@ -139,7 +158,7 @@ public class FontChooser extends GFontChooser
         }\r
         else if(tp!=null)\r
         {\r
-          tp.setFont(oldFont);\r
+          tp.setTreeFont(oldFont);\r
         }\r
         fontName.setSelectedItem(oldFont.getName());\r
         fontSize.setSelectedItem(oldFont.getSize() + "");\r
@@ -162,15 +181,22 @@ public class FontChooser extends GFontChooser
       Font newFont = new Font(fontName.getSelectedItem().toString(),\r
                               fontStyle.getSelectedIndex(),\r
                               Integer.parseInt(fontSize.getSelectedItem().toString()));\r
-      if (ap != null)\r
+      if(tp != null)\r
       {\r
-        ap.av.setFont(newFont);\r
-        ap.fontChanged();\r
+        tp.setTreeFont(newFont);\r
       }\r
-      else if(tp != null)\r
+      else if(ap != null)\r
       {\r
-        tp.setFont(newFont);\r
+        ap.av.setFont(newFont);\r
+        ap.fontChanged();\r
       }\r
+\r
+\r
+      FontMetrics fm = getGraphics().getFontMetrics(newFont);\r
+\r
+      monospaced.setSelected( fm.getStringBounds("M",getGraphics()).getWidth()\r
+                                ==fm.getStringBounds("|",getGraphics()).getWidth());\r
+\r
     }\r
 \r
     /**\r
@@ -228,5 +254,6 @@ public class FontChooser extends GFontChooser
         Cache.setProperty("FONT_NAME", fontName.getSelectedItem().toString());\r
         Cache.setProperty("FONT_STYLE", fontStyle.getSelectedIndex() + "");\r
         Cache.setProperty("FONT_SIZE", fontSize.getSelectedItem().toString());\r
+        Cache.setProperty("ANTI_ALIAS", Boolean.toString(smoothFont.isSelected()));\r
     }\r
 }\r