diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/config.properties b/ diy-layout-creator --username bancika@gmail.com/DIYLC/config.properties new file mode 100644 index 00000000..c6abd215 --- /dev/null +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/config.properties @@ -0,0 +1,2 @@ +#org.diylc.utils.Constants.CANVAS_COLOR=#005D96 +#org.diylc.utils.Constants.GRID_COLOR=#FFFFFF \ No newline at end of file diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/AbstractLeadedDIYComponent.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/AbstractLeadedDIYComponent.java index 50f623c4..15a08762 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/AbstractLeadedDIYComponent.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/AbstractLeadedDIYComponent.java @@ -10,6 +10,7 @@ import java.awt.Shape; import org.diylc.core.ComponentState; import org.diylc.core.IDIYComponent; +import org.diylc.core.Project; import org.diylc.core.VisibilityPolicy; import org.diylc.core.annotations.ControlPoint; import org.diylc.core.annotations.EditableProperty; @@ -76,7 +77,7 @@ public abstract class AbstractLeadedDIYComponent implements IDIYComponent protected abstract Color getBorderColor(); @Override - public void draw(Graphics2D g2d, ComponentState componentState) { + public void draw(Graphics2D g2d, ComponentState componentState, Project project) { g2d.setColor(LEAD_COLOR); g2d.setStroke(new BasicStroke(1)); double distance = point1.distance(point2); diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/DIL_IC.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/DIL_IC.java index b0d9ac0e..0172146b 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/DIL_IC.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/DIL_IC.java @@ -8,6 +8,7 @@ import java.awt.geom.Rectangle2D; import org.diylc.core.ComponentState; import org.diylc.core.IDIYComponent; +import org.diylc.core.Project; import org.diylc.core.VisibilityPolicy; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.ControlPoint; @@ -66,7 +67,7 @@ public class DIL_IC implements IDIYComponent { } @Override - public void draw(Graphics2D g2d, ComponentState componentState) { + public void draw(Graphics2D g2d, ComponentState componentState, Project project) { int width = ((int) (Math.abs(point1.x - point2.x) / Constants.GRID)); if (width % 2 == 1) { width--; diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/MockDIYComponent.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/MockDIYComponent.java index f0942ad1..16b26836 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/MockDIYComponent.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src.library/org/diylc/components/MockDIYComponent.java @@ -6,6 +6,7 @@ import java.awt.Point; import org.diylc.core.ComponentState; import org.diylc.core.IDIYComponent; +import org.diylc.core.Project; import org.diylc.core.VisibilityPolicy; import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.ControlPoint; @@ -110,7 +111,7 @@ public class MockDIYComponent implements IDIYComponent { } @Override - public void draw(Graphics2D g2d, ComponentState componentState) { + public void draw(Graphics2D g2d, ComponentState componentState, Project project) { g2d.setColor(componentState.equals(ComponentState.SELECTED) ? color : color.darker()); g2d.fillRect(leftTopCorner.x, leftTopCorner.y, 200, 50); } diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/DIYLCStarter.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/DIYLCStarter.java index 91879bb7..5081b34d 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/DIYLCStarter.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/DIYLCStarter.java @@ -1,13 +1,15 @@ package org.diylc; -import java.io.IOException; +import java.io.FileInputStream; import java.net.URL; import java.util.Properties; import javax.swing.UIManager; +import org.apache.log4j.Logger; import org.apache.log4j.PropertyConfigurator; import org.diylc.gui.MainFrame; +import org.diylc.presenter.Presenter; import com.diyfever.gui.miscutils.PropertyInjector; @@ -16,6 +18,8 @@ import com.diyfever.gui.miscutils.PropertyInjector; * @author Branislav Stojkovic */ public class DIYLCStarter { + + private static final Logger LOG = Logger.getLogger(Presenter.class); /** * @param args @@ -26,25 +30,23 @@ public class DIYLCStarter { try { properties.load(url.openStream()); PropertyConfigurator.configure(properties); - } catch (IOException e) { - e.printStackTrace(); + } catch (Exception e) { + LOG.error("Could not initialize log4j configuration", e); } - url = DIYLCStarter.class.getResource("config.properties"); + url = DIYLCStarter.class.getResource("/config.properties"); properties = new Properties(); try { - properties.load(url.openStream()); + properties.load(new FileInputStream("config.properties")); PropertyInjector.injectProperties(properties); - } catch (IOException e) { - // TODO Auto-generated catch block - e.printStackTrace(); + } catch (Exception e) { + LOG.error("Could not read config.properties file", e); } try { UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName()); - } catch (Exception e1) { - // TODO Auto-generated catch block - e1.printStackTrace(); + } catch (Exception e) { + LOG.error("Could not set Look&Feel", e); } MainFrame mainFrame = new MainFrame(); diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/config.properties b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/config.properties deleted file mode 100644 index 308224fe..00000000 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/config.properties +++ /dev/null @@ -1 +0,0 @@ -Test=XYZ \ No newline at end of file diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/IDIYComponent.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/IDIYComponent.java index c104bac5..3be27b50 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/IDIYComponent.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/IDIYComponent.java @@ -19,8 +19,8 @@ import org.diylc.core.annotations.EditableProperty; *
  • Control point getters need to be annotated with {@link ControlPoint}.
  • *
  • Getters for properties editable by users should be annotated with * {@link EditableProperty}.
  • - *
  • Component configuration should be declared using - * public static fields so they can be set through config file.
  • + *
  • Component configuration should be stored int public static + * fields so they can be set through config file.
  • * * * @author Branislav Stojkovic @@ -42,8 +42,9 @@ public interface IDIYComponent extends Serializable { * * @param g2d * @param componentState + * @param project */ - void draw(Graphics2D g2d, ComponentState componentState); + void draw(Graphics2D g2d, ComponentState componentState, Project project); /** * Draws icon representation of the component. diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/canvas/SelectionTransferable.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/canvas/SelectionTransferable.java index 68b3f4bf..fd87e27f 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/canvas/SelectionTransferable.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/canvas/SelectionTransferable.java @@ -16,9 +16,9 @@ public class SelectionTransferable implements Transferable { "Component Selection"); private Point startPoint; - private List selection; + private List> selection; - public SelectionTransferable(List selection, Point startPoint) { + public SelectionTransferable(List> selection, Point startPoint) { super(); this.selection = selection; this.startPoint = startPoint; 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 0c6744b3..2979a205 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 @@ -52,6 +52,7 @@ public class ComponentProcessor { * @param clazz * @return */ + @SuppressWarnings("unchecked") public List extractProperties(Class clazz) { if (propertyCache.containsKey(clazz)) { return cloner.deepClone(propertyCache.get(clazz)); @@ -95,6 +96,7 @@ public class ComponentProcessor { * @param clazz * @return */ + @SuppressWarnings("unchecked") public List extractControlPoints(Class clazz) { if (controlPointCache.containsKey(clazz)) { return cloner.deepClone(controlPointCache.get(clazz)); diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java index 7a386367..6c03899b 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/presenter/Presenter.java @@ -313,7 +313,7 @@ public class Presenter implements IPlugInPort { g2dWrapper.setComposite(alphaComposite); } // Draw the component through the g2dWrapper. - component.draw(g2dWrapper, state); + component.draw(g2dWrapper, state, currentProject); // Restore the composite if needed. if (state == ComponentState.DRAGGING) { g2dWrapper.setComposite(mainComposite); @@ -328,7 +328,7 @@ public class Presenter implements IPlugInPort { try { controlPoint.readFrom(component); if (shouldShowControlPoint(controlPoint, component)) { - g2d.setColor(Color.blue); + g2d.setColor(Constants.CONTROL_POINT_COLOR); g2d.setStroke(new BasicStroke(2)); g2d.drawOval(controlPoint.getValue().x - 2, controlPoint.getValue().y - 2, 4, 4); diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/utils/Constants.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/utils/Constants.java index 4a282fab..60588271 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/utils/Constants.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/utils/Constants.java @@ -10,8 +10,9 @@ public class Constants { public static final float GRID = Toolkit.getDefaultToolkit().getScreenResolution() / 10f; - public static final Color CANVAS_COLOR = Color.white; - public static final Color GRID_COLOR = new Color(240, 240, 240); + public static Color CANVAS_COLOR = Color.white; + public static Color GRID_COLOR = new Color(240, 240, 240); + public static Color CONTROL_POINT_COLOR = Color.blue; public static Font LABEL_FONT = new Font("Tahoma", Font.BOLD, 11);