Commit Graph

40 Commits

Author SHA1 Message Date
Wayne Stambaugh e904731e28 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.

(cherry picked from commit c5a02fc266)
2024-03-16 09:36:56 -04:00
Jeff Young a34b242f4e Delete empty Netclass fields only if there are others.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/16997
2024-02-22 23:37:08 +00:00
Marek Roszko c2989132ac DeselectRow as we delete rows to avoid asserts 2024-01-25 20:37:00 -05:00
Jon Evans eb5b3db063 Add bitmap bundle support to BITMAP_SCALE
Change a bunch of buttons and toolbars to use it

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14119
2023-10-22 14:02:06 -04:00
Jeff Young 0310973e3f Push TEXT_SPIN_STYLE from SCH_TEXT out to SCH_LABEL_BASE.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15444
2023-09-07 17:42:51 +01:00
Seth Hillbrand f7f67c6d53 Sort the bus alias set by name
If we place pointers in a set, they are sorted by the pointer value in
memory, not the data, so we need a custom comparator

Fixes https://gitlab.com/kicad/code/kicad/-/issues/11890
2023-07-21 09:03:35 -07:00
Jeff Young 922f7128a9 Move item updating and view refresh to SCH_COMMIT::Push().
Fixes https://gitlab.com/kicad/code/kicad/-/issues/15132
2023-07-07 15:40:01 +01:00
Jeff Young 8f1b9119bf Upgrade some symbol editor stuff to SCHEMATIC_COMMIT.
Also renames SCHEMATIC_COMMIT to SCH_COMMIT since it's not schematic-specifc.
2023-06-09 22:41:47 +01:00
Jeff Young dcfd426333 Upgrade some dialogs to SCHEMATIC_COMMIT. 2023-06-09 22:41:47 +01:00
Jeff Young b41d446f58 Fix a bunch more issues with sheetpaths and allowExtraText.
A sheetpath is required to correctly resolve text variables.
Depending on currentSheet is rife with bugs.

There are many places where we do *not* want to be prepending
field names to the field values, such as netlisting,
building PDF hypertext menus, etc.

Also, Find/Replace needs to work on unresolved text, as
that's what we're going to display (and if replace nuked
your variable references you wouldn't be happy).
2023-05-05 17:23:52 +01:00
Seth Hillbrand a154571438 Add ability to update subgraphs based on changeset
Previously, almost all connectivity updates were full updates, meaning
that the entire connectivity graph would be rebuilt each time a change
was made to the schematic.  This update modifies the update to only
correct the subgraphs that are directly affected by the change.

It uses the existing connection graph to find all affected subgraphs as
well as connections to the changes based on the visible schematic.
These elements are removed from the existing connectivity graph and
marked dirty.  They then have a new connectivity graph built only around
their changes.  The resulting graph is merged into the original.

Currently, this ability is behind an advanced config flag
`IncrementalConnectivity` while testing.

Fixes https://gitlab.com/kicad/code/kicad/issues/10846

Fixes https://gitlab.com/kicad/code/kicad/issues/1794
2023-04-19 16:14:35 -07:00
Jeff Young 8e29a054f3 Performance improvement for GetShownColumns.
(This needs to be fast as it's called from OnUpdateUI events.)
2023-04-13 13:45:22 +01:00
Jeff Young ef0d561a5c Less nagging. (If we need a field name, then create one.)
Also cleans up empty fields when exiting the dialog.
2023-03-19 20:43:18 +00:00
jean-pierre charras 8b144539e8 DIALOG_LABEL_PROPERTIES, add global label: better filtering of candidates.
The list of candidates (names) must be restricted to existing global labels
and symbols creating a global net name: power symbols having only one power
input pin (a power output does not create net name).
Fixes #14319
https://gitlab.com/kicad/code/kicad/issues/14319
2023-03-16 15:31:39 +01:00
Jeff Young f41f04b301 Hook up AddField handler to GRID_TRICKS for SCH dialogs.
Fixes https://gitlab.com/kicad/code/kicad/issues/git/14153
2023-03-02 18:17:41 +00:00
Marek Roszko aacc9746e3 Yeet the last of wxSize/wxPoint to stop leaking gdicmn everywhere 2023-02-18 22:57:18 -05:00
Ian McInerney a78e5b0141 Hide empty sizer in directive label dialog
Possibly fixes: https://gitlab.com/kicad/code/kicad/-/issues/13675
2023-01-27 22:25:33 +00:00
Mike Williams 5a2f4c445b Global Label Dialog: add power nets to dropdrown
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9118
2023-01-19 12:47:32 -05:00
Marek Roszko d2c0f5fc2a More wxSing 2023-01-16 23:14:38 -05:00
Mike Williams e65de51fc7 Schematic: label auto orientation needs to respect move/drag/change
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/13226
2022-12-28 14:30:57 -05:00
Jeff Young 13b73ed6b4 Remember dialog sizes for dialogs that might have lots of fields.
This is mainly for simulation testing where the dialog has to be
grown every time you restart the app, but it might as well be applied
to the similar dialogs.

Fixes https://gitlab.com/kicad/code/kicad/issues/12887
2022-12-24 22:20:03 +00:00
Jeff Young c0872364d4 Get rid of bloated bitmap buttons on wxWidgets 3.2. 2022-12-13 20:48:02 +00:00
Jeff Young 1b3f03a800 Don't feed wxWidgets negative column widths. 2022-11-16 13:33:55 +00:00
Jeff Young 838bd7292c Default intersheet ref field visibility to off, and show warning
when user tries to edit via Symbol Properties or Field Propeties.
2022-09-26 21:00:46 +01:00
Jeff Young fc10db25ba Netclass directive and label conversion improvements.
1) Copy label fields when converting.
2) Don't assume netclass directive should be net name -- this is very
unlikely.
3) Don't show font controls in Netclass Directive Properties dialog --
there's no basic text associated witha  Directive Label.
2022-09-22 01:22:19 +01:00
Jeff Young 536561f7b3 Move bus aliases to std::set.
This is mostly to output the aliases sorted (for ease of VCS integration),
but also because a btree will be faster than hashing on a small dataset.

