From 759df0ac8f02b4fdaa32c1b5251c6226b37182c8 Mon Sep 17 00:00:00 2001 From: bancika Date: Thu, 26 Mar 2020 01:12:00 +0100 Subject: [PATCH] Added read-only "Length" property to curved components (i.e. "Hookup Wire") that calculates total length of the curve --- .../src/org/diylc/common/PropertyWrapper.java | 9 ++- .../components/AbstractCurvedComponent.java | 71 +++++++++++++++++- .../diylc/core/measures/AbstractMeasure.java | 25 +++--- .../src/org/diylc/core/measures/Size.java | 5 ++ .../diylc/presenter/ComparatorFactory.java | 6 +- .../diylc/presenter/ComponentProcessor.java | 20 +++-- .../src/org/diylc/presenter/update.xml | 4 + diylc/diylc-library/lib/diylc-core.jar | Bin 297753 -> 298598 bytes diylc/diylc-swing/build.xml | 8 +- diylc/diylc-swing/icons/diylc.png | Bin 43093 -> 0 bytes diylc/diylc-swing/lib/diylc-core.jar | Bin 297753 -> 298598 bytes diylc/diylc-swing/library/main.jar | Bin 631897 -> 632036 bytes .../diylc/swing/gui/editor/BooleanEditor.java | 4 +- .../diylc/swing/gui/editor/ByteEditor.java | 7 +- .../diylc/swing/gui/editor/ColorEditor.java | 7 +- .../diylc/swing/gui/editor/EnumEditor.java | 4 +- .../diylc/swing/gui/editor/FontEditor.java | 4 +- .../diylc/swing/gui/editor/ImageEditor.java | 4 +- .../org/diylc/swing/gui/editor/IntEditor.java | 4 +- .../swing/gui/editor/MeasureArrayEditor.java | 2 + .../diylc/swing/gui/editor/MeasureEditor.java | 20 ++++- .../gui/editor/MultiLineStringEditor.java | 4 +- .../gui/editor/PropertyEditorDialog.java | 2 +- .../diylc/swing/gui/editor/StringEditor.java | 4 +- .../swing/gui/editor/StringListEditor.java | 4 +- 25 files changed, 174 insertions(+), 44 deletions(-) delete mode 100644 diylc/diylc-swing/icons/diylc.png diff --git a/diylc/diylc-core/src/org/diylc/common/PropertyWrapper.java b/diylc/diylc-core/src/org/diylc/common/PropertyWrapper.java index e5faf898..999f221c 100644 --- a/diylc/diylc-core/src/org/diylc/common/PropertyWrapper.java +++ b/diylc/diylc-core/src/org/diylc/common/PropertyWrapper.java @@ -75,12 +75,19 @@ public class PropertyWrapper implements Cloneable { // } public void writeTo(Object object) throws IllegalArgumentException, IllegalAccessException, - InvocationTargetException, SecurityException, NoSuchMethodException { + InvocationTargetException, SecurityException, NoSuchMethodException { + // nothing to do if no setter + if (setter == null) + return; object.getClass().getMethod(setter, type).invoke(object, this.value); } public Method getGetter() throws SecurityException, NoSuchMethodException { return getOwnerObject().getClass().getMethod(getter); + } + + public boolean isReadOnly() { + return setter == null; } public String getName() { diff --git a/diylc/diylc-core/src/org/diylc/components/AbstractCurvedComponent.java b/diylc/diylc-core/src/org/diylc/components/AbstractCurvedComponent.java index 9d60ddee..8b48a42a 100644 --- a/diylc/diylc-core/src/org/diylc/components/AbstractCurvedComponent.java +++ b/diylc/diylc-core/src/org/diylc/components/AbstractCurvedComponent.java @@ -24,7 +24,10 @@ import java.awt.Graphics2D; import java.awt.Point; import java.awt.geom.CubicCurve2D; import java.awt.geom.Path2D; +import java.awt.geom.Point2D; +import org.diylc.appframework.miscutils.ConfigurationManager; +import org.diylc.common.IPlugInPort; import org.diylc.common.LineStyle; import org.diylc.common.ObjectCache; import org.diylc.core.ComponentState; @@ -299,7 +302,7 @@ public abstract class AbstractCurvedComponent extends AbstractTransparentComp public void setStyle(LineStyle style) { this.style = style; - } + } @EditableProperty public Boolean getSmooth() { @@ -321,6 +324,32 @@ public abstract class AbstractCurvedComponent extends AbstractTransparentComp // } // } } + + @EditableProperty + public Size getLength() { + double d = 0; + Point[] p = getControlPoints(); + if (getPointCount() == PointCount.TWO) { + d = p[0].distance(p[1]); + } else if (getPointCount() == PointCount.THREE) { + d = calculateLength(p[0], p[1], p[1], p[2]); + } else if (getPointCount() == PointCount.FOUR) { + d = calculateLength(p[0], p[1], p[2], p[3]); + } else if (getPointCount() == PointCount.FIVE) { + d = calculateLength(p[0], p[1], p[2]) + calculateLength(p[2], p[3], p[4]); + } else if (getPointCount() == PointCount.SEVEN) { + d = calculateLength(p[0], p[1], p[2], p[3]) + calculateLength(p[3], p[4], p[5], p[6]); + } + + SizeUnit unit; + if (ConfigurationManager.getInstance().readBoolean(IPlugInPort.METRIC_KEY, true)) + unit = SizeUnit.mm; + else + unit = SizeUnit.in; + + d = d * SizeUnit.px.getFactor() / unit.getFactor(); + return new Size(d, unit); + } public enum PointCount { TWO(2), THREE(3), FOUR(4), FIVE(5), SEVEN(7); @@ -336,4 +365,44 @@ public abstract class AbstractCurvedComponent extends AbstractTransparentComp return name().substring(0, 1) + name().substring(1).toLowerCase(); } } + + // calculate length of quad curve + private double calculateLength(Point2D a, Point2D b, Point2D c) { + double vx = 2 * (b.getX() - a.getX()); + double vy = 2 * (b.getY() - a.getY()); + double wx = c.getX() - 2 * b.getX() + a.getX(); + double wy = c.getY() - 2 * b.getY() + a.getY(); + + double uu = 4 * (wx * wx + wy * wy); + + if (uu < 0.00001) { + return (float) Math.sqrt((c.getX() - a.getX()) * (c.getX() - a.getX()) + (c.getY() - a.getY()) * (c.getY() - a.getY())); + } + + double vv = 4 * (vx * wx + vy * wy); + double ww = vx * vx + vy * vy; + + double t1 = (float) (2 * Math.sqrt(uu * (uu + vv + ww))); + double t2 = 2 * uu + vv; + double t3 = vv * vv - 4 * uu * ww; + double t4 = (float) (2 * Math.sqrt(uu * ww)); + + return (float) ((t1 * t2 - t3 * Math.log(t2 + t1) - (vv * t4 - t3 * Math.log(vv + t4))) + / (8 * Math.pow(uu, 1.5))); + } + + private double curveThreshold = 10; + + // approximately calculate length of Bezier curves by subdivision + private double calculateLength(Point2D a, Point2D b, Point2D c, Point2D d) { + double distance = a.distance(d); + if (distance < curveThreshold) + return distance; + CubicCurve2D curve = new CubicCurve2D.Double(a.getX(), a.getY(), b.getX(), b.getY(), c.getX(), c.getY(), d.getX(), d.getY()); + CubicCurve2D left = new CubicCurve2D.Double(); + CubicCurve2D right = new CubicCurve2D.Double(); + curve.subdivide(left, right); + return calculateLength(left.getP1(), left.getCtrlP1(), left.getCtrlP2(), left.getP2()) + + calculateLength(right.getP1(), right.getCtrlP1(), right.getCtrlP2(), right.getP2()); + } } diff --git a/diylc/diylc-core/src/org/diylc/core/measures/AbstractMeasure.java b/diylc/diylc-core/src/org/diylc/core/measures/AbstractMeasure.java index 8b1153c5..2a599e0e 100644 --- a/diylc/diylc-core/src/org/diylc/core/measures/AbstractMeasure.java +++ b/diylc/diylc-core/src/org/diylc/core/measures/AbstractMeasure.java @@ -41,9 +41,6 @@ public class AbstractMeasure> implements Serializ protected Double value; protected T unit; - // public AbstractMeasure() { - // } - public AbstractMeasure(Double value, T unit) { super(); this.value = value; @@ -54,23 +51,19 @@ public class AbstractMeasure> implements Serializ return value; } - // public void setValue(Double value) { - // this.value = value; - // } - public T getUnit() { return unit; + } + + /*** + * Flag that designates if measure value should be converted between different units. eg. 2.54mm <-> 0.1in + * + * @return + */ + public boolean isConvertible() { + return false; } - // public void setUnit(T multiplier) { - // this.unit = multiplier; - // } - - // @Override - // public Object clone() throws CloneNotSupportedException { - // return super.clone(); - // } - @Override public int hashCode() { final int prime = 31; diff --git a/diylc/diylc-core/src/org/diylc/core/measures/Size.java b/diylc/diylc-core/src/org/diylc/core/measures/Size.java index 378f64b0..7536e291 100644 --- a/diylc/diylc-core/src/org/diylc/core/measures/Size.java +++ b/diylc/diylc-core/src/org/diylc/core/measures/Size.java @@ -65,5 +65,10 @@ public class Size extends AbstractMeasure implements Comparable @Override public int compareTo(Size o) { return new Double(value * unit.getFactor()).compareTo(o.getValue() * o.getUnit().getFactor()); + } + + @Override + public boolean isConvertible() { + return true; } } diff --git a/diylc/diylc-core/src/org/diylc/presenter/ComparatorFactory.java b/diylc/diylc-core/src/org/diylc/presenter/ComparatorFactory.java index e5326b8f..fa823733 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/ComparatorFactory.java +++ b/diylc/diylc-core/src/org/diylc/presenter/ComparatorFactory.java @@ -98,7 +98,11 @@ public class ComparatorFactory { propertyNameComparator = new Comparator() { @Override - public int compare(PropertyWrapper o1, PropertyWrapper o2) { + public int compare(PropertyWrapper o1, PropertyWrapper o2) { + if (o1.isReadOnly() && !o2.isReadOnly()) + return 1; + if (!o1.isReadOnly() && o2.isReadOnly()) + return -1; int comp = new Integer(o1.getSortOrder()).compareTo(o2.getSortOrder()); if (comp != 0) return comp; diff --git a/diylc/diylc-core/src/org/diylc/presenter/ComponentProcessor.java b/diylc/diylc-core/src/org/diylc/presenter/ComponentProcessor.java index 61250022..6726c576 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/ComponentProcessor.java +++ b/diylc/diylc-core/src/org/diylc/presenter/ComponentProcessor.java @@ -151,7 +151,7 @@ public class ComponentProcessor { List properties = new ArrayList(); for (Method getter : clazz.getMethods()) { if (getter.getName().startsWith("get")) { - try { + if (getter.isAnnotationPresent(EditableProperty.class) && !getter.isAnnotationPresent(Deprecated.class) // since Java 8 in generic classes we get properties of both the generic type and Object // added this condition to skip Object property that we do not need @@ -163,16 +163,20 @@ public class ComponentProcessor { } else { name = annotation.name(); } - IPropertyValidator validator = getPropertyValidator(annotation.validatorClass()); - Method setter = clazz.getMethod("set" + getter.getName().substring(3), getter.getReturnType()); + IPropertyValidator validator = getPropertyValidator(annotation.validatorClass()); + + String setterName = null; + try { + Method setter = clazz.getMethod("set" + getter.getName().substring(3), getter.getReturnType()); + setterName = setter.getName(); + } catch (NoSuchMethodException e) { + LOG.debug("No matching setter found for \"" + getter.getName() + "\". Skipping..."); + } PropertyWrapper property = - new PropertyWrapper(name, getter.getReturnType(), getter.getName(), setter.getName(), + new PropertyWrapper(name, getter.getReturnType(), getter.getName(), setterName, annotation.defaultable(), validator, annotation.sortOrder()); properties.add(property); - } - } catch (NoSuchMethodException e) { - LOG.debug("No matching setter found for \"" + getter.getName() + "\". Skipping..."); - } + } } } diff --git a/diylc/diylc-core/src/org/diylc/presenter/update.xml b/diylc/diylc-core/src/org/diylc/presenter/update.xml index 9c860d4d..33e85ecf 100644 --- a/diylc/diylc-core/src/org/diylc/presenter/update.xml +++ b/diylc/diylc-core/src/org/diylc/presenter/update.xml @@ -2726,6 +2726,10 @@ NEW_FEATURE Added ability to collapse and expand the component tree panel to the left edge of the screen + + NEW_FEATURE + Added read-only "Length" property to curved components (i.e. "Hookup Wire") that calculates total length of the curve + NEW_FEATURE Added "Renumber On Paste" option in the "Config" menu diff --git a/diylc/diylc-library/lib/diylc-core.jar b/diylc/diylc-library/lib/diylc-core.jar index bd67c822fd61b8ab3ef2c3943df94a38bc70bdf5..e341f4bc1133341f0eece05dcd2e8933a01292be 100644 GIT binary patch delta 22289 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 + + + @@ -144,11 +147,12 @@ - + + - + diff --git a/diylc/diylc-swing/icons/diylc.png b/diylc/diylc-swing/icons/diylc.png deleted file mode 100644 index 500a419e661fa5b91f48581c9eb137ffd299456e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43093 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
  • &jd$TyB=P;XqTme78>yOHevV=t8=w(AR* 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 diff --git a/diylc/diylc-swing/lib/diylc-core.jar b/diylc/diylc-swing/lib/diylc-core.jar index bd67c822fd61b8ab3ef2c3943df94a38bc70bdf5..e341f4bc1133341f0eece05dcd2e8933a01292be 100644 GIT binary patch delta 22289 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 diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/BooleanEditor.java b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/BooleanEditor.java index 01bb8cdf..42daad09 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/BooleanEditor.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/BooleanEditor.java @@ -38,7 +38,9 @@ public class BooleanEditor extends JCheckBox { public BooleanEditor(final PropertyWrapper property) { super(); - setSelected((Boolean) property.getValue()); + setSelected((Boolean) property.getValue()); + if (property.isReadOnly()) + setEnabled(false); addActionListener(new ActionListener() { @Override diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/ByteEditor.java b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/ByteEditor.java index 0f200a50..edda1a22 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/ByteEditor.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/ByteEditor.java @@ -63,7 +63,12 @@ public class ByteEditor extends JPanel { } final JSlider slider = new JSlider(); - final DoubleTextField valueField = new DoubleTextField(); + final DoubleTextField valueField = new DoubleTextField(); + + if (property.isReadOnly()) { + slider.setEnabled(false); + valueField.setEnabled(false); + } final double percentFactor = (double) default100Percent / _100PercentValue; diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/ColorEditor.java b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/ColorEditor.java index 9b107bf7..523ae599 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/ColorEditor.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/ColorEditor.java @@ -72,7 +72,12 @@ public class ColorEditor extends JPanel { gbc.gridx++; gbc.insets = new Insets(0, 0, 0, 0); - add(getColorField(), gbc); + add(getColorField(), gbc); + + if (property.isReadOnly()) { + getColorField().setEnabled(false); + getColorLabel().setEnabled(false); + } } public JLabel getColorLabel() { diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/EnumEditor.java b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/EnumEditor.java index a7906ce4..d5dec1c7 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/EnumEditor.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/EnumEditor.java @@ -41,7 +41,9 @@ public class EnumEditor extends JComboBox { public EnumEditor(final PropertyWrapper property) { this.property = property; - Object[] values = property.getType().getEnumConstants(); + Object[] values = property.getType().getEnumConstants(); + if (property.isReadOnly()) + setEnabled(false); setModel(new DefaultComboBoxModel(values)); setSelectedItem(property.getValue()); addItemListener(new ItemListener() { diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/FontEditor.java b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/FontEditor.java index 5ac4c894..37195844 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/FontEditor.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/FontEditor.java @@ -42,7 +42,9 @@ public class FontEditor extends FontChooserComboBox { private final PropertyWrapper property; public FontEditor(final PropertyWrapper property) { - this.property = property; + this.property = property; + if (property.isReadOnly()) + setEnabled(false); ((JTextField) getEditor().getEditorComponent()).setBorder(BorderFactory.createCompoundBorder( ((JTextField) getEditor().getEditorComponent()).getBorder(), BorderFactory.createEmptyBorder(0, 2, 0, 0))); setSelectedItem(((Font) property.getValue()).getName()); diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/ImageEditor.java b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/ImageEditor.java index 49635646..40569b5f 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/ImageEditor.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/ImageEditor.java @@ -41,7 +41,9 @@ public class ImageEditor extends JButton { private static final String title = "Click to load image file"; public ImageEditor(final PropertyWrapper property) { - super(property.isUnique() ? title : ("(multi value) " + title)); + super(property.isUnique() ? title : ("(multi value) " + title)); + if (property.isReadOnly()) + setEnabled(false); addActionListener(new ActionListener() { @Override diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/IntEditor.java b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/IntEditor.java index 8030a166..1345c84d 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/IntEditor.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/IntEditor.java @@ -37,7 +37,9 @@ public class IntEditor extends DoubleTextField { private Color oldBg = getBackground(); public IntEditor(final PropertyWrapper property) { - setLayout(new BorderLayout()); + setLayout(new BorderLayout()); + if (property.isReadOnly()) + setEnabled(false); setValue((double) (Integer) property.getValue()); addPropertyChangeListener(DoubleTextField.VALUE_PROPERTY, new PropertyChangeListener() { diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/MeasureArrayEditor.java b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/MeasureArrayEditor.java index f7ea5e87..19979797 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/MeasureArrayEditor.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/MeasureArrayEditor.java @@ -63,6 +63,8 @@ public class MeasureArrayEditor extends Container { values[i] = measure[i] == null ? null : measure[i].getValue(); } valueField = new DoubleArrayTextField(measure == null ? null : values); + if (property.isReadOnly()) + valueField.setEnabled(false); oldBg = valueField.getBackground(); valueField.addPropertyChangeListener( DoubleArrayTextField.VALUE_PROPERTY, diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java index d98c2531..97d07b3e 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/MeasureEditor.java @@ -56,7 +56,7 @@ public class MeasureEditor extends Container { @SuppressWarnings("unchecked") public MeasureEditor(final PropertyWrapper property) { setLayout(new BorderLayout()); - final AbstractMeasure measure = ((AbstractMeasure) property.getValue()); + final AbstractMeasure measure = ((AbstractMeasure) property.getValue()); valueField = new DoubleTextField(measure == null ? null : measure.getValue()); oldBg = valueField.getBackground(); valueField.addPropertyChangeListener(DoubleTextField.VALUE_PROPERTY, new PropertyChangeListener() { @@ -87,9 +87,16 @@ public class MeasureEditor extends Container { @Override public void actionPerformed(ActionEvent evt) { try { - Constructor ctor = property.getType().getConstructors()[0]; + Constructor ctor = property.getType().getConstructors()[0]; + Double newValue = valueField.getValue(); + if (newValue != null && property.isReadOnly() && measure.isConvertible()) { + double oldFactor = ((Unit)((AbstractMeasure)property.getValue()).getUnit()).getFactor(); + double newFactor = ((Unit)unitBox.getSelectedItem()).getFactor(); + newValue = newValue * oldFactor / newFactor; + valueField.setValue(newValue); + } AbstractMeasure newMeasure = - (AbstractMeasure) ctor.newInstance(valueField.getValue(), + (AbstractMeasure) ctor.newInstance(newValue, (Enum) unitBox.getSelectedItem()); property.setValue(newMeasure); property.setChanged(true); @@ -100,7 +107,12 @@ public class MeasureEditor extends Container { } } }); - add(unitBox, BorderLayout.EAST); + add(unitBox, BorderLayout.EAST); + + if (property.isReadOnly()) { + valueField.setEnabled(false); + unitBox.setEnabled(measure.isConvertible()); + } if (!property.isUnique()) { valueField.setBackground(Constants.MULTI_VALUE_COLOR); diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/MultiLineStringEditor.java b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/MultiLineStringEditor.java index 918f3ee8..24b1f9dd 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/MultiLineStringEditor.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/MultiLineStringEditor.java @@ -50,7 +50,9 @@ public class MultiLineStringEditor extends JScrollPane { public MultiLineStringEditor(PropertyWrapper property) { super(); this.property = property; - setViewportView(getTextArea()); + setViewportView(getTextArea()); + if (property.isReadOnly()) + getTextArea().setEnabled(false); setPreferredSize(new Dimension(192, 64)); setBorder(border); } 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 4fd5a83e..6da46f9d 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 @@ -134,7 +134,7 @@ public class PropertyEditorDialog extends ButtonDialog { gbc.fill = GridBagConstraints.NONE; gbc.weightx = 0; - if (saveDefaults) { + if (saveDefaults && !property.isReadOnly()) { editorPanel.add(createDefaultCheckBox(property), gbc); } } 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 cb57c03b..1aee281c 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 @@ -40,7 +40,9 @@ public class StringEditor extends JTextField { public StringEditor(PropertyWrapper property) { super(property.getValue() == null ? "" : (String) property.getValue()); - this.property = property; + this.property = property; + if (property.isReadOnly()) + setEnabled(false); this.setColumns(32); getDocument().addDocumentListener(new DocumentListener() { diff --git a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/StringListEditor.java b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/StringListEditor.java index c8581f12..d3be56c7 100644 --- a/diylc/diylc-swing/src/org/diylc/swing/gui/editor/StringListEditor.java +++ b/diylc/diylc-swing/src/org/diylc/swing/gui/editor/StringListEditor.java @@ -42,7 +42,9 @@ public class StringListEditor extends JComboBox { private final PropertyWrapper property; public StringListEditor(final PropertyWrapper property) throws Exception { - this.property = property; + this.property = property; + if (property.isReadOnly()) + setEnabled(false); String listFunctionName = property.getGetter().getAnnotation(DynamicList.class).availableValueFunction(); Method function = property.getOwnerObject().getClass().getMethod(listFunctionName); Object[] values = (Object[]) function.invoke(property.getOwnerObject());