diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/config.xml b/ diy-layout-creator --username bancika@gmail.com/DIYLC/config.xml
index 6b58cd31..d6460070 100644
--- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/config.xml
+++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/config.xml
@@ -6,14 +6,14 @@
K
-
- metric
- true
-
lastPath
C:\Documents and Settings\Branislav Stojkovic\Desktop
+
+ metric
+ true
+
default.org.diylc.components.semiconductors.DIL_IC:Value
LM366
diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/library/main.jar b/ diy-layout-creator --username bancika@gmail.com/DIYLC/library/main.jar
index 6831326f..57518c53 100644
Binary files a/ diy-layout-creator --username bancika@gmail.com/DIYLC/library/main.jar and b/ diy-layout-creator --username bancika@gmail.com/DIYLC/library/main.jar differ
diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/ComponentType.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/ComponentType.java
index 9547b324..be697db3 100644
--- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/ComponentType.java
+++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/common/ComponentType.java
@@ -23,11 +23,12 @@ public class ComponentType {
private Class extends IDIYComponent> instanceClass;
private double zOrder;
private boolean stretchable;
+ private boolean sticky;
@SuppressWarnings("unchecked")
public ComponentType(String name, String description, String category, String namePrefix,
String author, Icon icon, Class extends IDIYComponent> instanceClass,
- double zOrder, boolean stretchable) {
+ double zOrder, boolean stretchable, boolean sticky) {
super();
this.name = name;
this.description = description;
@@ -38,6 +39,7 @@ public class ComponentType {
this.instanceClass = instanceClass;
this.zOrder = zOrder;
this.stretchable = stretchable;
+ this.sticky = sticky;
}
public String getName() {
@@ -76,6 +78,10 @@ public class ComponentType {
public boolean isStretchable() {
return stretchable;
}
+
+ public boolean isSticky() {
+ return sticky;
+ }
@Override
public String toString() {
diff --git a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/annotations/ComponentDescriptor.java b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/annotations/ComponentDescriptor.java
index 9a2868da..d5e9b44b 100644
--- a/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/annotations/ComponentDescriptor.java
+++ b/ diy-layout-creator --username bancika@gmail.com/DIYLC/src/org/diylc/core/annotations/ComponentDescriptor.java
@@ -50,4 +50,10 @@ public @interface ComponentDescriptor {
* move together with it.
*/
boolean stretchable() default true;
+
+ /**
+ * @return true, if control points may stick to other components' control
+ * points.
+ */
+ boolean sticky() default false;
}
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 5f16c22f..19f96aa6 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
@@ -60,6 +60,7 @@ public class ComponentProcessor {
Icon icon;
double zOrder;
boolean stretchable;
+ boolean sticky;
if (clazz.isAnnotationPresent(ComponentDescriptor.class)) {
ComponentDescriptor annotation = clazz.getAnnotation(ComponentDescriptor.class);
name = annotation.name();
@@ -69,6 +70,7 @@ public class ComponentProcessor {
author = annotation.author();
zOrder = annotation.zOrder();
stretchable = annotation.stretchable();
+ sticky = annotation.sticky();
} else {
name = clazz.getSimpleName();
description = "";
@@ -77,6 +79,7 @@ public class ComponentProcessor {
author = "Unknown";
zOrder = IDIYComponent.COMPONENT;
stretchable = true;
+ sticky = false;
}
icon = null;
// Draw component icon.
@@ -96,7 +99,7 @@ public class ComponentProcessor {
e.printStackTrace();
}
ComponentType componentType = new ComponentType(name, description, category, namePrefix,
- author, icon, clazz, zOrder, stretchable);
+ author, icon, clazz, zOrder, stretchable, sticky);
return componentType;
}
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 e715ad79..a701425b 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
@@ -70,8 +70,8 @@ public class Presenter implements IPlugInPort {
private Map, Area> componentAreaMap;
private Project currentProject;
private Map> componentTypes;
- @SuppressWarnings("unchecked")
- private Map, ComponentType> componentTypeMap;
+ // Maps component class names to ComponentType objects.
+ private Map componentTypeMap;
private List plugIns;
private ComponentSelection selectedComponents;
@@ -192,14 +192,14 @@ public class Presenter implements IPlugInPort {
if (componentTypes == null) {
LOG.info("Loading component types.");
componentTypes = new HashMap>();
- componentTypeMap = new HashMap, ComponentType>();
+ componentTypeMap = new HashMap();
List> componentTypeClasses = JarScanner.getInstance().scanFolder("library/",
IDIYComponent.class);
for (Class> clazz : componentTypeClasses) {
if (!Modifier.isAbstract(clazz.getModifiers())) {
ComponentType componentType = ComponentProcessor.getInstance()
.createComponentTypeFrom((Class extends IDIYComponent>>) clazz);
- componentTypeMap.put(componentType.getInstanceClass(), componentType);
+ componentTypeMap.put(componentType.getInstanceClass().getName(), componentType);
List nestedList;
if (componentTypes.containsKey(componentType.getCategory())) {
nestedList = componentTypes.get(componentType.getCategory());
@@ -227,7 +227,7 @@ public class Presenter implements IPlugInPort {
RenderingHints.VALUE_ANTIALIAS_ON);
}
-// AffineTransform initialTx = g2d.getTransform();
+ // AffineTransform initialTx = g2d.getTransform();
Dimension d = getCanvasDimensions(drawOptions.contains(DrawOption.ZOOM));
g2dWrapper.setColor(Constants.CANVAS_COLOR);
@@ -303,10 +303,11 @@ public class Presenter implements IPlugInPort {
// Go back to the original transformation and zoom in to draw the
// selection rectangle and other similar elements.
-// g2d.setTransform(initialTx);
-// if ((drawOptions.contains(DrawOption.ZOOM)) && (Math.abs(1.0 - zoomLevel) > 1e-4)) {
-// g2d.scale(zoomLevel, zoomLevel);
-// }
+ // g2d.setTransform(initialTx);
+ // if ((drawOptions.contains(DrawOption.ZOOM)) && (Math.abs(1.0 -
+ // zoomLevel) > 1e-4)) {
+ // g2d.scale(zoomLevel, zoomLevel);
+ // }
// At the end draw selection rectangle if needed.
if (drawOptions.contains(DrawOption.SELECTION) && (selectionRect != null)) {
@@ -415,8 +416,8 @@ public class Presenter implements IPlugInPort {
try {
if (scaledPoint.distance(controlPoint) < CONTROL_POINT_SIZE) {
Set indices = new HashSet();
- ComponentType componentType = componentTypeMap
- .get(component.getClass());
+ ComponentType componentType = componentTypeMap.get(component.getClass()
+ .getName());
if (componentType.isStretchable()) {
indices.add(pointIndex);
} else {
@@ -521,10 +522,76 @@ public class Presenter implements IPlugInPort {
controlPointMap.put(c, pointIndices);
}
}
+ // Expand control points to include all stuck components.
+ includeStuckComponents(controlPointMap);
LOG.debug(controlPointMap);
}
}
+ /**
+ * Finds any components that are stuck to one of the components already in
+ * the map.
+ *
+ * @param controlPointMap
+ */
+ private void includeStuckComponents(Map, Set> controlPointMap) {
+ int oldSize = controlPointMap.size();
+ LOG.debug("Expanding selected component map");
+ for (IDIYComponent> component : currentProject.getComponents()) {
+ // Do not process a component if it's already in the map.
+ ComponentType componentType = componentTypeMap.get(component.getClass().getName());
+ if (!controlPointMap.containsKey(component) && componentType.isSticky()) {
+ // Check if there's a control point in the current selection
+ // that matches with one of its control points.
+ for (int i = 0; i < component.getControlPointCount(); i++) {
+ if (controlPointMap.containsKey(component)) {
+ break;
+ }
+ boolean componentMatches = false;
+ for (Map.Entry, Set> entry : controlPointMap
+ .entrySet()) {
+ if (componentMatches) {
+ break;
+ }
+ for (Integer j : entry.getValue()) {
+ Point firstPoint = component.getControlPoint(i);
+ Point secondPoint = entry.getKey().getControlPoint(j);
+ // If they are close enough we can consider them
+ // matched.
+ if (firstPoint.distance(secondPoint) < CONTROL_POINT_SIZE) {
+ componentMatches = true;
+ break;
+ }
+ }
+ }
+ if (componentMatches) {
+ LOG.debug("Including component: " + component);
+ Set indices = new HashSet();
+ // For stretchable components just add the
+ // matching component.
+ // Otherwise, add all control points.
+ if (componentType.isStretchable()) {
+ indices.add(i);
+ } else {
+ for (int k = 0; k < component.getControlPointCount(); k++) {
+ indices.add(k);
+ }
+ }
+ controlPointMap.put(component, indices);
+ }
+ }
+ }
+ }
+ int newSize = controlPointMap.size();
+ // As long as we're adding new components, do another iteration.
+ if (newSize > oldSize) {
+ LOG.debug("Component count changed, trying one more time.");
+ includeStuckComponents(controlPointMap);
+ } else {
+ LOG.debug("Component count didn't change, done with expanding.");
+ }
+ }
+
@Override
public boolean dragOver(Point point) {
if (point == null) {
@@ -612,7 +679,7 @@ public class Presenter implements IPlugInPort {
LOG.debug(String.format("addComponents(%s)", components));
Project oldProject = cloner.deepClone(currentProject);
for (IDIYComponent> component : components) {
- addComponent(component, componentTypeMap.get(component.getClass()));
+ addComponent(component, componentTypeMap.get(component.getClass().getName()));
}
messageDispatcher.dispatchMessage(EventType.PROJECT_MODIFIED, oldProject, cloner
.deepClone(currentProject), "Add");
@@ -784,7 +851,7 @@ public class Presenter implements IPlugInPort {
int index = 0;
while (index < currentProject.getComponents().size()
&& componentType.getZOrder() >= componentTypeMap.get(
- currentProject.getComponents().get(index).getClass()).getZOrder()) {
+ currentProject.getComponents().get(index).getClass().getName()).getZOrder()) {
index++;
}
if (index < currentProject.getComponents().size()) {
@@ -921,7 +988,7 @@ public class Presenter implements IPlugInPort {
* component.
*/
private boolean shouldShowControlPointsFor(IDIYComponent> component) {
- ComponentType componentType = componentTypeMap.get(component.getClass());
+ ComponentType componentType = componentTypeMap.get(component.getClass().getName());
// Do not show control points for non-stretchable components.
if (!componentType.isStretchable()) {
return false;
diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/lib/diylc.jar b/ diy-layout-creator --username bancika@gmail.com/Library/lib/diylc.jar
deleted file mode 100644
index 0da2674a..00000000
Binary files a/ diy-layout-creator --username bancika@gmail.com/Library/lib/diylc.jar and /dev/null differ
diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CopperTrace.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CopperTrace.java
index e080230e..439559e5 100644
--- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CopperTrace.java
+++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CopperTrace.java
@@ -13,7 +13,7 @@ import org.diylc.core.annotations.EditableProperty;
import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
-@ComponentDescriptor(name = "Copper Trace", author = "Branislav Stojkovic", category = "Connectivity", instanceNamePrefix = "Trace", description = "", zOrder = IDIYComponent.ABOVE_BOARD)
+@ComponentDescriptor(name = "Copper Trace", author = "Branislav Stojkovic", category = "Connectivity", instanceNamePrefix = "Trace", description = "", zOrder = IDIYComponent.ABOVE_BOARD, sticky = true)
public class CopperTrace extends AbstractLeadedComponent {
private static final long serialVersionUID = 1L;
diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CurvedTrace.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CurvedTrace.java
index 6c260563..e151a95d 100644
--- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CurvedTrace.java
+++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/CurvedTrace.java
@@ -13,7 +13,7 @@ import org.diylc.core.annotations.EditableProperty;
import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
-@ComponentDescriptor(name = "Curved Trace", author = "Branislav Stojkovic", category = "Connectivity", instanceNamePrefix = "Trace", description = "Curved copper trace with two control points", zOrder = IDIYComponent.ABOVE_BOARD)
+@ComponentDescriptor(name = "Curved Trace", author = "Branislav Stojkovic", category = "Connectivity", instanceNamePrefix = "Trace", description = "Curved copper trace with two control points", zOrder = IDIYComponent.ABOVE_BOARD, sticky = true)
public class CurvedTrace extends AbstractCurvedComponent {
private static final long serialVersionUID = 1L;
diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/HookupWire.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/HookupWire.java
index 81026d8e..9642f8ef 100644
--- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/HookupWire.java
+++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/HookupWire.java
@@ -12,7 +12,7 @@ import org.diylc.core.annotations.ComponentDescriptor;
import org.diylc.core.annotations.EditableProperty;
import org.diylc.utils.Constants;
-@ComponentDescriptor(name = "Hookup Wire", author = "Branislav Stojkovic", category = "Connectivity", instanceNamePrefix = "W", description = "Flexible wire with two control points", zOrder = IDIYComponent.ABOVE_COMPONENT)
+@ComponentDescriptor(name = "Hookup Wire", author = "Branislav Stojkovic", category = "Connectivity", instanceNamePrefix = "W", description = "Flexible wire with two control points", zOrder = IDIYComponent.ABOVE_COMPONENT, sticky = true)
public class HookupWire extends AbstractCurvedComponent {
private static final long serialVersionUID = 1L;
diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/Jumper.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/Jumper.java
index 9a47eb04..77a6842a 100644
--- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/Jumper.java
+++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/Jumper.java
@@ -12,7 +12,7 @@ import org.diylc.core.annotations.ComponentDescriptor;
import org.diylc.core.annotations.EditableProperty;
import org.diylc.core.measures.Size;
-@ComponentDescriptor(name = "Jumper", author = "Branislav Stojkovic", category = "Connectivity", instanceNamePrefix = "J", description = "", zOrder = IDIYComponent.ABOVE_BOARD)
+@ComponentDescriptor(name = "Jumper", author = "Branislav Stojkovic", category = "Connectivity", instanceNamePrefix = "J", description = "", zOrder = IDIYComponent.ABOVE_BOARD, sticky = true)
public class Jumper extends AbstractLeadedComponent {
private static final long serialVersionUID = 1L;
diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/SolderPad.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/SolderPad.java
index c149d05b..8321a049 100644
--- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/SolderPad.java
+++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/connectivity/SolderPad.java
@@ -14,7 +14,7 @@ import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
import org.diylc.utils.Constants;
-@ComponentDescriptor(name = "Solder Pad", category = "Connectivity", author = "Branislav Stojkovic", description = "test", instanceNamePrefix = "Pad", stretchable = false, zOrder = IDIYComponent.ABOVE_BOARD + 0.1)
+@ComponentDescriptor(name = "Solder Pad", category = "Connectivity", author = "Branislav Stojkovic", description = "test", instanceNamePrefix = "Pad", stretchable = false, zOrder = IDIYComponent.ABOVE_BOARD + 0.1, sticky = true)
public class SolderPad extends AbstractComponent {
private static final long serialVersionUID = 1L;
diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/electromechanical/MiniToggleSwitch.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/electromechanical/MiniToggleSwitch.java
index 93e74f87..00a60cf6 100644
--- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/electromechanical/MiniToggleSwitch.java
+++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/electromechanical/MiniToggleSwitch.java
@@ -18,7 +18,7 @@ import org.diylc.core.annotations.EditableProperty;
import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
-@ComponentDescriptor(name = "Mini Toggle Switch", category = "Electromechanical", author = "Branislav Stojkovic", description = "", stretchable = false, zOrder = IDIYComponent.COMPONENT, instanceNamePrefix = "SW")
+@ComponentDescriptor(name = "Mini Toggle Switch", category = "Electromechanical", author = "Branislav Stojkovic", description = "", stretchable = false, zOrder = IDIYComponent.COMPONENT, instanceNamePrefix = "SW", sticky = true)
public class MiniToggleSwitch extends AbstractTransparentComponent {
private static final long serialVersionUID = 1L;
diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/AxialFilmCapacitor.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/AxialFilmCapacitor.java
index b9ffc291..6c03fc6f 100644
--- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/AxialFilmCapacitor.java
+++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/AxialFilmCapacitor.java
@@ -14,7 +14,7 @@ import org.diylc.core.measures.CapacitanceUnit;
import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
-@ComponentDescriptor(name = "Axial Film Capacitor", author = "Branislav Stojkovic", category = "Passive", instanceNamePrefix = "C", description = "test", zOrder = IDIYComponent.COMPONENT)
+@ComponentDescriptor(name = "Axial Film Capacitor", author = "Branislav Stojkovic", category = "Passive", instanceNamePrefix = "C", description = "test", zOrder = IDIYComponent.COMPONENT, sticky = true)
public class AxialFilmCapacitor extends AbstractLeadedComponent {
private static final long serialVersionUID = 1L;
diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java
index b5733dcb..2342c00d 100644
--- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java
+++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialCeramicDiskCapacitor.java
@@ -14,7 +14,7 @@ import org.diylc.core.measures.CapacitanceUnit;
import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
-@ComponentDescriptor(name = "Ceramic Capacitor", author = "Branislav Stojkovic", category = "Passive", instanceNamePrefix = "C", description = "test", zOrder = IDIYComponent.COMPONENT)
+@ComponentDescriptor(name = "Ceramic Capacitor", author = "Branislav Stojkovic", category = "Passive", instanceNamePrefix = "C", description = "test", zOrder = IDIYComponent.COMPONENT, sticky = true)
public class RadialCeramicDiskCapacitor extends AbstractLeadedComponent {
private static final long serialVersionUID = 1L;
diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialFilmCapacitor.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialFilmCapacitor.java
index 3ac2cb78..58d0cb24 100644
--- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialFilmCapacitor.java
+++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/RadialFilmCapacitor.java
@@ -14,7 +14,7 @@ import org.diylc.core.measures.CapacitanceUnit;
import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
-@ComponentDescriptor(name = "Radial Film Capacitor", author = "Branislav Stojkovic", category = "Passive", instanceNamePrefix = "C", description = "test", zOrder = IDIYComponent.COMPONENT)
+@ComponentDescriptor(name = "Radial Film Capacitor", author = "Branislav Stojkovic", category = "Passive", instanceNamePrefix = "C", description = "test", zOrder = IDIYComponent.COMPONENT, sticky = true)
public class RadialFilmCapacitor extends AbstractLeadedComponent {
private static final long serialVersionUID = 1L;
diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/Resistor.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/Resistor.java
index 502e7471..0b966805 100644
--- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/Resistor.java
+++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/passive/Resistor.java
@@ -14,7 +14,7 @@ import org.diylc.core.measures.ResistanceUnit;
import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
-@ComponentDescriptor(name = "Resistor", author = "Branislav Stojkovic", category = "Passive", instanceNamePrefix = "R", description = "test", zOrder = IDIYComponent.COMPONENT)
+@ComponentDescriptor(name = "Resistor", author = "Branislav Stojkovic", category = "Passive", instanceNamePrefix = "R", description = "test", zOrder = IDIYComponent.COMPONENT, sticky = true)
public class Resistor extends AbstractLeadedComponent {
private static final long serialVersionUID = 1L;
diff --git a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/semiconductors/DIL_IC.java b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/semiconductors/DIL_IC.java
index b4ff9d0d..aa3981d7 100644
--- a/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/semiconductors/DIL_IC.java
+++ b/ diy-layout-creator --username bancika@gmail.com/Library/src/org/diylc/components/semiconductors/DIL_IC.java
@@ -23,7 +23,7 @@ import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
import org.diylc.utils.Constants;
-@ComponentDescriptor(name = "DIL IC", author = "Branislav Stojkovic", category = "Semiconductors", instanceNamePrefix = "IC", description = "test", stretchable = false, zOrder = IDIYComponent.COMPONENT)
+@ComponentDescriptor(name = "DIL IC", author = "Branislav Stojkovic", category = "Semiconductors", instanceNamePrefix = "IC", description = "test", stretchable = false, zOrder = IDIYComponent.COMPONENT, sticky = true)
public class DIL_IC extends AbstractTransparentComponent {
private static final long serialVersionUID = 1L;
@@ -38,7 +38,6 @@ public class DIL_IC extends AbstractTransparentComponent {
public static Size PIN_SIZE = new Size(0.04d, SizeUnit.in);
public static Size INDENT_SIZE = new Size(0.15d, SizeUnit.in);
- private String name = "New Component";
private String value = "";
private Orientation orientation = Orientation.DEFAULT;
private PinCount pinCount = PinCount._8;
@@ -56,15 +55,6 @@ public class DIL_IC extends AbstractTransparentComponent {
updateControlPoints();
}
- @EditableProperty(defaultable = false)
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
@EditableProperty
public String getValue() {
return value;