Filtertron pickup type added within "Humbucker Pickup" as well as screw

pole pieces for all humbucker types

renamed Schematic category
This commit is contained in:
Branislav Stojkovic
2019-01-11 00:48:58 +01:00
parent cc286f9c41
commit 2f76bb8446
26 changed files with 656 additions and 465 deletions
Binary file not shown.
@@ -28,9 +28,12 @@ import java.awt.Graphics2D;
import java.awt.Point; import java.awt.Point;
import java.awt.Rectangle; import java.awt.Rectangle;
import java.awt.Shape; import java.awt.Shape;
import java.awt.Stroke;
import java.awt.geom.AffineTransform; import java.awt.geom.AffineTransform;
import java.awt.geom.Area; import java.awt.geom.Area;
import java.awt.geom.Ellipse2D; import java.awt.geom.Ellipse2D;
import java.awt.geom.Path2D;
import java.awt.geom.Rectangle2D;
import java.awt.geom.RoundRectangle2D; import java.awt.geom.RoundRectangle2D;
import org.diylc.appframework.miscutils.ConfigurationManager; import org.diylc.appframework.miscutils.ConfigurationManager;
@@ -54,7 +57,7 @@ import org.diylc.core.measures.SizeUnit;
import org.diylc.utils.Constants; import org.diylc.utils.Constants;
@ComponentDescriptor(name = "Humbucker Pickup", category = "Guitar", author = "Branislav Stojkovic", @ComponentDescriptor(name = "Humbucker Pickup", category = "Guitar", author = "Branislav Stojkovic",
description = "PAF-style humbucker guitar pickup", stretchable = false, zOrder = IDIYComponent.COMPONENT, description = "Double-coil humbucker guitar pickup (PAF, Mini Humbuckers, Filtertrons)", stretchable = false, zOrder = IDIYComponent.COMPONENT,
instanceNamePrefix = "PKP", autoEdit = false, keywordPolicy = KeywordPolicy.SHOW_TAG, instanceNamePrefix = "PKP", autoEdit = false, keywordPolicy = KeywordPolicy.SHOW_TAG,
keywordTag = "Guitar Wiring Diagram") keywordTag = "Guitar Wiring Diagram")
public class HumbuckerPickup extends AbstractTransparentComponent<String> { public class HumbuckerPickup extends AbstractTransparentComponent<String> {
@@ -69,13 +72,18 @@ public class HumbuckerPickup extends AbstractTransparentComponent<String> {
private static Size LENGTH = new Size(68.58d, SizeUnit.mm); private static Size LENGTH = new Size(68.58d, SizeUnit.mm);
private static Size WIDTH_MINI = new Size(29.3d, SizeUnit.mm); private static Size WIDTH_MINI = new Size(29.3d, SizeUnit.mm);
private static Size LENGTH_MINI = new Size(67.4d, SizeUnit.mm); private static Size LENGTH_MINI = new Size(67.4d, SizeUnit.mm);
private static Size WIDTH_FILTERTRON = new Size(34.9d, SizeUnit.mm);
private static Size LENGTH_FILTERTRON = new Size(71.4d, SizeUnit.mm);
private static Size FILTETRON_CUTOUT_MARGIN = new Size(1d, SizeUnit.mm);
private static Size LIP_WIDTH = new Size(12.7d, SizeUnit.mm); private static Size LIP_WIDTH = new Size(12.7d, SizeUnit.mm);
private static Size LIP_LENGTH = new Size(7.9d, SizeUnit.mm); private static Size LIP_LENGTH = new Size(7.9d, SizeUnit.mm);
private static Size EDGE_RADIUS = new Size(4d, SizeUnit.mm); private static Size EDGE_RADIUS = new Size(4d, SizeUnit.mm);
private static Size POINT_MARGIN = new Size(1.5d, SizeUnit.mm); private static Size POINT_MARGIN = new Size(1.5d, SizeUnit.mm);
private static Size SCREW_LINE = new Size(1d, SizeUnit.mm);
private static Size POINT_SIZE = new Size(2d, SizeUnit.mm); private static Size POINT_SIZE = new Size(2d, SizeUnit.mm);
private static Size LIP_HOLE_SIZE = new Size(1.5d, SizeUnit.mm); private static Size LIP_HOLE_SIZE = new Size(2d, SizeUnit.mm);
private static Size POLE_SIZE = new Size(3d, SizeUnit.mm); private static Size POLE_SIZE = new Size(4d, SizeUnit.mm);
private static Size POLE_SIZE_FILTERTRON = new Size(5d, SizeUnit.mm);
private static Size POLE_SPACING = new Size(10.1d, SizeUnit.mm); private static Size POLE_SPACING = new Size(10.1d, SizeUnit.mm);
private String value = ""; private String value = "";
@@ -86,6 +94,7 @@ public class HumbuckerPickup extends AbstractTransparentComponent<String> {
private Color poleColor = METAL_COLOR; private Color poleColor = METAL_COLOR;
private HumbuckerType type; private HumbuckerType type;
private boolean cover; private boolean cover;
private Boolean legs = true;
private Color bobinColor1 = BOBIN_COLOR1; private Color bobinColor1 = BOBIN_COLOR1;
private Color bobinColor2 = BOBIN_COLOR2; private Color bobinColor2 = BOBIN_COLOR2;
private PolePieceType coilType1; private PolePieceType coilType1;
@@ -103,7 +112,9 @@ public class HumbuckerPickup extends AbstractTransparentComponent<String> {
g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA)); g2d.setComposite(AlphaComposite.getInstance(AlphaComposite.SRC_OVER, 1f * alpha / MAX_ALPHA));
} }
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : color); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : color);
if (getType() != HumbuckerType.Filtertron)
g2d.fill(body[0]); g2d.fill(body[0]);
if (body[1] != null)
g2d.fill(body[1]); g2d.fill(body[1]);
if (body[4] != null) { if (body[4] != null) {
@@ -114,6 +125,10 @@ public class HumbuckerPickup extends AbstractTransparentComponent<String> {
g2d.setColor(getBobinColor2()); g2d.setColor(getBobinColor2());
g2d.fill(body[5]); g2d.fill(body[5]);
} }
if (getType() == HumbuckerType.Filtertron) {
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : color);
g2d.fill(body[0]);
}
g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : POINT_COLOR); g2d.setColor(outlineMode ? Constants.TRANSPARENT_COLOR : POINT_COLOR);
g2d.fill(body[2]); g2d.fill(body[2]);
@@ -135,14 +150,19 @@ public class HumbuckerPickup extends AbstractTransparentComponent<String> {
} }
g2d.setColor(finalBorderColor); g2d.setColor(finalBorderColor);
if (getType() != HumbuckerType.Filtertron)
g2d.draw(body[0]); g2d.draw(body[0]);
if (body[1] != null)
g2d.draw(body[1]); g2d.draw(body[1]);
if (!outlineMode && componentState != ComponentState.DRAGGING) { if (!outlineMode && componentState != ComponentState.DRAGGING) {
g2d.setColor(getPoleColor()); g2d.setColor(getPoleColor());
g2d.fill(body[3]); g2d.fill(body[3]);
g2d.setColor(darkerOrLighter(getPoleColor())); g2d.setColor(darkerOrLighter(getPoleColor()));
g2d.draw(body[3]); g2d.draw(body[3]);
if (body[6] != null)
g2d.draw(body[6]);
if (getType() != HumbuckerType.Filtertron) {
if (body[4] != null) { if (body[4] != null) {
g2d.setColor(getBobinColor1().darker()); g2d.setColor(getBobinColor1().darker());
g2d.draw(body[4]); g2d.draw(body[4]);
@@ -152,6 +172,11 @@ public class HumbuckerPickup extends AbstractTransparentComponent<String> {
g2d.draw(body[5]); g2d.draw(body[5]);
} }
} }
}
if (getType() == HumbuckerType.Filtertron) {
g2d.setColor(finalBorderColor);
g2d.draw(body[0]);
}
Color finalLabelColor; Color finalLabelColor;
if (outlineMode) { if (outlineMode) {
@@ -175,7 +200,7 @@ public class HumbuckerPickup extends AbstractTransparentComponent<String> {
@SuppressWarnings("incomplete-switch") @SuppressWarnings("incomplete-switch")
public Shape[] getBody() { public Shape[] getBody() {
if (body == null) { if (body == null) {
body = new Shape[6]; body = new Shape[7];
int x = controlPoint.x; int x = controlPoint.x;
int y = controlPoint.y; int y = controlPoint.y;
@@ -187,69 +212,140 @@ public class HumbuckerPickup extends AbstractTransparentComponent<String> {
int pointMargin = (int) POINT_MARGIN.convertToPixels(); int pointMargin = (int) POINT_MARGIN.convertToPixels();
int pointSize = getClosestOdd(POINT_SIZE.convertToPixels()); int pointSize = getClosestOdd(POINT_SIZE.convertToPixels());
int lipHoleSize = getClosestOdd(LIP_HOLE_SIZE.convertToPixels()); int lipHoleSize = getClosestOdd(LIP_HOLE_SIZE.convertToPixels());
int poleSize = (int) getType().getPoleSize().convertToPixels();
body[0] =
new Area(new RoundRectangle2D.Double(x + pointMargin - length, y - pointMargin, length, width, edgeRadius,
edgeRadius));
if (!getCover()) {
int bobinWidth = width / 2;
body[4] =
new Area(new RoundRectangle2D.Double(x + pointMargin - length, y - pointMargin, length, bobinWidth,
bobinWidth, bobinWidth));
body[5] =
new Area(new RoundRectangle2D.Double(x + pointMargin - length, y - pointMargin + bobinWidth, length,
bobinWidth, bobinWidth, bobinWidth));
}
body[1] =
new Area(new RoundRectangle2D.Double(x + pointMargin - length - lipLength, y - pointMargin + width / 2
- lipWidth / 2, length + 2 * lipLength, lipWidth, edgeRadius / 2, edgeRadius / 2));
Area lipArea = new Area(body[1]);
lipArea.subtract((Area) (body[0]));
lipArea.subtract(new Area(new Ellipse2D.Double(x + pointMargin - length - lipLength / 2, y - pointMargin + width
/ 2 - lipHoleSize / 2, lipHoleSize, lipHoleSize)));
lipArea.subtract(new Area(new Ellipse2D.Double(x + pointMargin + lipLength / 2, y - pointMargin + width / 2
- lipHoleSize / 2, lipHoleSize, lipHoleSize)));
body[1] = lipArea;
body[2] = new Area(new Ellipse2D.Double(x - pointSize / 2, y - pointSize / 2, pointSize, pointSize));
int poleSize = (int) POLE_SIZE.convertToPixels();
int poleSpacing = (int) POLE_SPACING.convertToPixels(); int poleSpacing = (int) POLE_SPACING.convertToPixels();
int coilSpacing = width / 2; int coilSpacing = width / 2;
int coilMargin = (width - coilSpacing) / 2; int coilMargin = (width - coilSpacing) / 2;
int poleMargin = (length - poleSpacing * 5) / 2; int poleMargin = (length - poleSpacing * 5) / 2;
Area base = new Area(new RoundRectangle2D.Double(x + pointMargin - length, y - pointMargin, length, width, edgeRadius,
edgeRadius));
// base or cover
body[0] = new Area(base);
if (getType() == HumbuckerType.Filtertron) {
int cutoutMargin = (int) FILTETRON_CUTOUT_MARGIN.convertToPixels();
int cutoutHeight = poleSize + 2 * cutoutMargin;
int cutoutWidth = 5 * poleSpacing + poleSize + 2 * cutoutMargin;
Area cutout = new Area(new RoundRectangle2D.Double(x + pointMargin - length + poleMargin - poleSize / 2 - cutoutMargin, y
- pointMargin + coilMargin - poleSize / 2 - cutoutMargin, cutoutWidth, cutoutHeight, cutoutHeight, cutoutHeight));
((Area)body[0]).subtract(cutout);
cutout = new Area(new RoundRectangle2D.Double(x + pointMargin - length + poleMargin - poleSize / 2 - cutoutMargin, y
- pointMargin + width - coilMargin - poleSize / 2 - cutoutMargin, cutoutWidth, cutoutHeight, cutoutHeight, cutoutHeight));
((Area)body[0]).subtract(cutout);
int middleCutoutWidth = poleSpacing / 5;
cutout = new Area(new Rectangle2D.Double(x + pointMargin - length / 2 - middleCutoutWidth / 2, y
- pointMargin + width / 4, middleCutoutWidth, width / 2));
((Area)body[0]).subtract(cutout);
if (!getLegs()) {
cutout = new Area(new Ellipse2D.Double(x + pointMargin - length + lipHoleSize * 2, y
- pointMargin + width / 2 - lipHoleSize * 0.75, lipHoleSize * 1.5, lipHoleSize * 1.5));
((Area)body[0]).subtract(cutout);
cutout = new Area(new Ellipse2D.Double(x + pointMargin - lipHoleSize * 3, y
- pointMargin + width / 2 - lipHoleSize * 0.75, lipHoleSize* 1.5, lipHoleSize* 1.5));
((Area)body[0]).subtract(cutout);
}
}
// bobins
if (!getCover() || getType() == HumbuckerType.Filtertron) {
int bobinWidth = width / 2;
int bobinRadius = (int) (getType() == HumbuckerType.Filtertron ? edgeRadius * 1.1f : bobinWidth);
body[4] =
new Area(new RoundRectangle2D.Double(x + pointMargin - length, y - pointMargin, length, bobinWidth,
bobinRadius, bobinRadius));
body[5] =
new Area(new RoundRectangle2D.Double(x + pointMargin - length, y - pointMargin + bobinWidth, length,
bobinWidth, bobinRadius, bobinRadius));
}
// legs
if (getLegs()) {
Area legArea = new Area(new RoundRectangle2D.Double(x + pointMargin - length - lipLength, y - pointMargin + width / 2
- lipWidth / 2, length + 2 * lipLength, lipWidth, edgeRadius / 2, edgeRadius / 2));
legArea.subtract((Area) (body[0]));
legArea.subtract(new Area(new Ellipse2D.Double(x + pointMargin - length - lipLength / 2, y - pointMargin + width
/ 2 - lipHoleSize / 2, lipHoleSize, lipHoleSize)));
legArea.subtract(new Area(new Ellipse2D.Double(x + pointMargin + lipLength / 2, y - pointMargin + width / 2
- lipHoleSize / 2, lipHoleSize, lipHoleSize)));
legArea.subtract(base);
body[1] = legArea;
}
// contact point
body[2] = new Area(new Ellipse2D.Double(x - pointSize / 2, y - pointSize / 2, pointSize, pointSize));
Area poleArea = new Area(); Area poleArea = new Area();
Area poleDecorationArea = new Area();
if (getCoilType1() == PolePieceType.Rail) { if (getCoilType1() == PolePieceType.Rail) {
poleArea.add(new Area( poleArea.add(new Area(
new RoundRectangle2D.Double(x + pointMargin - length + poleMargin - poleSize / 2, y - pointMargin new RoundRectangle2D.Double(x + pointMargin - length + poleMargin - poleSize / 2, y - pointMargin
+ coilMargin - poleSize / 2, poleSpacing * 5 + poleSize, poleSize, poleSize / 2, poleSize / 2))); + coilMargin - poleSize / 2, poleSpacing * 5 + poleSize, poleSize, poleSize / 2, poleSize / 2)));
} else if (getCoilType1() == PolePieceType.Rods) { } else if (getCoilType1() == PolePieceType.Rods || getCoilType1() == PolePieceType.Screws) {
Path2D screwPath = new Path2D.Double();
for (int i = 0; i < 6; i++) { for (int i = 0; i < 6; i++) {
if (getType() == HumbuckerType.PAF || !getCover()) {
Ellipse2D pole = Ellipse2D pole =
new Ellipse2D.Double(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2, y new Ellipse2D.Double(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2, y
- pointMargin + coilMargin - poleSize / 2, poleSize, poleSize); - pointMargin + coilMargin - poleSize / 2, poleSize, poleSize);
poleArea.add(new Area(pole)); poleArea.add(new Area(pole));
if (getCoilType1() == PolePieceType.Screws) {
if (i % 2 == 0) {
screwPath.moveTo(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2, y
- pointMargin + coilMargin - poleSize / 2);
screwPath.lineTo(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2 + poleSize, y
- pointMargin + coilMargin - poleSize / 2 + poleSize);
} else {
screwPath.moveTo(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2, y
- pointMargin + coilMargin - poleSize / 2 + poleSize);
screwPath.lineTo(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2 + poleSize, y
- pointMargin + coilMargin - poleSize / 2);
} }
} }
} }
if (getCoilType1() == PolePieceType.Screws) {
Stroke pathStroke = ObjectCache.getInstance().fetchBasicStroke((float) SCREW_LINE.convertToPixels());
Area screwArea = new Area(pathStroke.createStrokedShape(screwPath));
screwArea.intersect(poleArea);
poleDecorationArea.add(screwArea);
}
}
if (getCoilType2() == PolePieceType.Rail) { if (getCoilType2() == PolePieceType.Rail) {
poleArea.add(new Area(new RoundRectangle2D.Double(x + pointMargin - length + poleMargin - poleSize / 2, y poleArea.add(new Area(new RoundRectangle2D.Double(x + pointMargin - length + poleMargin - poleSize / 2, y
- pointMargin + width - coilMargin - poleSize / 2, poleSpacing * 5 + poleSize, poleSize, poleSize / 2, - pointMargin + width - coilMargin - poleSize / 2, poleSpacing * 5 + poleSize, poleSize, poleSize / 2,
poleSize / 2))); poleSize / 2)));
} else if (getCoilType1() == PolePieceType.Rods) { } else if (getCoilType2() == PolePieceType.Rods|| getCoilType2() == PolePieceType.Screws) {
Path2D screwPath = new Path2D.Double();
for (int i = 0; i < 6; i++) { for (int i = 0; i < 6; i++) {
Ellipse2D pole = Ellipse2D pole =
new Ellipse2D.Double(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2, y new Ellipse2D.Double(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2, y
- pointMargin + width - coilMargin - poleSize / 2, poleSize, poleSize); - pointMargin + width - coilMargin - poleSize / 2, poleSize, poleSize);
poleArea.add(new Area(pole)); poleArea.add(new Area(pole));
if (getCoilType1() == PolePieceType.Screws) {
if (i % 2 == 1) {
screwPath.moveTo(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2, y
- pointMargin + width - coilMargin - poleSize / 2);
screwPath.lineTo(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2 + poleSize, y
- pointMargin + width - coilMargin - poleSize / 2 + poleSize);
} else {
screwPath.moveTo(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2, y
- pointMargin + width - coilMargin - poleSize / 2 + poleSize);
screwPath.lineTo(x + pointMargin - length + poleMargin + i * poleSpacing - poleSize / 2 + poleSize, y
- pointMargin + width - coilMargin - poleSize / 2);
}
}
}
if (getCoilType2() == PolePieceType.Screws) {
Stroke pathStroke = ObjectCache.getInstance().fetchBasicStroke((float) SCREW_LINE.convertToPixels());
Area screwArea = new Area(pathStroke.createStrokedShape(screwPath));
screwArea.intersect(poleArea);
poleDecorationArea.add(screwArea);
} }
} }
body[3] = poleArea; body[3] = poleArea;
body[6] = poleDecorationArea;
// Rotate if needed // Rotate if needed
if (orientation != Orientation.DEFAULT) { if (orientation != Orientation.DEFAULT) {
@@ -358,6 +454,19 @@ public class HumbuckerPickup extends AbstractTransparentComponent<String> {
body = null; body = null;
} }
@EditableProperty
public Boolean getLegs() {
if (legs == null)
legs = true;
return legs;
}
public void setLegs(Boolean legs) {
this.legs = legs;
// Invalidate the body
body = null;
}
@Override @Override
public int getControlPointCount() { public int getControlPointCount() {
return 1; return 1;
@@ -430,7 +539,7 @@ public class HumbuckerPickup extends AbstractTransparentComponent<String> {
@EditableProperty(name = "Pole Pieces 1") @EditableProperty(name = "Pole Pieces 1")
public PolePieceType getCoilType1() { public PolePieceType getCoilType1() {
if (coilType1 == null) { if (coilType1 == null) {
return PolePieceType.Rods; return PolePieceType.Screws;
} }
return coilType1; return coilType1;
} }
@@ -457,14 +566,16 @@ public class HumbuckerPickup extends AbstractTransparentComponent<String> {
public static enum HumbuckerType { public static enum HumbuckerType {
PAF(WIDTH, LENGTH), Mini(WIDTH_MINI, LENGTH_MINI); PAF(WIDTH, LENGTH, POLE_SIZE), Mini(WIDTH_MINI, LENGTH_MINI, POLE_SIZE), Filtertron(WIDTH_FILTERTRON, LENGTH_FILTERTRON, POLE_SIZE_FILTERTRON);
private Size width; private Size width;
private Size length; private Size length;
private Size poleSize;
private HumbuckerType(Size width, Size length) { private HumbuckerType(Size width, Size length, Size poleSize) {
this.width = width; this.width = width;
this.length = length; this.length = length;
this.poleSize = poleSize;
} }
public Size getWidth() { public Size getWidth() {
@@ -475,6 +586,10 @@ public class HumbuckerPickup extends AbstractTransparentComponent<String> {
return length; return length;
} }
public Size getPoleSize() {
return poleSize;
}
@Override @Override
public String toString() { public String toString() {
return name(); return name();
@@ -482,6 +597,6 @@ public class HumbuckerPickup extends AbstractTransparentComponent<String> {
} }
public enum PolePieceType { public enum PolePieceType {
Rods, Rail, None; Rods, Rail, Screws, None;
} }
} }
@@ -34,7 +34,7 @@ import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit; import org.diylc.core.measures.SizeUnit;
import org.diylc.core.measures.VoltageUnit; import org.diylc.core.measures.VoltageUnit;
@ComponentDescriptor(name = "Battery (symbol)", author = "N9XYP", category = "Schematics", @ComponentDescriptor(name = "Battery (symbol)", author = "N9XYP", category = "Schematic Symbols",
creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "B", description = "Battery schematic symbol", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "B", description = "Battery schematic symbol",
zOrder = IDIYComponent.COMPONENT) zOrder = IDIYComponent.COMPONENT)
public class BatterySymbol extends AbstractSchematicLeadedSymbol<String> { public class BatterySymbol extends AbstractSchematicLeadedSymbol<String> {
@@ -39,7 +39,7 @@ import org.diylc.core.annotations.EditableProperty;
import org.diylc.core.measures.Size; import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit; import org.diylc.core.measures.SizeUnit;
@ComponentDescriptor(name = "Ground (symbol)", author = "Branislav Stojkovic", category = "Schematics", @ComponentDescriptor(name = "Ground (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols",
instanceNamePrefix = "GND", description = "Ground schematic symbol", stretchable = false, instanceNamePrefix = "GND", description = "Ground schematic symbol", stretchable = false,
zOrder = IDIYComponent.COMPONENT, bomPolicy = BomPolicy.NEVER_SHOW, autoEdit = false) zOrder = IDIYComponent.COMPONENT, bomPolicy = BomPolicy.NEVER_SHOW, autoEdit = false)
public class GroundSymbol extends AbstractComponent<Void> { public class GroundSymbol extends AbstractComponent<Void> {
@@ -37,7 +37,7 @@ import org.diylc.core.measures.Capacitance;
import org.diylc.core.measures.Size; import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit; import org.diylc.core.measures.SizeUnit;
@ComponentDescriptor(name = "Capacitor (symbol)", author = "Branislav Stojkovic", category = "Schematics", @ComponentDescriptor(name = "Capacitor (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols",
creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "C",
description = "Capacitor schematic symbol with an optional polarity sign", zOrder = IDIYComponent.COMPONENT, description = "Capacitor schematic symbol with an optional polarity sign", zOrder = IDIYComponent.COMPONENT,
keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic", transformer = SimpleComponentTransformer.class) keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic", transformer = SimpleComponentTransformer.class)
@@ -39,7 +39,7 @@ import org.diylc.core.measures.Resistance;
import org.diylc.core.measures.Size; import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit; import org.diylc.core.measures.SizeUnit;
@ComponentDescriptor(name = "Inductor (symbol)", author = "Branislav Stojkovic", category = "Schematics", @ComponentDescriptor(name = "Inductor (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols",
creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "L", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "L",
description = "Inductor schematic symbol", zOrder = IDIYComponent.COMPONENT, description = "Inductor schematic symbol", zOrder = IDIYComponent.COMPONENT,
keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic", transformer = SimpleComponentTransformer.class) keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic", transformer = SimpleComponentTransformer.class)
@@ -35,7 +35,7 @@ import org.diylc.core.annotations.KeywordPolicy;
import org.diylc.components.Abstract3LegSymbol; import org.diylc.components.Abstract3LegSymbol;
import org.diylc.components.semiconductors.SymbolFlipping; import org.diylc.components.semiconductors.SymbolFlipping;
@ComponentDescriptor(name = "Potentiometer (symbol)", author = "MCbx", category = "Schematics", @ComponentDescriptor(name = "Potentiometer (symbol)", author = "MCbx", category = "Schematic Symbols",
instanceNamePrefix = "VR", description = "Potentiometer symbol", stretchable = false, instanceNamePrefix = "VR", description = "Potentiometer symbol", stretchable = false,
zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic") zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic")
public class PotentiometerSymbol extends Abstract3LegSymbol { public class PotentiometerSymbol extends Abstract3LegSymbol {
@@ -37,7 +37,7 @@ import org.diylc.core.measures.Resistance;
import org.diylc.core.measures.Size; import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit; import org.diylc.core.measures.SizeUnit;
@ComponentDescriptor(name = "Resistor (symbol)", author = "Branislav Stojkovic", category = "Schematics", @ComponentDescriptor(name = "Resistor (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols",
creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "R", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "R",
description = "Resistor schematic symbol", zOrder = IDIYComponent.COMPONENT, description = "Resistor schematic symbol", zOrder = IDIYComponent.COMPONENT,
keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic", transformer = SimpleComponentTransformer.class) keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic", transformer = SimpleComponentTransformer.class)
@@ -45,11 +45,7 @@ import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit; import org.diylc.core.measures.SizeUnit;
import org.diylc.utils.Constants; import org.diylc.utils.Constants;
@ComponentDescriptor( @ComponentDescriptor(name = "Transformer Coil (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols", instanceNamePrefix = "L",
name = "Transformer Coil (symbol)",
author = "Branislav Stojkovic",
category = "Schematics",
instanceNamePrefix = "L",
description = "Transformer coil symbol. Use multiple instances together with \"Transformer Core Symbol\"<br>to draw transformer schematics.", description = "Transformer coil symbol. Use multiple instances together with \"Transformer Core Symbol\"<br>to draw transformer schematics.",
stretchable = false, zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG, stretchable = false, zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG,
keywordTag = "Schematic") keywordTag = "Schematic")
@@ -44,11 +44,7 @@ import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit; import org.diylc.core.measures.SizeUnit;
import org.diylc.utils.Constants; import org.diylc.utils.Constants;
@ComponentDescriptor( @ComponentDescriptor(name = "Transformer Core (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols", instanceNamePrefix = "T",
name = "Transformer Core (symbol)",
author = "Branislav Stojkovic",
category = "Schematics",
instanceNamePrefix = "T",
description = "Transformer core symbol. Use multiple instances together with \"Transformer Coil Symbol\"<br>to draw transformer schematics.", description = "Transformer core symbol. Use multiple instances together with \"Transformer Coil Symbol\"<br>to draw transformer schematics.",
stretchable = true, zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG, stretchable = true, zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG,
creationMethod = CreationMethod.POINT_BY_POINT, keywordTag = "Schematic") creationMethod = CreationMethod.POINT_BY_POINT, keywordTag = "Schematic")
@@ -35,7 +35,7 @@ import org.diylc.core.annotations.ComponentDescriptor;
import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.EditableProperty;
import org.diylc.core.annotations.KeywordPolicy; import org.diylc.core.annotations.KeywordPolicy;
@ComponentDescriptor(name = "BJT (symbol)", author = "Branislav Stojkovic", category = "Schematics", @ComponentDescriptor(name = "BJT (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols",
instanceNamePrefix = "Q", description = "Bipolar junction transistor schematic symbol", stretchable = false, instanceNamePrefix = "Q", description = "Bipolar junction transistor schematic symbol", stretchable = false,
zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG_AND_VALUE, keywordTag = "Schematic") zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG_AND_VALUE, keywordTag = "Schematic")
public class BJTSymbol extends Abstract3LegSymbol { public class BJTSymbol extends Abstract3LegSymbol {
@@ -33,7 +33,7 @@ import org.diylc.core.annotations.KeywordPolicy;
import org.diylc.core.measures.Size; import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit; import org.diylc.core.measures.SizeUnit;
@ComponentDescriptor(name = "Diode (symbol)", author = "Branislav Stojkovic", category = "Schematics", @ComponentDescriptor(name = "Diode (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols",
creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "D", description = "Diode schematic symbol", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "D", description = "Diode schematic symbol",
zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic", zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic",
transformer = SimpleComponentTransformer.class) transformer = SimpleComponentTransformer.class)
@@ -52,7 +52,7 @@ import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit; import org.diylc.core.measures.SizeUnit;
import org.diylc.utils.Constants; import org.diylc.utils.Constants;
@ComponentDescriptor(name = "IC (symbol)", author = "Branislav Stojkovic", category = "Schematics", @ComponentDescriptor(name = "IC (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols",
instanceNamePrefix = "IC", description = "IC symbol with 3 or 5 contacts", stretchable = false, instanceNamePrefix = "IC", description = "IC symbol with 3 or 5 contacts", stretchable = false,
zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG_AND_VALUE, keywordTag = "Schematic") zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG_AND_VALUE, keywordTag = "Schematic")
public class ICSymbol extends AbstractTransparentComponent<String> { public class ICSymbol extends AbstractTransparentComponent<String> {
@@ -33,7 +33,7 @@ import org.diylc.core.annotations.ComponentDescriptor;
import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.EditableProperty;
import org.diylc.core.annotations.KeywordPolicy; import org.diylc.core.annotations.KeywordPolicy;
@ComponentDescriptor(name = "JFET (symbol)", author = "Branislav Stojkovic", category = "Schematics", @ComponentDescriptor(name = "JFET (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols",
instanceNamePrefix = "Q", description = "JFET transistor schematic symbol", stretchable = false, instanceNamePrefix = "Q", description = "JFET transistor schematic symbol", stretchable = false,
zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG_AND_VALUE, keywordTag = "Schematic") zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG_AND_VALUE, keywordTag = "Schematic")
public class JFETSymbol extends Abstract3LegSymbol { public class JFETSymbol extends Abstract3LegSymbol {
@@ -32,7 +32,7 @@ import org.diylc.core.IDIYComponent;
import org.diylc.core.annotations.ComponentDescriptor; import org.diylc.core.annotations.ComponentDescriptor;
import org.diylc.core.annotations.KeywordPolicy; import org.diylc.core.annotations.KeywordPolicy;
@ComponentDescriptor(name = "LED (symbol)", author = "Branislav Stojkovic", category = "Schematics", @ComponentDescriptor(name = "LED (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols",
creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "D", description = "Diode schematic symbol", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "D", description = "Diode schematic symbol",
zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic", zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic",
transformer = SimpleComponentTransformer.class) transformer = SimpleComponentTransformer.class)
@@ -33,7 +33,7 @@ import org.diylc.core.annotations.ComponentDescriptor;
import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.EditableProperty;
import org.diylc.core.annotations.KeywordPolicy; import org.diylc.core.annotations.KeywordPolicy;
@ComponentDescriptor(name = "MOSFET (symbol)", author = "Branislav Stojkovic", category = "Schematics", @ComponentDescriptor(name = "MOSFET (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols",
instanceNamePrefix = "Q", description = "MOSFET transistor schematic symbol", stretchable = false, instanceNamePrefix = "Q", description = "MOSFET transistor schematic symbol", stretchable = false,
zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG_AND_VALUE, keywordTag = "Schematic") zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_TAG_AND_VALUE, keywordTag = "Schematic")
public class MOSFETSymbol extends Abstract3LegSymbol { public class MOSFETSymbol extends Abstract3LegSymbol {
@@ -35,7 +35,7 @@ import org.diylc.core.annotations.KeywordPolicy;
@ComponentDescriptor( @ComponentDescriptor(
name = "PhotoDiode (symbol)", name = "PhotoDiode (symbol)",
author = "N9XYP", author = "N9XYP",
category = "Schematics", category = "Schematic Symbols",
creationMethod = CreationMethod.POINT_BY_POINT, creationMethod = CreationMethod.POINT_BY_POINT,
instanceNamePrefix = "D", instanceNamePrefix = "D",
description = "PhotoDiode schematic symbol", description = "PhotoDiode schematic symbol",
@@ -33,7 +33,7 @@ import org.diylc.core.annotations.KeywordPolicy;
import org.diylc.core.measures.Size; import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit; import org.diylc.core.measures.SizeUnit;
@ComponentDescriptor(name = "Schottky Siode (symbol)", author = "Branislav Stojkovic", category = "Schematics", @ComponentDescriptor(name = "Schottky Siode (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols",
creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "D", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "D",
description = "Schottky diode schematic symbol", zOrder = IDIYComponent.COMPONENT, description = "Schottky diode schematic symbol", zOrder = IDIYComponent.COMPONENT,
keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic", transformer = SimpleComponentTransformer.class) keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic", transformer = SimpleComponentTransformer.class)
@@ -33,7 +33,7 @@ import org.diylc.core.annotations.KeywordPolicy;
import org.diylc.core.measures.Size; import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit; import org.diylc.core.measures.SizeUnit;
@ComponentDescriptor(name = "Zener Diode (symbol)", author = "Branislav Stojkovic", category = "Schematics", @ComponentDescriptor(name = "Zener Diode (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols",
creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "D", creationMethod = CreationMethod.POINT_BY_POINT, instanceNamePrefix = "D",
description = "Zener diode schematic symbol", zOrder = IDIYComponent.COMPONENT, description = "Zener diode schematic symbol", zOrder = IDIYComponent.COMPONENT,
keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic", transformer = SimpleComponentTransformer.class) keywordPolicy = KeywordPolicy.SHOW_TAG, keywordTag = "Schematic", transformer = SimpleComponentTransformer.class)
@@ -37,7 +37,7 @@ import org.diylc.core.annotations.ComponentDescriptor;
import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.EditableProperty;
import org.diylc.core.annotations.KeywordPolicy; import org.diylc.core.annotations.KeywordPolicy;
@ComponentDescriptor(name = "Diode (symbol)", author = "Branislav Stojkovic", category = "Schematics", @ComponentDescriptor(name = "Diode (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols",
instanceNamePrefix = "V", description = "Diode tube symbol", stretchable = false, zOrder = IDIYComponent.COMPONENT, instanceNamePrefix = "V", description = "Diode tube symbol", stretchable = false, zOrder = IDIYComponent.COMPONENT,
keywordPolicy = KeywordPolicy.SHOW_VALUE, transformer = TubeSymbolTransformer.class) keywordPolicy = KeywordPolicy.SHOW_VALUE, transformer = TubeSymbolTransformer.class)
public class DiodeSymbol extends AbstractTubeSymbol { public class DiodeSymbol extends AbstractTubeSymbol {
@@ -36,7 +36,7 @@ import org.diylc.core.annotations.ComponentDescriptor;
import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.EditableProperty;
import org.diylc.core.annotations.KeywordPolicy; import org.diylc.core.annotations.KeywordPolicy;
@ComponentDescriptor(name = "Pentode (symbol)", author = "Branislav Stojkovic", category = "Schematics", @ComponentDescriptor(name = "Pentode (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols",
instanceNamePrefix = "V", description = "Pentode tube symbol", stretchable = false, instanceNamePrefix = "V", description = "Pentode tube symbol", stretchable = false,
zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_VALUE, zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_VALUE,
transformer = TubeSymbolTransformer.class) transformer = TubeSymbolTransformer.class)
@@ -36,7 +36,7 @@ import org.diylc.core.annotations.ComponentDescriptor;
import org.diylc.core.annotations.EditableProperty; import org.diylc.core.annotations.EditableProperty;
import org.diylc.core.annotations.KeywordPolicy; import org.diylc.core.annotations.KeywordPolicy;
@ComponentDescriptor(name = "Triode (symbol)", author = "Branislav Stojkovic", category = "Schematics", @ComponentDescriptor(name = "Triode (symbol)", author = "Branislav Stojkovic", category = "Schematic Symbols",
instanceNamePrefix = "V", description = "Triode tube symbol", stretchable = false, instanceNamePrefix = "V", description = "Triode tube symbol", stretchable = false,
zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_VALUE, zOrder = IDIYComponent.COMPONENT, keywordPolicy = KeywordPolicy.SHOW_VALUE,
transformer = TubeSymbolTransformer.class) transformer = TubeSymbolTransformer.class)
Binary file not shown.
Binary file not shown.
+4
View File
@@ -2150,6 +2150,10 @@
<changeType>NEW_FEATURE</changeType> <changeType>NEW_FEATURE</changeType>
<description>"P-Bass Pickup" added</description> <description>"P-Bass Pickup" added</description>
</org.diylc.appframework.update.Change> </org.diylc.appframework.update.Change>
<org.diylc.appframework.update.Change>
<changeType>NEW_FEATURE</changeType>
<description>Filtertron pickup type added within "Humbucker Pickup" as well as screw pole pieces for all humbucker types</description>
</org.diylc.appframework.update.Change>
<org.diylc.appframework.update.Change> <org.diylc.appframework.update.Change>
<changeType>NEW_FEATURE</changeType> <changeType>NEW_FEATURE</changeType>
<description>"Tantalum Capacitor" added</description> <description>"Tantalum Capacitor" added</description>
File diff suppressed because it is too large Load Diff