Wayne Stambaugh
a5411218a2
Fix minor board file white space formatting issue.
2023-06-21 13:42:24 -04:00
Jeff Young
0fde88eefc
Protect custom rule function caches from transient items.
2023-06-21 18:14:41 +01:00
Jeff Young
94a23971cc
Performance improvements.
2023-06-21 17:00:32 +01:00
Jeff Young
7138e8a62e
Don't double-create pins when migrating old models.
2023-06-21 16:34:35 +01:00
Mike Williams
043ed0b148
Schematic: fix up more field ID parsing to fix QA
2023-06-21 10:51:28 -04:00
Ian McInerney
19f5c16708
Ensure const-ness matches across draw wire event parameters
2023-06-21 14:06:25 +01:00
Ian McInerney
5d718617a2
Remove non-wx assert path to match rest of code
...
The WX_COMPATIBILITY mode is always assumed now (the option was removed
previously), but the define is no longer present. So remove the old code
that checked for it and just leave the wxASSERT statements.
2023-06-21 13:46:58 +01:00
Ian McInerney
a2bd7192c0
Add default empty symbol to place symbols/power actions
2023-06-21 13:42:21 +01:00
Kuba Sunderland-Ober
b60f7d4136
Make comparison operators const.
2023-06-21 08:49:26 +00:00
Mike Williams
5b4ddaba89
Schematic: fix field parsing when some mandatory fields are missing
2023-06-20 22:05:03 -04:00
Marek Roszko
74d6dc6642
ADDED: Startup splashscreen
...
This is purely loading in the background based and has no artificial delay.
Will be more useful once kicad.exe ends up loading more on launch immediately ;)
Right now the splash is probably visible the longest launching pcbnew standalone.
The actual splash image can be considered a placeholder
2023-06-20 20:51:08 -04:00
Mike Williams
fa84575510
FP Text Grid: avoid ambiguous fallthrough
...
Works, but bug-prone and suspicious looking.
2023-06-20 19:23:29 -04:00
Ian McInerney
00885ab5b2
Fix mock implementation of NeighboringSegmentFilter
...
This was missed in 3c24ddd8cc
.
2023-06-20 22:40:38 +01:00
Ian McInerney
f14feafc6b
Convert selection vector to EDA_ITEMS for base tool call
...
The base tool expects a generic EDA_ITEMS, but the existing vector
doesn't easily cast, so add a temporary one.
2023-06-20 21:52:50 +01:00
Ian McInerney
f899d9676f
Remove unneeded parameter from tool call
2023-06-20 21:52:50 +01:00
Ian McInerney
0a3b6c2d23
Fix call to properties when editing newly placed dimension
...
The edit is intended to be on the newly placed dimension, but the actual
properties tool doesn't take an item, so it was always looking up the
item to edit using the current selection/cursor position. Make this more
robust by just calling the edit properties directly on the item.
2023-06-20 21:52:50 +01:00
Ian McInerney
3c24ddd8cc
Fix passing CLIENT_SELECTION_FILTER through the tool framework
2023-06-20 21:52:50 +01:00
Ian McInerney
480223f67c
More RunAction specialization
2023-06-20 21:52:50 +01:00
Ian McInerney
b0363023a5
Parameterize the tool manager RunAction function to ensure type stabilty
2023-06-20 21:52:50 +01:00
Ian McInerney
5b2ede9e62
Add default empty filenames to the kicad manager actions
2023-06-20 21:52:50 +01:00
Ian McInerney
3718ecfcd8
Simplify forcing action parameters to have a specific type
2023-06-20 21:52:50 +01:00
Ian McInerney
07cc85e76c
Fix more places where casts into RunAction were happening
2023-06-20 21:52:50 +01:00
Ian McInerney
8f3d159905
Update the net highlight action to properly use the action parameters
2023-06-20 21:52:50 +01:00
Ian McInerney
6a2dcd1936
Refactor 3D viewer view into enum class
2023-06-20 21:52:50 +01:00
Ian McInerney
6c031a4aa4
Fix some more incorrect types in event parameters
2023-06-20 21:52:50 +01:00
Ian McInerney
55a7cfcf36
Translate doDelete action to new framework and add default parameter
2023-06-20 21:52:50 +01:00
Ian McInerney
9ebe6e7614
Update tool manager to handle the std::any parameters
2023-06-20 21:52:50 +01:00
Ian McInerney
8b833211b5
Add parameter to repair board action
...
The tool checks for a boolean action, so default to giving false (which
makes it run in interactive mode).
2023-06-20 21:52:50 +01:00
Ian McInerney
d66d1f2d6d
Remove void* from project manager action parameters
...
This isn't needed with new std::any framework
2023-06-20 21:52:50 +01:00
Ian McInerney
9b63c57f5f
Switch remainder of cvpcb actions to new args system
2023-06-20 21:52:50 +01:00
Ian McInerney
b04e54dbea
Switch TOOL_EVENT and TOOL_ACTION to have a std::any parameter
...
Using std::any from C++17 allows for proper type handling in the
parameter field, removing the need for casting to void* and then casting
the void* to the desired type.
2023-06-20 21:52:50 +01:00
Ian McInerney
0a22bb951c
Add custom UI IDs to the action framework
...
This replaces a hack where the parameter was used to identify a custom
UI ID with a proper solution. This moves the cut/copy/paste actions to
the new system, but more like help/quit/close should also be moved over
in the future.
2023-06-20 21:52:50 +01:00
Ian McInerney
d0d0be196b
Initial port of some actions to new chaining construction
2023-06-20 21:52:50 +01:00
Ian McInerney
b63bbdea5f
Add function-chain contructor for TOOL_ACTION
...
A function-chain constructor method allows for the long list of
parameters to the constructor to be shrunk to only the ones needed by
each action, and allow self-documenting code for what each part of a
TOOL_ACTION constructor does.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/7617
2023-06-20 21:52:50 +01:00
Mike Williams
1d26b454f4
SCH -> PCB Fields: bump file versions
2023-06-20 18:34:52 +00:00
Mike Williams
86e0e1cccb
PCB, Change Footprint: actually update text attributes
2023-06-20 18:34:52 +00:00
Mike Williams
a24c55affe
PCB Fields: fix up python, API
...
Remove SetFields from both symbol and footprint, it doesn't handle
mandatory fields and is unlikely to ever be safe.
2023-06-20 18:34:52 +00:00
Mike Williams
85c633eb00
QA: PCB Fields bug fixes
2023-06-20 18:34:52 +00:00
Mike Williams
85f889bc19
Fields: Description now mandatory
...
Propagate from symbols to footprints, footprints keep a library
description, too. (GetLibDescription())
2023-06-20 18:34:52 +00:00
Mike Williams
636db607c1
Footprints: upgrade Sheetpath and Sheetfile to tagged items in file
...
Rather than loose kv properties.
2023-06-20 18:34:52 +00:00
Mike Williams
993bb84240
PCB_FIELD: bug fixes
2023-06-20 18:34:52 +00:00
Mike Williams
b81fcaeaf7
PCB Fields: use validators in dialogs, restrict editing of footprint
2023-06-20 18:34:52 +00:00
Mike Williams
7d84fa2a9d
Validators: drop unused is m_isLibEditor
2023-06-20 18:34:52 +00:00
Mike Williams
ddafa2e75d
Common: move SCH_FIELD_VALIDATORS to FIELD_VALIDATORS
...
Fields are now common across PCB/SCH
2023-06-20 18:34:52 +00:00
Mike Williams
ad7d9ec956
PCB: footprint properties dialog fields fixes
2023-06-20 18:34:52 +00:00
Mike Williams
74606cda9c
PCB: text properties dialog should indicate "Offset X/Y:" properly
2023-06-20 18:34:52 +00:00
Mike Williams
78f1040f33
PCB Fields: register with properties manager
2023-06-20 18:34:52 +00:00
Mike Williams
00f6f5011c
PCB Fields: add saving / reading support to PCB files
...
Use common text effects parsing with PCB_TEXT
2023-06-20 18:34:52 +00:00
Mike Williams
6d93950dcc
PCB: abolish TEXT_TYPE::TEXT_is_*
...
PCB_TEXT is now always what was formerly TEXT_is_DIVERS and PCB_FIELDs
now what mandatory field type they are already.
2023-06-20 18:34:52 +00:00
Mike Williams
37837dc392
PCB: introduce PCB_FIELD_T
2023-06-20 18:34:52 +00:00