Commit Graph

346 Commits

Author SHA1 Message Date
Seth Hillbrand 643c7f25f5 eeschema: Properly map edge cases of legacy onto GAL
While we do not generate these arcs internally, some external tools
generate arcs that are technically valid but display correctly only
because of an oddity in the degeneracy mapping.

Fixes: lp:1838557
* https://bugs.launchpad.net/kicad/+bug/1838557

(cherry picked from commit cf949609b2)
2019-08-01 11:57:53 -07:00
jean-pierre charras 9dcf3b862c Eeschema: fix the bounding box size drawn around the bitmap when selected.
Images have a scale factor and this factor was taken in account twice
For image having a scale factor not equal to 1.0, the bounding box was too big (or too small)
2019-08-01 08:48:01 +02:00
Jeff Young cd4983f092 Switch selection color to platform selection color. 2019-07-31 22:52:22 -06:00
Jeff Young 6bf1ac45e3 New selection highlighting model for eeschema. 2019-07-29 19:57:41 -06:00
Jeff Young cd1a1a67fb Add seleciton/brightening/highlighting to images. 2019-07-10 01:14:28 +01:00
Jeff Young 51479c2042 Fix several bugs in selection exhibited by 74LS02.
1) Use PenWidth() (which is clipped at 0) instead of Width()
2) Implement an interior HitTest when a PolyLine is filled
3) Brighten background objects as well as foreground
4) Don't HitTest last segment when PolyLine is not filled

Fixes: lp:1834703
* https://bugs.launchpad.net/kicad/+bug/1834703
2019-06-29 20:03:08 +01:00
Jeff Young 9e464f9f5b Implement rollover highlighting for Eeschema delete tool. 2019-06-17 22:15:20 +01:00
jean-pierre charras 15a67fc358 Eeschema: fix incorrect size of junctions on screen.
Fixes: lp:1831931
https://bugs.launchpad.net/kicad/+bug/1831931
2019-06-17 18:06:56 +02:00
Jeff Young d6e9bdf07b Convert remaining legacy drawing code to print code. 2019-05-31 21:54:22 +01:00
Jeff Young 67cc2aac2e Rework Eeschema find/replace for modern toolset.
Fixes: lp:1827274
* https://bugs.launchpad.net/kicad/+bug/1827274

Fixes: lp:1827240
* https://bugs.launchpad.net/kicad/+bug/1827240
2019-05-22 21:48:04 +01:00
Jeff Young 952108dd43 Implement SCH_SHEET_PIN selection, rotation and mirroring.
Fixes: lp:1829521
* https://bugs.launchpad.net/kicad/+bug/1829521
2019-05-18 00:23:12 +01:00
jean-pierre charras 0961614df2 Eeschema: fix incorrect position of fields of a hierarchical sheet when rotated
Fixes: lp:1829048
https://bugs.launchpad.net/kicad/+bug/1829048
2019-05-17 08:30:16 +02:00
Jeff Young 792c4328aa Cleanup. 2019-05-10 21:40:08 +01:00
Jeff Young f6e07f575a Rename for clarity.
SetOffset() didn't set anything; it performed an action.
Move() suggests a delta, when it in fact does a SetPosition().
2019-05-10 16:11:57 +01:00
Jeff Young b97d65e791 Fix crash bug when deleting sheet pin and disappearing bug when moving them.
Fixes: lp:1827890
* https://bugs.launchpad.net/kicad/+bug/1827890
2019-05-06 16:31:02 +01:00
Jeff Young 2244dcd567 Move show datasheet to SCH_INSPECTOR_TOOL and add show marker info. 2019-05-05 17:12:59 +01:00
Jeff Young eacc3e67a5 Implement repeatDrawItem in modern toolkit and fix bugs.
Fixes moving of SCH_FIELDS.
Fixes undo operations around SCH_FIELDS and SCH_PINS.
2019-05-05 17:12:59 +01:00
Jeff Young f200c61897 Start transitioning block operations to modern toolset. 2019-05-05 17:12:59 +01:00
Jon Evans 62811d3209 Squish some warnings 2019-04-22 21:18:47 -04:00
Jeff Young 5e2cf51309 Improve robustness of SCH_PIN storage architecture.
In particular, allow short-term storage of pointers to SCH_PINs.
2019-04-22 11:19:43 +01:00
jean-pierre charras 6e8dd598c0 Minor fixes in translatable strings. Fix also a minor compil warning. 2019-04-22 09:34:28 +02:00
Jeff Young f2d9887409 Make usage of BRIGHTENED consistent (m_Flags, not m_Status). 2019-04-19 17:19:41 +01:00
Jeff Young 954998ec9a Lay the foundation for handling selected SCH_ITEMs. 2019-04-19 16:54:29 +01:00
Jeff Young 460909ea9a Move click-to-place tools to modern toolset. 2019-04-16 16:20:52 +01:00
Jeff Young 3ace73fbdd Fold various SCH pin shadow data structures into SCH_PIN. 2019-04-03 10:18:11 +01:00
Jeff Young 52246121b9 Add pins to net highlighting.
Fixes: lp:1763873
* https://bugs.launchpad.net/kicad/+bug/1763873
2019-04-03 10:18:11 +01:00
Jon Evans 464fa820b1 Support bus entries with highlighting 2019-03-31 19:55:30 -04: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
jean-pierre charras d6f565e452 Eeschema: do not draw dangling symbol (circle) for PIN_NC pin types.
These pins are never connected, so a dangling symbol makes no sense.

