Seth Hillbrand
02a5d47de9
Avoid passing references in EESchema
...
This returns the connection list by value. This allows easier Python
use
Also renames m_End() to GetEnd()
2020-09-08 06:29:27 -07:00
Jon Evans
38a4e4ad5a
Remove the last bits of the old netlist system
2020-08-30 16:30:04 -04:00
Jeff Young
d5878e552d
Fixes for line, wire and bus styles.
...
1) Return the default netclass if an assignment is not found
2) Local overrides have precedence over netclass values
Fixes https://gitlab.com/kicad/code/kicad/issues/5308
2020-08-24 18:23:55 +01:00
Jeff Young
1558e63c0e
Make local overrides higher priority than netclass widths.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5249
2020-08-18 19:05:30 +01:00
Jeff Young
e910dc0092
Make sure lines/wires/busses get default widths if not spec'ed.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4854
2020-08-09 21:52:36 +01:00
Jeff Young
97964b2a4c
Use netclass colour for junction dots and when printing/plotting.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4986
Fixes https://gitlab.com/kicad/code/kicad/issues/4982
2020-07-27 21:47:05 +01:00
Jeff Young
741481591e
NetClass settings for Eeschema.
...
ADDED Eeschema-specific netclass settings including wire and bus
thickness, color, and line style.
Netclasses override individual wire & bus colors and line styles.
If that proves an issue we might look at something more sophisticated
with inheritance.
Fixes https://gitlab.com/kicad/code/kicad/issues/4581
2020-07-08 21:23:25 +01:00
Jeff Young
e66523586b
Add Assign Netclass... to context menu.
...
ADDED Assign Netclass feature to EEschema.
Netclass assignments also now shown in status bar.
Fixes https://gitlab.com/kicad/code/kicad/issues/4581
2020-07-07 14:23:39 +01:00
Wayne Stambaugh
2078e629c5
Eeschema: allow editing of junction properties diameter and color.
...
Add missing plot and print changes for the new bus entry properties.
ADDED: Junction properties diameter and color can now be edited.
Fixes: https://gitlab.com/kicad/code/kicad/issues/4593
2020-06-24 13:36:17 -04:00
Wayne Stambaugh
b15ee1086f
Eeschema: factor out line stroke property object.
...
The line stroke property object STROKE_PARAMS was factored out an used in
the schematic line object. This will allow it to be used in other objects
that require line stroke properties so every object does not need to have
it's own definition for line stroke properties.
2020-06-24 13:36:17 -04:00
Wayne Stambaugh
91fd063585
Eeschema: allow editing of wire and bus properties.
...
CHANGED: Wire and bus lines properties (color, line width, and line type)
can be edited the same as graphical lines.
2020-05-29 14:33:27 +00:00
Jon Evans
5248f2952e
Use schematic default line width for GetPenWidth on zero-size lines
2020-05-20 00:03:27 -04:00
Jon Evans
d7bd4c9b04
Move Eeschema globals to new SCHEMATIC object
...
Set up a new lineage for SCH_ITEMS to get back to the SCHEMATIC
they live on: Items will all be parented to the SCH_SCREEN that
they are added to, and each SCH_SCREEN will point back to the
SCHEMATIC that it is part of. Note that this hierarchy is not
the same as the actual schematic hierarchy, which continues to
be managed through SCH_SHEETs and SCH_SHEET_PATHS.
2020-05-18 13:04:56 -04:00
Jeff Young
301ac3461c
Fix some more pen width issues from global removal.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4408
2020-05-12 15:20:17 +01:00
Jeff Young
1535c83b88
Lay some groundwork for adding distances to DRC errors.
...
modified: eeschema/lib_rectangle.cpp
2020-04-24 14:46:22 +01:00
Jeff Young
9c8941e040
Remove a bunch of globals.
2020-04-16 17:34:46 +01:00
jean-pierre charras
952e7a5fb4
Eeschema: move some default values to default_values.h.
...
These default values are used in many files, and some files were using
magic numbers.
2020-04-14 20:15:18 +02:00
jean-pierre charras
6148461484
Eeschema plot: fix (temporary) line 0 thickness.
...
Plotting lines having 0 thickness is not acceptable and create issues.
2020-04-14 12:43:51 +02:00
Jeff Young
591428b0d9
Remove some problematic global variables.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4121
2020-04-05 16:17:04 +01:00
Wayne Stambaugh
7dc64f08b7
Eeschema: implement s-expression schematic file formatter.
...
Please note that the symbol cache is not embedded in the schematic file
to allow for round robin testing with the existing file format. Once
the parser round robin testing is complete, the symbol cache will be
embedded in the schematic file.
2020-03-16 09:05:16 -04:00
Jon Evans
643c97a2f4
ADDED: Schematic plotting can use a dedicated color theme
...
ADDED: PDF, PS, and SVG plots can optionally include the page background color
Fixes #1830
2020-03-06 00:01:02 -05:00
Jon Evans
8660b4c144
ADDED: New color theme editor and multi-theme support
2020-03-06 00:01:03 -05:00
Jonathan Warner
469c1c14ef
Eeschema: adjusted component sorting to work better
2020-02-06 06:02:51 -07:00
Jon Evans
ac875e26a8
Fix handling of SCH_PINs on multi-unit parts
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3770
2020-02-04 11:51:29 +00:00
Seth Hillbrand
55eb687184
Eeschema: Force output ordering
...
The RTree does not have a deterministic iterator, so extracting items
may be in arbitrary order, causing issues as the schematic appears to
change when comparing to previous revisions.
This uses the SCH_ITEM comparison operator to for ordering by type, then
by custom sorting within type.
For the netlist, we choose the first available unit in the sheet for
each component.
Fixes #3811 | https://gitlab.com/kicad/code/kicad/issues/3811
2020-01-28 13:31:52 -08:00
Mark Roszko
70908043a3
Convert enums inside eeschema and the symbol editor to be scoped
...
Scope: NETLIST_ITEM, CONNECTION_TYPE, ELECTRICAL_PINTYPE,
NET_CONNECTION, NETLIST_ITEM, GRAPHIC_PINSHAPE
Note, the pin type enum had PT_ added to the front to prevent
shadowing of the INPUT symbol on msys2 (see discussion at
c17c9960d8
)
2020-01-18 20:51:28 +00:00
Seth Hillbrand
2321da702f
Fix SCH_LINE::GetBoundingBox()
...
Instead of returning a fixed line width that was rather large, we use
the actual line width
2020-01-07 11:56:50 -08:00
Mark Roszko
19ceb11ae7
Change more enums over to scoped enums
2019-12-28 00:55:11 +00:00
Mark Roszko
d3edeaec50
Fix "Properties" not appearing in right click menu for graphic line.
2019-12-26 15:15:34 +00:00
Mark Roszko
11ff16be4e
Switch to scoped enums
2019-12-20 14:11:39 +00:00
Seth Hillbrand
cda291adae
eeschema: Clean bits of DLIST
...
Removes the extra DLIST manipulation from SCH_LINE_WIRE_BUS_TOOL and
moves the static storage into class storage
2019-12-13 11:22:18 -08:00
Jeff Young
b5742d09f8
Performance enhancement.
2019-09-09 23:24:33 +01:00
Jeff Young
5e353e8967
Fix another case of selection getting out of sync with dragged items.
...
Use a big hammer this time.
Fixes: lp:1839780
* https://bugs.launchpad.net/kicad/+bug/1839780
2019-08-31 20:23:06 +01:00
Jeff Young
7349fe2e72
Move line rendering to the proper layer.
2019-08-03 17:20:54 -06:00
Jeff Young
9328ec8b52
Separate default line and wire thicknesses.
...
Fixes: lp:1834324
* https://bugs.launchpad.net/kicad/+bug/1834324
2019-06-30 11:12:42 +01:00
Jeff Young
3a0256aade
Add handle-based editing for eeschema bitmaps.
...
Also cleans out a bunch of duplicated functionality from the image
editor dialog.
Fixes: lp:1828722
* https://bugs.launchpad.net/kicad/+bug/1828722
2019-06-19 18:35:17 +01:00
Jeff Young
c0e1f7a17a
Add dragging of wire ends, corners and junctions.
...
Fixes: lp:1830007
* https://bugs.launchpad.net/kicad/+bug/1830007
2019-06-11 21:20:19 +01:00
Jeff Young
d6e9bdf07b
Convert remaining legacy drawing code to print code.
2019-05-31 21:54:22 +01:00
Jon Evans
3e5005698c
Add a bit of margin to line selection hit testing
2019-05-07 22:51:46 -04:00
Jeff Young
32765ebffd
Do some refactoring in prep for sharing some sch tools with libedit.
2019-05-05 17:14:30 +01:00
Jeff Young
7e3ad4585a
Fix issues with dragging, moving and rotating wires.
2019-05-05 17:14:30 +01:00
Jeff Young
de347998d1
Implement drag in modern toolset.
2019-05-05 17:12:59 +01:00
Jeff Young
57a491357f
Improve encapsulation. SCH_LINE has no business knowing about drags.
2019-05-05 17:12:59 +01:00
Jon Evans
9741b43dae
Make lines and bus entries less frustrating to select
2019-04-29 21:28:53 -04:00
Jeff Young
460909ea9a
Move click-to-place tools to modern toolset.
2019-04-16 16:20:52 +01:00
Jeff Young
2aad4a5e57
Remove dead code from removal of eeschema legacy canvas.
2019-04-05 15:54:31 +01:00
Jeff Young
95635804bf
Replace pin mark/sweep with method that doesn't invalidate iterators.
...
Also removes some no-longer-used drawing code (the Draw() routines
are only used for printing with the modern eeschema canvas in place).
2019-04-04 12:08:33 +01:00
Jon Evans
591894c7e6
Properly construct new line from old
...
Fixes: lp:1823072
* https://bugs.launchpad.net/kicad/+bug/1823072
2019-04-03 16:26:43 -04:00
Jon Evans
b11f9fc873
Performance: don't construct temporary SCH_LINEs in MergeOverlap()
2019-04-02 22:46:22 -04:00
Jeff Young
81d4a45e73
Ignore BRIGHTENED state when printing.
...
Fixes: lp:1788480
* https://bugs.launchpad.net/kicad/+bug/1788480
2019-04-01 13:23:37 +01:00
Jon Evans
83c7e7fc65
New connectivity algorithm and bus upgrades
...
Bus upgrades: core new connectivity code
Bus upgrades: eeschema integration and modifications
Bus upgrades: eeschema dialogs
Bus upgrades: netlist export
Bus upgrades: file format changes
2019-03-31 19:53:41 -04:00
Jeff Young
9b7d6a27de
Don't show dangling symbols at ends of wires with no-connect flags.
...
Fixes: lp:1805255
* https://bugs.launchpad.net/kicad/+bug/1805255
2018-11-27 14:44:13 +00:00
jean-pierre charras
0d3637c2ee
Fix a few minor I18n issues.
...
Avoid translation of debug messages.
2018-11-11 10:46:26 +01:00
Jeff Young
4030eec939
Implement proper dangling end handling for block moves.
...
(Most of this is actually fixing the IsDanglingStateChanged() to
correctly indicate that it *updates* the dangling state, not just
tests it.)
2018-10-30 11:33:49 +00:00
Jeff Young
268565ee41
Refresh component when children change.
2018-10-09 11:08:56 +01:00
Jeff Young
d7178c7833
Implement GAL refresh for a bunch of operations.
2018-10-09 11:08:55 +01:00
Tomasz Wlostowski
90c7c60471
eeschema-gal: initial GALified version. Lots of stuff still to do!
2018-10-09 11:08:52 +01:00
Jeff Young
5f3ee1e7ce
More g_UserUnit erradication.
...
(cherry picked from commit 3f08780)
2018-07-17 15:12:31 +01:00
Jeff Young
eacaa39aa2
Remove global units usage from GetSelectionText...
...
... and GetMsgPanelInfo.
Step 4 in the g_UserUnit eradication effort.
Also removes a couple of conversion routines that were close
enough to extinction.
(cherry picked from commit c75da51)
2018-07-17 15:11:09 +01:00
Jeff Young
b99ea159c8
Rationalize select menu texts.
...
Be consistent with order, formatting, etc.
Remove debug stuff such as zone timestamp and net code.
Clean up misleading pad messages.
(cherry picked from commit 2132109)
2018-07-17 15:09:48 +01:00
jean-pierre charras
8022f1cc01
fix code after renamin files
2018-01-30 11:49:51 +01:00
jean-pierre charras
795a36c9fe
Fix code after renaming files, and a bit of code cleanup (remove useless includes and multiple includes of the same files)
2018-01-30 09:57:25 +01:00
jean-pierre charras
e499d337d8
rename files: update filenames in sources
2018-01-28 19:12:26 +01:00
Seth Hillbrand
98c8a5ac0c
Fix non-conforming signbit test
...
Fixes: lp:1742803
* https://bugs.launchpad.net/kicad/+bug/1742803
2018-01-12 19:58:33 +01:00
Seth Hillbrand
a061fe1f99
Eeschema: Adding connection block selections
...
This adjusts the selection addition criteria for
blocks to allow items such as labels to connect to
lines not at the endpoints. It also uses the same
logic to correctly gather bus-wire, bus-bus entries.
Fixes: lp:1738941
* https://bugs.launchpad.net/kicad/+bug/1738941
2017-12-20 10:04:25 -05:00
Simon Richter
227afe77c0
Avoid C-style array member init (illegal in C++)
...
This is not part of the C++ language, and only supported in some compilers.
2017-12-06 19:28:17 -05:00
Seth Hillbrand
bdc1fb04be
Eeschema: Correct wire/bus/entry connections
...
Fixes the connection display and dragging behavior of wires,
busses and their entries.
The implemented drag logic is:
-busses and bus-bus entries drag each other when connected at endpoints
-wires and wire-bus entries drag each other when connected at endpoints
-entries do not drag wires or busses when connected to wire middles
-wire-bus entries do not drag busses
The implemented connection logic is:
-bus-bus entries connect busses to busses but not wires
-wire-bus entries connect wires to busses but not wire to wires or
busses to busses
2017-12-04 15:19:46 -05:00
Seth Hillbrand
069448f20e
Eeschema: Automatically manage junctions
...
CHANGE: eeschema automatically adds and removes junctions
when required by the schematic
Fixes: lp:593888
* https://bugs.launchpad.net/kicad/+bug/593888
Fixes: lp:1482111
* https://bugs.launchpad.net/kicad/+bug/1482111
Fixes: lp:1563153
* https://bugs.launchpad.net/kicad/+bug/1563153
Fixes: lp:1730219
* https://bugs.launchpad.net/kicad/+bug/1730219
Fixes: lp:1491052
* https://bugs.launchpad.net/kicad/+bug/1491052
2017-11-30 10:02:24 -05:00
Seth Hillbrand
0fd2405c00
Eeschema: Add two utility functions to sch_line
...
Add IsSameQuandrant and IsParallel functions
2017-11-30 10:01:26 -05:00
Maciej Suminski
2ed19668cd
Eeschema: removed protos.h
...
Contained duplicated function declarations with invalid comments.
2017-11-21 23:18:55 +01:00
Wayne Stambaugh
a0473614b5
Remove all schematic object load and save code.
...
All of the schematic object load and save code is implemented in the
legacy schematic plugin so it is no longer required.
Remove unused file with old schematic file loader.
Doxygen comment cleaning.
2017-11-18 08:53:13 -05:00
Seth Hillbrand
b6884d3423
Eeschema: Improve wire merging
...
CHANGED: wires now merge along the full length rather than just
endpoints. Wires also merge at oblique angles when aligned.
2017-11-17 17:44:18 +01:00
Seth Hillbrand
d24c88f254
Eeschema: Show abbreviated units
...
CHANGED: Edit Line Style shows "in" and "mm" instead of full word
2017-11-17 08:20:00 +01:00
jean-pierre charras
bdc6a5950b
rename plot_common.h to class_plotter.h, a better name, consistent with other class definitions.
2017-11-16 15:53:30 +01:00
jean-pierre charras
0517f78085
eeschema: store line style using a more readable format
2017-11-15 14:08:27 +01:00
Seth Hillbrand
634fc80916
Eeschema: Update line syle colorbox
...
Line style colorbox is updated to follow Kicad colorbox
convention. The alpha channel is also forced to opaque.
2017-11-15 08:10:51 +01:00
Seth Hillbrand
7c0a7f9f7b
Adds plot functionality to Eeschema line formats
...
Dotted, dashed and dash-dot lines are provided in
HPGL, PDF, PS and SVG plot outputs along with line
width and color formatting.
DXF format does not currently provide any dashed
line functionality
A bug in HPGL plotted is corrected. Previous HPGL
dashed line commands were incorrect, plotting all
lines as solid.
2017-11-15 08:10:51 +01:00
Seth Hillbrand
b576189a00
Eeschema: Adding line styling options
...
NEW: Adds support in eeschema for changing the default line style,
width and color on a case-by-case basis.
CHANGED: "Wire" lines now optionally include data on the line style,
width and color if they differ from the default.
Fixes: lp:594059
* https://bugs.launchpad.net/kicad/+bug/594059
Fixes: lp:1405026
* https://bugs.launchpad.net/kicad/+bug/1405026
2017-11-15 08:10:51 +01:00
Russell Oliver
2a0a999350
Eeschema Eagle Import: Code clean-up and formatting
2017-10-20 09:34:32 +02:00
Russell Oliver
afa5ef0ca6
Eeschema Eagle Import: Load labels as global or local depending on if the net is shared accross multiple eagle sheets. Test created kicad labels to check if they are on a wire, otherwise movethem to the nearest wire start, midpoint or end.
2017-10-20 08:38:38 +02:00
jean-pierre charras
dfc49da29b
Fix issues in strings that need to be translated (non ASCII7 strings, trailing spaces...)
2017-06-18 21:35:37 +02:00
Maciej Suminski
0dc88bb4cf
Changed COLOR4D defines to static consts
2017-02-22 17:35:00 +01:00
Jon Evans
a52250a91e
Change from EDA_COLOR_T to COLOR4D globally; arbitrary color support
...
eeschema now supports arbitrary colors for all object types, and
pcbnew does in GAL canvas. When switching from GAL to legacy canvas,
pcbnew will convert colors to the nearest legacy color.
2017-02-22 17:35:00 +01:00
Nox_firegalaxy
44b8533d4d
Add connection highlight to eeschema, step 1.
2016-11-16 11:07:02 +01:00
Simon Richter
1b2fd6a382
Replace BOOST_FOREACH with C++11 range based for.
2016-06-29 16:07:55 -04:00
Simon Richter
10c8dae794
Eeschema: improve merging of overlapping SCH_LINEs.
...
* Use std::min and std::max to determine the overlapping line end points.
2016-06-27 19:54:46 -04:00
Simon Richter
4bf72be9e4
Eeschema: minor improvements to SCH_LINE::MergeOverlap() function.
...
* Do not statically initialize candidates vector.
* Preset candidates vector allocation size since it is always the same.
2016-06-27 14:17:39 -04:00
unknown
71b3125d8e
Cleanup: remove unnecessary macros EXCHG and NEGATE. add MIRROR macro.
2015-06-26 15:41:56 +02:00
unknown
bdeac4c116
Fix potential buffer overflows in eeschema. Fix Bug #1468604 (Assert triggered in eeschema when trying to edit components)
2015-06-25 10:53:45 +02:00
Chris Pavlina
eb800d903f
Hide pin and wire targets to show wire connections in Eeschema.
2015-06-07 20:07:42 -04:00
jean-pierre charras
11e2bdf17b
Eeschema: code cleaning, remove dead code and not used #define or#include in some cpp files.
2015-02-20 09:17:54 +01:00
unknown
a7b916d641
Eeschema: Fix Bug #983251 (Eeschema mouse hit testing error on non horizontal or vertical wires)
2014-10-28 13:03:50 +01:00
Povilas Kanapickas
7f12513c7e
Remove some uses of using namespace std.
2013-12-13 10:27:30 -06:00
jean-pierre charras
5f01f123de
All: GetBoundingBox returns now a const EDA_RECT.
...
Pcbnew: Code cleaning and bug fix in autoplace functions
Dialog exchange footprints has now a separate button to update the .cmp file, only on request.
2013-11-24 18:48:14 +01:00
jean-pierre charras
d368739731
Gerbview: fix incorrect printing of negative objects, when using black and white option.
...
Eeschema: better name for m_SheetList (changed to m_SheetPath) member of class NETLIST_OBJECT.
2013-09-29 20:24:38 +02:00
jean-pierre charras
daeeee5617
Eeschema: Rework on netlist generator: code clenenig and enhancement.
...
Fix an annoying issue about not named nets:
now, these nets are named from the component references and pin names which are connected.
therefore, unless the net or the footprint references are modified, the net name is not modified between 2 netlist calculations.
2013-09-25 21:09:57 +02:00
Lorenzo Marcantonio
d12a45923b
More work on EDA_COLOR_T and layers.
...
In particular the new mechanism for handling extended color palettes is in place,
included renaming the ini keys and saving the color name instead of its index; this means better forward compatibility with palette changes.
Since ini keys are changed, colors will be reset
2013-04-04 23:35:01 +02:00
Lorenzo Marcantonio
e18404eea1
Removed unused width attribute from schematic line
2013-04-01 13:59:19 +02:00
Lorenzo Marcantonio
27ee815742
Minor flags and layer mask cleanup
2013-03-30 20:55:26 +01:00
jean-pierre charras
143af26952
Eeschema: code cleanup, remove dead code and some global and useless variables
2012-09-28 19:47:41 +02:00