Compare commits

..

81 Commits

Author SHA1 Message Date
Bane Stojkovic 525024ac56 Merge branch 'master' into explorer-tree 2026-01-07 19:39:38 +01:00
Bane Stojkovic 2383f9ae77 'Potentiometer Panel' can now render numerical lug markers for easier identification 2026-01-06 19:46:14 +01:00
Bane Stojkovic 14ec18dfef Update update.xml 2026-01-06 19:06:10 +01:00
Bane Stojkovic 2f492c8fa8 Ability to resize 'Transformer Core' schematic symbol after it's already placed 2026-01-06 19:06:04 +01:00
Bane Stojkovic 9db43cd2f4 Make the label of schematic symbols (e.g. 'Resistor Symbol') clickable as well 2026-01-06 18:54:08 +01:00
Bane Stojkovic 344c238f73 Fixed the offset of terminals on a DP4T Tele type of 'Lever Switch' to be aligned with the physical switch 2026-01-05 21:30:13 +01:00
Bane Stojkovic 3376aa995a 'Open 1/8" Jack' and 'Open 1/4" Jack' can be rotated 2026-01-05 21:10:10 +01:00
Bane Stojkovic ec75f1b6eb 'Cliff 1/8" Jack' can be rotated 2026-01-05 21:06:22 +01:00
Bane Stojkovic 5f2b20ea41 New lines at the end of the 'Label' text get erroneously rendered as <br> 2026-01-05 20:53:00 +01:00
Bane Stojkovic 9d130c0ff3 Minor cleamup 2026-01-05 20:17:17 +01:00
Martin Morrell 119c41dc86 Add Freeway 3x3-05 (Ultra) Switch (#989) 2026-01-05 20:10:37 +01:00
Bane Stojkovic c5613a6fea 'Auto-Wrap Label' retains line breaks from the input text 2026-01-02 22:16:17 +01:00
Bane Stojkovic 479bd50540 Label adjustment 2026-01-02 21:42:09 +01:00
Bane Stojkovic 502a4b8d39 Tactile switch improvements 2026-01-02 21:06:27 +01:00
Bane Stojkovic 1f85c07453 Configurable 'Tactile Micro Switch' dimensions and added a few most commonly used variants 2026-01-02 10:17:23 +01:00
Bane Stojkovic 53ec1e780e fix: Clicking on 'Tactile Micro Switch' body doesn't register 2026-01-01 22:29:39 +01:00
Bane Stojkovic 2de3def32e Resize tooltip (#986)
* resize tooltip

* Fix blank board area rendering

* Fixes

* translations

* Add length

* Update update.xml
2025-12-31 15:07:22 +01:00
Bane Stojkovic 61b3c63bbf Revert "Introduce unique component instance ID"
This reverts commit 348eb3ac00.
2025-12-31 15:04:18 +01:00
Bane Stojkovic 348eb3ac00 Introduce unique component instance ID 2025-12-31 12:29:48 +01:00
Bane Stojkovic 9972e0ee46 Update .gitignore 2025-12-31 09:59:21 +01:00
Bane Stojkovic de971b707b Update build-all-profiles.sh 2025-12-30 20:09:57 +01:00
Bane Stojkovic 0dcc06f712 Update update.xml 2025-12-30 19:44:05 +01:00
Bane Stojkovic 109b0788a8 5.8.0 release 2025-12-30 14:37:56 +01:00
Bane Stojkovic d190ebe208 Cleanup 2025-12-30 10:44:12 +01:00
Bane Stojkovic fa93af2707 'Rotary Switch (Open)' cannot be selected by clicking on the wafer for 4-pole variations 2025-12-29 22:58:15 +01:00
Bane Stojkovic 6b59966816 Minor chassis panel optimization 2025-12-29 22:39:39 +01:00
Bane Stojkovic b065c9d6fb Reorganized export and print related items in the File menu to reduce clutter 2025-12-29 16:12:36 +01:00
Bane Stojkovic 49d805a60c Improved behavior of mouse cursor during drag operations; this should also fix behavior on some linux machines that show a "forbidden" cursor while dragging 2025-12-29 15:44:59 +01:00
Bane Stojkovic a9a98bf3a4 Language improvements 2025-12-29 14:01:59 +01:00
Bane Stojkovic 840d416282 Honor label color settings for 'Tape Measure' component 2025-12-29 13:40:06 +01:00
Bane Stojkovic dc2cc4c7c8 Do not use composites in outline mode 2025-12-29 13:00:41 +01:00
Bane Stojkovic 3d51d2a38d trace ending default values 2025-12-29 12:59:03 +01:00
Bane Stojkovic 1a31819431 explorer tree 2025-12-29 12:30:44 +01:00
Bane Stojkovic 4dfb1ca630 fix default LP Switch behavior for back compatibility 2025-12-29 11:15:59 +01:00
Bane Stojkovic e9c8686960 Added new property in 'LP Switch' that allows having the middle terminals connected (as they were) or disconnected to allow more flexibility 2025-12-29 10:55:45 +01:00
Bane Stojkovic 9be97f5213 fix tests 2025-12-29 10:54:39 +01:00
Bane Stojkovic 721d582dcd Update G2DWrapper.java 2025-12-28 23:09:04 +01:00
Bane Stojkovic 443f76f3f9 Monochromatic mode 2025-12-28 23:07:50 +01:00
Bane Stojkovic 3ad9c49f53 Update update.xml 2025-12-26 23:04:28 +01:00
Bane Stojkovic 61077ed5a4 Added Silkscreen export to PDF/PNG and print capabilities 2025-12-26 23:04:26 +01:00
Bane Stojkovic 1fe3706d0f improve multiwatt icon 2025-12-26 20:24:55 +01:00
Bane Stojkovic 16df8fd173 Added multiwat IC 2025-12-26 19:53:37 +01:00
Bane Stojkovic f7806d4d3c Added trace Ending Style property 2025-12-26 12:28:16 +01:00
Bane Stojkovic 04e44e174e Improve contrast of tooltips on some Linux machines that show white text against yellow ballon 2025-12-26 12:06:31 +01:00
Bane Stojkovic f74fe19b77 Update update.xml 2025-12-26 11:57:46 +01:00
Bane Stojkovic e7487069a5 Application freezes when using underside rendering or mirroring on 'Pin Header' when sized at 1x1 2025-12-26 11:57:43 +01:00
Bane Stojkovic 9c48b80515 Use configuration for scale factor 2025-12-26 11:48:52 +01:00
Bane Stojkovic 814f4296a9 Added configuration for text scale factor in rare cases when system scale factor is not applied correctly 2025-12-25 16:27:47 +01:00
Bane Stojkovic 6fa0e7d56a Improved sensitivity of 'Multimeter Probe' that required pixel-level precision to detect connectivity; improved rendering of the probe in outline mode 2025-12-25 11:36:51 +01:00
Bane Stojkovic 12726338ef Fixed underside rendering and mirroring position issues that affected only SPDT 'Mini Toggle Switch' types 2025-12-25 10:59:31 +01:00
Bane Stojkovic f3a8e3cfb1 release 5.7.9 2025-12-21 22:07:21 +01:00
Bane Stojkovic 1ac8ba8a24 Merge pull request #980 from mm-rnd/Lever_4P3T
Lever 4P3T
2025-12-21 22:03:47 +01:00
Bane Stojkovic 7b5bb3a152 Merge branch 'master' into Lever_4P3T 2025-12-21 22:01:05 +01:00
Martin Morrell ce7753744a Lever 2502N import switch (#981)
* Add 4P3T AxLabs Lever Switch variant

* Add 2502N Lever Switch

* Bridge is now pos1 and neck pos5 as expected

Re-worked acording to the diagram here:
https://guitarpartscenter.eu/en_US/p/ALPHA-SW-2502N-5-Way-Lever-Switch-ADWH/23036
2025-12-21 21:58:20 +01:00
Martin Morrell 3adaa16537 Add 4P3T AxLabs Lever Switch variant 2025-12-20 07:46:36 +00:00
Bane Stojkovic aa4f4c9c66 'Drill Hole' changes color to red when selected 2025-12-19 20:20:07 +01:00
Bane Stojkovic ef01d52905 Update update.xml 2025-12-19 20:10:05 +01:00
Bane Stojkovic 892de712b2 Merge branch 'master' of https://github.com/bancika/diy-layout-creator 2025-12-19 20:09:53 +01:00
Martin Morrell 79aa25f14c Update positon names to match switch positions (#977) 2025-12-19 20:07:12 +01:00
Bane Stojkovic 165b61329c Merge branch 'master' of https://github.com/bancika/diy-layout-creator 2025-12-19 20:02:33 +01:00
Bane Stojkovic c251e5ace2 flip S1 position names 2025-12-19 20:02:24 +01:00
Martin Morrell 550e221265 Fix S1 Switch markers (#978) 2025-12-19 20:02:10 +01:00
Martin Morrell 7110897e9d Add 6P5T AxLabs Lever Switch variant (#979) 2025-12-19 19:54:15 +01:00
Bane Stojkovic 74badd8a01 Update DrillHole.java 2025-08-11 22:29:03 +02:00
Bane Stojkovic 95eccffa4a 'Connect to Patreon' option says that it connected account with username 'a b c' but doesn't do anything 2025-08-11 19:25:00 +02:00
Bane Stojkovic 35a190b02f Added 'Drill Hole' component 2025-06-21 22:45:46 +02:00
Bane Stojkovic 92457ae0fb Increase maximum size of the backup folder from 64MB to 1GB for deeper history 2025-06-18 21:35:14 +02:00
Bane Stojkovic 73d3dd1cd4 fix: Alignment issues of some visual elements in the resulting Gerber files, e.g. DIL IC pin designators 2025-06-16 23:33:56 +02:00
Bane Stojkovic cb9cd46261 fix: When a switch position is selected (i.e. set to a value other than None), DIYLC will treat the terminals that are internally connected in that switching logic as connected in analysis tools 2025-06-06 23:52:28 +02:00
Bane Stojkovic 4bd3943345 bigger cloud search window 2025-06-06 00:09:28 +02:00
Bane Stojkovic 30bdc7fc3d disable patreon connect when not logged in 2025-06-05 00:05:17 +02:00
Bane Stojkovic a1d31c1ae2 add join patreon link at the top and randomly show 2025-06-05 00:05:04 +02:00
Bane Stojkovic 90fb3095bd More intuitive user account creation dialog for DIYLC Cloud - showing exact requirements for password and marking optional entries 2025-06-04 23:33:50 +02:00
Bane Stojkovic 0c468369cd Simplify zoom in/out keyboard shortcuts to only plus/minus keys and zero numerical key for zoom reset to 100 2025-06-02 23:02:33 +02:00
Bane Stojkovic f88b0c642a mac build naming. Enable windows arm 2025-05-30 23:47:04 +02:00
Bane Stojkovic 1b8bdbe7ed Reduce logging 2025-05-29 23:45:40 +02:00
Bane Stojkovic 185b5da4d5 Bundle Java JRE with Linux AppImage to avoid having to install it 2025-05-29 23:32:27 +02:00
Bane Stojkovic cd92464467 fix auto-edit 2025-05-26 22:35:18 +02:00
Bane Stojkovic 59e18c6be2 Feature/compare (#929)
* add compare tool

* improvements

* diff improvements

* license

* diff logic and tests fixed

* update license info

* add isPolarized to component interface

* handle comparison of non-polarized components
2025-05-26 14:57:47 +02:00
Bane Stojkovic 05c22078bc Update update.xml 2025-05-21 22:34:52 +02:00
uneasyalliance c1387a015a Merge pull request #927 from uneasyalliance/X_Q_hotkey_fixes
fix for 'x' hotkey preventing 'x' input in dialogs
2025-05-21 22:33:33 +02:00
565 changed files with 8638 additions and 2704 deletions
@@ -1,83 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<project>
<fileVersion>
<major>5</major>
<minor>5</minor>
<build>0</build>
</fileVersion>
<title>New Project</title>
<author>branislavstojkovic</author>
<width value="29.0" unit="cm"/>
<height value="21.0" unit="cm"/>
<gridSpacing value="0.1" unit="in"/>
<dotSpacing>1</dotSpacing>
<components>
<diylc.connectivity.CopperTrace>
<name>Trace1</name>
<alpha>127</alpha>
<points>
<point x="5.9" y="3.4"/>
<point x="6.4" y="3.4"/>
<point x="6.15" y="3.4"/>
</points>
<bodyColor hex="ffffff"/>
<borderColor hex="000000"/>
<labelColor hex="000000"/>
<leadColor hex="000000"/>
<display>NAME</display>
<flipStanding>false</flipStanding>
<labelOriantation>Directional</labelOriantation>
<moveLabel>false</moveLabel>
<hideShortLeads>false</hideShortLeads>
<thickness value="1.0" unit="mm"/>
<layer>_1</layer>
</diylc.connectivity.CopperTrace>
<diylc.connectivity.CopperTrace>
<name>Trace2</name>
<alpha>127</alpha>
<points>
<point x="6.005" y="3.45"/>
<point x="6.305" y="3.45"/>
<point x="6.155" y="3.45"/>
</points>
<bodyColor hex="ffffff"/>
<borderColor hex="000000"/>
<labelColor hex="000000"/>
<leadColor hex="000000"/>
<display>NAME</display>
<flipStanding>false</flipStanding>
<labelOriantation>Directional</labelOriantation>
<moveLabel>false</moveLabel>
<hideShortLeads>false</hideShortLeads>
<thickness value="1.0" unit="mm"/>
<layer>_1</layer>
</diylc.connectivity.CopperTrace>
<diylc.connectivity.SolderPad>
<name>Pad1</name>
<alpha>127</alpha>
<size value="0.09" unit="in"/>
<color hex="000000"/>
<point x="5.9" y="3.4"/>
<type>ROUND</type>
<holeSize value="0.8" unit="mm"/>
<layer>_1</layer>
<holeType>NTPH</holeType>
</diylc.connectivity.SolderPad>
<diylc.connectivity.SolderPad>
<name>Pad2</name>
<alpha>127</alpha>
<size value="0.09" unit="in"/>
<color hex="000000"/>
<point x="6.4" y="3.4"/>
<type>ROUND</type>
<holeSize value="0.8" unit="mm"/>
<layer>_1</layer>
<holeType>NTPH</holeType>
</diylc.connectivity.SolderPad>
</components>
<groups/>
<lockedLayers/>
<lockedComponents/>
<hiddenLayers/>
<font name="Dialog" size="14" style="0"/>
</project>
@@ -1,534 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<project>
<fileVersion>
<major>5</major>
<minor>5</minor>
<build>0</build>
</fileVersion>
<title>New Project</title>
<author>bancika</author>
<width value="10.0" unit="cm"/>
<height value="14.0" unit="cm"/>
<gridSpacing value="0.1" unit="in"/>
<dotSpacing>1</dotSpacing>
<components>
<diylc.passive.PotentiometerPanel>
<name>Volume</name>
<alpha>127</alpha>
<controlPoints>
<point x="1.8" y="4.5"/>
<point x="2.0" y="4.5"/>
<point x="2.2" y="4.5"/>
</controlPoints>
<resistance value="250.0" unit="K"/>
<orientation>DEFAULT</orientation>
<taper>LOG</taper>
<bodyDiameter value="16.0" unit="mm"/>
<spacing value="0.2" unit="in"/>
<lugDiameter value="0.15" unit="in"/>
<bodyColor hex="b6b6b6"/>
<borderColor hex="808080"/>
<nutColor hex="cbd5db"/>
<waferColor hex="cd8500"/>
<type>ThroughHole</type>
<showShaft>false</showShaft>
<view>ShaftDown</view>
</diylc.passive.PotentiometerPanel>
<diylc.connectivity.HookupWire>
<name>W7</name>
<alpha>127</alpha>
<controlPoints2>
<point x="1.9" y="2.5"/>
<point x="1.5" y="3.6"/>
<point x="1.0" y="3.9"/>
<point x="1.8" y="4.5"/>
</controlPoints2>
<color hex="cc00cc"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_22</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.guitar.SingleCoilPickup>
<name>Neck</name>
<alpha>127</alpha>
<value>Chopper</value>
<orientation>_90</orientation>
<controlPoint x="3.0" y="2.4"/>
<controlPoints>
<point x="3.0" y="2.4"/>
<point x="3.0" y="2.3"/>
<point x="3.0" y="2.2"/>
<point x="3.0" y="2.1"/>
</controlPoints>
<polarity>Humbucking</polarity>
<labelColor hex="ffffff"/>
<color hex="666666"/>
<poleColor hex="333333"/>
<baseColor hex="666666"/>
<type>Stratocaster</type>
<polePieceType>RailHumbucker</polePieceType>
<lugColor hex="e0c04c"/>
</diylc.guitar.SingleCoilPickup>
<diylc.guitar.SingleCoilPickup>
<name>Bridge</name>
<alpha>127</alpha>
<value></value>
<orientation>_270</orientation>
<controlPoint x="0.8" y="2.1"/>
<controlPoints>
<point x="0.8" y="2.1"/>
<point x="0.8" y="2.2"/>
<point x="0.8" y="2.3"/>
<point x="0.8" y="2.4"/>
</controlPoints>
<polarity>Humbucking</polarity>
<labelColor hex="ffffff"/>
<color hex="666666"/>
<poleColor hex="333333"/>
<baseColor hex="666666"/>
<type>Stratocaster</type>
<polePieceType>RailHumbucker</polePieceType>
<lugColor hex="e0c04c"/>
</diylc.guitar.SingleCoilPickup>
<diylc.guitar.LPSwitch>
<name>SW1</name>
<alpha>127</alpha>
<value></value>
<controlPoints>
<point x="1.9" y="1.2"/>
<point x="1.7" y="2.495"/>
<point x="1.9" y="2.495"/>
<point x="2.1" y="2.495"/>
</controlPoints>
<orientation>DEFAULT</orientation>
</diylc.guitar.LPSwitch>
<diylc.electromechanical.MiniToggleSwitch>
<name defined-in="diylc.AbstractComponent">Split</name>
<alpha>127</alpha>
<controlPoints>
<point x="1.9" y="3.5"/>
<point x="1.9" y="3.7"/>
<point x="1.9" y="3.9"/>
<point x="2.1" y="3.5"/>
<point x="2.1" y="3.7"/>
<point x="2.1" y="3.9"/>
</controlPoints>
<switchType>DPDT</switchType>
<orientation>VERTICAL</orientation>
<spacing value="0.2" unit="in"/>
<bodyColor hex="3299cc"/>
<borderColor hex="236b8e"/>
<terminalPadColor hex="287ba4"/>
<terminalColor hex="eeeeee"/>
<showMarkers>false</showMarkers>
</diylc.electromechanical.MiniToggleSwitch>
<diylc.electromechanical.OpenJack1__4>
<name>J1</name>
<alpha>127</alpha>
<controlPoints>
<point x="2.7" y="4.9"/>
<point x="2.9" y="4.5"/>
<point x="3.6" y="4.6"/>
</controlPoints>
<orientation>_270</orientation>
<angle>270</angle>
<type>MONO</type>
<showLabels>true</showLabels>
</diylc.electromechanical.OpenJack1__4>
<diylc.connectivity.HookupWire>
<name>W2</name>
<alpha>127</alpha>
<controlPoints2>
<point x="0.8" y="2.3"/>
<point x="1.2" y="2.6"/>
<point x="1.7" y="3.4"/>
<point x="1.9" y="3.7"/>
</controlPoints2>
<color hex="ffffff"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_26</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W2</name>
<alpha>127</alpha>
<controlPoints2>
<point x="0.8" y="2.2"/>
<point x="1.5" y="2.6"/>
<point x="1.7" y="3.5"/>
<point x="1.9" y="3.7"/>
</controlPoints2>
<color hex="666666"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_26</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W3</name>
<alpha>127</alpha>
<controlPoints2>
<point x="0.8" y="2.4"/>
<point x="1.0" y="4.1"/>
<point x="2.1" y="4.6"/>
<point x="2.2" y="4.1"/>
</controlPoints2>
<color hex="00ff00"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_26</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W3</name>
<alpha>127</alpha>
<controlPoints2>
<point x="3.0" y="2.3"/>
<point x="2.4" y="3.0"/>
<point x="2.8" y="4.0"/>
<point x="2.2" y="4.1"/>
</controlPoints2>
<color hex="666666"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_26</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W4</name>
<alpha>127</alpha>
<controlPoints2>
<point x="0.8" y="2.1"/>
<point x="1.1" y="2.3"/>
<point x="1.4" y="2.7"/>
<point x="1.7" y="2.6"/>
</controlPoints2>
<color hex="ff0000"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_26</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W3</name>
<alpha>127</alpha>
<controlPoints2>
<point x="2.2" y="4.1"/>
<point x="2.7" y="4.2"/>
<point x="2.3" y="4.6"/>
<point x="2.9" y="4.5"/>
</controlPoints2>
<color hex="00ff00"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_22</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W3</name>
<alpha>127</alpha>
<controlPoints2>
<point x="2.0" y="4.5"/>
<point x="2.3" y="4.7"/>
<point x="2.3" y="5.1"/>
<point x="2.7" y="4.9"/>
</controlPoints2>
<color hex="ff0000"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_22</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W5</name>
<alpha>127</alpha>
<controlPoints2>
<point x="2.1" y="3.9"/>
<point x="2.2" y="3.9"/>
<point x="2.3" y="4.0"/>
<point x="2.2" y="4.1"/>
</controlPoints2>
<color hex="00ff00"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_22</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W6</name>
<alpha>127</alpha>
<controlPoints2>
<point x="1.9" y="3.9"/>
<point x="1.9" y="3.8"/>
<point x="2.1" y="3.8"/>
<point x="2.1" y="3.9"/>
</controlPoints2>
<color hex="00ff00"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_22</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W3</name>
<alpha>127</alpha>
<controlPoints2>
<point x="3.0" y="2.2"/>
<point x="2.6" y="2.6"/>
<point x="2.1" y="2.6"/>
<point x="2.1" y="2.5"/>
</controlPoints2>
<color hex="ffffff"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_26</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W4</name>
<alpha>127</alpha>
<controlPoints2>
<point x="2.1" y="3.7"/>
<point x="2.2" y="3.5"/>
<point x="2.5" y="3.2"/>
<point x="3.0" y="2.4"/>
</controlPoints2>
<color hex="ff0000"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_26</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W6</name>
<alpha>127</alpha>
<controlPoints2>
<point x="2.1" y="3.7"/>
<point x="2.3" y="3.5"/>
<point x="2.7" y="2.1"/>
<point x="3.0" y="2.1"/>
</controlPoints2>
<color hex="00ff00"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_26</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.passive.AxialFilmCapacitor>
<name>Cbleed</name>
<alpha>127</alpha>
<length value="0.4" unit="in"/>
<width value="0.125" unit="in"/>
<points>
<point x="1.8" y="4.5"/>
<point x="2.0" y="4.5"/>
<point x="1.9" y="4.5"/>
</points>
<bodyColor hex="ffe303"/>
<borderColor hex="b29e02"/>
<labelColor hex="000000"/>
<leadColor hex="cccccc"/>
<display>VALUE</display>
<flipStanding>false</flipStanding>
<labelOriantation>Directional</labelOriantation>
<moveLabel>false</moveLabel>
<hideShortLeads>false</hideShortLeads>
<value value="1.2" unit="nF"/>
<voltage>_63V</voltage>
<showOuterFoil>false</showOuterFoil>
<outerFoilColor hex="ffffff"/>
</diylc.passive.AxialFilmCapacitor>
<diylc.connectivity.HookupWire>
<name>W5</name>
<alpha>127</alpha>
<controlPoints2>
<point x="2.2" y="4.1"/>
<point x="2.4" y="4.2"/>
<point x="2.6" y="4.0"/>
<point x="2.9" y="4.1"/>
</controlPoints2>
<color hex="666666"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_22</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W5</name>
<alpha>127</alpha>
<controlPoints2>
<point x="2.2" y="4.1"/>
<point x="2.3" y="4.2"/>
<point x="2.3" y="4.4"/>
<point x="2.2" y="4.5"/>
</controlPoints2>
<color hex="00ff00"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_22</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.misc.Label>
<name>L1</name>
<point x="3.3" y="4.1"/>
<text>To bridge baseplate</text>
<font name="Tahoma" size="14" style="0"/>
<color hex="000000"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>DEFAULT</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L2</name>
<point x="1.5" y="4.8"/>
<text>Treble bleed</text>
<font reference="../../diylc.misc.Label/font"/>
<color hex="000000"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>DEFAULT</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L3</name>
<point x="2.0" y="0.2"/>
<text>Travelcaster Wiring Diagram</text>
<font name="Dialog" size="36" style="0"/>
<color hex="0000cc"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>DEFAULT</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L3</name>
<point x="2.0" y="0.3"/>
<text>www.diy-fever.com</text>
<font name="Tahoma" size="14" style="0"/>
<color hex="000000"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>DEFAULT</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L4</name>
<point x="1.9" y="1.1"/>
<text>Pickup selector switch</text>
<font name="Tahoma" size="14" style="0"/>
<color hex="000000"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>DEFAULT</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L4</name>
<point x="2.0" y="3.2"/>
<text>Split mode</text>
<font name="Tahoma" size="14" style="0"/>
<color hex="000000"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>DEFAULT</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L4</name>
<point x="2.0" y="3.3"/>
<text>Push-pull</text>
<font name="Tahoma" size="14" style="0"/>
<color hex="000000"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>DEFAULT</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L5</name>
<point x="0.4" y="3.1"/>
<text>DiMarzio</text>
<font name="Dialog" size="18" style="1"/>
<color hex="ffffff"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>_270</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L5</name>
<point x="3.4" y="1.4"/>
<text>DiMarzio</text>
<font name="Dialog" size="18" style="1"/>
<color hex="ffffff"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>_90</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L6</name>
<point x="0.1" y="5.4"/>
<text>* One of the pickups is rotated 180 degrees for cleaner drawing</text>
<font name="Tahoma" size="14" style="0"/>
<color hex="000000"/>
<horizontalAlignment>LEFT</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>DEFAULT</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L1</name>
<point x="3.6" y="4.5"/>
<text>Output jack</text>
<font name="Tahoma" size="14" style="0"/>
<color hex="000000"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>DEFAULT</orientation>
</diylc.misc.Label>
</components>
<groups/>
<lockedLayers/>
<lockedComponents/>
<hiddenLayers/>
<font name="Tahoma" size="14" style="0"/>
</project>
@@ -1,574 +0,0 @@
<?xml version="1.0" encoding="UTF-8" ?>
<project>
<fileVersion>
<major>5</major>
<minor>5</minor>
<build>0</build>
</fileVersion>
<title>New Project</title>
<author>bancika</author>
<width value="10.0" unit="cm"/>
<height value="14.0" unit="cm"/>
<gridSpacing value="0.1" unit="in"/>
<dotSpacing>1</dotSpacing>
<components>
<diylc.passive.PotentiometerPanel>
<name>Volume</name>
<alpha>127</alpha>
<controlPoints>
<point x="1.8" y="4.5"/>
<point x="2.0" y="4.5"/>
<point x="2.2" y="4.5"/>
</controlPoints>
<resistance value="250.0" unit="K"/>
<orientation>DEFAULT</orientation>
<taper>LOG</taper>
<bodyDiameter value="16.0" unit="mm"/>
<spacing value="0.2" unit="in"/>
<lugDiameter value="0.15" unit="in"/>
<bodyColor hex="b6b6b6"/>
<borderColor hex="808080"/>
<nutColor hex="cbd5db"/>
<waferColor hex="cd8500"/>
<type>ThroughHole</type>
<showShaft>false</showShaft>
<view>ShaftDown</view>
</diylc.passive.PotentiometerPanel>
<diylc.connectivity.HookupWire>
<name>W7</name>
<alpha>127</alpha>
<controlPoints2>
<point x="1.9" y="2.5"/>
<point x="1.5" y="3.6"/>
<point x="1.0" y="3.9"/>
<point x="1.8" y="4.5"/>
</controlPoints2>
<color hex="cc00cc"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_22</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.guitar.SingleCoilPickup>
<name>Neck</name>
<alpha>127</alpha>
<value>Chopper</value>
<orientation>_90</orientation>
<controlPoint x="3.0" y="2.4"/>
<controlPoints>
<point x="3.0" y="2.4"/>
<point x="3.0" y="2.3"/>
<point x="3.0" y="2.2"/>
<point x="3.0" y="2.1"/>
</controlPoints>
<polarity>Humbucking</polarity>
<labelColor hex="ffffff"/>
<color hex="666666"/>
<poleColor hex="333333"/>
<baseColor hex="666666"/>
<type>Stratocaster</type>
<polePieceType>RailHumbucker</polePieceType>
<lugColor hex="e0c04c"/>
</diylc.guitar.SingleCoilPickup>
<diylc.guitar.SingleCoilPickup>
<name>Bridge</name>
<alpha>127</alpha>
<value></value>
<orientation>_270</orientation>
<controlPoint x="0.8" y="2.1"/>
<controlPoints>
<point x="0.8" y="2.1"/>
<point x="0.8" y="2.2"/>
<point x="0.8" y="2.3"/>
<point x="0.8" y="2.4"/>
</controlPoints>
<polarity>Humbucking</polarity>
<labelColor hex="ffffff"/>
<color hex="666666"/>
<poleColor hex="333333"/>
<baseColor hex="666666"/>
<type>Stratocaster</type>
<polePieceType>RailHumbucker</polePieceType>
<lugColor hex="e0c04c"/>
</diylc.guitar.SingleCoilPickup>
<diylc.guitar.LPSwitch>
<name>SW1</name>
<alpha>127</alpha>
<value></value>
<controlPoints>
<point x="1.9" y="1.2"/>
<point x="1.7" y="2.495"/>
<point x="1.9" y="2.495"/>
<point x="2.1" y="2.495"/>
</controlPoints>
<orientation>DEFAULT</orientation>
</diylc.guitar.LPSwitch>
<diylc.electromechanical.MiniToggleSwitch>
<name defined-in="diylc.AbstractComponent">Split</name>
<alpha>127</alpha>
<controlPoints>
<point x="1.9" y="3.5"/>
<point x="1.9" y="3.7"/>
<point x="1.9" y="3.9"/>
<point x="2.1" y="3.5"/>
<point x="2.1" y="3.7"/>
<point x="2.1" y="3.9"/>
</controlPoints>
<switchType>DPDT</switchType>
<orientation>VERTICAL</orientation>
<spacing value="0.2" unit="in"/>
<bodyColor hex="3299cc"/>
<borderColor hex="236b8e"/>
<terminalPadColor hex="287ba4"/>
<terminalColor hex="eeeeee"/>
<showMarkers>false</showMarkers>
</diylc.electromechanical.MiniToggleSwitch>
<diylc.electromechanical.OpenJack1__4>
<name>J1</name>
<alpha>127</alpha>
<controlPoints>
<point x="2.7" y="4.9"/>
<point x="2.9" y="4.5"/>
<point x="3.6" y="4.6"/>
</controlPoints>
<orientation>_270</orientation>
<angle>270</angle>
<type>MONO</type>
<showLabels>true</showLabels>
</diylc.electromechanical.OpenJack1__4>
<diylc.connectivity.HookupWire>
<name>W2</name>
<alpha>127</alpha>
<controlPoints2>
<point x="0.8" y="2.3"/>
<point x="1.2" y="2.6"/>
<point x="1.7" y="3.4"/>
<point x="1.9" y="3.7"/>
</controlPoints2>
<color hex="ffffff"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_26</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W2</name>
<alpha>127</alpha>
<controlPoints2>
<point x="0.8" y="2.2"/>
<point x="1.5" y="2.6"/>
<point x="1.7" y="3.5"/>
<point x="1.9" y="3.7"/>
</controlPoints2>
<color hex="666666"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_26</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W3</name>
<alpha>127</alpha>
<controlPoints2>
<point x="0.8" y="2.4"/>
<point x="1.0" y="4.1"/>
<point x="2.1" y="4.6"/>
<point x="2.2" y="4.1"/>
</controlPoints2>
<color hex="00ff00"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_26</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W3</name>
<alpha>127</alpha>
<controlPoints2>
<point x="3.0" y="2.3"/>
<point x="2.4" y="3.0"/>
<point x="2.8" y="4.0"/>
<point x="2.2" y="4.1"/>
</controlPoints2>
<color hex="666666"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_26</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W4</name>
<alpha>127</alpha>
<controlPoints2>
<point x="0.8" y="2.1"/>
<point x="1.1" y="2.3"/>
<point x="1.4" y="2.7"/>
<point x="1.7" y="2.5"/>
</controlPoints2>
<color hex="ff0000"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_26</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W3</name>
<alpha>127</alpha>
<controlPoints2>
<point x="2.2" y="4.1"/>
<point x="2.7" y="4.2"/>
<point x="2.3" y="4.6"/>
<point x="2.9" y="4.5"/>
</controlPoints2>
<color hex="00ff00"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_22</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W3</name>
<alpha>127</alpha>
<controlPoints2>
<point x="2.0" y="4.5"/>
<point x="2.3" y="4.7"/>
<point x="2.3" y="5.1"/>
<point x="2.7" y="4.9"/>
</controlPoints2>
<color hex="ff0000"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_22</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W5</name>
<alpha>127</alpha>
<controlPoints2>
<point x="2.1" y="3.9"/>
<point x="2.2" y="3.9"/>
<point x="2.3" y="4.0"/>
<point x="2.2" y="4.1"/>
</controlPoints2>
<color hex="00ff00"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_22</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W6</name>
<alpha>127</alpha>
<controlPoints2>
<point x="1.9" y="3.9"/>
<point x="1.9" y="3.8"/>
<point x="2.1" y="3.8"/>
<point x="2.1" y="3.9"/>
</controlPoints2>
<color hex="00ff00"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_22</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W3</name>
<alpha>127</alpha>
<controlPoints2>
<point x="3.0" y="2.2"/>
<point x="2.6" y="2.6"/>
<point x="2.1" y="2.6"/>
<point x="2.1" y="2.5"/>
</controlPoints2>
<color hex="ffffff"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_26</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W4</name>
<alpha>127</alpha>
<controlPoints2>
<point x="2.1" y="3.7"/>
<point x="2.2" y="3.5"/>
<point x="2.5" y="3.2"/>
<point x="3.0" y="2.4"/>
</controlPoints2>
<color hex="ff0000"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_26</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W6</name>
<alpha>127</alpha>
<controlPoints2>
<point x="2.1" y="3.7"/>
<point x="2.3" y="3.5"/>
<point x="2.7" y="2.1"/>
<point x="3.0" y="2.1"/>
</controlPoints2>
<color hex="00ff00"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_26</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.passive.AxialFilmCapacitor>
<name>Cbleed</name>
<alpha>127</alpha>
<length value="0.4" unit="in"/>
<width value="0.125" unit="in"/>
<points>
<point x="1.8" y="5.1"/>
<point x="1.8" y="4.5"/>
<point x="1.8" y="4.8"/>
</points>
<bodyColor hex="ffe303"/>
<borderColor hex="b29e02"/>
<labelColor hex="000000"/>
<leadColor hex="cccccc"/>
<display>VALUE</display>
<flipStanding>false</flipStanding>
<labelOriantation>Directional</labelOriantation>
<moveLabel>false</moveLabel>
<value value="1.2" unit="nF"/>
<voltage>_63V</voltage>
<showOuterFoil>false</showOuterFoil>
<outerFoilColor hex="ffffff"/>
</diylc.passive.AxialFilmCapacitor>
<diylc.passive.Resistor>
<name>Rbleed</name>
<alpha>127</alpha>
<length value="0.4" unit="in"/>
<width value="0.1" unit="in"/>
<points>
<point x="2.0" y="4.5"/>
<point x="2.0" y="5.1"/>
<point x="2.0" y="4.8"/>
</points>
<bodyColor hex="82cffd"/>
<borderColor hex="5b90b1"/>
<labelColor hex="000000"/>
<leadColor hex="cccccc"/>
<display>VALUE</display>
<flipStanding>false</flipStanding>
<labelOriantation>Directional</labelOriantation>
<moveLabel>false</moveLabel>
<value value="130.0" unit="K"/>
<power>HALF</power>
<colorCode>_5_BAND</colorCode>
<shape>Standard</shape>
</diylc.passive.Resistor>
<diylc.connectivity.HookupWire>
<name>W8</name>
<alpha>127</alpha>
<controlPoints2>
<point x="1.8" y="5.1"/>
<point x="1.8" y="5.2"/>
<point x="2.0" y="5.2"/>
<point x="2.0" y="5.1"/>
</controlPoints2>
<color hex="cccccc"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_26</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W5</name>
<alpha>127</alpha>
<controlPoints2>
<point x="2.2" y="4.1"/>
<point x="2.4" y="4.2"/>
<point x="2.6" y="4.0"/>
<point x="2.9" y="4.1"/>
</controlPoints2>
<color hex="666666"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_22</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.connectivity.HookupWire>
<name>W5</name>
<alpha>127</alpha>
<controlPoints2>
<point x="2.2" y="4.1"/>
<point x="2.3" y="4.2"/>
<point x="2.3" y="4.4"/>
<point x="2.2" y="4.5"/>
</controlPoints2>
<color hex="00ff00"/>
<pointCount>FOUR</pointCount>
<style>SOLID</style>
<smooth>true</smooth>
<lastUpdatePointIndex>-1</lastUpdatePointIndex>
<gauge>_22</gauge>
<striped>false</striped>
<stripeColor hex="ffff00"/>
</diylc.connectivity.HookupWire>
<diylc.misc.Label>
<name>L1</name>
<point x="3.3" y="4.1"/>
<text>To bridge baseplate</text>
<font name="Tahoma" size="14" style="0"/>
<color hex="000000"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>DEFAULT</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L2</name>
<point x="1.5" y="4.8"/>
<text>Treble bleed</text>
<font reference="../../diylc.misc.Label/font"/>
<color hex="000000"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>DEFAULT</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L3</name>
<point x="2.0" y="0.2"/>
<text>Travelcaster Wiring Diagram</text>
<font name="Dialog" size="36" style="0"/>
<color hex="0000cc"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>DEFAULT</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L3</name>
<point x="2.0" y="0.3"/>
<text>www.diy-fever.com</text>
<font name="Tahoma" size="14" style="0"/>
<color hex="000000"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>DEFAULT</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L4</name>
<point x="1.9" y="1.1"/>
<text>Pickup selector switch</text>
<font name="Tahoma" size="14" style="0"/>
<color hex="000000"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>DEFAULT</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L4</name>
<point x="2.0" y="3.2"/>
<text>Split mode</text>
<font name="Tahoma" size="14" style="0"/>
<color hex="000000"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>DEFAULT</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L4</name>
<point x="2.0" y="3.3"/>
<text>Push-pull</text>
<font name="Tahoma" size="14" style="0"/>
<color hex="000000"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>DEFAULT</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L5</name>
<point x="0.4" y="3.1"/>
<text>DiMarzio</text>
<font name="Dialog" size="18" style="1"/>
<color hex="ffffff"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>_270</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L5</name>
<point x="3.4" y="1.4"/>
<text>DiMarzio</text>
<font name="Dialog" size="18" style="1"/>
<color hex="ffffff"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>_90</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L6</name>
<point x="0.1" y="5.4"/>
<text>* One of the pickups is rotated 180 degrees for cleaner drawing</text>
<font name="Tahoma" size="14" style="0"/>
<color hex="000000"/>
<horizontalAlignment>LEFT</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>DEFAULT</orientation>
</diylc.misc.Label>
<diylc.misc.Label>
<name>L1</name>
<point x="3.6" y="4.5"/>
<text>Output jack</text>
<font name="Tahoma" size="14" style="0"/>
<color hex="000000"/>
<horizontalAlignment>CENTER</horizontalAlignment>
<verticalAlignment>CENTER</verticalAlignment>
<orientation>DEFAULT</orientation>
</diylc.misc.Label>
</components>
<groups/>
<lockedLayers/>
<lockedComponents/>
<hiddenLayers/>
<font name="Tahoma" size="14" style="0"/>
</project>
+7
View File
@@ -147,3 +147,10 @@ buildNumber.properties
# Avoid ignoring Maven wrapper jar file (.jar files are usually ignored)
!/.mvn/wrapper/maven-wrapper.jar
######################
###### Custom ######
######################
# Deployment folder
deploy/
+1 -1
View File
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
+123
View File
@@ -0,0 +1,123 @@
#!/bin/bash
# Script to build all Maven profiles and copy zip files to deployment folder
# Usage: ./build-all-profiles.sh [to-deploy-folder]
set -e # Exit on error
# Parse arguments
DEPLOY_DIR="${1:-}"
# Configuration
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
SWING_MODULE_DIR="${PROJECT_DIR}/diylc-swing"
DEPLOY_DIR="${DEPLOY_DIR:-${PROJECT_DIR}/deploy}"
# List of profiles to build
PROFILES=(
"universal-zip"
"linux-appimage"
"win64-zip"
"win64-installer"
"mac-x86"
"mac-arm"
)
echo "=========================================="
echo "Building all Maven profiles"
echo "=========================================="
echo "Project directory: ${PROJECT_DIR}"
echo "Swing module directory: ${SWING_MODULE_DIR}"
echo "Deployment directory: ${DEPLOY_DIR}"
echo "Tests: Skipped"
echo ""
# Create deployment directory if it doesn't exist
mkdir -p "${DEPLOY_DIR}"
# Change to project root directory
cd "${PROJECT_DIR}"
# Build each profile (clean before each one)
TARGET_DIR="${SWING_MODULE_DIR}/target"
TOTAL_ZIP_COUNT=0
for profile in "${PROFILES[@]}"; do
echo "----------------------------------------"
echo "Building profile: ${profile}"
echo "----------------------------------------"
# Clean and build from root, specifying the swing module and profile
# This ensures dependencies (diylc-core, diylc-library) are built first
mvn clean package -pl diylc-swing -am -P"${profile}" -DskipTests || {
echo "ERROR: Failed to build profile ${profile}"
echo "Continuing with next profile..."
continue
}
echo "✓ Profile ${profile} built successfully"
# Copy zip and exe files immediately after each build (before next clean)
if [ -d "${TARGET_DIR}" ]; then
echo "Looking for artifacts in ${TARGET_DIR}..."
PROFILE_FILE_COUNT=0
# Find all zip files in target directory (excluding DIYLC-notarize.zip)
while IFS= read -r -d '' zipfile; do
filename=$(basename "${zipfile}")
# Skip DIYLC-notarize.zip files
if [[ "${filename}" != "DIYLC-notarize.zip" ]] && [ -f "${zipfile}" ]; then
dest="${DEPLOY_DIR}/${filename}"
echo " → Copying: ${filename}"
cp "${zipfile}" "${dest}"
TOTAL_ZIP_COUNT=$((TOTAL_ZIP_COUNT + 1))
PROFILE_FILE_COUNT=$((PROFILE_FILE_COUNT + 1))
fi
done < <(find "${TARGET_DIR}" -maxdepth 1 -type f -name "*.zip" -print0 2>/dev/null)
# Find all exe files in target directory
while IFS= read -r -d '' exefile; do
if [ -f "${exefile}" ]; then
filename=$(basename "${exefile}")
dest="${DEPLOY_DIR}/${filename}"
echo " → Copying: ${filename}"
cp "${exefile}" "${dest}"
TOTAL_ZIP_COUNT=$((TOTAL_ZIP_COUNT + 1))
PROFILE_FILE_COUNT=$((PROFILE_FILE_COUNT + 1))
fi
done < <(find "${TARGET_DIR}" -maxdepth 1 -type f -name "*.exe" -print0 2>/dev/null)
if [ ${PROFILE_FILE_COUNT} -eq 0 ]; then
echo " ⚠ Warning: No artifacts found for profile ${profile}"
# List what's actually in the target directory for debugging
echo " Debug: Files in target directory:"
ls -la "${TARGET_DIR}"/*.{zip,exe} 2>/dev/null | head -5 || echo " (no zip/exe files found)"
else
echo " ✓ Copied ${PROFILE_FILE_COUNT} file(s) from ${profile}"
fi
else
echo " ⚠ Warning: Target directory ${TARGET_DIR} does not exist"
fi
echo ""
done
echo "=========================================="
echo "Copying summary"
echo "=========================================="
if [ ${TOTAL_ZIP_COUNT} -eq 0 ]; then
echo "No artifacts were copied"
else
echo "✓ Copied ${TOTAL_ZIP_COUNT} file(s) total to ${DEPLOY_DIR}"
fi
echo ""
echo "=========================================="
echo "Build and deployment complete!"
echo "=========================================="
echo "Deployment folder: ${DEPLOY_DIR}"
echo "Files:"
ls -lh "${DEPLOY_DIR}"/*.{zip,exe} 2>/dev/null || echo " (no zip/exe files found)"
+1 -1
View File
@@ -7,7 +7,7 @@
<parent>
<groupId>org.diylc</groupId>
<artifactId>diylc-parent</artifactId>
<version>5.4.0</version>
<version>5.8.0</version>
</parent>
<artifactId>diylc-core</artifactId>
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,6 +1,6 @@
/*
*
* DIY Layout Creator (DIYLC). Copyright (c) 2009-2018 held jointly by the individual authors.
* DIY Layout Creator (DIYLC). Copyright (c) 2009-2025 held jointly by the individual authors.
*
* This file is part of DIYLC.
*
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,6 +1,6 @@
/*
*
* DIY Layout Creator (DIYLC). Copyright (c) 2009-2018 held jointly by the individual authors.
* DIY Layout Creator (DIYLC). Copyright (c) 2009-2025 held jointly by the individual authors.
*
* This file is part of DIYLC.
*
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -68,5 +68,9 @@ public enum DrawOption {
/**
* Whether locked components should be rendered as transparent or not.
*/
LOCKED_ALPHA;
LOCKED_ALPHA,
/**
* When applied, all colors will be converted to blackest black or whitest white
*/
MONOCHROMATIC;
}
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -19,13 +19,12 @@
along with DIYLC. If not, see <http://www.gnu.org/licenses/>.
*/
package org.diylc.swing.gui;
package org.diylc.common;
import java.io.File;
import java.util.List;
import java.util.Set;
import org.diylc.common.PropertyWrapper;
import org.diylc.core.IView;
public class DummyView implements IView {
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -21,7 +21,6 @@
*/
package org.diylc.common;
import java.awt.Rectangle;
import java.awt.geom.Point2D;
import org.diylc.core.Project;
@@ -55,12 +54,7 @@ public enum EventType {
*/
FILE_STATUS_CHANGED,
/**
* Called when selection rectangle is changed. Object of type {@link Rectangle} is the only
* parameter and it contains the new selection rectangle.
*/
SELECTION_RECT_CHANGED,
/**
* Called when component selection is changed. New {@link ComponentSelection} is attached as a
* Called when component selection is changed. New list of components and control point map is attached as a
* parameter.
*/
SELECTION_CHANGED,
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -41,16 +41,18 @@ import org.diylc.core.IDIYComponent;
import org.diylc.core.Project;
import org.diylc.core.Template;
import org.diylc.core.Theme;
import org.diylc.core.measures.ResizeDimensions;
import org.diylc.core.measures.Size;
import org.diylc.filter.IComponentFilter;
import org.diylc.test.ITestProcessor;
/**
* Interface for communication between plug-ins and the application. Plug-ins may acquire
* information or make changes through this interface. Application events are dispatched to plug-ins
* through {@link MessageDispatcher}
*
*
* @author Branislav Stojkovic
*
*
* @see IPlugIn
* @see MessageDispatcher
* @see IMessageListener
@@ -84,18 +86,20 @@ public interface IPlugInPort extends ISelectionProcessor, IMouseProcessor, IKeyP
public static final String RENUMBER_ON_PASTE_KEY = "renumberOnPaste";
public static final String RULER_IN_SUBDIVISION_KEY = "rulerInSubdivision";
public static final String CACHING_ENABLED_KEY = "cachingEnabled";
public static final String FONT_SCALE_FACTOR_KEY = "fontScaleFactor";
public static final String SHOW_RESIZE_DIMENSIONS_TOOLTIP_KEY = "showResizeDimensionsTooltip";
public static final String RULER_IN_SUBDIVISION_2 = "base of 2";
public static final String RULER_IN_SUBDIVISION_10 = "base of 10";
public static final String RULER_IN_SUBDIVISION_DEFAULT = RULER_IN_SUBDIVISION_10;
public static final String SNAP_TO_NONE = "None";
public static final String SNAP_TO_GRID = "Grid";
public static final String SNAP_TO_COMPONENTS = "Components";
public static final String SNAP_TO_DEFAULT = SNAP_TO_GRID;
public static final String LOCKED_ALPHA = "lockedAlpha";
public static final String LANGUAGE = "language";
public static final String LANGUAGE_DEFAULT = "English";
@@ -108,25 +112,25 @@ public interface IPlugInPort extends ISelectionProcessor, IMouseProcessor, IKeyP
public static final int NOBUTTON = 0;
public static final int BUTTON1 = 1;
public static final int BUTTON2 = 2;
public static final int BUTTON3 = 3;
public static final int BUTTON3 = 3;
/**
* Returns size of the canvas that takes project dimensions into account as well as zoom level.
* Each dimension is calculated as the product of the actual size and the number of pixels per
* unit. If <code>useZoom</code> is set to true, the result is scaled by zoom factor.
*
*
* @param useZoom
* @param includeExtraSpace
*
*
* @return canvas dimensions
*/
Dimension getCanvasDimensions(boolean useZoom, boolean includeExtraSpace);
/**
* Returns an instance of {@link Cursor} that should be used at the specified location.
*
*
* Note: point coordinates are scaled for zoom factor.
*
*
* @param point
* @param ctrlDown
* @param shiftDown
@@ -137,14 +141,14 @@ public interface IPlugInPort extends ISelectionProcessor, IMouseProcessor, IKeyP
/**
* Returns an instance of currently loaded project.
*
*
* @return
*/
Project getCurrentProject();
/**
* Loads specified {@link Project}.
*
*
* @param project
* @param freshStart
* @param filename file name when loading from a file
@@ -158,22 +162,22 @@ public interface IPlugInPort extends ISelectionProcessor, IMouseProcessor, IKeyP
/**
* Loads a project from the specified file.
*
*
* @param fileName
*/
void loadProjectFromFile(String fileName);
/**
* Saves the current project into the specified file.
*
*
* @param fileName
* @param isBackup
*/
void saveProjectToFile(String fileName, boolean isBackup);
/**
* Exports the current project into one or more files - one per layer and potentially drill layer.
*
*
* @param fileNameBase
* @param g2d
*/
@@ -191,7 +195,7 @@ public interface IPlugInPort extends ISelectionProcessor, IMouseProcessor, IKeyP
/**
* Shows a user dialog if there are changes to confirm that it's safe to proceed.
*
*
* @return true, if file actions (new, open, close) can be taken
*/
boolean allowFileAction();
@@ -200,7 +204,7 @@ public interface IPlugInPort extends ISelectionProcessor, IMouseProcessor, IKeyP
* Returns all available {@link ComponentType}s classified by category. Result is a {@link Map}
* between category name to a {@link List} of all {@link ComponentType}s that share that category
* name.
*
*
* @return
*/
Map<String, List<ComponentType>> getComponentTypes();
@@ -208,7 +212,7 @@ public interface IPlugInPort extends ISelectionProcessor, IMouseProcessor, IKeyP
/**
* Draws project on the provided {@link Graphics2D}. If the provided filter is not null, it will
* be used to filter the components that are shown.
*
*
* @param g2d
* @param drawOptions specific drawing options
* @param filter
@@ -222,35 +226,35 @@ public interface IPlugInPort extends ISelectionProcessor, IMouseProcessor, IKeyP
/**
* Returns current zoom level where <code>zoomLevel = 1.0d</code> means 100%.
*
*
* @return current zoom level
*/
double getZoomLevel();
/**
* Changes current zoom level where <code>zoomLevel = 1.0d</code> means 100%
*
*
* @param zoomLevel new zoom leve
*/
void setZoomLevel(double zoomLevel);
/**
* Returns current version number.
*
*
* @return
*/
VersionNumber getCurrentVersionNumber();
/**
* Returns few most recent versions.
*
* Returns few most recent versions.
*
* @return
*/
List<Version> getRecentUpdates();
/**
* Adds a list of components to the project.
*
*
* @param componentTransferable
* @param autoGroup
* @param assignNewNames
@@ -269,7 +273,7 @@ public interface IPlugInPort extends ISelectionProcessor, IMouseProcessor, IKeyP
/**
* Sets default value for the specified property name for currently selected component types.
*
*
* @param propertyName display name for property
* @param value new default value, must not be null
*/
@@ -277,7 +281,7 @@ public interface IPlugInPort extends ISelectionProcessor, IMouseProcessor, IKeyP
/**
* Sets default value for the specified property name for projects.
*
*
* @param clazz class to set defaults to
* @param propertyName display name for property
* @param value new default value, must not be null
@@ -291,6 +295,15 @@ public interface IPlugInPort extends ISelectionProcessor, IMouseProcessor, IKeyP
*/
List<PropertyWrapper> getMutualSelectionProperties();
/**
* Available only during resizing, returns the dimensions of the component being resized.
* Otherwise returns null.
*
* @return ResizeDimensions with width, height (in mm or in depending on configuration),
* and length (if component implements IHaveLength), or null if not resizing
*/
ResizeDimensions getResizeDimensions();
void editSelection();
/**
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -3,6 +3,7 @@ package org.diylc.common;
import org.diylc.appframework.simplemq.MessageDispatcher;
import org.diylc.plugins.chatbot.service.ChatbotService;
import org.diylc.plugins.cloud.service.CloudService;
import org.diylc.plugins.compare.service.CompareService;
import org.diylc.presenter.DrawingManager;
public interface IServiceManager {
@@ -11,6 +12,8 @@ public interface IServiceManager {
ChatbotService getChatbotService();
CompareService getCompareService();
MessageDispatcher<EventType> getMessageDispatcher();
DrawingManager getDrawingManager();
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,6 +1,6 @@
/*
*
* DIY Layout Creator (DIYLC). Copyright (c) 2009-2018 held jointly by the individual authors.
* DIY Layout Creator (DIYLC). Copyright (c) 2009-2025 held jointly by the individual authors.
*
* This file is part of DIYLC.
*
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,6 +1,6 @@
/*
*
* DIY Layout Creator (DIYLC). Copyright (c) 2009-2018 held jointly by the individual authors.
* DIY Layout Creator (DIYLC). Copyright (c) 2009-2025 held jointly by the individual authors.
*
* This file is part of DIYLC.
*
@@ -37,16 +37,14 @@ import com.thoughtworks.xstream.annotations.XStreamOmitField;
import org.diylc.common.IPlugInPort;
import org.diylc.common.LineStyle;
import org.diylc.common.ObjectCache;
import org.diylc.core.ComponentState;
import org.diylc.core.IDrawingObserver;
import org.diylc.core.Project;
import org.diylc.core.VisibilityPolicy;
import org.diylc.core.*;
import org.diylc.core.annotations.EditableProperty;
import org.diylc.core.measures.Size;
import org.diylc.core.measures.SizeUnit;
import org.diylc.utils.Constants;
public abstract class AbstractCurvedComponent<T> extends AbstractTransparentComponent<T> {
public abstract class AbstractCurvedComponent<T> extends AbstractTransparentComponent<T> implements
IHaveLength {
private static final long serialVersionUID = 1L;
@@ -337,8 +335,8 @@ public abstract class AbstractCurvedComponent<T> extends AbstractTransparentComp
// }
}
@EditableProperty
public Size getLength() {
@EditableProperty(name = "Length")
public Size calculateLength() {
double d = 0;
try {
Point2D[] p = getControlPoints();
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,6 +1,6 @@
/*
*
* DIY Layout Creator (DIYLC). Copyright (c) 2009-2018 held jointly by the individual authors.
* DIY Layout Creator (DIYLC). Copyright (c) 2009-2025 held jointly by the individual authors.
*
* This file is part of DIYLC.
*
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -199,4 +199,13 @@ public interface IDIYComponent<T> extends Serializable, Cloneable {
* @param project
*/
void createdIn(Project project);
/**
* Returns whether this component is polarized (direction matters for electronic function).
* Default implementation returns true, components that are not polarized should override this.
* @return true if the component is polarized, false otherwise
*/
default boolean isPolarized() {
return true;
}
}
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -0,0 +1,29 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
DIYLC is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
DIYLC is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with DIYLC. If not, see <http://www.gnu.org/licenses/>.
*/
package org.diylc.core;
import org.diylc.core.measures.Size;
public interface IHaveLength {
Size calculateLength();
}
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -300,7 +300,7 @@ public class GerberG2DWrapper extends Graphics2D
@Override
public AffineTransform getTransform() {
return tx;
return new AffineTransform(tx);
}
@Override
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.
@@ -1,7 +1,7 @@
/*
DIY Layout Creator (DIYLC).
Copyright (c) 2009-2018 held jointly by the individual authors.
Copyright (c) 2009-2025 held jointly by the individual authors.
This file is part of DIYLC.

Some files were not shown because too many files have changed in this diff Show More