/* Copyright 2006 Eric Hakenholz This file is part of C.a.R. software. C.a.R. is a 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, version 3 of the License. C.a.R. 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 this program. If not, see . */ package eric; import java.awt.Dimension; import java.awt.event.ItemEvent; import javax.swing.JComponent; import eric.JEricPanel; import rene.gui.Global; /** * * @author erichake */ public class JGlobalPreferencesDlog extends javax.swing.JFrame { /** * */ private static final long serialVersionUID = 1L; /** Creates new form JGlobalPreferencesDlog */ public JGlobalPreferencesDlog() { initComponents(); tabs.setTitleAt(0, Loc("sizes")); tabs.setTitleAt(1, Loc("colors")); tabs.setTitleAt(2, Loc("others")); undock.setText(Loc("others.undock")); JGlobalPreferences.savePreferences(); sizes.add(Vspacer(20)); sizes.add(new JGlobalPreferencesCursor("prefs.minpointsize", Loc("sizes.minpointsize"), 1, 9, 3)); sizes.add(new JGlobalPreferencesCursor("prefs.minlinesize", Loc("sizes.minlinesize"), 1, 9, 1)); sizes.add(new JGlobalPreferencesCursor("prefs.arrowsize", Loc("sizes.arrowsize"), 3, 50, 15)); sizes.add(new JGlobalPreferencesCursor("prefs.minfontsize", Loc("sizes.minfontsize"), 1, 64, 12)); sizes.add(Vspacer(20)); sizes.add(new JGlobalPreferencesCursor("prefs.digits.lengths", Loc("sizes.digits.lengths"), 0, 12, 5)); sizes.add(new JGlobalPreferencesCursor("prefs.digits.edit", Loc("sizes.digits.edit"), 0, 12, 5)); sizes.add(new JGlobalPreferencesCursor("prefs.digits.angles", Loc("sizes.digits.angles"), 0, 12, 0)); colors.add(Vspacer(20)); colors.add(new JGlobalPreferencesColor()); undock.setSelected(Global.getParameter("prefs.undockpalette", false)); setVisible(true); } static private String Loc(final String s) { return Global.Loc("menu.special.options." + s); } static private JEricPanel Vspacer(final int h) { final JEricPanel mysep = new JEricPanel(); mysep.setOpaque(false); fixsize(mysep, new Dimension(1, h)); return mysep; } static private void fixsize(final JComponent cp, final Dimension d) { cp.setMaximumSize(d); cp.setMinimumSize(d); cp.setPreferredSize(d); cp.setSize(d); } /** * This method is called from within the constructor to initialize the form. * WARNING: Do NOT modify this code. The content of this method is always * regenerated by the Form Editor. */ // //GEN-BEGIN:initComponents private void initComponents() { tabs = new javax.swing.JTabbedPane(); sizes = new javax.swing.JPanel(); colors = new javax.swing.JPanel(); other = new javax.swing.JPanel(); jPanel2 = new javax.swing.JPanel(); undock = new javax.swing.JCheckBox(); jPanel1 = new javax.swing.JPanel(); jPanel3 = new javax.swing.JPanel(); jButton2 = new javax.swing.JButton(); getContentPane().setLayout( new javax.swing.BoxLayout(getContentPane(), javax.swing.BoxLayout.Y_AXIS)); setDefaultCloseOperation(javax.swing.WindowConstants.DISPOSE_ON_CLOSE); setTitle("Preferences"); setAlwaysOnTop(true); setResizable(false); addWindowListener(new java.awt.event.WindowAdapter() { @Override public void windowClosed(final java.awt.event.WindowEvent evt) { formWindowClosed(evt); } }); tabs.setMaximumSize(new java.awt.Dimension(330, 360)); tabs.setMinimumSize(new java.awt.Dimension(330, 360)); tabs.setPreferredSize(new java.awt.Dimension(330, 360)); sizes.setLayout(new javax.swing.BoxLayout(sizes, javax.swing.BoxLayout.Y_AXIS)); sizes.setOpaque(false); tabs.addTab("Sizes", sizes); colors.setLayout(new javax.swing.BoxLayout(colors, javax.swing.BoxLayout.Y_AXIS)); colors.setOpaque(false); tabs.addTab("Colors", colors); other.setLayout(new javax.swing.BoxLayout(other, javax.swing.BoxLayout.Y_AXIS)); other.setOpaque(false); jPanel2.setEnabled(false); jPanel2.setFocusable(false); jPanel2.setMaximumSize(new java.awt.Dimension(32767, 20)); jPanel2.setMinimumSize(new java.awt.Dimension(10, 20)); jPanel2.setOpaque(false); jPanel2.setPreferredSize(new java.awt.Dimension(10, 20)); other.add(jPanel2); undock.setText("Accept undocked palette"); undock.setBorder(javax.swing.BorderFactory .createEmptyBorder(0, 0, 0, 0)); undock.setMargin(new java.awt.Insets(0, 0, 0, 0)); undock.setOpaque(false); undock.addItemListener(new java.awt.event.ItemListener() { public void itemStateChanged(final java.awt.event.ItemEvent evt) { undockItemStateChanged(evt); } }); other.add(undock); tabs.addTab("Other", other); getContentPane().add(tabs); jPanel1.setLayout(new javax.swing.BoxLayout(jPanel1, javax.swing.BoxLayout.X_AXIS)); jPanel1.setMaximumSize(new java.awt.Dimension(330, 40)); jPanel1.setMinimumSize(new java.awt.Dimension(330, 40)); jPanel1.setPreferredSize(new java.awt.Dimension(330, 40)); jPanel3.setLayout(new javax.swing.BoxLayout(jPanel3, javax.swing.BoxLayout.X_AXIS)); jPanel3.setMaximumSize(new java.awt.Dimension(247, 40)); jPanel3.setMinimumSize(new java.awt.Dimension(247, 40)); jPanel3.setOpaque(false); jPanel3.setPreferredSize(new java.awt.Dimension(247, 40)); jPanel1.add(jPanel3); jButton2.setText("close"); jButton2.setAlignmentX(0.5F); jButton2.setFocusPainted(false); jButton2.setFocusable(false); jButton2.setMaximumSize(new java.awt.Dimension(75, 35)); jButton2.setMinimumSize(new java.awt.Dimension(75, 35)); jButton2.setPreferredSize(new java.awt.Dimension(75, 35)); jButton2.addMouseListener(new java.awt.event.MouseAdapter() { @Override public void mouseClicked(final java.awt.event.MouseEvent evt) { jButton2MouseClicked(evt); } }); jPanel1.add(jButton2); getContentPane().add(jPanel1); final java.awt.Dimension screenSize = java.awt.Toolkit .getDefaultToolkit().getScreenSize(); setBounds((screenSize.width - 330) / 2, (screenSize.height - 422) / 2, 330, 422); }// //GEN-END:initComponents private void undockItemStateChanged(final java.awt.event.ItemEvent evt) {// GEN-FIRST:event_undockItemStateChanged Global.setParameter("prefs.undockpalette", (evt.getStateChange() == ItemEvent.SELECTED)); }// GEN-LAST:event_undockItemStateChanged private void formWindowClosed(final java.awt.event.WindowEvent evt) {// GEN-FIRST:event_formWindowClosed JGlobalPreferences.initPreferences();// TODO add your handling code // here: }// GEN-LAST:event_formWindowClosed private void jButton2MouseClicked(final java.awt.event.MouseEvent evt) {// GEN-FIRST:event_jButton2MouseClicked dispose();// TODO add your handling code here: }// GEN-LAST:event_jButton2MouseClicked /** * @param args * the command line arguments */ public static void main(final String args[]) { java.awt.EventQueue.invokeLater(new Runnable() { public void run() { new JGlobalPreferencesDlog().setVisible(true); } }); } // Variables declaration - do not modify//GEN-BEGIN:variables private javax.swing.JPanel colors; private javax.swing.JButton jButton2; private javax.swing.JPanel jPanel1; private javax.swing.JPanel jPanel2; private javax.swing.JPanel jPanel3; private javax.swing.JPanel other; private javax.swing.JPanel sizes; private javax.swing.JTabbedPane tabs; private javax.swing.JCheckBox undock; // End of variables declaration//GEN-END:variables }