Commit Graph

132 Commits

Author SHA1 Message Date
Seth Hillbrand 23a9df8a59 ADDED: Allow Eeschema dragging graphical corners
This separates the two options (drag/move) into different actions.  Drag
will drag all graphical lines connected.  Move will disconnect the
graphical lines when moving.
2020-09-11 09:31:38 -07:00
Jeff Young f347118ce3 Add a min pin width advanced config for plotting.
Fixes https://gitlab.com/kicad/code/kicad/issues/5546
2020-09-08 20:19:54 +01:00
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