JAL-3383 JAL-3253-applet bug in FontChooser calls for full redraw;
[jalview.git] / src / jalview / gui / FontChooser.java
index 80ac189..9bb133c 100755 (executable)
@@ -87,7 +87,7 @@ public class FontChooser extends GFontChooser
   public FontChooser(TreePanel treePanel)
   {
     this.tp = treePanel;
-    ap = treePanel.treeCanvas.ap;
+    ap = treePanel.getTreeCanvas().getAssociatedPanel();
     oldFont = treePanel.getTreeFont();
     defaultButton.setVisible(false);
     smoothFont.setEnabled(false);
@@ -134,7 +134,7 @@ public class FontChooser extends GFontChooser
       fontAsCdna.setSelected(ap.av.isProteinFontAsCdna());
     }
 
-    if (tp != null)
+    if (isTreeFont())
     {
       Desktop.addInternalFrame(frame,
               MessageManager.getString("action.change_font_tree_panel"),
@@ -215,7 +215,11 @@ public class FontChooser extends GFontChooser
     {
       if (ap.getOverviewPanel() != null)
       {
-        ap.getOverviewPanel().updateOverviewImage();
+        // changes size of rectangle
+        // BH 2019.07.29 -- updateOverviewImage forces a redraw, but all we are
+        // doing is changing the box size.
+
+        ap.getOverviewPanel().repaint();// updateOverviewImage();
       }
     }
   }
@@ -229,13 +233,17 @@ public class FontChooser extends GFontChooser
   @Override
   protected void cancel_actionPerformed()
   {
-    if (ap != null)
+    if (isTreeFont())
+    {
+      tp.setTreeFont(oldFont);
+    }
+    else if (ap != null)
     {
       ap.av.setFont(oldFont, true);
       ap.av.setScaleProteinAsCdna(oldProteinScale);
       ap.av.setProteinFontAsCdna(oldMirrorFont);
       ap.av.antiAlias = oldSmoothFont;
-      ap.paintAlignment(true, false);
+      ap.fontChanged();
 
       if (scaleAsCdna.isVisible() && scaleAsCdna.isEnabled())
       {
@@ -250,10 +258,6 @@ public class FontChooser extends GFontChooser
         splitFrame.repaint();
       }
     }
-    else if (tp != null)
-    {
-      tp.setTreeFont(oldFont);
-    }
 
     try
     {
@@ -263,6 +267,11 @@ public class FontChooser extends GFontChooser
     }
   }
 
+  private boolean isTreeFont()
+  {
+    return tp != null;
+  }
+
   /**
    * DOCUMENT ME!
    */
@@ -317,7 +326,7 @@ public class FontChooser extends GFontChooser
       }
       return;
     }
-    if (tp != null)
+    if (isTreeFont())
     {
       tp.setTreeFont(newFont);
     }
@@ -403,10 +412,10 @@ public class FontChooser extends GFontChooser
   @Override
   public void defaultButton_actionPerformed()
   {
-    Cache.setProperty("FONT_NAME", fontName.getSelectedItem().toString());
-    Cache.setProperty("FONT_STYLE", fontStyle.getSelectedIndex() + "");
-    Cache.setProperty("FONT_SIZE", fontSize.getSelectedItem().toString());
-    Cache.setProperty("ANTI_ALIAS",
+    Cache.setProperty(Preferences.FONT_NAME, fontName.getSelectedItem().toString());
+    Cache.setProperty(Preferences.FONT_STYLE, fontStyle.getSelectedIndex() + "");
+    Cache.setProperty(Preferences.FONT_SIZE, fontSize.getSelectedItem().toString());
+    Cache.setProperty(Preferences.ANTI_ALIAS,
             Boolean.toString(smoothFont.isSelected()));
     Cache.setProperty(Preferences.SCALE_PROTEIN_TO_CDNA,
             Boolean.toString(scaleAsCdna.isSelected()));