/* * Created on Dec 21, 2005 * */ package net.atlanticbb.tantlinger.ui.text.dialogs; import java.awt.GridBagLayout; import javax.swing.JCheckBox; import java.awt.GridBagConstraints; import javax.swing.JComboBox; import java.util.*; /** * A panel for editing table alignment attributes * * @author Bob Tantlinger * */ public class AlignmentAttributesPanel extends HTMLAttributeEditorPanel { /** * */ private static final long serialVersionUID = 1L; private static final String VERT_ALIGNMENTS[] = {"top", "middle", "bottom"}; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ private static final String HORIZ_ALIGNMENTS[] = { "left", "center", "right", "justify" //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ }; private JCheckBox vAlignCB = null; private JCheckBox hAlignCB = null; private JComboBox vLocCombo = null; private JComboBox hLocCombo = null; public AlignmentAttributesPanel() { this(new Hashtable()); } public AlignmentAttributesPanel(Hashtable attr) { super(attr); initialize(); updateComponentsFromAttribs(); } public void updateComponentsFromAttribs() { if(attribs.containsKey("align")) //$NON-NLS-1$ { hAlignCB.setSelected(true); hLocCombo.setEnabled(true); hLocCombo.setSelectedItem(attribs.get("align")); //$NON-NLS-1$ } else { hAlignCB.setSelected(false); hLocCombo.setEnabled(false); } if(attribs.containsKey("valign")) //$NON-NLS-1$ { vAlignCB.setSelected(true); vLocCombo.setEnabled(true); vLocCombo.setSelectedItem(attribs.get("valign")); //$NON-NLS-1$ } else { vAlignCB.setSelected(false); vLocCombo.setEnabled(false); } } public void updateAttribsFromComponents() { if(vAlignCB.isSelected()) attribs.put("valign", vLocCombo.getSelectedItem().toString()); //$NON-NLS-1$ else attribs.remove("valign"); //$NON-NLS-1$ if(hAlignCB.isSelected()) attribs.put("align", hLocCombo.getSelectedItem().toString()); //$NON-NLS-1$ else attribs.remove("align"); //$NON-NLS-1$ } public void setComponentStates(Hashtable attribs) { if(attribs.containsKey("align")) //$NON-NLS-1$ { hAlignCB.setSelected(true); hLocCombo.setEnabled(true); hLocCombo.setSelectedItem(attribs.get("align")); //$NON-NLS-1$ } else { hAlignCB.setSelected(false); hLocCombo.setEnabled(false); } if(attribs.containsKey("valign")) //$NON-NLS-1$ { vAlignCB.setSelected(true); vLocCombo.setEnabled(true); vLocCombo.setSelectedItem(attribs.get("valign")); //$NON-NLS-1$ } else { vAlignCB.setSelected(false); vLocCombo.setEnabled(false); } } /** * This method initializes this * * @return void */ private void initialize() { GridBagConstraints gridBagConstraints3 = new GridBagConstraints(); gridBagConstraints3.fill = java.awt.GridBagConstraints.NONE; gridBagConstraints3.gridy = 1; gridBagConstraints3.weightx = 1.0; gridBagConstraints3.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints3.gridx = 1; GridBagConstraints gridBagConstraints2 = new GridBagConstraints(); gridBagConstraints2.fill = java.awt.GridBagConstraints.NONE; gridBagConstraints2.gridy = 0; gridBagConstraints2.weightx = 1.0; gridBagConstraints2.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints2.insets = new java.awt.Insets(0,0,5,0); gridBagConstraints2.gridx = 1; GridBagConstraints gridBagConstraints1 = new GridBagConstraints(); gridBagConstraints1.gridx = 0; gridBagConstraints1.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints1.insets = new java.awt.Insets(0,0,0,5); gridBagConstraints1.gridy = 1; GridBagConstraints gridBagConstraints = new GridBagConstraints(); gridBagConstraints.gridx = 0; gridBagConstraints.anchor = java.awt.GridBagConstraints.WEST; gridBagConstraints.insets = new java.awt.Insets(0,0,5,5); gridBagConstraints.gridy = 0; this.setLayout(new GridBagLayout()); this.setSize(185, 95); this.setBorder(javax.swing.BorderFactory.createCompoundBorder(javax.swing.BorderFactory.createTitledBorder(i18n.str("content_alignment")), javax.swing.BorderFactory.createEmptyBorder(2,5,2,5))); //$NON-NLS-1$ this.setPreferredSize(new java.awt.Dimension(185,95)); this.setMaximumSize(this.getPreferredSize()); this.setMinimumSize(this.getPreferredSize()); this.add(getVAlignCB(), gridBagConstraints); this.add(getHAlignCB(), gridBagConstraints1); this.add(getVLocCombo(), gridBagConstraints2); this.add(getHLocCombo(), gridBagConstraints3); } /** * This method initializes vAlignCB * * @return javax.swing.JCheckBox */ private JCheckBox getVAlignCB() { if(vAlignCB == null) { vAlignCB = new JCheckBox(); vAlignCB.setText(i18n.str("vertical")); //$NON-NLS-1$ vAlignCB.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { vLocCombo.setEnabled(vAlignCB.isSelected()); } }); } return vAlignCB; } /** * This method initializes hAlignCB * * @return javax.swing.JCheckBox */ private JCheckBox getHAlignCB() { if(hAlignCB == null) { hAlignCB = new JCheckBox(); hAlignCB.setText(i18n.str("horizontal")); //$NON-NLS-1$ hAlignCB.addActionListener(new java.awt.event.ActionListener() { public void actionPerformed(java.awt.event.ActionEvent e) { hLocCombo.setEnabled(hAlignCB.isSelected()); } }); } return hAlignCB; } /** * This method initializes vLocCombo * * @return javax.swing.JComboBox */ private JComboBox getVLocCombo() { if(vLocCombo == null) { vLocCombo = new JComboBox(VERT_ALIGNMENTS); } return vLocCombo; } /** * This method initializes hLocCombo * * @return javax.swing.JComboBox */ private JComboBox getHLocCombo() { if(hLocCombo == null) { hLocCombo = new JComboBox(HORIZ_ALIGNMENTS); } return hLocCombo; } } // @jve:decl-index=0:visual-constraint="10,10"