Fix also a fex minor coding style issues.
2019-03-17 20:50:18 +01:00
Seth Hillbrand c61ec8ee3b GAL: Handle negative line widths
When displaying negative line width elements, the outline of the item
should be hidden rather than displayed.

Fixes: lp:1819247
* https://bugs.launchpad.net/kicad/+bug/1819247
2019-03-11 12:08:16 -07:00
Seth Hillbrand f002382b4a eeschema: Set modifying transparency on edits
While modifying elements in eeschema/libedit, they are overdrawn on the
rest of the schematic.  This prevents alignment with existing elements
as the underlying elements are not visible.  We set a slight
transparency on elements while being modified to allow the user to view
existing elements at the same time.

Fixes: lp:1817233
* https://bugs.launchpad.net/kicad/+bug/1817233
2019-02-23 08:19:50 -08:00
Tomasz Włostowski 9a8afdf6fd eeschema: SCH_PAINTER should draw LIB_BEZIERs too! 2019-02-19 10:42:23 +01:00
jean-pierre charras 24185f45f2 Symbol editor: fix bug: Italic style ignored when drawing fields.
Fixes: lp:1815997
https://bugs.launchpad.net/kicad/+bug/1815997
2019-02-15 15:56:41 +01:00
Seth Hillbrand e2b3a1118d Eeschema: Filled labels
Fill label bg for clearer schematic view
2019-01-28 08:58:10 -08:00
jean-pierre charras db7dba96ad Fix a few Coverity warnings.
Mainly not initialized members, and replace not tested dynamic_cast by static_cast.
2019-01-04 09:49:21 +01:00
Tomasz Włostowski c777eac000 eeschema: improved highlighting of PCB->SCH cross-probed components/labels/pins
Fixes: lp:1796990
* https://bugs.launchpad.net/kicad/+bug/1796990
2018-12-24 15:35:25 +01:00
jean-pierre charras 83d851956c classes MARKER rework: remove duplicate code. Better HitTest code (HitTest takes in account the actual shape) 2018-12-19 19:53:27 +01:00
jean-pierre charras 15843ae01a class MARKER rework: fix a few minor issues, remove duplicate code and add comments. 2018-12-19 15:13:31 +01:00
jean-pierre charras 638b4384ec eeschema: fix issue: Moving a hierarchical pin slightly move also other hierarchical pins
Fixes: lp:1808687
https://bugs.launchpad.net/kicad/+bug/1808687
2018-12-16 15:31:31 +01:00
Frank Severinsen e2ed0e6557 Move sheet pins in front of sheetedge & move them in by ½ line width 2018-12-15 20:15:19 +00:00
Jeff Young 18dc618a13 Set color before drawing dangling symbols.
Fixes: lp:1804003
* https://bugs.launchpad.net/kicad/+bug/1804003
2018-11-19 20:29:48 +00:00
Jeff Young bcc8c64256 Consider edge cuts items to have zero width when filling zones.
Fixes: lp:1797787
* https://bugs.launchpad.net/kicad/+bug/1797787
2018-11-14 23:45:32 +00:00
Jeff Young d65bb73d4e Finish up remaining block operation inconsistencies.
In particular, don't move block back to start when duplicating,
and don't move crosshair back to start when doing a cut, copy, or
paste.

Also fixes undo for libEdit block duplicate.

