From: Egon W. <eg...@us...> - 2004-06-06 18:21:03
|
Update of /cvsroot/cdk/cdk/src/org/openscience/cdk/applications/swing/editor In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20855/src/org/openscience/cdk/applications/swing/editor Modified Files: Renderer2DModelEditor.java Log Message: Renderer2D font can now be set (closes JCP RFE #901009) Index: Renderer2DModelEditor.java =================================================================== RCS file: /cvsroot/cdk/cdk/src/org/openscience/cdk/applications/swing/editor/Renderer2DModelEditor.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Renderer2DModelEditor.java 3 Jun 2004 12:50:02 -0000 1.1 +++ Renderer2DModelEditor.java 6 Jun 2004 18:20:53 -0000 1.2 @@ -23,11 +23,19 @@ */ package org.openscience.cdk.applications.swing.editor; +import java.awt.Font; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import javax.swing.JButton; import javax.swing.JCheckBox; +import javax.swing.JFrame; +import javax.swing.JLabel; import javax.swing.JTextField; import javax.swing.JSpinner; import javax.swing.SpinnerNumberModel; +import com.ozten.font.JFontChooser; // from jfontchooser.jar + import org.openscience.cdk.Atom; import org.openscience.cdk.ChemObject; import org.openscience.cdk.applications.swing.FieldTablePanel; @@ -35,8 +43,9 @@ /** * @cdk.module applications + * @cdk.builddepends jfontchooser.jar */ -public class Renderer2DModelEditor extends FieldTablePanel { +public class Renderer2DModelEditor extends FieldTablePanel implements ActionListener { private JCheckBox drawNumbers; private JCheckBox showAtomAtomMapping; @@ -47,15 +56,22 @@ private JCheckBox showAromaticityInCDKStyle; private JCheckBox colorAtomsByType; private JCheckBox showToolTip; + private JLabel fontName; + private JButton chooseFontButton; + private Font currentFont; + + private JFrame frame; private Renderer2DModel model; - public Renderer2DModelEditor() { + public Renderer2DModelEditor(JFrame frame) { super(); + this.frame = frame; constructPanel(); } private void constructPanel() { + currentFont = null; drawNumbers = new JCheckBox(); addField("Draw atom numbers", drawNumbers); showAtomAtomMapping = new JCheckBox(); @@ -74,6 +90,12 @@ addField("Color atoms by element", colorAtomsByType); showToolTip = new JCheckBox(); addField("Show tooltips", showToolTip); + fontName = new JLabel(); + addField("Font name", fontName); + chooseFontButton = new JButton("Choose Font..."); + chooseFontButton.addActionListener(this); + chooseFontButton.setActionCommand("chooseFont"); + addField("", chooseFontButton); } public void setModel(Renderer2DModel model) { @@ -87,6 +109,10 @@ showAromaticityInCDKStyle.setSelected(model.getShowAromaticityInCDKStyle()); colorAtomsByType.setSelected(model.getColorAtomsByType()); showToolTip.setSelected(model.getShowTooltip()); + currentFont = model.getFont(); + if (currentFont != null) { + fontName.setText(currentFont.getFontName()); + } validate(); } @@ -100,7 +126,21 @@ model.setShowAromaticityInCDKStyle(showAromaticityInCDKStyle.isSelected()); model.setColorAtomsByType(colorAtomsByType.isSelected()); model.setShowTooltip(showToolTip.isSelected()); + model.setFont(currentFont); } + + /** + * Required by the ActionListener interface. + */ + public void actionPerformed(ActionEvent e) { + if ("chooseFont".equals(e.getActionCommand())) { + Font newFont = JFontChooser.showDialog(this.frame, "Choose a Font", "Carbon Dioxide", currentFont); + if (newFont != null) { + currentFont = newFont; + fontName.setText(currentFont.getFontName()); + } + } + } } |