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 0e83141d..b0d9ac0e 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 @@ -87,14 +87,14 @@ public class DIL_IC implements IDIYComponent { g2d.drawRoundRect(x, y, width, height, EDGE_RADIUS, EDGE_RADIUS); // Draw label. g2d.setFont(Constants.LABEL_FONT); - g2d.setColor(LABEL_COLOR); + g2d.setColor(componentState == ComponentState.DRAGGING ? BORDER_COLOR : LABEL_COLOR); FontMetrics fontMetrics = g2d.getFontMetrics(g2d.getFont()); Rectangle2D rect = fontMetrics.getStringBounds(getName(), g2d); int textHeight = (int) (rect.getHeight()); int textWidth = (int) (rect.getWidth()); // Center text horizontally and vertically - x = (width - textWidth) / 2; - y = (height - textHeight) / 2 + fontMetrics.getAscent(); + x += (width - textWidth) / 2; + y += (height - textHeight) / 2 + fontMetrics.getAscent(); g2d.drawString(getName(), x, y); } diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/ComponentSelection.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/ComponentSelection.java index ca59c49a..2ac8a530 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/ComponentSelection.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/ComponentSelection.java @@ -18,7 +18,7 @@ import org.diylc.core.IDIYComponent; * * @author Branislav Stojkovic */ -public class ComponentSelection extends ArrayList implements Transferable { +public class ComponentSelection extends ArrayList> implements Transferable { private static final long serialVersionUID = 1L; @@ -28,7 +28,7 @@ public class ComponentSelection extends ArrayList implements Tran super(); } - public ComponentSelection(Collection selectedComponents) { + public ComponentSelection(Collection> selectedComponents) { super(selectedComponents); } diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/IPlugInPort.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/IPlugInPort.java index 3dfd7f90..2ef36a2a 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/IPlugInPort.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/IPlugInPort.java @@ -174,7 +174,7 @@ public interface IPlugInPort { * * @return */ - Area getComponentArea(IDIYComponent component); + Area getComponentArea(IDIYComponent component); /** * Notification that drag has been started from the specified point. @@ -217,7 +217,7 @@ public interface IPlugInPort { * @param components * @param preferredPoint */ - void addComponents(List components, Point preferredPoint); + void addComponents(List> components, Point preferredPoint); /** * Checks if a certain layer is locked for editing. diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/Project.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/Project.java index 856964bb..2e6f10ad 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/Project.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/Project.java @@ -29,10 +29,10 @@ public class Project implements Serializable { private String description; private Size width; private Size height; - private List components; + private List> components; public Project() { - components = new ArrayList(); + components = new ArrayList>(); title = DEFAULT_TITLE; author = System.getProperty("user.name"); width = DEFAULT_WIDTH; @@ -40,7 +40,7 @@ public class Project implements Serializable { } public Project(String title, String author, String description, Size width, Size height, - List components) { + List> components) { super(); this.title = title; this.author = author; @@ -95,7 +95,7 @@ public class Project implements Serializable { this.height = height; } - public List getComponents() { + public List> getComponents() { return components; } diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/clipboard/ClipboardManager.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/clipboard/ClipboardManager.java index 2dfcf0e7..2fc307fd 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/clipboard/ClipboardManager.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/clipboard/ClipboardManager.java @@ -163,7 +163,7 @@ public class ClipboardManager implements IPlugIn, ClipboardOwner { public void actionPerformed(ActionEvent e) { LOG.info("Paste triggered"); try { - List components = (List) clipboard + List> components = (List>) clipboard .getData(ComponentSelection.listFlavor); plugInPort.addComponents(cloner.deepClone(components), null); } catch (Exception ex) { diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/file/BomMaker.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/file/BomMaker.java index c90a369f..6a7b3f63 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/file/BomMaker.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/file/BomMaker.java @@ -23,9 +23,9 @@ public class BomMaker { private BomMaker() { } - public List createBom(List components) { + public List createBom(List> components) { Map entryMap = new HashMap(); - for (IDIYComponent component : components) { + for (IDIYComponent component : components) { String name = component.getName(); String value = component.getValue() == null ? "" : component.getValue().toString(); if ((name != null) && (value != null)) { diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/statusbar/StatusBar.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/statusbar/StatusBar.java index 22ecf815..ac1195fe 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/statusbar/StatusBar.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/statusbar/StatusBar.java @@ -45,7 +45,7 @@ public class StatusBar extends JPanel implements IPlugIn { // State variables private ComponentType componentSlot; - private List componentsUnderCursor; + private List> componentsUnderCursor; public StatusBar() { super(); @@ -165,8 +165,8 @@ public class StatusBar extends JPanel implements IPlugIn { refreshStatusText(); break; case AVAILABLE_CTRL_POINTS_CHANGED: - componentsUnderCursor = new ArrayList( - ((Map) params[0]).keySet()); + componentsUnderCursor = new ArrayList>( + ((Map, ControlPointWrapper>) params[0]).keySet()); Collections.sort(componentsUnderCursor, ComparatorFactory.getInstance() .getComponentNameComparator()); refreshStatusText(); @@ -181,7 +181,7 @@ public class StatusBar extends JPanel implements IPlugIn { } else { String formattedNames = ""; int n = 1; - for (IDIYComponent component : componentsUnderCursor) { + for (IDIYComponent component : componentsUnderCursor) { if (n > 1) { formattedNames += ", "; } diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/toolbox/ComponentButton.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/toolbox/ComponentButton.java index 025f1829..cb58c891 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/toolbox/ComponentButton.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/plugins/toolbox/ComponentButton.java @@ -1,5 +1,6 @@ package org.diylc.plugins.toolbox; +import java.awt.Insets; import java.awt.dnd.DnDConstants; import java.awt.dnd.DragSource; import java.awt.event.ActionEvent; @@ -20,6 +21,8 @@ class ComponentButton extends JButton { private static final long serialVersionUID = 1L; + public static int MARGIN = 2; + private IPlugInPort plugInPort; private ComponentType componentType; @@ -28,6 +31,8 @@ class ComponentButton extends JButton { this.plugInPort = plugInPort; this.componentType = componentType; + setMargin(new Insets(MARGIN, MARGIN, MARGIN, MARGIN)); + setToolTipText("" + componentType.getName() + "
" + componentType.getDescription() + "
Author: " + componentType.getAuthor() + ""); 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 91b60d41..aab14636 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 @@ -8,7 +8,7 @@ public class ComparatorFactory { private static ComparatorFactory instance; - private Comparator componentNameComparator; + private Comparator> componentNameComparator; public static ComparatorFactory getInstance() { if (instance == null) { @@ -17,12 +17,12 @@ public class ComparatorFactory { return instance; } - public Comparator getComponentNameComparator() { + public Comparator> getComponentNameComparator() { if (componentNameComparator == null) { - componentNameComparator = new Comparator() { + componentNameComparator = new Comparator>() { @Override - public int compare(IDIYComponent o1, IDIYComponent o2) { + public int compare(IDIYComponent o1, IDIYComponent o2) { String name1 = o1.getName(); String name2 = o2.getName(); if (name1 == null || name2 == null) { 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 83e90024..0c6744b3 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 @@ -133,12 +133,12 @@ public class ComponentProcessor { * @param selectedComponents * @return */ - public List getMutualSelectionProperties(List selectedComponents) { + public List getMutualSelectionProperties(List> selectedComponents) { if (selectedComponents.isEmpty()) { return null; } List properties = new ArrayList(); - IDIYComponent firstComponent = selectedComponents.get(0); + IDIYComponent firstComponent = selectedComponents.get(0); properties.addAll(extractProperties(firstComponent.getClass())); // Initialize values for (PropertyWrapper property : properties) { @@ -150,7 +150,7 @@ public class ComponentProcessor { } } for (int i = 1; i < selectedComponents.size(); i++) { - IDIYComponent component = selectedComponents.get(i); + IDIYComponent component = selectedComponents.get(i); List newProperties = extractProperties(component.getClass()); for (PropertyWrapper property : newProperties) { try { 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 6f16a137..7a386367 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 @@ -71,7 +71,7 @@ public class Presenter implements IPlugInPort { public static boolean ENABLE_ANTIALIASING = true; private double zoomLevel = 1; - private Map componentAreaMap; + private Map, Area> componentAreaMap; private Project currentProject; private Map> componentTypes; private List plugIns; @@ -79,7 +79,7 @@ public class Presenter implements IPlugInPort { private ComponentSelection selectedComponents; // List of components that have at least one of their control points // under the last recorded mouse position. - private Map componentControlPointMap; + private Map, ControlPointWrapper> componentControlPointMap; private Cloner cloner; @@ -104,7 +104,7 @@ public class Presenter implements IPlugInPort { public Presenter(IView view) { super(); this.view = view; - componentAreaMap = new HashMap(); + componentAreaMap = new HashMap, Area>(); plugIns = new ArrayList(); messageDispatcher = new MessageDispatcher(); selectedComponents = new ComponentSelection(); @@ -149,7 +149,7 @@ public class Presenter implements IPlugInPort { if (componentSlot == null) { // Scale point to remove zoom factor. Point2D scaledPoint = scalePoint(point); - for (Map.Entry entry : componentAreaMap.entrySet()) { + for (Map.Entry, Area> entry : componentAreaMap.entrySet()) { if (entry.getValue().contains(scaledPoint)) { return Cursor.getPredefinedCursor(Cursor.HAND_CURSOR); } @@ -293,10 +293,10 @@ public class Presenter implements IPlugInPort { // g2dWrapper.resetTx(); - List components = getCurrentProject().getComponents(); + List> components = getCurrentProject().getComponents(); componentAreaMap.clear(); if (components != null) { - for (IDIYComponent component : components) { + for (IDIYComponent component : components) { g2dWrapper.startedDrawingComponent(); ComponentState state = ComponentState.NORMAL; if (drawOptions.contains(DrawOption.SELECTION) @@ -387,9 +387,9 @@ public class Presenter implements IPlugInPort { * * @return */ - private List findComponentsAt(Point point) { - List components = new ArrayList(); - for (Map.Entry entry : componentAreaMap.entrySet()) { + private List> findComponentsAt(Point point) { + List> components = new ArrayList>(); + for (Map.Entry, Area> entry : componentAreaMap.entrySet()) { if (entry.getValue().contains(point)) { components.add(entry.getKey()); } @@ -412,12 +412,12 @@ public class Presenter implements IPlugInPort { } setNewComponentSlot(null); } else { - List components = findComponentsAt(scaledPoint); + List> components = findComponentsAt(scaledPoint); // If there's nothing under mouse cursor deselect all. if (components.isEmpty()) { selectedComponents.clear(); } else { - IDIYComponent component = components.get(0); + IDIYComponent component = components.get(0); // If ctrl is pressed just toggle the component under mouse // cursor. if (ctrlDown) { @@ -439,9 +439,9 @@ public class Presenter implements IPlugInPort { @Override public void mouseMoved(Point point, boolean ctrlDown, boolean shiftDown, boolean altDown) { - Map components = new HashMap(); + Map, ControlPointWrapper> components = new HashMap, ControlPointWrapper>(); Point scaledPoint = scalePoint(point); - for (IDIYComponent component : currentProject.getComponents()) { + for (IDIYComponent component : currentProject.getComponents()) { List currentPoints = ComponentProcessor.getInstance() .extractControlPoints(component.getClass()); for (ControlPointWrapper controlPoint : currentPoints) { @@ -475,7 +475,7 @@ public class Presenter implements IPlugInPort { } @Override - public Area getComponentArea(IDIYComponent component) { + public Area getComponentArea(IDIYComponent component) { return componentAreaMap.get(component); } @@ -491,7 +491,7 @@ public class Presenter implements IPlugInPort { preDragProject = cloner.deepClone(currentProject); Point scaledPoint = scalePoint(point); previousDragPoint = scaledPoint; - List components = findComponentsAt(scaledPoint); + List> components = findComponentsAt(scaledPoint); if (!componentControlPointMap.isEmpty()) { // If we're dragging control points reset selection. selectedComponents.clear(); @@ -504,7 +504,7 @@ public class Presenter implements IPlugInPort { messageDispatcher.dispatchMessage(EventType.SELECTION_CHANGED, selectedComponents); messageDispatcher.dispatchMessage(EventType.REPAINT); } else { - IDIYComponent component = components.get(0); + IDIYComponent component = components.get(0); // If the component under the cursor is not already selected, make // it into the only selected component. if (!selectedComponents.contains(component)) { @@ -524,7 +524,7 @@ public class Presenter implements IPlugInPort { Point scaledPoint = scalePoint(point); if (!componentControlPointMap.isEmpty()) { // We're dragging control point(s). - IDIYComponent firstComponent = componentControlPointMap.keySet().iterator().next(); + IDIYComponent firstComponent = componentControlPointMap.keySet().iterator().next(); ControlPointWrapper controlPoint = componentControlPointMap.get(firstComponent); if (controlPoint == null) { LOG.warn("Control point not found in the map!"); @@ -543,11 +543,11 @@ public class Presenter implements IPlugInPort { / Constants.GRID) * Constants.GRID); previousDragPoint.setLocation(x, y); - for (Entry entry : componentControlPointMap + for (Entry, ControlPointWrapper> entry : componentControlPointMap .entrySet()) { try { controlPoint = entry.getValue(); - IDIYComponent component = entry.getKey(); + IDIYComponent component = entry.getKey(); controlPoint.readFrom(component); if (controlPoint.isEditable()) { controlPoint.getValue().setLocation(x, y); @@ -587,7 +587,7 @@ public class Presenter implements IPlugInPort { this.selectionRect = Utils.createRectangle(scaledPoint, previousDragPoint); } selectedComponents.clear(); - for (IDIYComponent component : currentProject.getComponents()) { + for (IDIYComponent component : currentProject.getComponents()) { Area area = componentAreaMap.get(component); if ((area != null) && area.intersects(selectionRect)) { selectedComponents.add(component); @@ -615,7 +615,7 @@ public class Presenter implements IPlugInPort { int dx = (int) (Math.round((toPoint.x - fromPoint.x) / zoomLevel / Constants.GRID) * Constants.GRID); int dy = (int) (Math.round((toPoint.y - fromPoint.y) / zoomLevel / Constants.GRID) * Constants.GRID); fromPoint.translate(dx, dy); - for (IDIYComponent component : selectedComponents) { + for (IDIYComponent component : selectedComponents) { List controlPoints = ComponentProcessor.getInstance() .extractControlPoints(component.getClass()); for (ControlPointWrapper controlPoint : controlPoints) { @@ -639,7 +639,7 @@ public class Presenter implements IPlugInPort { } @Override - public void addComponents(List components, Point preferredPoint) { + public void addComponents(List> components, Point preferredPoint) { LOG.debug(String.format("addComponents(%s)", components)); Project oldProject = cloner.deepClone(currentProject); currentProject.getComponents().addAll(components); @@ -778,7 +778,7 @@ public class Presenter implements IPlugInPort { LOG.debug(String.format("applyPropertiesToSelection(%s)", properties)); Project oldProject = cloner.deepClone(currentProject); try { - for (IDIYComponent component : selectedComponents) { + for (IDIYComponent component : selectedComponents) { for (PropertyWrapper property : properties) { property.writeTo(component); } @@ -814,7 +814,7 @@ public class Presenter implements IPlugInPort { (int) (point.y / zoomLevel)); } - private boolean shouldShowControlPoint(ControlPointWrapper controlPoint, IDIYComponent component) { + private boolean shouldShowControlPoint(ControlPointWrapper controlPoint, IDIYComponent component) { return controlPoint.getVisibilityPolicy().equals(VisibilityPolicy.ALWAYS) || ((controlPoint.getVisibilityPolicy().equals(VisibilityPolicy.WHEN_SELECTED)) && (getSelectedComponents() .contains(component))); diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/test/org/diylc/plugins/file/BomMakerTest.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/test/org/diylc/plugins/file/BomMakerTest.java index c7f172a0..4a5d0133 100644 --- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/test/org/diylc/plugins/file/BomMakerTest.java +++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/test/org/diylc/plugins/file/BomMakerTest.java @@ -18,7 +18,7 @@ public class BomMakerTest { @Test public void testCreateBom() { - List components = new ArrayList(); + List> components = new ArrayList>(); MockDIYComponent c1 = new MockDIYComponent(); c1.setC(new Capacitance(3d, CapacitanceUnit.pF)); components.add(c1);