diff --git a/diylc/diylc-library/src/org/diylc/components/misc/Label.java b/diylc/diylc-library/src/org/diylc/components/misc/Label.java index 5b3e35b4..e230ce5e 100644 --- a/diylc/diylc-library/src/org/diylc/components/misc/Label.java +++ b/diylc/diylc-library/src/org/diylc/components/misc/Label.java @@ -23,7 +23,7 @@ import org.diylc.core.annotations.EditableProperty; @ComponentDescriptor(name = "Label", author = "Branislav Stojkovic", category = "Misc", description = "User defined label", instanceNamePrefix = "L", zOrder = IDIYComponent.TEXT, flexibleZOrder = true, stretchable = false, bomPolicy = BomPolicy.NEVER_SHOW) -public class Label extends AbstractComponent { +public class Label extends AbstractComponent { public static String DEFAULT_TEXT = "Double click to edit text"; @@ -211,16 +211,7 @@ public class Label extends AbstractComponent { @Override public void setControlPoint(Point point, int index) { this.point.setLocation(point); - } - - @EditableProperty(defaultable = false) - public String getText() { - return text; - } - - public void setText(String text) { - this.text = text; - } + } @EditableProperty public Color getColor() { @@ -260,11 +251,14 @@ public class Label extends AbstractComponent { return super.getName(); } + @EditableProperty(name="Text", defaultable = false) @Override - public Void getValue() { - return null; + public String getValue() { + return text; } @Override - public void setValue(Void value) {} + public void setValue(String value) { + this.text = value; + } } diff --git a/diylc/diylc-library/src/org/diylc/parsing/V1FileParser.java b/diylc/diylc-library/src/org/diylc/parsing/V1FileParser.java index bc6431e0..14d3cec6 100644 --- a/diylc/diylc-library/src/org/diylc/parsing/V1FileParser.java +++ b/diylc/diylc-library/src/org/diylc/parsing/V1FileParser.java @@ -145,7 +145,7 @@ public class V1FileParser implements IOldFileParser { if (color != null) { label.setColor(color); } - label.setText(valueAttr); + label.setValue(valueAttr); label.setHorizontalAlignment(HorizontalAlignment.LEFT); label.setVerticalAlignment(VerticalAlignment.CENTER); label.setControlPoint(convertV1CoordinatesToV3Point(referencePoint, x1Attr, y1Attr), 0); @@ -671,7 +671,7 @@ public class V1FileParser implements IOldFileParser { Label titleLabel = new Label(); titleLabel.setColor(Color.blue); titleLabel.setFontSize(24); - titleLabel.setText(project.getTitle()); + titleLabel.setValue(project.getTitle()); titleLabel.setHorizontalAlignment(HorizontalAlignment.CENTER); titleLabel.setControlPoint( new Point(CalcUtils.roundToGrid(x + boardWidth / 2, V1_GRID_SPACING), CalcUtils.roundToGrid( @@ -680,7 +680,7 @@ public class V1FileParser implements IOldFileParser { Label creditsLabel = new Label(); creditsLabel.setFontSize(16); - creditsLabel.setText(project.getAuthor()); + creditsLabel.setValue(project.getAuthor()); creditsLabel.setHorizontalAlignment(HorizontalAlignment.CENTER); creditsLabel.setControlPoint( new Point(CalcUtils.roundToGrid(x + boardWidth / 2, V1_GRID_SPACING), CalcUtils.roundToGrid( diff --git a/diylc/diylc-swing/library/main.jar b/diylc/diylc-swing/library/main.jar index ff8d26b9..2951f358 100644 Binary files a/diylc/diylc-swing/library/main.jar and b/diylc/diylc-swing/library/main.jar differ diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/PropertyEditorDialog.java b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/PropertyEditorDialog.java index 302e9624..f2c672d2 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/PropertyEditorDialog.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/PropertyEditorDialog.java @@ -116,12 +116,20 @@ public class PropertyEditorDialog extends ButtonDialog { editorPanel.add(createDefaultCheckBox(property), gbc); } } - - // Make value field focused + if (property.getName().equalsIgnoreCase("value")) { componentToFocus = editor; } + // Make value field focused + try { + if (componentToFocus == null && property.getGetter().getName().equalsIgnoreCase("getValue")) { + componentToFocus = editor; + } + } catch (Exception e1) { + LOG.warn("Could not determine editor component to focus", e1); + } + gbc.gridy++; } diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/StringEditor.java b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/StringEditor.java index ad03c7ed..66447c08 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/StringEditor.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/StringEditor.java @@ -48,4 +48,10 @@ public class StringEditor extends JTextField { setBackground(oldBg); property.setValue(getText()); } + + @Override + public boolean requestFocusInWindow() { + selectAll(); + return super.requestFocusInWindow(); + } } diff --git a/diylc/diylc-swing/update.xml b/diylc/diylc-swing/update.xml index d521d723..4798b995 100644 --- a/diylc/diylc-swing/update.xml +++ b/diylc/diylc-swing/update.xml @@ -1522,6 +1522,10 @@ NEW_FEATURE Mirror selection horizontally and vertically + + IMPROVEMENT + Default focus on "Text" field for label + IMPROVEMENT Consolidated popup menu items with "Edit" menu