diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar index a8092563..fbcc631c 100644 Binary files a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar and b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/library/main.jar differ diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java index 63481836..ab9b1201 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java @@ -5,6 +5,7 @@ import java.awt.Color; import java.awt.Container; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; +import java.awt.event.KeyListener; import java.beans.PropertyChangeEvent; import java.beans.PropertyChangeListener; import java.lang.reflect.InvocationTargetException; @@ -93,4 +94,20 @@ public class MeasureEditor extends Container { e.printStackTrace(); } } + + @Override + public void requestFocus() { + this.valueField.requestFocus(); + } + + @Override + public boolean requestFocusInWindow() { + return this.valueField.requestFocusInWindow(); + } + + @Override + public synchronized void addKeyListener(KeyListener l) { + this.valueField.addKeyListener(l); + this.unitBox.addKeyListener(l); + } } diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/editor/PropertyEditorDialog.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/editor/PropertyEditorDialog.java index 8f3bcc10..6717280a 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/editor/PropertyEditorDialog.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/gui/editor/PropertyEditorDialog.java @@ -28,7 +28,8 @@ import org.diylc.swingframework.ButtonDialog; public class PropertyEditorDialog extends ButtonDialog { - private static final Logger LOG = Logger.getLogger(PropertyEditorDialog.class); + private static final Logger LOG = Logger + .getLogger(PropertyEditorDialog.class); private static final long serialVersionUID = 1L; @@ -36,9 +37,12 @@ public class PropertyEditorDialog extends ButtonDialog { private List properties; private Set defaultedProperties; + private Component componentToFocus = null; - public PropertyEditorDialog(JFrame owner, List properties, String title) { - super(owner, title, new String[] { ButtonDialog.OK, ButtonDialog.CANCEL }); + public PropertyEditorDialog(JFrame owner, List properties, + String title) { + super(owner, title, + new String[] { ButtonDialog.OK, ButtonDialog.CANCEL }); LOG.debug("Creating property editor for: " + properties); @@ -73,8 +77,9 @@ public class PropertyEditorDialog extends ButtonDialog { try { property.getValidator().validate(property.getValue()); } catch (ValidationException ve) { - JOptionPane.showMessageDialog(PropertyEditorDialog.this, "Input error for \"" - + property.getName() + "\": " + ve.getMessage(), "Error", + JOptionPane.showMessageDialog(PropertyEditorDialog.this, + "Input error for \"" + property.getName() + "\": " + + ve.getMessage(), "Error", JOptionPane.ERROR_MESSAGE); return false; } @@ -126,6 +131,11 @@ public class PropertyEditorDialog extends ButtonDialog { editorPanel.add(createDefaultCheckBox(property), gbc); } + // Make value field focused + if (property.getName().equalsIgnoreCase("value")) { + componentToFocus = editor; + } + gbc.gridy++; } @@ -153,8 +163,10 @@ public class PropertyEditorDialog extends ButtonDialog { return defaultedProperties; } - public static boolean showFor(JFrame owner, List properties, String title) { - PropertyEditorDialog editor = new PropertyEditorDialog(owner, properties, title); + public static boolean showFor(JFrame owner, + List properties, String title) { + PropertyEditorDialog editor = new PropertyEditorDialog(owner, + properties, title); editor.setVisible(true); if (OK.equals(editor.getSelectedButtonCaption())) { return true; @@ -162,6 +174,15 @@ public class PropertyEditorDialog extends ButtonDialog { return false; } + @Override + public void setVisible(boolean b) { + if (b && componentToFocus != null) { + componentToFocus.requestFocusInWindow(); + componentToFocus = null; + } + super.setVisible(b); + } + @Override protected JComponent getMainComponent() { return createEditorFields(); diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java index d606d947..3c05da35 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/src/org/diylc/swing/plugins/canvas/CanvasPanel.java @@ -182,16 +182,16 @@ class CanvasPanel extends JComponent implements Autoscroll { .isAltDown()); } }); - addMouseListener(new MouseAdapter() { - - @Override - public void mouseClicked(MouseEvent e) { - if (e.getButton() == MouseEvent.BUTTON1) { - plugInPort.mouseClicked(e.getPoint(), e.getButton(), e.isControlDown(), e.isShiftDown(), e - .isAltDown(), e.getClickCount()); - } - } - }); +// addMouseListener(new MouseAdapter() { +// +// @Override +// public void mouseClicked(MouseEvent e) { +// if (e.getButton() == MouseEvent.BUTTON1) { +// plugInPort.mouseClicked(e.getPoint(), e.getButton(), e.isControlDown(), e.isShiftDown(), e +// .isAltDown(), e.getClickCount()); +// } +// } +// }); } // Autoscroll diff --git a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml index 427a3b62..15b0a2ba 100644 --- a/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml +++ b/ diy-layout-creator --username bancika@gmail.com/diylc-swing/update.xml @@ -658,6 +658,10 @@ IMPROVEMENT Control number of "Recently Used" items from config.properties + + IMPROVEMENT + Faster component placement, auto-focus on "Value" box + http://code.google.com/p/diy-layout-creator/downloads/list