X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=src%2Fjalview%2Fappletgui%2FFontChooser.java;h=87fa50febf74051eaf3cf6091203df53af2bcfb0;hb=f7a97ef025c498c19fdcc37d9fc0506d511d18dd;hp=e424a42e31c19d531d1daef1f95e5369fe4d54e5;hpb=ee53965807b83bf93a21cbc341cee9a9e005b2cb;p=jalview.git diff --git a/src/jalview/appletgui/FontChooser.java b/src/jalview/appletgui/FontChooser.java index e424a42..87fa50f 100755 --- a/src/jalview/appletgui/FontChooser.java +++ b/src/jalview/appletgui/FontChooser.java @@ -1,6 +1,6 @@ /* * Jalview - A Sequence Alignment Editor and Viewer - * Copyright (C) 2005 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle + * Copyright (C) 2007 AM Waterhouse, J Procter, G Barton, M Clamp, S Searle * * This program is free software; you can redistribute it and/or * modify it under the terms of the GNU General Public License @@ -20,11 +20,10 @@ package jalview.appletgui; import java.awt.*; - -import jalview.jbappletgui.*; +import java.awt.event.*; public class FontChooser - extends GFontChooser + extends Panel implements ActionListener, ItemListener { AlignmentPanel ap; TreePanel tp; @@ -34,6 +33,15 @@ public class FontChooser public FontChooser(TreePanel tp) { + try + { + jbInit(); + } + catch (Exception e) + { + e.printStackTrace(); + } + this.tp = tp; oldFont = tp.getTreeFont(); init(); @@ -41,14 +49,22 @@ public class FontChooser public FontChooser(AlignmentPanel ap) { + try + { + jbInit(); + } + catch (Exception e) + { + e.printStackTrace(); + } + this.ap = ap; oldFont = ap.av.getFont(); init(); } void init() - { - this.ap = ap; + { String fonts[] = Toolkit.getDefaultToolkit().getFontList(); for (int i = 0; i < fonts.length; i++) { @@ -71,11 +87,39 @@ public class FontChooser Frame frame = new Frame(); this.frame = frame; frame.add(this); - jalview.bin.JalviewLite.addFrame(frame, "Change Font", 440, 100); + jalview.bin.JalviewLite.addFrame(frame, "Change Font", 440, 115); init = false; } + public void actionPerformed(ActionEvent evt) + { + if (evt.getSource() == ok) + { + ok_actionPerformed(); + } + else if (evt.getSource() == cancel) + { + cancel_actionPerformed(); + } + } + + public void itemStateChanged(ItemEvent evt) + { + if (evt.getSource() == fontName) + { + fontName_actionPerformed(); + } + else if (evt.getSource() == fontSize) + { + fontSize_actionPerformed(); + } + else if (evt.getSource() == fontStyle) + { + fontStyle_actionPerformed(); + } + } + protected void ok_actionPerformed() { frame.setVisible(false); @@ -91,12 +135,12 @@ public class FontChooser protected void cancel_actionPerformed() { - if(ap!=null) + if (ap != null) { ap.av.setFont(oldFont); - ap.repaint(); + ap.paintAlignment(true); } - else if(tp!=null) + else if (tp != null) { tp.setTreeFont(oldFont); tp.treeCanvas.repaint(); @@ -121,10 +165,10 @@ public class FontChooser ap.av.setFont(newFont); ap.fontChanged(); } - else if(tp != null) + else if (tp != null) { tp.setTreeFont(newFont); - } + } } protected void fontName_actionPerformed() @@ -154,4 +198,71 @@ public class FontChooser changeFont(); } + Label label1 = new Label(); + protected Choice fontSize = new Choice(); + protected Choice fontStyle = new Choice(); + Label label2 = new Label(); + Label label3 = new Label(); + protected Choice fontName = new Choice(); + Button ok = new Button(); + Button cancel = new Button(); + Panel panel1 = new Panel(); + Panel panel2 = new Panel(); + Panel panel3 = new Panel(); + BorderLayout borderLayout1 = new BorderLayout(); + BorderLayout borderLayout2 = new BorderLayout(); + BorderLayout borderLayout3 = new BorderLayout(); + Panel panel4 = new Panel(); + Panel panel5 = new Panel(); + BorderLayout borderLayout4 = new BorderLayout(); + + private void jbInit() + throws Exception + { + label1.setFont(new java.awt.Font("Verdana", 0, 11)); + label1.setAlignment(Label.RIGHT); + label1.setText("Font: "); + this.setLayout(borderLayout4); + fontSize.setFont(new java.awt.Font("Verdana", 0, 11)); + fontSize.addItemListener(this); + fontStyle.setFont(new java.awt.Font("Verdana", 0, 11)); + fontStyle.addItemListener(this); + label2.setAlignment(Label.RIGHT); + label2.setFont(new java.awt.Font("Verdana", 0, 11)); + label2.setText("Size: "); + label3.setAlignment(Label.RIGHT); + label3.setFont(new java.awt.Font("Verdana", 0, 11)); + label3.setText("Style: "); + fontName.setFont(new java.awt.Font("Verdana", 0, 11)); + fontName.addItemListener(this); + ok.setFont(new java.awt.Font("Verdana", 0, 11)); + ok.setLabel("OK"); + ok.addActionListener(this); + cancel.setFont(new java.awt.Font("Verdana", 0, 11)); + cancel.setLabel("Cancel"); + cancel.addActionListener(this); + this.setBackground(Color.white); + panel1.setLayout(borderLayout1); + panel2.setLayout(borderLayout3); + panel3.setLayout(borderLayout2); + panel5.setBackground(Color.white); + panel4.setBackground(Color.white); + panel1.setBackground(Color.white); + panel2.setBackground(Color.white); + panel3.setBackground(Color.white); + panel1.add(label1, BorderLayout.WEST); + panel1.add(fontName, BorderLayout.CENTER); + panel5.add(panel1, null); + panel5.add(panel3, null); + panel5.add(panel2, null); + panel2.add(label3, BorderLayout.WEST); + panel2.add(fontStyle, BorderLayout.CENTER); + panel3.add(label2, BorderLayout.WEST); + panel3.add(fontSize, BorderLayout.CENTER); + this.add(panel4, BorderLayout.SOUTH); + panel4.add(ok, null); + panel4.add(cancel, null); + this.add(panel5, BorderLayout.CENTER); + } + }