Fixes: lp:1740138
* https://bugs.launchpad.net/kicad/+bug/1740138
2018-11-14 23:45:32 +00:00
jean-pierre charras d465af65a7 LIB_FIELD: fix incorrect text thickness for small sized texts.
Also remove duplicate code.
2018-11-02 11:36:07 +01:00
Jeff Young 4742c52250 Highlight symbol fields when selected. 2018-10-30 13:09:20 +00: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 4fc1f4db3e LIB_ITEMs won't have parent in LibEdit. 2018-10-28 17:45:11 +00:00
Jeff Young a8c7bb0c92 Move library text items to LAYER_DEVICE. Only sch text items belong on LAYER_NOTES.
Fixes: lp:1800350
* https://bugs.launchpad.net/kicad/+bug/1800350
2018-10-28 17:45:11 +00:00
Jeff Young 4f11dc54fa Draw selected child items in brightened colors.
Fixes: lp:1800114
* https://bugs.launchpad.net/kicad/+bug/1800114
2018-10-26 23:02:05 +01:00
jean-pierre charras 3bf1dd7671 Eeschema, Hierarchical sheet: fix missing pen width call in draw function.
The hierarchical sheet was drawn (outline and texts) with a line thickness
that in fact the line thickness of the previously drawn item.
2018-10-25 15:12:34 +02:00
Jeff Young 4524dce9bb Tie up some loose ends from JP's SHEET_PIN fixes.
Fixes: lp:1799606
* https://bugs.launchpad.net/kicad/+bug/1799606
2018-10-24 22:00:50 +01:00
Jeff Young 96e65c7f23 Hide existing object when displaying moving preview.
Fixes: lp:1799478
* https://bugs.launchpad.net/kicad/+bug/1799478
2018-10-23 20:54:42 +01:00
Jeff Young 9f350820ad Add field umbilical lines to GAL renderer. 2018-10-23 20:54:42 +01:00
Jeff Young 1606329855 AdvanceDepth() strategy has been replaced with layer depths.
This is just a little bit of clean-up after-the-fact.
2018-10-23 20:54:42 +01:00
Jeff Young f17c18bcce Remove AdvanceDepth() hacks in favour of proper layers.
Also removes the bounding-box cache since the last big merge
should have sorted out the Update(GEOMETRY) calls.

Fixes: lp:1797271
* https://bugs.launchpad.net/kicad/+bug/1797271

Fixes: lp:1797268
* https://bugs.launchpad.net/kicad/+bug/1797268

Fixes: lp:1797075
* https://bugs.launchpad.net/kicad/+bug/1797075
2018-10-21 15:55:56 +01:00
jean-pierre charras dafeb96765 Page layout bitmap size wrong in modern/GAL canvases.
The image scale set by pl_editor was not taken in account when drawing the page layout.

Fixes: lp:1798685
https://bugs.launchpad.net/kicad/+bug/1798685
2018-10-20 18:24:22 +02:00
Jeff Young 5fe523f534 Place object borders in front of background fills.
This is required when rendering from the cache as the hardware
doesn't necessarily draw in the same order.
2018-10-15 19:59:47 +01:00
Tomasz Włostowski d66e0d4f7a eeschema-gal: implemented EnableDepthTest() in GAL, fixed drawing order in eeschema 2018-10-15 00:09:59 +02:00
jean-pierre charras fff739631c EEschema: fix wrong pin rendering for pin style PINSHAPE_OUTPUT_LOW
Fixes: lp:1797750
https://bugs.launchpad.net/kicad/+bug/1797750
2018-10-14 12:36:02 +02:00
Jeff Young 275d5e336f Fix issue with component children disappearing when canvas origin not in view. 2018-10-13 20:54:50 +01:00
jean-pierre charras 650478f757 Eeschema, highlight connection: show selected junctions and labels in highlight color
Previously, only wires were shown in highlight color.
2018-10-13 16:12:36 +02:00
jean-pierre charras 0dfd0c5f52 Minot cosmetic enhancement 2018-10-11 11:26:59 +02:00
Jeff Young 6e2b7521d0 Coding style and lint fixes. 2018-10-09 11:08:56 +01:00
Jeff Young 637029c292 Remove polygon fix as it causes more issues than it solves. 2018-10-09 11:08:56 +01:00
Jeff Young 5a910e9ee3 Make sure filled polygons are closed when rendering. 2018-10-09 11:08:56 +01:00
Jeff Young 9dfcc839a4 Fix color issues with cursor and sheet pins. 2018-10-09 11:08:56 +01:00
jean-pierre charras 4a92a5e628 Fix a Eeschema crash when using a SYMBOL_PREVIEW_WIDGET. Fix also a few draw artifacts. 2018-10-09 11:08:56 +01:00
jean-pierre charras a6d014d959 Fix some artifacts when drawing items, both on Cairo and Opengl.
Fix also incorrect selection of De Morgan style selection in SYMBOL_PREVIEW_WIDGET.
2018-10-09 11:08:56 +01:00
jean-pierre charras 88cdce8d62 Make SYMBOL_PREVIEW_WIDGET working, and using the canvas type of the caller. Fix an issue with F3 zoom key in libedit. 2018-10-09 11:08:56 +01:00
Jeff Young 97c83766db Refresh issues around sheet pins. 2018-10-09 11:08:56 +01:00
Jeff Young 96724af2c4 Ensure junctions and no-connects are visible even on fat wires.
Also adds a preference for junction size.

