Jeff Young
e8be782687
Mostly clean-up, but also bug fixes with bounding boxes.
2024-04-22 11:16:14 +01:00
Jeff Young
320f531110
Improve inheritance processing; simplify hidden flag.
2024-04-21 12:19:22 +01:00
Jeff Young
c0f480eea8
Lint reduction.
2024-04-21 12:19:22 +01:00
Jeff Young
95136494b3
RIP LIB_PIN.
2024-04-20 12:10:31 +01:00
Marek Roszko
96cdfc7fa7
Update equality overloads for C++20
...
C++20 added new reverse and rewritten candidates. This can confuse the compiler because it'll test both A==B and B==A for overloads.
Because we were defining parent class equality overloads, A==B and B==A was considered ambigious due to both being compatible in casting.
So we needed to add explicit child class equality operator overloads
2024-04-12 23:05:58 -04:00
Jeff Young
1028a76e4a
Harmonize print/plot APIs.
2024-04-06 09:34:56 +01:00
Jeff Young
c5ed80af52
Harmonize rotate APIs.
2024-04-06 09:34:56 +01:00
Jeff Young
92910d5d0f
Factor common parts of SCH_ & LIB_SYMBOL into SYMBOL.
2024-04-04 13:18:55 +01:00
Wayne Stambaugh
c5a02fc266
Do not update schematic connectivity for irrelevant property changes.
...
Prior to this change, the schematic connectivity was updated any time a
change was made to a connectable object. Now the connectivity is only
updated when an object change actually affects the connectivity. Other
properties like line width, fill type, custom fonts, etc. will not cause
the connectivity graph to be rebuilt.
The SCH_COMMIT flag SKIP_CONNECTIVITY has been removed. All schematic
objects can test if they are connectable and if there have been changes
to any connection properties that require a connectivity rebuild.
Remove duplicate rebuild connectivity calls from editor control tool.
This was causing the tangling end test to get called four times on every
undo and redo action because the dangling end test is already called in
the connectivity graph calculation code.
Update connectivity when changing label names which fixes an unreported
connectivity bug.
2024-03-09 08:50:26 -05:00
Wayne Stambaugh
1ac5666164
Do not de-reference null library pin object pointers in SCH_PIN object.
2024-02-09 11:07:04 -05:00
Wayne Stambaugh
466c707e91
Check for invalid library pin object pointer.
2024-01-31 12:17:11 -05:00
Seth Hillbrand
d99641be40
ADDED: Git integration support
...
Adds support for project-based git integration, branch support, commit,
revert and updates
Fixes https://gitlab.com/kicad/code/kicad/issues/10441
2023-10-20 12:51:47 +00:00
Seth Hillbrand
bdb7b99fc8
Don't destroy the pin cache in symbols
...
SCH_PIN pointers are used through KiCad and removing them without a
global refresh risks crashes. A safer approach is to simply reuse the
SCH_PIN structures, updating the data to the revised library
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15715
2023-09-22 11:28:30 -07:00
Jon Evans
148e111579
Refactor pin orientation to be an enum class
...
Add various LIB_PIN properties
2023-07-26 23:46:15 -04:00
Mike Williams
ca5004b1d2
Power Symbols: rename IsPowerConnection to IsGlobalPower
...
It's kind of confusing because we have power type pins, and pins that
make global power nets as part of power symbols.
2023-02-22 18:01:47 +00:00
Jeff Young
bc108023b3
ADDED operating point overlay for SCH_EDIT_FRAME.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11253
2023-02-11 21:11:07 +00:00
Jon Evans
c530bdb5a1
Rename GetSelectMenuText to GetItemDescription
...
This descriptive text is used for many more things than
just the select menu these days.
2023-01-11 22:27:44 -05:00
Jeff Young
64a6fc0fd4
Push UNITS_PROVIDER down into a low-level mixin.
...
This allows us to also construct cheap UNIT_PROVIDERs for specific
tasks when necessary.
2022-09-19 17:10:59 +01:00
Seth Hillbrand
16479277cc
Catch connection errors when stacked pins have NC flags
...
Don't flag the error as having a connected net with an NC flag. Stacked
pins are not connected in that sense, so are allowed an NC flag
2022-09-09 17:21:57 -07:00
Jeff Young
f17a865593
Move EDA_ITEM hitTest to BOX2I.
2022-08-31 17:18:45 +01:00
Jeff Young
2dc6300501
Move EDA_ITEM bounding boxes to BOX2I.
2022-08-31 10:16:55 +01:00
Marek Roszko
e0f28fc4e1
Replace wxFindReplaceData with our own container
...
By dropping the flags, we can be strict with options.
Also it makes future usage of search functionality a little more "UI" framework independent
2022-08-23 22:16:51 -04:00
Jeff Young
3def3d659e
Allow click-selection and greedy-drag selection of visible pin text.
...
Stingy drag still works only on the pin itself.
Fixes https://gitlab.com/kicad/code/kicad/issues/11723
2022-07-23 23:27:14 +01:00
Alex
c6d9dcdad5
Schematic editor: allow box-selecting pins.
2022-07-18 18:51:52 +00:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Jeff Young
653c7b78d7
Move NC pin logic so we set it before we need it.
...
Also fixes drawing the dangling symbol in the Pin Properties dialog
and when printing.
Fixes https://gitlab.com/kicad/code/kicad/issues/9962
2021-12-12 22:25:36 +00:00
Jeff Young
2e342ed8c9
Draw dangling symbols on a separate layer.
...
This allows us to draw them in front of wires, pins, and most
importantly, junction dots.
Fixes https://gitlab.com/kicad/code/kicad/issues/9667
2021-12-06 18:50:50 +00:00
Mikolaj Wielgus
71bfbfaa70
Test SCH_PIN rotation and mirroring
2021-11-28 19:37:13 +01:00
Jeff Young
7fc04c3cf2
Fixes for realtime connectivity being off.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9628
2021-11-24 13:20:44 +00:00
Jeff Young
5f3c67bd2b
Fill in some missing GetMsgPanelItems and make some others consistent.
...
Also expunges a std::vector<MSG_PANEL_ITEM> cover type.
2021-09-27 00:23:40 +01:00
Jeff Young
0484ca5564
Separate LIB_PIN and SCH_PIN GetShownName/Number processing.
...
SCH_PIN wasn't handling the legacy empty string token (~), but
more importantly this will allow text variable resolution specific
to the schematic.
Fixes https://gitlab.com/kicad/code/kicad/issues/8625
2021-06-17 10:52:46 +01:00
Jeff Young
bcdec0dea7
Move '~' pin name processing to LIB_PIN and SCH_PIN.
...
This will also allow us to do variable processing in the future if
desired.
2021-06-12 19:54:34 +01:00
Wayne Stambaugh
fbc135e69f
Rename SCH_COMPONENT to SCH_SYMBOL.
2021-06-10 10:34:49 -04:00
Wayne Stambaugh
9ebabb222c
Pass objects by reference instead of on the stack.
2021-06-08 10:09:38 -04:00
Wayne Stambaugh
925b6d9387
Eeschema header housekeeping round 2.
2021-03-25 17:55:16 -04:00
Jeff Young
7a13ad7b17
Consistent naming.
2021-03-19 23:06:19 +00:00
Jeff Young
2a7e60960a
Use standard mirror icons & terminology.
...
Also use standard group icons.
Also put both (and rotate commands) in toolbar.
Fixes https://gitlab.com/kicad/code/kicad/issues/7504
2021-02-16 21:11:36 +00:00
Jeff Young
10c6e0bc46
Cache entries are dependant on setting of aForceNoConnect
...
Don't use a result cached when aForceNoConnect was false when
aForceNoConnect is true.
2021-01-23 00:10:01 +00:00
Jeff Young
f5e35af1a5
Transmit pin electrical types through to pads.
2021-01-23 00:10:01 +00:00
Jon Evans
02681fcf0e
Move no-connect processing to connection graph
...
This way the net names can be inspected in eeschema and cross-probing works.
Testcases updated for the name changes
CHANGED: all unconnected pins are now included in the netlist with no_connect_ prefixes
2021-01-14 20:55:49 -05:00
Dominik Wernberger
ec0af24f13
Make wxFindReplaceData argument const
2021-01-12 20:51:31 +00:00
Dominik Wernberger
bb2881a5ab
Make RENDER_SETTINGS argument const
2021-01-12 20:51:31 +00:00
Jeff Young
b227d2b910
More component -> symbol.
2020-11-15 20:23:15 +00:00
Jeff Young
6654c03041
Embarking on the next adventure: component -> symbol.
2020-11-15 20:23:15 +00:00
Jeff Young
a6d4ce2a5c
Finish impl of alternate pins.
...
It appears this got shelved while waiting for the sexpr format to be
firmed up, and then I forgot about it.
Fixes https://gitlab.com/kicad/code/kicad/issues/6189
2020-10-28 13:01:42 +00:00
Marek Roszko
a785f70ea1
msgpanel is a widget, shove it to the right folder.
2020-10-25 20:01:12 -04:00
Mark Roszko
c940a45937
ADDED: Autostart wires in eeschema
...
Allows wires to be automatically started by clicking over a connection point
2020-10-01 23:53:47 +00:00
Jeff Young
1ea08f27f8
Keep local number up-to-date so we don't have to look at libPin's.
...
The libPin, in particuar, may have been freed.
Fixes https://gitlab.com/kicad/code/kicad/issues/5399
2020-08-31 20:09:47 +01:00
Jeff Young
97c34e2516
ADDED alternate pin definitions and assignments.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2002
2020-08-21 18:29:36 +01:00
Seth Hillbrand
275e810573
eeschema: Use recursive mutex for SCH_PIN
...
We need to be able to lock individual actions while keeping the code
modular. The recursive mutex keeps this thread-local.
Fixes https://gitlab.com/kicad/code/kicad/issues/5186
2020-08-14 18:42:11 -07:00