diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/components/AbstractComponent.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/components/AbstractComponent.java new file mode 100644 index 00000000..f1a1e39f --- /dev/null +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/components/AbstractComponent.java @@ -0,0 +1,35 @@ +package org.diylc.components; + +import org.diylc.core.IDIYComponent; +import org.diylc.core.annotations.EditableProperty; + +/** + * Abstract implementation of {@link IDIYComponent} that contains component name + * and toString. + * + * @author Branislav Stojkovic + * + * @param + */ +public abstract class AbstractComponent implements IDIYComponent { + + private static final long serialVersionUID = 1L; + + protected String name; + + @EditableProperty(defaultable = false) + @Override + public String getName() { + return name; + } + + @Override + public void setName(String name) { + this.name = name; + } + + @Override + public String toString() { + return name; + } +} diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/components/AbstractSinglePointComponent.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/components/AbstractSinglePointComponent.java index ef32f3b5..292ff731 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/components/AbstractSinglePointComponent.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/components/AbstractSinglePointComponent.java @@ -2,9 +2,7 @@ package org.diylc.components; import java.awt.Point; -import org.diylc.core.IDIYComponent; - -public abstract class AbstractSinglePointComponent implements IDIYComponent { +public abstract class AbstractSinglePointComponent extends AbstractComponent { private static final long serialVersionUID = 1L; @@ -25,15 +23,6 @@ public abstract class AbstractSinglePointComponent implements IDIYComponent implements IDIYComponent { +public abstract class AbstractTransparentComponent extends AbstractComponent { private static final long serialVersionUID = 1L; public static byte MAX_ALPHA = 127; - protected String name = "New Component"; protected byte alpha = MAX_ALPHA; - @EditableProperty(defaultable = false) - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - @EditableProperty public Byte getAlpha() { return alpha; diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/ComparatorFactory.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/ComparatorFactory.java index 8f07ce5e..3a39690e 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/ComparatorFactory.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/ComparatorFactory.java @@ -4,6 +4,7 @@ import java.util.Comparator; import java.util.List; import org.diylc.common.ComponentType; +import org.diylc.common.PropertyWrapper; import org.diylc.core.IDIYComponent; public class ComparatorFactory { @@ -12,6 +13,7 @@ public class ComparatorFactory { private Comparator> componentNameComparator; private Comparator componentTypeComparator; + private Comparator propertyNameComparator; public static ComparatorFactory getInstance() { if (instance == null) { @@ -64,4 +66,18 @@ public class ComparatorFactory { }; return componentZOrderComparator; } + + public Comparator getPropertyNameComparator() { + if (propertyNameComparator == null) { + propertyNameComparator = new Comparator() { + + @Override + public int compare(PropertyWrapper o1, PropertyWrapper o2) { + return o1.getName().compareToIgnoreCase(o2.getName()); + } + + }; + } + return propertyNameComparator; + } } diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/ComponentProcessor.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/ComponentProcessor.java index 3c563b3c..5f16c22f 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/ComponentProcessor.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/ComponentProcessor.java @@ -6,6 +6,7 @@ import java.awt.RenderingHints; import java.awt.image.BufferedImage; import java.lang.reflect.Method; import java.util.ArrayList; +import java.util.Collections; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -184,6 +185,7 @@ public class ComponentProcessor { // } // } } + Collections.sort(properties, ComparatorFactory.getInstance().getPropertyNameComparator()); return properties; } }