Commit Graph

37660 Commits

Author SHA1 Message Date
Ian McInerney 6c05801d9e Make the property grid compatible with wx 3.3 2023-04-12 18:57:12 +01:00
Ian McInerney a6be0eef4a Add const to a PGPROPERTY constructor to match upstream
The base class constructor expected a const string, and the other
PGPROPERTY constructors do as well, so make this const.

This was also a compile error when building against wx 3.3.
2023-04-12 18:57:12 +01:00
Ian McInerney 2b22ff9f39 Add missing include
The implicit includes have changed in wx 3.3, so this is no longer being
included in the file, so include it explicetly to et
wxMessageOutputStderr.
2023-04-12 18:57:12 +01:00
Ian McInerney 18e573d5e9 Remove stray wx include
There is no reason to include the actual string implementation header
here.
2023-04-12 18:57:12 +01:00
Ian McInerney 73a1e63e8e Modify how we print the wx version compat macros 2023-04-12 18:57:12 +01:00
Ian McInerney 871f7e05a5 Remove use of wxGRIDTABLE_REQUEST_VIEW_GET_VALUES from the appearance panel
That even was removed by upstream wxWidgets in
81570ae070
which is included in all versions after 3.1.1, so our 3.2 versions
definitely aren't doing anything when we pass this event. The actual
identifier has also been guarded behind a 3.0 compatibility define in wx
as of 3.3.
2023-04-12 18:57:12 +01:00
Ian McInerney 8f3bbf36f8 Replace __WXGTK20__ with __WXGTK__
We no longer care about a GTK2 vs 3 difference, we only support GTK 3.
2023-04-12 18:57:12 +01:00
Ian McInerney f0684510f0 Replace wxScopedPtr with std::unique_ptr
Upstream has deprecated wxScopedPtr and recommends users switch to using
std::unique_ptr instead.
2023-04-12 18:57:12 +01:00
jean-pierre charras c3ae2d4f43 Demos update 2023-04-12 17:16:50 +02:00
Ian McInerney 5d0b5e16ff Remove python-based board_item duplicate method
This method shadows the C++ method, and doesn't properly handle updating
the duplicated object's KIID to be unique.

Also add tests to ensure the KIIDs are unique after duplication.

Fixes https://gitlab.com/kicad/code/kicad/issues/14460
2023-04-12 16:05:56 +01:00
Ian McInerney a77e94d16f Add hack to speed up font choice box widget creation
There are problems internal to GTK that mean creating choice boxes with
a lot of items is a very slow process. This hack works around one of
those issues to make it faster to create and display the menu in the
choice box.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/14277
2023-04-12 15:23:34 +01:00
Jeff Young e1c9e0e6fc ADDED memberOfFootprint() to DRC custom rules functions.
Also added memberOfGroup(), and deprecated memberOf().
2023-04-12 14:06:09 +01:00
Jeff Young 66f48d56ae Separate sheet reloads (MODEL_RELOAD) and schematic reloads (SUPERMODEL_RELOAD).
Fixes https://gitlab.com/kicad/code/kicad/issues/14523
2023-04-12 11:51:09 +01:00
Jeff Young 6059e895d7 Fix a typo.
Fixes https://gitlab.com/kicad/code/kicad/issues/14515
2023-04-12 10:45:24 +01:00
jean-pierre charras de579af352 SCH_LABEL_BASE::SetPosition(): ensure field positions are also handled.
Fixes #14520
https://gitlab.com/kicad/code/kicad/issues/14520
2023-04-12 11:15:17 +02:00
jean-pierre charras f56e569a25 Ensure we do not use a non existing pin in SIM_MODEL::MigrateSimModel()
Fixes #14522
https://gitlab.com/kicad/code/kicad/issues/14522
2023-04-12 09:37:59 +02:00
jean-pierre charras 9b0a92552a French translation update 2023-04-12 08:25:43 +02:00
jean-pierre charras 8d206d6a67 LIB_TABLE_GRID_TRICKS, popup context menu: fix minor issues:
- add separator only if needed
- ensure selection parameters are up to date.
2023-04-12 08:12:22 +02:00
Marek Roszko bfad8bb0d5 Prevent VIEW::UpdateItems and onShowTimer from firing repaints if GAL did not complete init
This appears to be a possible event race on startup

Fixes sentry KICAD-10A
2023-04-11 22:09:05 -04:00
Marek Roszko 37eaa29679 Fix crash due to extra right parens in pcad files
Fixes sentry KICAD-TA
2023-04-11 21:52:39 -04:00
Marek Roszko ed94bc4bf9 Don't crash on empty pcad polygons
Fixes sentry KICAD-103
2023-04-11 21:38:59 -04:00
Jeff Young 01564a254f Make sure "Item" and "Description" end up in the translation database. 2023-04-11 23:56:12 +01:00
Jeff Young eef3492fc0 Make symbol/footprint trees sensitive to language change. 2023-04-11 23:51:58 +01:00
qu1ck 0c049eccc7 Fix a bunch of compiler warnings 2023-04-11 17:01:30 +00:00
Jeff Young 6fb30398ca Don't steal an existing via's hole. 2023-04-11 17:48:27 +01:00
jean-pierre charras b2554ad611 manage libraries dialog: show new state of widgets as soon as the context-menu
activate/deactivate changes their state
Fixes #14517
https://gitlab.com/kicad/code/kicad/issues/14517
2023-04-11 18:46:07 +02:00
Jeff Young ab0dbeb523 Post-holes-work cleanup. 2023-04-11 15:51:00 +01:00
Jeff Young 2f198bdcb2 Further simplify PNS::ITEM::collideSimple().
Also brings text_pns_basic's mocks into line with their "real"
counterparts.
2023-04-11 15:51:00 +01:00
Jeff Young 6f0d963683 Add PNS::ITEM::BoardItem() call.
About 1/3 of callers to Parent() don't care if they get the immediate
parent or not, about 1/3 want only the immediate parent, and about 1/3
want the hole parent's Parent().

