/*
- * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.0b1)
+ * Jalview - A Sequence Alignment Editor and Viewer (Version 2.8.2)
* Copyright (C) 2014 The Jalview Authors
*
* This file is part of Jalview.
*
* Jalview is free software: you can redistribute it and/or
* modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
+ * as published by the Free Software Foundation, either version 3
+ * of the License, or (at your option) any later version.
*
* Jalview is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty
* of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
- * You should have received a copy of the GNU General Public License along with Jalview. If not, see <http://www.gnu.org/licenses/>.
+ * You should have received a copy of the GNU General Public License
+ * along with Jalview. If not, see <http://www.gnu.org/licenses/>.
* The Jalview Authors are detailed in the 'AUTHORS' file.
*/
package jalview.appletgui;
+import jalview.api.ViewStyleI;
import jalview.util.MessageManager;
-import java.awt.*;
-import java.awt.event.*;
+import java.awt.BorderLayout;
+import java.awt.Button;
+import java.awt.Choice;
+import java.awt.Color;
+import java.awt.FlowLayout;
+import java.awt.Font;
+import java.awt.FontMetrics;
+import java.awt.Frame;
+import java.awt.Label;
+import java.awt.Panel;
+import java.awt.Toolkit;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
public class FontChooser extends Panel implements ActionListener,
ItemListener
Font oldFont;
+ int oldCharWidth = 0;
+
boolean init = true;
Frame frame;
this.ap = ap;
oldFont = ap.av.getFont();
+ oldCharWidth = ap.av.getViewStyle().getCharWidth();
init();
}
Frame frame = new Frame();
this.frame = frame;
frame.add(this);
- jalview.bin.JalviewLite.addFrame(frame, MessageManager.getString("action.change_font"), 440, 115);
+ jalview.bin.JalviewLite.addFrame(frame,
+ MessageManager.getString("action.change_font"), 440, 115);
init = false;
}
if (ap != null)
{
ap.av.setFont(oldFont);
+ ViewStyleI style = ap.av.getViewStyle();
+ if (style.getCharWidth() != oldCharWidth)
+ {
+ style.setCharWidth(oldCharWidth);
+ ap.av.setViewStyle(style);
+ }
ap.paintAlignment(true);
}
else if (tp != null)
fontName.select(lastSelected.getName());
fontStyle.select(lastSelStyle);
fontSize.select("" + lastSelSize);
- JVDialog d = new JVDialog(this.frame, MessageManager.getString("label.invalid_font"), true, 350, 200);
+ JVDialog d = new JVDialog(this.frame,
+ MessageManager.getString("label.invalid_font"), true, 350,
+ 200);
Panel mp = new Panel();
d.cancel.setVisible(false);
mp.setLayout(new FlowLayout());