Fixes: lp:1545422
* https://bugs.launchpad.net/kicad/+bug/1545422
2018-10-09 11:08:56 +01:00
Jeff Young 8e09aa554a Improve dangling pin drawing logic. 2018-10-09 11:08:56 +01:00
jean-pierre charras 1a0f3b79cc Fix SCH_BITMAP handling in gal. 2018-10-09 11:08:56 +01:00
Jeff Young fee52e127f Add line style drawing. 2018-10-09 11:08:56 +01:00
Jeff Young 0063f2c12d Stroke rectangles after filling so fill doesn't cover 1/2 of stroke. 2018-10-09 11:08:55 +01:00
jean-pierre charras f1346030d7 sch_painter.cpp: fix a few incorrect color selections Fix also dangling symbol thickness of bus entries 2018-10-09 11:08:55 +01:00
Jeff Young 4fe58922aa Draw lines in wire, bus, or graphic color. 2018-10-09 11:08:55 +01:00
Jeff Young fa0124bee7 Enforce a minimum line thickness for labels. 2018-10-09 11:08:55 +01:00
jean-pierre charras 906c52deff minor compil warnings and drawings fix 2018-10-09 11:08:55 +01:00
Jeff Young 3c82ad3220 Finish up the block rotate/mirror fixes.
Block rotate and mirror now work like they do in Pcbnew (that is
they're treated as part of the block move/duplicate/whatever
rather than finishing it).

Fixes: lp:1780794
* https://bugs.launchpad.net/kicad/+bug/1780794
2018-10-09 11:08:55 +01:00
Jeff Young 7216eda202 Fix bugs in block operations.
1) when duplicating don’t keep original hidden until end of drag
2) reset selectionArea when showing it so it doesn’t flash in its previous location
3) center a pasted block on the cursor
4) don’t draw the source selectionArea when pasting a block
5) implement selection-style highlighting for contents of blocks
6) add pasted items to view so they don’t disappear when the block is placed

Fixes: lp:1747197
* https://bugs.launchpad.net/kicad/+bug/1747197
2018-10-09 11:08:55 +01:00
Jeff Young 27df8937b8 Apply a bit of transparency for body backgrounds while dragging. 2018-10-09 11:08:55 +01:00
Jeff Young 5fd20ee786 Implementation of ERC markers. 2018-10-09 11:08:55 +01:00
Jeff Young 1c52824913 Rewrite unit/convert handling so it also works for LibEdit. 2018-10-09 11:08:55 +01:00
Jeff Young e9c974fcdc Fix issues with orientation and justification.
Support all symbol orientations. (Yes, SCH_COMPONENT said only the
first 8 were used, but it lied.)

Fix cases where SetTextAttributes() was overwriting previously-
set justifications.

Correct rotation of vertical text.

Fix issue where bold global label would affect thickness of next
label's outline.
2018-10-09 11:08:55 +01:00
Jeff Young c3479154ca Fix draw order issues in eeschema and libedit.
Eeschema (where only the parent component is in the view) uses
draw order.

LibEdit (where the individual items are in the view) uses the
viewPriority setting.
2018-10-09 11:08:55 +01:00
Jeff Young 917943f8f8 Uniform handling of hidden objects. 2018-10-09 11:08:55 +01:00
Jeff Young 17ce36d4b7 Add dangling end support for lables and lines. 2018-10-09 11:08:55 +01:00
Jeff Young 893f7641ce Handle hidden and dangling pins. 2018-10-09 11:08:55 +01:00
Jeff Young 8a017d99d2 Fix pin drawing offsets and implement electrical type drawing. 2018-10-09 11:08:55 +01:00
Jeff Young 538a5d49ee Fix up GAL version of Symbol Viewer.
Also includes some preliminary work for supporting hidden pins,
pin electrical names, and other preferences.
2018-10-09 11:08:55 +01:00
Jeff Young a03dc577f8 Add support for units. 2018-10-09 11:08:55 +01:00
Jeff Young 8e915ae8d8 Add support for LIB_ALIAS objects. 2018-10-09 11:08:55 +01:00
Tomasz Wlostowski ccb594f599 eeschema-gal: support for global labels and bitmaps 2018-10-09 11:08:55 +01:00
Tomasz Wlostowski d8b9899516 eeschema-gal: configurable worksheet & grid colors 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