I had earlier changed PNS::ITEM::HOLE to override Parent() and return
the hole parent's Parent(), but since the callers are pretty evenly
split I've reverted that and added BoardItem() for callers who want the
eventual BOARD_ITEM (whether a direct parent or a grandparent).

(Also removes a dead routine so I didn't have to figure out which of
the two it wanted....)
2023-04-11 15:51:00 +01:00
Jeff Young 8a0c225efa Unify most special-case processing to the clearance if-then-else.
This also allows us to support hole-to-hole clearance when dragging
a via near another via on the same net.

Fixes https://gitlab.com/kicad/code/kicad/issues/12781
2023-04-11 15:51:00 +01:00
Jeff Young b18bf09208 Don't return holes that have a parent pad or via.
(While we don't currently have holes without a parent pad or via, you
could imagine using HOLEs in the future to represent a hole in a first-class
board outline, so better not to build this assumption in.)
2023-04-11 15:51:00 +01:00
Jeff Young 4cc289c6fb Post-merge cleanup of holes-as-first-class-citizens. 2023-04-11 15:51:00 +01:00
Tomasz Wlostowski 1532a83330 router: hole as first-class-object, initial version of rewritten collision check routine
Rebased and modified by Jeff Young <jeff@rokeby.ie> 6 April 2023
2023-04-11 15:51:00 +01:00
Tomasz Wlostowski d961cdce3f router: further changes to the ownership model
- LINEs now own their vias optionally (depending whether a LINE with its VIA belongs to a node)
- get rid of unique_ptr on the internal NODE::Add API (and also made it private)
- make sure stack pointers are not added to the node
- use rvalue reference for NODE::Add/NODE::Replace

Manually rebased by Jeff Young <jeff@rokeby.ie> 5 April 2023
2023-04-11 15:51:00 +01:00
Tomasz Wlostowski bfbda978b8 router: hole as first class objects, wip
Rebased by Jeff Young <jeff@rokeby.ie> 5 April 2023

(Also includes a bug-fix for highlighting collisions with edge-cut
items.)
2023-04-11 15:51:00 +01:00
Jeff Young 507a25f150 Don't call BuildInitialTrace() for entry gateways.
We're going to call it to connect the entry and target gateways
anyway, so all we need are gateways at 22.5 degrees to setup entry
at +/- 45 degrees from the current direction.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/12459
2023-04-11 15:34:55 +01:00
Jeff Young cec4109176 Don't assume an EDA_ITEM is a SCH_ITEM.
(It might in fact be a LIB_ITEM, which we don't put in
the RTree anyway.)

Fixes https://gitlab.com/kicad/code/kicad/issues/14516
2023-04-11 15:26:39 +01:00
Jeff Young 11995c1350 Improve readability. 2023-04-11 15:26:39 +01:00
jean-pierre charras e208685f85 DIALOG_SHIM: fix missing aEvent.Skip() in DIALOG_SHIM::onChildSetFocus().
This method was added in commit a914f6e9.
Missing Skip() created issues on Windows (text edit cursor not shown in dialogs)
2023-04-11 10:54:50 +02:00
Marek Roszko ca770c79ab Make libcontext build statically
Fixes an issue combining cpp and obj files explicitly on arm64
2023-04-10 21:22:04 -04:00
Marek Roszko b20bfb2ae8 Remove arch specific manifests
I copied it from wxWidgets originally in a rush but we can just wildcard the processor arch
2023-04-10 20:34:19 -04:00
Marek Roszko 9c0dda2d56 Allow LEMON_EXE to be set externally, required for cross compiling 2023-04-10 20:34:18 -04:00
qu1ck a6d10c8e97 Enable warnings on msvc 2023-04-11 00:17:50 +00:00
Marek Roszko 32a747374f Fix the #ifdef for the release_fcontext stub
As if the if def hell was easy to read
2023-04-10 19:12:27 -04:00
Marek Roszko 726b137fed Fix libcontext arm64 build and purge winfiber
The winfiber implementation ran into memory leak issues as it didnt exit the stack jumps correctly
and lets not mislead anyone by keeping it
2023-04-10 18:07:35 -04:00
Mike Williams 32eb1ef77e Sch->PCB: propagate DNP from symbols to footprints attributes
Also add a 3D viewer toggle.
2023-04-10 13:11:21 -04:00
Jeff Young a914f6e992 First <ESC> after an edit in a textEdit cancels the edit.
(Second will exit the dialog.)

Fixes https://gitlab.com/kicad/code/kicad/issues/14514
2023-04-10 15:13:43 +01:00
jean-pierre charras f01e083f7c fix 2 issues related to SCH_GLOBALLABEL items:
- Ensure the first field in m_fields has id = 0 to be seen has hypertext
(it was not the case after reading a .kicad_sch file)
- when converting this item to another label/text, remove this special Field
from the copied field list to the converted label.
2023-04-10 09:58:27 +02:00
Jeff Young adc213a04d Add Keep Upright to properties inspector.
Fixes https://gitlab.com/kicad/code/kicad/issues/14421
2023-04-10 00:00:54 +01:00
Jeff Young d040690f60 Ease acquisition of a target item.
pickSingleItem() had a two-attempt algorithm, but the second attempt
was never made because we'd check for no hits before throwing out the
aAvoidItems.

The second attempt would fail anyway because QueryHoverItems() ignored
the aUseClearance flag when not idle, and didn't factor in the actual
clearance.
2023-04-09 22:05:17 +00:00