Author: thomasobrien95
Date: Thu Jan 15 11:22:33 2009
New Revision: 2923
Modified:
trunk/src/ca/sqlpower/architect/swingui/ColumnEditPanel.java
Log:
The column name field now correctly takes focus when the column editor is
displayed.
"Affect all" check boxes are now hidden when creating a column or editing a
single column.
Modified: trunk/src/ca/sqlpower/architect/swingui/ColumnEditPanel.java
==============================================================================
--- trunk/src/ca/sqlpower/architect/swingui/ColumnEditPanel.java
(original)
+++ trunk/src/ca/sqlpower/architect/swingui/ColumnEditPanel.java Thu Jan 15
11:22:33 2009
@@ -23,6 +23,8 @@
import java.awt.Window;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.awt.event.ComponentAdapter;
+import java.awt.event.ComponentEvent;
import java.awt.event.FocusAdapter;
import java.awt.event.FocusEvent;
import java.sql.DatabaseMetaData;
@@ -79,7 +81,7 @@
* edit mode.
*/
public class ColumnEditPanel implements ActionListener, DataEntryPanel {
-
+
private static final Logger logger =
Logger.getLogger(ColumnEditPanel.class);
private static final Font TITLE_FONT =
UIManager.getFont("Label.font").deriveFont(Font.BOLD, 10f);
@@ -183,10 +185,18 @@
layout.appendRow(new RowSpec("p"));
panel.add(makeTitle(Messages.getString("ColumnEditPanel.name")),
cc.xyw(2, row++, 4)); //$NON-NLS-1$
layout.appendRow(new RowSpec("p"));
- panel.add(cb = new JCheckBox(), cc.xy(1, row));
+ cb = new JCheckBox();
+ if (cols.size() > 1) {
+ panel.add(cb, cc.xy(1, row));
+ }
panel.add(colName = new JTextField(), cc.xyw(2, row++, 4));
componentEnabledMap.put(colName, cb);
colName.getDocument().addDocumentListener(new
DocumentCheckboxEnabler(cb));
+ colName.addComponentListener(new ComponentAdapter() {
+ public void componentResized(ComponentEvent e) {
+ colName.requestFocusInWindow();
+ }
+ });
layout.appendRow(new RowSpec("5dlu"));
row++;
@@ -194,7 +204,10 @@
layout.appendRow(new RowSpec("p"));
panel.add(makeTitle(Messages.getString("ColumnEditPanel.type")),
cc.xyw(2, row++, 4)); //$NON-NLS-1$
layout.appendRow(new RowSpec("p"));
- panel.add(cb = new JCheckBox(), cc.xy(1, row));
+ cb = new JCheckBox();
+ if (cols.size() > 1) {
+ panel.add(cb, cc.xy(1, row));
+ }
panel.add(colType = new JComboBox(SQLType.getTypes()), cc.xyw(2,
row++, 4));
componentEnabledMap.put(colType, cb);
colType.setSelectedItem(null);
@@ -208,12 +221,18 @@
panel.add(makeTitle(Messages.getString("ColumnEditPanel.scale")),
cc.xy(5, row++)); //$NON-NLS-1$
layout.appendRow(new RowSpec("p"));
- panel.add(cb = new JCheckBox(), cc.xy(1, row));
+ cb = new JCheckBox();
+ if (cols.size() > 1) {
+ panel.add(cb, cc.xy(1, row));
+ }
panel.add(colPrec = createPrecisionEditor(), cc.xy(2, row));
componentEnabledMap.put(colPrec, cb);
colPrec.addChangeListener(checkboxEnabler);
- panel.add(cb = new JCheckBox(), cc.xy(4, row));
+ cb = new JCheckBox();
+ if (cols.size() > 1) {
+ panel.add(cb, cc.xy(4, row));
+ }
panel.add(colScale = createScaleEditor(), cc.xy(5, row++));
componentEnabledMap.put(colScale, cb);
colScale.addChangeListener(checkboxEnabler);
@@ -222,7 +241,10 @@
row++;
layout.appendRow(new RowSpec("p"));
- panel.add(cb = new JCheckBox(), cc.xy(1, row));
+ cb = new JCheckBox();
+ if (cols.size() > 1) {
+ panel.add(cb, cc.xy(1, row));
+ }
panel.add(colInPK = new
JCheckBox(Messages.getString("ColumnEditPanel.inPrimaryKey")), cc.xyw(2,
row++, 4)); //$NON-NLS-1$
componentEnabledMap.put(colInPK, cb);
colInPK.addActionListener(this);
@@ -232,7 +254,10 @@
row++;
layout.appendRow(new RowSpec("p"));
- panel.add(cb = new JCheckBox(), cc.xy(1, row));
+ cb = new JCheckBox();
+ if (cols.size() > 1) {
+ panel.add(cb, cc.xy(1, row));
+ }
panel.add(colNullable = new
JCheckBox(Messages.getString("ColumnEditPanel.allowsNulls")), cc.xyw(2,
row++, 4)); //$NON-NLS-1$
componentEnabledMap.put(colNullable, cb);
colNullable.addActionListener(this);
@@ -242,7 +267,10 @@
row++;
layout.appendRow(new RowSpec("p"));
- panel.add(cb = new JCheckBox(), cc.xy(1, row));
+ cb = new JCheckBox();
+ if (cols.size() > 1) {
+ panel.add(cb, cc.xy(1, row));
+ }
panel.add(colAutoInc = new
JCheckBox(Messages.getString("ColumnEditPanel.autoIncrement")), cc.xyw(2,
row++, 4)); //$NON-NLS-1$
componentEnabledMap.put(colAutoInc, cb);
colAutoInc.addActionListener(this);
@@ -254,7 +282,10 @@
layout.appendRow(new RowSpec("p"));
panel.add(makeTitle(Messages.getString("ColumnEditPanel.sequenceName")),
cc.xyw(2, row++, 4)); //$NON-NLS-1$
layout.appendRow(new RowSpec("p"));
- panel.add(cb = new JCheckBox(), cc.xy(1, row));
+ cb = new JCheckBox();
+ if (cols.size() > 1) {
+ panel.add(cb, cc.xy(1, row));
+ }
panel.add(colAutoIncSequenceName = new JTextField(), cc.xyw(2,
row++, 4));
componentEnabledMap.put(colAutoIncSequenceName, cb);
colAutoIncSequenceName.getDocument().addDocumentListener(new
DocumentCheckboxEnabler(cb));
@@ -299,7 +330,10 @@
layout.appendRow(new RowSpec("p"));
panel.add(makeTitle(Messages.getString("ColumnEditPanel.remarks")),
cc.xyw(2, row++, 4)); //$NON-NLS-1$
layout.appendRow(new RowSpec("pref:grow"));
- panel.add(cb = new JCheckBox(), cc.xy(1, row, "center, top"));
+ cb = new JCheckBox();
+ if (cols.size() > 1) {
+ panel.add(cb, cc.xy(1, row, "center, top"));
+ }
panel.add(new JScrollPane(colRemarks = new JTextArea()), cc.xyw(2,
row++, 4, "fill, fill"));
componentEnabledMap.put(colRemarks, cb);
colRemarks.getDocument().addDocumentListener(new
DocumentCheckboxEnabler(cb));
@@ -313,7 +347,10 @@
layout.appendRow(new RowSpec("p"));
panel.add(makeTitle(Messages.getString("ColumnEditPanel.defaultValue")),
cc.xyw(2, row++, 4)); //$NON-NLS-1$
layout.appendRow(new RowSpec("p"));
- panel.add(cb = new JCheckBox(), cc.xy(1, row));
+ cb = new JCheckBox();
+ if (cols.size() > 1) {
+ panel.add(cb, cc.xy(1, row));
+ }
panel.add(colDefaultValue = new JTextField(), cc.xyw(2, row++, 4));
colDefaultValue.getDocument().addDocumentListener(new
DocumentCheckboxEnabler(cb));
componentEnabledMap.put(colDefaultValue, cb);