/* * (c) 2005-2009 Carlos G�mez Rodr�guez, todos los derechos reservados / all rights reserved. * Licencia en license/bsd.txt / License in license/bsd.txt */ /* * Created at regulus on 09-mar-2009 12:32:10 * as file IconSizesDialog.java on package org.f2o.absurdum.puck.gui.dialog */ package org.f2o.absurdum.puck.gui.dialog; import java.awt.BorderLayout; import java.awt.Dimension; import java.awt.GridLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.KeyEvent; import javax.swing.BorderFactory; import javax.swing.Box; import javax.swing.BoxLayout; import javax.swing.JButton; import javax.swing.JComponent; import javax.swing.JDialog; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JPanel; import javax.swing.JSlider; import javax.swing.JSpinner; import javax.swing.KeyStroke; import javax.swing.SpinnerNumberModel; import javax.swing.event.ChangeEvent; import javax.swing.event.ChangeListener; import org.f2o.absurdum.puck.gui.PuckFrame; import org.f2o.absurdum.puck.gui.config.PuckConfiguration; import org.f2o.absurdum.puck.gui.graph.AbstractEntityNode; import org.f2o.absurdum.puck.gui.graph.Arrow; import org.f2o.absurdum.puck.gui.graph.CharacterNode; import org.f2o.absurdum.puck.gui.graph.ItemNode; import org.f2o.absurdum.puck.gui.graph.Node; import org.f2o.absurdum.puck.gui.graph.RoomNode; import org.f2o.absurdum.puck.gui.graph.SpellNode; import org.f2o.absurdum.puck.i18n.UIMessages; import eu.irreality.age.windowing.DialogUtils; /** * @author carlos * * Created at regulus, 09-mar-2009 12:32:10 */ public class IconSizesDialog extends JDialog { private JSlider roomSlider = new JSlider(5,80); private JSlider itemSlider = new JSlider(5,80); private JSlider charSlider = new JSlider(5,80); private JSlider spellSlider = new JSlider(5,80); private JSlider absSlider = new JSlider(5,80); private JSpinner nodeFontSpinner = new JSpinner(new SpinnerNumberModel(Node.getNameFontSize(),4.0,80.0,1.0)); private JSpinner arrowFontSpinner = new JSpinner(new SpinnerNumberModel(Arrow.getNameFontSize(),4.0,80.0,1.0)); //private JButton bApply = new JButton("button.app"); //private JButton bCancel = new JButton("button.can"); private JButton bClose = new JButton(UIMessages.getInstance().getMessage("button.clo")); public IconSizesDialog ( final PuckFrame parent , boolean modal ) { super(parent,modal); this.setTitle(UIMessages.getInstance().getMessage("dialog.sizes")); roomSlider.setValue(RoomNode.getDefaultSize()); itemSlider.setValue(ItemNode.getDefaultSize()); charSlider.setValue(CharacterNode.getDefaultSize()); spellSlider.setValue(SpellNode.getDefaultSize()); absSlider.setValue(AbstractEntityNode.getDefaultSize()); nodeFontSpinner.setValue(Node.getNameFontSize()); arrowFontSpinner.setValue(Arrow.getNameFontSize()); /* roomSlider.setLabelTable(roomSlider.createStandardLabels(10)); itemSlider.setLabelTable(itemSlider.createStandardLabels(10)); charSlider.setLabelTable(charSlider.createStandardLabels(10)); spellSlider.setLabelTable(spellSlider.createStandardLabels(10)); absSlider.setLabelTable(absSlider.createStandardLabels(10)); */ roomSlider.setMajorTickSpacing(10); itemSlider.setMajorTickSpacing(10); charSlider.setMajorTickSpacing(10); spellSlider.setMajorTickSpacing(10); absSlider.setMajorTickSpacing(10); roomSlider.setMinorTickSpacing(5); itemSlider.setMinorTickSpacing(5); charSlider.setMinorTickSpacing(5); spellSlider.setMinorTickSpacing(5); absSlider.setMinorTickSpacing(5); roomSlider.setPaintLabels(true); itemSlider.setPaintLabels(true); charSlider.setPaintLabels(true); spellSlider.setPaintLabels(true); absSlider.setPaintLabels(true); roomSlider.setPaintTicks(true); itemSlider.setPaintTicks(true); charSlider.setPaintTicks(true); spellSlider.setPaintTicks(true); absSlider.setPaintTicks(true); roomSlider.addChangeListener ( new ChangeListener() { public void stateChanged(ChangeEvent e) { if (!roomSlider.getValueIsAdjusting()) { RoomNode.setDefaultSize(roomSlider.getValue()); parent.repaint(); } } } ); itemSlider.addChangeListener ( new ChangeListener() { public void stateChanged(ChangeEvent e) { if (!itemSlider.getValueIsAdjusting()) { ItemNode.setDefaultSize(itemSlider.getValue()); parent.repaint(); } } } ); charSlider.addChangeListener ( new ChangeListener() { public void stateChanged(ChangeEvent e) { if (!charSlider.getValueIsAdjusting()) { CharacterNode.setDefaultSize(charSlider.getValue()); parent.repaint(); } } } ); spellSlider.addChangeListener ( new ChangeListener() { public void stateChanged(ChangeEvent e) { if (!spellSlider.getValueIsAdjusting()) { SpellNode.setDefaultSize(spellSlider.getValue()); parent.repaint(); } } } ); absSlider.addChangeListener ( new ChangeListener() { public void stateChanged(ChangeEvent e) { if (!absSlider.getValueIsAdjusting()) { AbstractEntityNode.setDefaultSize(absSlider.getValue()); parent.repaint(); } } } ); nodeFontSpinner.addChangeListener ( new ChangeListener() { public void stateChanged(ChangeEvent e) { SpinnerNumberModel snm = (SpinnerNumberModel) nodeFontSpinner.getModel(); String s = ""+snm.getNumber().floatValue(); PuckConfiguration.getInstance().setProperty("graphNodeFontSize",s); parent.repaint(); } } ); arrowFontSpinner.addChangeListener ( new ChangeListener() { public void stateChanged(ChangeEvent e) { SpinnerNumberModel snm = (SpinnerNumberModel) arrowFontSpinner.getModel(); String s = ""+snm.getNumber().floatValue(); PuckConfiguration.getInstance().setProperty("graphArrowFontSize",s); parent.repaint(); } } ); this.getContentPane().setLayout ( new BorderLayout() ); JPanel mainPanel = new JPanel(); mainPanel.setLayout(new BoxLayout(mainPanel,BoxLayout.PAGE_AXIS)); JPanel iconSizesPanel = new JPanel(); iconSizesPanel.setLayout ( new GridLayout(5,2) ); iconSizesPanel.add(new JLabel(UIMessages.getInstance().getMessage("sizes.room"))); iconSizesPanel.add(roomSlider); iconSizesPanel.add(new JLabel(UIMessages.getInstance().getMessage("sizes.item"))); iconSizesPanel.add(itemSlider); iconSizesPanel.add(new JLabel(UIMessages.getInstance().getMessage("sizes.character"))); iconSizesPanel.add(charSlider); iconSizesPanel.add(new JLabel(UIMessages.getInstance().getMessage("sizes.spell"))); iconSizesPanel.add(spellSlider); iconSizesPanel.add(new JLabel(UIMessages.getInstance().getMessage("sizes.abstract"))); iconSizesPanel.add(absSlider); iconSizesPanel.setBorder(BorderFactory.createTitledBorder(UIMessages.getInstance().getMessage("sizes.icons"))); mainPanel.add(iconSizesPanel); JPanel fontSizesPanel = new JPanel(); fontSizesPanel.setLayout( new GridLayout(2,2) ); fontSizesPanel.add(new JLabel(UIMessages.getInstance().getMessage("sizes.font.node"))); JPanel nodeFontSpinnerPanel = new JPanel(); nodeFontSpinnerPanel.setLayout(new BoxLayout(nodeFontSpinnerPanel,BoxLayout.LINE_AXIS)); nodeFontSpinnerPanel.add(Box.createHorizontalGlue()); nodeFontSpinnerPanel.add(nodeFontSpinner); fontSizesPanel.add(nodeFontSpinnerPanel); fontSizesPanel.add(new JLabel(UIMessages.getInstance().getMessage("sizes.font.arrow"))); JPanel arrowFontSpinnerPanel = new JPanel(); arrowFontSpinnerPanel.setLayout(new BoxLayout(arrowFontSpinnerPanel,BoxLayout.LINE_AXIS)); arrowFontSpinnerPanel.add(Box.createHorizontalGlue()); arrowFontSpinnerPanel.add(arrowFontSpinner); fontSizesPanel.add(arrowFontSpinnerPanel); fontSizesPanel.setBorder(BorderFactory.createTitledBorder(UIMessages.getInstance().getMessage("sizes.fonts"))); mainPanel.add(fontSizesPanel); this.getContentPane().add(mainPanel,BorderLayout.CENTER); JPanel buttonsPanel = new JPanel(); buttonsPanel.setLayout(new BoxLayout(buttonsPanel, BoxLayout.LINE_AXIS)); buttonsPanel.setBorder(BorderFactory.createEmptyBorder(0, 10, 10, 10)); buttonsPanel.add(Box.createHorizontalGlue()); //buttonsPanel.add(bApply); //buttonsPanel.add(Box.createRigidArea(new Dimension(10, 0))); buttonsPanel.add(bClose); bClose.addActionListener ( new ActionListener() { public void actionPerformed(ActionEvent e) { saveAndDispose(); } } ); getContentPane().add(buttonsPanel,BorderLayout.SOUTH); registerCloseAction(KeyStroke.getKeyStroke(KeyEvent.VK_ESCAPE, 0)); this.getRootPane().setDefaultButton(bClose); pack(); setLocationRelativeTo(null); } private void saveAndDispose() { PuckConfiguration.getInstance().setProperty("roomDisplaySize",String.valueOf(roomSlider.getValue())); PuckConfiguration.getInstance().setProperty("itemDisplaySize",String.valueOf(itemSlider.getValue())); PuckConfiguration.getInstance().setProperty("spellDisplaySize",String.valueOf(spellSlider.getValue())); PuckConfiguration.getInstance().setProperty("abstractEntityDisplaySize",String.valueOf(absSlider.getValue())); PuckConfiguration.getInstance().setProperty("characterDisplaySize",String.valueOf(charSlider.getValue())); dispose(); } private void registerCloseAction(KeyStroke keyStroke) { ActionListener escListener = new ActionListener() { public void actionPerformed(ActionEvent e) { IconSizesDialog.this.saveAndDispose(); } }; this.getRootPane().registerKeyboardAction(escListener, keyStroke, JComponent.WHEN_IN_FOCUSED_WINDOW); } }