Fixes https://gitlab.com/kicad/code/kicad/issues/11890
2022-09-11 19:48:08 +01:00
Jeff Young ec414c88a2 Don't leave space for auto rotate checkbox when its hidden. 2022-09-01 14:27:16 +01:00
Jeff Young 942732057b Add bus aliases to pre-canned labels in the label combobox.
Fixes https://gitlab.com/kicad/code/kicad/issues/12248
2022-08-20 16:07:59 +01:00
Miklos Marton d30af7c164 eeschema: Add automatic rotate feature for placing global and
hierarchial labels
2022-07-05 17:02:45 +00:00
Jeff Young 52bc2511cd Add a radioButton mode to IMAGE_BUTTON.
Fixes https://gitlab.com/kicad/code/kicad/issues/11797
2022-06-12 20:09:46 +01:00
Jeff Young f9f0f6fe24 Implement cross-references for labels.
Fixes https://gitlab.com/kicad/code/kicad/issues/11564
2022-05-07 21:10:04 +01:00
Jeff Young a644aad1cf Hand-code tab navigation from value field of Label Properties dialog.
wxWidgets doesn't appear to handle it correctly, doing nothing on OSX
and potentially crashing on GTK.

Fixes https://gitlab.com/kicad/code/kicad/issues/11572
2022-05-06 18:14:25 +01:00
Jeff Young e8a543f1ea Colors for text in PL_Editor and Eeschema.
Fixes https://gitlab.com/kicad/code/kicad/issues/1952
2022-03-31 19:43:56 +01:00
Jeff Young c5d85e0b7e Don't try to open cell editor on first focus.
It hasn't worked since we rejiggered the default grid selection mode
anyway, and for some reason it eats <esc> key events after the dialog
has been resized.

Fixes https://gitlab.com/kicad/code/kicad/issues/11015
2022-03-03 02:06:48 +00:00
Jeff Young fd4b4533b1 Remove some code that isn't used anymore. 2022-03-03 02:06:48 +00:00
Jeff Young c6a8100d46 Schematic and symbol text boxes.
Also fixes some plot bugs with arcs.

Also moves polygonization of arcs (when required) in plotting code
from 5 degrees to calculated based on ARC_HIGH_DEF.

Fixes https://gitlab.com/kicad/code/kicad/issues/5017
2022-01-28 21:38:15 +00:00
Jeff Young 3409783d9f Break sch_text.h/.cpp into sch_text and sch_label.
Also moves SCH_NETCLASS_FLAG to SCH_DIRECTIVE_LABEL, and remaps Altium
harnesses from SCH_TEXT to SCH_DIRECTIVE_LABEL.
2022-01-28 21:38:15 +00:00
Jeff Young a2030a5956 GUI for font selection. 2022-01-08 16:47:45 +00:00
Jeff Young c3552a940a Make sure standard OK/Cancel buttons respond to current language.
Fixes https://gitlab.com/kicad/code/kicad/issues/9635
2021-12-24 18:13:11 +00:00
Jeff Young 889970a449 SCH_NETCLASS_FLAGs and SCH_FIELDs for labels.
ADDED: a new label type for netclass flags.
ADDED: the ability to define fields on labels.
2021-12-24 16:13:27 +00:00