Jeff Young
0c8787cbb9
Some more wxPoint/EDA_RECT yeeting.
2022-08-31 00:44:33 +01:00
Seth Hillbrand
b736460e71
Move optional access from value() to *operator
...
`value()` throws. Where we check for existence, we don't need to use
the throwing version and should just use the unprotected variant
2022-08-30 13:59:39 -07:00
Seth Hillbrand
91fbb5c957
Don't prevent immediate actions while router active
...
Immediate actions that can take place are useful. We should only be
preventing immediate actions while actively routing or dragging
Fixes https://gitlab.com/kicad/code/kicad/issues/12311
2022-08-30 10:31:29 -07:00
Jeff Young
63386ba64d
Pointer safety for ERC/DRC dialogs.
...
Also makes the "Edit ingored violations" easier to find.
Fixes https://gitlab.com/kicad/code/kicad/issues/12308
2022-08-30 12:07:19 +01:00
Marek Roszko
8dddc07f26
Remove #ifndef that's redundant
...
This seems to date back to once upon a time when gerbview didn't even use base_units
2022-08-29 23:24:48 -04:00
Marek Roszko
a8a75a91e1
Try and fix file encoding
2022-08-29 20:57:14 -04:00
Marek Roszko
03aa63bd50
Move 5 helpers to EDA_UNIT_UTILS since they aren't iu specific
2022-08-29 20:11:03 -04:00
Marek Roszko
99f8bb3219
panel_gal_display_options can be common
2022-08-29 18:18:38 -04:00
Marek Roszko
f0956e48f2
Make EDA_TEXT common
...
Since EDA_TEXT is a base class, we can just force the child classes to pass the correct iu scaled size
ALLOW_BOLD_THICKNESS removed because it's a pre-custom font holdover
2022-08-29 07:31:03 -04:00
Marek Roszko
1a7157fe37
Remove unused include
2022-08-29 07:31:03 -04:00
Marek Roszko
b1eff8abd4
Fix leftover base_screen.cpp
2022-08-28 19:41:52 -04:00
Marek Roszko
5ebd3b2d80
Make EDA_SHAPE common
...
Looks like it's dependency on unit macros was dropped some time ago
2022-08-28 19:35:41 -04:00
Jon Evans
ba3e31bd09
GRID_TRICKS: Allow toggling checkboxes in a set of selected rows
2022-08-28 18:30:08 -04:00
Jeff Young
48f77973da
Another try at getting the Link combobox working on MSW.
2022-08-28 23:25:01 +01:00
jean-pierre charras
abc7335fd7
Cosmetic enhancement: add two missing icons
2022-08-28 16:01:26 +02:00
Jon Evans
474d732d94
Fix for wx3.2
2022-08-28 08:53:25 -04:00
Jon Evans
7d73376bbd
Fix assertion when no netclass assignments exist
2022-08-28 08:28:13 -04:00
Jeff Young
95fd7cb80a
Move wxComboBox to wxBitmapComboBox in hopes it will work better.
...
(Not sure if it solves the MSW issues yet, but at least it highlights
the items in the dropdown on rollover on OSX.)
Also added some text to the dropdown menu for intersheet references in
the PDF.
2022-08-28 12:05:27 +01:00
Jeff Young
c0d2052e4b
PDF hypertext menus for intersheet references.
2022-08-27 23:58:13 +01:00
Jeff Young
560dc7d2b6
Underline for hypertext rollovers.
2022-08-27 23:58:13 +01:00
Jon Evans
49354e52a8
Add support for sub-libraries concept
...
Sub-libraries allow a single-level hierarchy inside a symbol library.
This is useful for database libraries and for supporting other EDA library types where a
single file can contain multiple logical groupings of symbols.
2022-08-27 18:47:39 -04:00
Roberto Fernandez Bautista
a76d1a791d
Hyperlinks: Don't forget about file:// protocol
2022-08-27 23:16:28 +01:00
Roberto Fernandez Bautista
f73a3f852e
Hyperlinks: Fix URL validation for https
2022-08-27 22:45:19 +01:00
Jeff Young
122a6d7f46
Move hypertext linking to user-page-numbers.
...
Also moves most navigation code to SCH_NAVIGATION_TOOL.
Also changes page number href to anchor syntax ('#foo').
Also adds hypertext processing to SCH_TEXTBOXes.
Also adds combobox with schematic pages to text properties dialog.
2022-08-27 19:17:43 +01:00
Roberto Fernandez Bautista
9b007ca4bf
ADDED: Go to page hyperlinks in schematic editor (virtual page numbers)
...
The problem is that "real" page numbers can be duplicated, so we work around it
by using virtual page numbers instead which are guaranteed unique.
Example "goto:3" will go to page 3. If customised page numbers are used such as
a, b, c, then to go to page b, we should specify goto:2 (i.e. the virtual page
number).
2022-08-27 19:17:42 +01:00
Roberto Fernandez Bautista
5d90f3f54f
WIP - fix up parsing + generalise to the pcb
2022-08-27 19:17:42 +01:00
Roberto Fernandez Bautista
3cd867e656
WIP - add hyperlinks to pages within pdf
2022-08-27 19:17:42 +01:00
Roberto Fernandez Bautista
f788945cf4
Add pdf output to hyperlinks
2022-08-27 19:17:42 +01:00
Roberto Fernandez Bautista
366b0ab08b
Fix variable naming in pdf plotter
2022-08-27 19:17:42 +01:00
Roberto Fernandez Bautista
20ed9b475b
Configurable hyperlink hovering color
2022-08-27 19:17:42 +01:00
Roberto Fernandez Bautista
840bcffefb
ADDED: Hyperlinks on text items in Schematic Editor
2022-08-27 19:17:42 +01:00
Marek Roszko
9acc5ac7ea
base_screen became free of base_unitry awhile ago
2022-08-27 14:02:51 -04:00
Marek Roszko
bf964d8678
Commonize page_info by simply making the Iu scale a parameter on call.
2022-08-27 13:36:00 -04:00
Roberto Fernandez Bautista
7d5bdd23de
more cleanup TRANSFORM::MapAngles
2022-08-27 12:51:33 +01:00
Roberto Fernandez Bautista
5cae80d737
Cleanup asserts in TRANSFORM::MapAngles
2022-08-27 12:51:33 +01:00
Roberto Fernandez Bautista
029cc65b34
EDA_SHAPE: Remove m_upsideDownCoords hack (Fixes hitTest routine)
2022-08-27 12:51:32 +01:00
Roberto Fernandez Bautista
2812794742
Move TRANSFORM to common
2022-08-27 12:51:32 +01:00
jean-pierre charras
4b5c5aa6b6
Preferences dialog: avoid crash on opening if a dll is missing.
...
Fixes #12273
https://gitlab.com/kicad/code/kicad/issues/12273
2022-08-27 11:36:37 +02:00
Jon Evans
300d92438c
Allow hiding symbol library tables from symbol chooser
...
Hidden but loaded libraries are useful when using database libraries
2022-08-26 20:18:40 -04:00
Jon Evans
d22fc24d9e
Attempt to fix MSVC build
2022-08-26 12:51:14 -04:00
jean-pierre charras
5c7f1083c7
database_connection.cpp: Fix compil issues on msys2. these issues are
...
due to "old" (or not existing) types used in sql.h
2022-08-26 18:15:57 +02:00
Jeff Young
3da2f79d0e
Fix initialisation order issue in PANEL_SETUP_NETCLASSES.
2022-08-26 17:05:25 +01:00
Seth Hillbrand
146495672e
Utilize our combine_hash routine for multiple hash
...
We should be using the one routine every time we want to build a hash
from indepedent values rather than rebuilding it differently in multiple
places
2022-08-26 08:45:13 -07:00
Seth Hillbrand
06786c34d7
Blacklist hashes for 2d integer elements
...
The hash table for integer hashes is extremely limited and places most
elements in the same buckets. This leads to a linear search time for
structures built on this.
This blocks hashes, directing the coder to utilize std::set or std::map
structures instead of hash tables for implementing integer-based
lookups.
2022-08-26 08:43:37 -07:00
Seth Hillbrand
ed02d7c974
Spread bitmap store hash table elements
...
XOR of two sequential ints makes for an inefficient hash table. The
hash_combine function is intended for this purpose
2022-08-26 08:43:37 -07:00
Jon Evans
ae6a2a6443
ADDED: Database libraries MVP
...
Allows placing parts from an external database that reference symbols from another loaded library.
Includes:
- nanodbc wrapper
- database schematic library plugin
- basic tests
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7436
2022-08-26 10:51:13 -04:00
Jon Evans
31c24f4421
Add nanodbc
2022-08-26 09:38:11 -04:00
Seth Hillbrand
f1261e71d4
Replace boost::optional with std::optional
2022-08-25 15:50:47 -07:00
Seth Hillbrand
c491cd01c5
Silence property warnings
2022-08-25 13:39:38 -07:00
Roberto Fernandez Bautista
8a02f2f809
DIALOG_PASTE_SPECIAL: Set focus on OK button
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/12285
2022-08-25 20:25:23 +01:00
jean-pierre charras
a306246558
Fix a few (minor) compil and Coverity warnings.
2022-08-25 20:21:00 +02:00
jean-pierre charras
27c31061b1
Set locale in SaveToFile routine before calling json stuff.
...
It avoid wxWidgets alerts about locale when running some python scripts
2022-08-24 07:36:57 +02:00
Marek Roszko
e30f059b43
Silence uninitialized warning
2022-08-23 23:51:42 -04:00
Marek Roszko
fc99b3ba95
Don't link gdiplus everywhere anymore
...
Tested on msys2 which is the only place it would have been buggy
CMake seems to share the gdiplus linkage with the other dependencies automatically now
2022-08-23 23:51:35 -04: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
Seth Hillbrand
7a8b188569
Fix Sentry crash for font loads
...
We cache newstroke loading, but if we have threaded loads, we might ask
multiple threads to load the newstroke font at the same time. This
causes conflicts in the vector allocations->crashes
2022-08-23 09:51:20 -07:00
Jon Evans
284917b999
Fix assertion when rendering layer editor
2022-08-22 21:32:33 -04:00
Roberto Fernandez Bautista
7208ceb5f1
Handle mils in property panel
2022-08-22 21:32:33 -04:00
Roberto Fernandez Bautista
bfdb39f418
Properties Panel: Plain-language descriptive noun function of EDA_ITEM
2022-08-22 21:32:33 -04:00
Roberto Fernandez Bautista
f5a75a4001
Minor nullptr fixes
2022-08-22 21:32:33 -04:00
Jon Evans
f5597238fb
Properties: add color swatch to layer enum
2022-08-22 21:32:33 -04:00
Jon Evans
239fd29da4
Use checkbox mode for boolean props
2022-08-22 21:32:33 -04:00
Jon Evans
91c15b7e21
Properties panel appearance tweaks
2022-08-22 21:32:33 -04:00
Jon Evans
3c6e8aea0f
Properties panel: post-rebase fixes and hide by default
...
Remove layer widget re-added by Orson's rebase
2022-08-22 21:32:33 -04:00
Maciej Suminski
990ea5595e
Properties: Fixed a startup crash
2022-08-22 21:32:33 -04:00
Maciej Suminski
af71d42307
Renamed PROPERTY_TYPE enum names to avoid a conflict on MSYS2
2022-08-22 21:32:32 -04:00
Maciej Suminski
c37c429c75
Rename PROPERTY_PANEL::Update() to PROPERTY_PANEL::UpdateData()
...
The base class (wxPanel) already provides Update() method,
which should not be overridden.
2022-08-22 21:32:32 -04:00
Maciej Suminski
7f00efe6cf
Properties: Fixed conditional properties using enum values in the conditions
...
When wxAny holds an enum, it cannot be compared with an integer due to a
missing conversion function. In such case, conditional properties
compare a raw value rather than wxAny.
2022-08-22 21:32:32 -04:00
Maciej Suminski
8fa513e903
Properties: fix Properties panel refresh
2022-08-22 21:32:32 -04:00
Maciej Suminski
f6f6ebd5f9
WIP: Properties GUI
2022-08-22 21:32:32 -04:00
Maciej Suminski
95fd58b25a
Properties meta-data for pcbnew classes
2022-08-22 21:32:00 -04:00
Jeff Young
32461c91e9
Wide status bars can afford to give the text more room.
2022-08-22 22:33:38 +01:00
Alex
3a76d42630
Cross-probing/selection for multiple items (PCB -> SCH)
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10469
2022-08-22 19:33:39 +00:00
Jeff Young
f42b66bc1c
Regularize ellipsization of menu and status text.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12257
2022-08-22 17:52:58 +01:00
Jeff Young
4f0136db3b
Attempt to fix std::initializer_list lifetime issue.
2022-08-21 20:54:41 +01:00
Jeff Young
b2a2d66005
Move Bus Definitions to common GUI paradigm in Schematic Setup.
...
Also includes a change to the std::initializer_list stuff to try and
fix a crash.
2022-08-21 12:29:51 +01:00
jean-pierre charras
a5283d91eb
shape.i: disable a SWIG warning (warn 509) creating noise for this file.
2022-08-21 08:29:19 +02:00
Jeff Young
aa2ad3b44c
Move KICAD_T[] to std::initializer_list<KICAD_T>.
2022-08-20 10:28:11 +01:00
Jeff Young
46df421064
ADDED defined pad groups for net-tie footprints
...
Each pad group is allowed to short nets with other pads in its group.
Legacy footprints with the "net tie" keyword hack will get a single
group auto-created with all the footprint's pads in it.
DRC and the router now allow a track to collide with copper graphic items
while entering a net-tie pad as long as the closest point in the collision
is within the pad.
DRC (and the footprint checker) now check for copper items in the
footprint shorting pads which are not in the same pad group.
Fixes https://gitlab.com/kicad/code/kicad/issues/2265
2022-08-19 18:54:20 +01:00
Jeff Young
508df402f6
Cleanup.
2022-08-19 18:54:19 +01:00
jean-pierre charras
e0fbe2542f
Fix a few compil and Coverity warnings.
2022-08-19 10:53:29 +02:00
Seth Hillbrand
5ed7e28252
Remove KICAD_OCC build option
...
We don't really support builds without OCC these days. Removing to
clear up build flags and settings
2022-08-18 17:06:29 -07:00
qu1ck
f4fa3b02c5
PCM: automatic check for repository updates
2022-08-18 20:41:43 +00:00
Seth Hillbrand
97d7ee1f30
Remove `/` from our forbidden LIB_ID list
...
It is still forbidden from footprint file names but that is handled
separately and it should not be forbidden in symbol files at all
2022-08-18 12:49:40 -07:00
jean-pierre charras
afacec3acb
Protect RC_TREE_MODEL::GetValue() against null pointer
2022-08-18 10:14:02 +02:00
Marek Roszko
19e27ef587
Avoid missing null check in RC_TREE_MODEL::DeleteItems
2022-08-17 07:12:26 -04:00
Alex
371f6d917f
Use VECTOR2I::extended_type instead of long, and int for numeric limits.
2022-08-16 12:08:55 +00:00
Alex
6d739ca9da
Improve handling of long distances
2022-08-16 12:08:55 +00:00
Marek Roszko
d33830e570
Switch sentry to commit hash for kicad nightly releases
2022-08-15 20:57:44 -04:00
Marek Roszko
2ee6f67892
Handle leading whitespace with std::from_chars
...
Testing the parsers, this doesn't generally happen but there was a comment about it before the changes
2022-08-15 19:30:43 -04:00
Marek Roszko
e4ba1d4879
Remove unused string helper
2022-08-15 19:12:45 -04:00
Jeff Young
a3dc38cb32
Update schema versions so we can patch bad data from earlier bug.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12180
2022-08-15 23:48:38 +01:00
Jeff Young
e015f5b086
Formatting.
2022-08-15 23:48:38 +01:00
Seth Hillbrand
34a5a32a52
Prevent GTK from zero-ing out column size
...
Related to https://gitlab.com/kicad/code/kicad/-/issues/12180
2022-08-15 14:24:02 -07:00
Wayne Stambaugh
7155d1af29
Fix a few more compile warnings.
2022-08-15 15:15:35 -04:00
Seth Hillbrand
759e1a64ef
Fix broken const ref in wildcard
2022-08-15 12:09:30 -07:00
Seth Hillbrand
35ac39844f
Clean up some auto usage
...
Don't make new copies of shared_ptr if we can use references. Keep auto
usage down to hard-to-type-out sequences
2022-08-15 11:29:45 -07:00
Jeff Young
1f347582f8
Introduce new marker type so we can track DRC errors on the drawing sheet.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/12221
2022-08-15 18:03:03 +01:00
Seth Hillbrand
4b3ac52b1d
Fix shadowed variables
2022-08-15 08:03:30 -07:00
Wayne Stambaugh
898ec0d094
Fix wxWidgets 3.1 and later deprecated build warnings.
...
wxWidgets 3.1 has deprecated wxPATH_NORM_ALL when normalizing file
paths when calling wxFileName::Normalize(). This change keeps the
existing behavior except in places where our own internal
ExpandEnvVarSubstitutions() to expand environment variables.
2022-08-15 08:00:40 -04:00