Mike Williams
0b2e66d3b7
Infobar: Don't use animations on Windows/GTK
...
Seems to cause issues on Windows where the animation locks the screen.
Doesn't effect Linux, possibly because wxWidgets uses a native GTK
infobar that doesn't animate anyway.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8987
2021-08-27 17:38:16 +00:00
Jon Evans
5f2d238c93
Work around GTK issue with wxSearchCtrl
...
Also remove redundant icons in LIB_TREE (recent GTK
search controls have an icon built-in)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9019
2021-08-24 23:04:28 -04:00
Jon Evans
c80efb0f98
Fix save/load of appearance panel width on show/hide
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8982
2021-08-19 21:15:14 -04:00
Wayne Stambaugh
b14b8b5fb1
Move headers from common folders to the appropriate include folders.
2021-08-17 12:40:31 -04:00
Jeff Young
41619ebbe2
Decouple PROGRESS_REPORTER interface from implementations.
2021-08-14 21:05:49 +01:00
Jeff Young
a10f2b284c
Unify negative zero and percent handling in UNIT_BINDER.
...
Some values, such as solder mask margins, are usually negative and it
helps to display zero as "-0.0".
2021-08-06 18:16:38 +01:00
Jeff Young
c5e195bdff
Cleanup (includes and formatting).
2021-08-03 18:37:23 +01:00
Jeff Young
c51b1dad72
Generalize infobar MESSAGE_TYPE handling and use for DRC errors.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8782
2021-08-01 21:51:39 +01:00
Jeff Young
7033dd68c0
Default WX_GRID to no cell overflows.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8892
2021-08-01 11:57:45 +01:00
Jeff Young
6aaf4413b3
Fix kicad_string.h / string.cpp mismatch.
...
They don't define a KiCad string class, so the header file name was
somewhat misleading. But the fact that they didn't match definitely
made coding more difficult.
2021-07-29 16:03:25 +01:00
Jeff Young
f221220fe2
Rename layer ids file.
...
It hasn't had anything to do with colors or visibility for some time
now.
2021-07-29 16:03:25 +01:00
Jeff Young
293f207356
Hopefully the last of the symbol id escaping issues.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-28 19:44:42 +01:00
Jeff Young
6d4c454e8c
Fix some more missing escaping for symbol ids.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-28 18:37:09 +01:00
Ian McInerney
36d66085f5
Add a column showing 3D model file loading errors
...
This adds an icon to the left of the row with an error symbol if the
file can't be found or opened, and shows a tooltip over the icon with
and error string.
Fixes https://gitlab.com/kicad/code/kicad/issues/3815
2021-07-28 16:42:22 +01:00
Jeff Young
484b6bae64
Make Reset to Defaults button responsive to current page.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8864
2021-07-27 17:56:45 +01:00
Wayne Stambaugh
37b200cb3e
Pass wxString objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Wayne Stambaugh
78e5e98ea0
Pass VECTOR2I objects by reference instead of on the stack.
2021-07-27 08:41:27 -04:00
Wayne Stambaugh
89b1fdabe9
Pass COLOR4D object by reference instead of on the stack.
2021-07-26 13:28:56 -04:00
Wayne Stambaugh
1a301d8eea
Stop using wxDialog::EndModal() from inside dialogs.
...
Calling wxDialog::EndModal() directly from inside the dialog is a
potential bug if the dialog is shown in the modeless or window modal
(quasi-modal). Use the internal button events where possible and
check for the appropriate mode before calling the correct end dialog
function.
2021-07-21 17:38:14 -04:00
Wayne Stambaugh
bcd6bddfd4
Start expunging NULL.
...
Given that KiCad is a C++ project, we should really be using nullptr
instead of NULL.
2021-07-15 15:44:45 -04:00
Wayne Stambaugh
01515680b3
Code cleaning.
2021-07-14 15:47:32 -04:00
Jeff Young
c3bf51c94b
Remove unused variables.
2021-07-13 20:07:49 +01:00
Marek Roszko
759f0e9a75
Be sure to stop the timer during widget destruction
...
Also fix a comment elsewhere :D
Fixes #8772
2021-07-11 19:17:34 -04:00
jean-pierre charras
fb246403d2
PROGRESS_REPORTER: avoid clipping the bottom of the dialog in some cases.
...
It occurred on Windows, when the message to display is too long and was
displayed using 2 lines.
Now the dialog is resize after changing the message.
Fixes #7953
https://gitlab.com/kicad/code/kicad/issues/7953
2021-07-11 17:52:54 +02:00
Wayne Stambaugh
d6420d458e
Fix wxWidgets version check.
2021-07-07 16:52:21 -04:00
Wayne Stambaugh
7ca48c42d9
Fix build error in library tree widget.
2021-07-07 15:50:04 -04:00
Jeff Young
a4237c3346
Fix the search widget to process <enter>.
2021-07-07 17:54:22 +01:00
Jeff Young
1e76b7808f
Don't post events if un-evaluated-value isn't any different.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8745
2021-07-07 12:43:33 +01:00
Marek Roszko
5116fa6d12
Fix STEPPED_SLIDER glitchlyness on windows
...
wxWidgets drives some of this problem, it blindly calls SetValue and invokes the win32 update position messages on all the scroll subevents and we end up fighting it as well by inserting the rounded position on each subevent rather than the final one
2021-07-06 00:58:19 -04:00
Marek Roszko
70ce74ed4a
Configure page and line size in STEPPED_SLIDER
2021-07-06 00:40:53 -04:00
Marek Roszko
c356cd2aa9
Enable the tick marks to actually show on the STEPPED_SLIDER
2021-07-06 00:06:57 -04:00
Marek Roszko
96a177da3d
Add more input controls to IsInputControlEditable
...
O god this is going to eventual cause performance issues....but this fixes keyboard based form input in some places like pl_editor with its dropdowns
2021-07-05 23:47:16 -04:00
Marek Roszko
1fb42c5e43
Try and cleanup the input focus/key event a little
2021-07-05 20:48:48 -04:00
Marek Roszko
12305990bb
Fix focus stealing from wxDataViewCtrl
2021-07-05 13:45:06 -04:00
Marek Roszko
f524d9bec2
Add search control to the focus guard
2021-07-05 11:39:05 -04:00
Marek Roszko
2d696c3606
Update SetHint to SetDescriptiveText
2021-07-05 11:32:00 -04:00
Marek Roszko
d2aeddc6cb
Add debouncing to the choose symbol dialog.
...
More potato pc friendly in theory.
2021-07-04 21:59:51 -04:00
Marek Roszko
3b33f94c56
Use a wxSearchCtrl instead of wxTextCtrl for the symbol chooser window
...
This just makes it prettier with the search icon and cancel
2021-07-04 21:24:03 -04:00
Jeff Young
5e30be66aa
Quiet unused variable warning on Mac.
2021-07-03 23:39:34 +01:00
Jon Evans
e95323a37e
Revert "Remove unused variable."
...
It's only unused on Mac
This reverts commit d3fb22014f
.
2021-07-03 16:48:46 -04:00
Jeff Young
d3fb22014f
Remove unused variable.
2021-07-03 21:16:15 +01:00
Wayne Stambaugh
3f6811f413
Minor dialog layout improvements.
2021-07-02 11:36:06 -04:00
Jeff Young
0c2ac9a711
Move GUI font code to common.
...
This also allows the Mac fixes for font facenames to be more
compartmentalized.
Fixes https://gitlab.com/kicad/code/kicad/issues/8657
2021-06-29 18:27:58 +01:00
Jeff Young
a1dfc36233
More error message regularization.
2021-06-29 01:08:26 +01:00
david-beinder
da833ad7dd
Separate focus from hover state in BITMAP_BUTTON, trigger after mouse down+up
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8556
Adds AcceptDragInAsClick() to maintain support for use in toolbar palettes
2021-06-13 17:00:41 +00:00
Jeff Young
be980df1ca
Fix uninitialized variable.
2021-06-12 11:33:18 +01:00
Jeff Young
7fdbe2f387
Fix uninitialized variable found by JP.
2021-06-11 19:38:16 +01:00
Jeff Young
44086ff2b2
Pull 3D preferences into KiCad preferences architecture.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5187
2021-06-11 11:19:40 +01:00
Wayne Stambaugh
fbc135e69f
Rename SCH_COMPONENT to SCH_SYMBOL.
2021-06-10 10:34:49 -04:00
luz paz
5f1e9bc8a7
Fix typos in source code
2021-06-10 01:24:15 +00:00
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00:00
Marek Roszko
d946d6e68f
Cleanup some pgm_base.h includes
2021-06-08 21:56:00 -04:00
Jon Evans
ad6256bdca
Fix linux/wx3.0 build
2021-06-07 19:07:49 -04:00
Marek Roszko
0e16db0c25
Kick wx.h mostly out of common
2021-06-07 18:38:52 -04:00
Marek Roszko
ca9b719af3
Add missing headers for linux post wx.h removal
2021-06-07 18:22:20 -04:00
Marek Roszko
8f2819cfa4
Kill the last of wx/wx.h in headers
2021-06-07 17:59:20 -04:00
Marek Roszko
10e60acf34
Clean up including of board_design_settings.h
2021-06-06 15:03:42 -04:00
Ian McInerney
dc27079b71
cleanup tool event and tool action includes
2021-06-06 18:26:26 +01:00
Marek Roszko
b1c9083743
Remove the wx/docview.h include
2021-06-03 18:42:08 -04:00
Ian McInerney
2de010f08b
Fix ordering of class constructor init list
2021-06-03 20:04:00 +01:00
Wayne Stambaugh
7c14e4e967
Common widget header housekeeping.
2021-06-03 12:02:45 -04:00
Marek Roszko
7faee5eda5
Stop salt the eart with wxhtml.h
2021-06-03 07:49:49 -04:00
Ian McInerney
3ab69939f9
Remove wx.h from many files
2021-06-03 02:19:20 +01:00
Wayne Stambaugh
19607f1488
Fix file browser text button default path handling.
2021-05-27 14:19:06 -04:00
Jeff Young
ccaf9e11df
Load footprint info when there's no cache available.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8371
2021-05-14 22:24:21 +01:00
jean-pierre charras
f6f2284851
Fix missing includes on Linux after commit 0427bda7
2021-05-01 20:05:01 +02:00
jean-pierre charras
0427bda768
Remove useless wx/wx.h include, that create sometimes compil warnings on msys.
...
wx/wx.h includes all wxWidgets .h files, and sometimes creates collision
names in #define between kicad and windows headers
Moreover, blindly including a lot of useless files is compil time consuming
2021-05-01 19:32:15 +02:00
Jon Evans
64d35ecebc
Enable dark mode for MacOS
2021-04-28 23:24:19 -04:00
Ian McInerney
ecd9bf696e
Be consistent about using nullptr instead of 0
...
0 can be too easily overloaded into an int, so ensure we use nullptr
when we mean pointers.
2021-04-22 22:20:34 +01:00
Marek Roszko
ce3a84f579
Consolidate wx aui dock art color setting
2021-04-19 21:12:02 -04:00
Ian McInerney
0bdce00c42
Be explicit we don't care about the wxID of the control
2021-04-16 17:49:52 +01:00
Marek Roszko
43e93cc801
Force disable the native dropdown caret on grid comboctrl's we create
...
Fix #7212
2021-04-14 22:54:40 -04:00
Marek Roszko
cb215a0abe
Ensure our grid helper comboctrls generate returns as events instead of internally processing
...
Fix #1874
2021-04-14 21:37:21 -04:00
david-beinder
6b0ff156ae
Allow creating uppercase net names in net selector
...
Also show option to create a new net if the search string is a substring of an already existing net name
2021-04-09 22:38:15 +00:00
Jonathan Haas
55679be2e3
Fix some typos across the codebase
2021-04-05 16:15:25 +02:00
Carsten Schoenert
8dff3725ac
Typo fix: Correct 'allow to' -> 'allows one to'
2021-04-03 13:39:50 +00:00
Jeff Young
e1a3a8338c
File left out of previous commit.
2021-04-01 18:10:04 +01:00
Jeff Young
a4fba7014e
Give the infobar a reasonable colour on Mac.
2021-04-01 11:55:48 +01:00
Ian McInerney
3146d03aaa
Properly ellipsize layer names in the GerbView layer manager
...
Before, the layers were always ellipsized if the name was >30
characters, even if the widget was wide enough to display
the full name. Now they are ellipsized when needed (e.g. if
the widget is shrunk small enough).
Fixes https://gitlab.com/kicad/code/kicad/issues/1919
2021-03-26 15:50:56 +00:00
Ian McInerney
804c09b8f2
Use wx to draw the arrow on the collapsable pane
...
This allows for color changes and scaling of the arrow
when the display needs it (e.g. HiDPI displays).
Also make the arrow and text respond to if the window is
active to mimic native controls.
Fixes https://gitlab.com/kicad/code/kicad/issues/6042
2021-03-26 15:50:56 +00:00
Ian McInerney
1d81826409
Use disabled text in message panel when window isn't active
...
When the window is not active, the status bar uses disabled text,
so the message panel sticks out because it is then using a different
text color. This is most noticable in dark mode.
2021-03-26 15:50:56 +00:00
Jeff Young
262badf6ea
Back out arrow support for lib trees.
2021-03-25 15:51:00 +00:00
Jeff Young
7593ee3917
Add right/left arrows for exapand/collapse.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8022
2021-03-25 12:23:18 +00:00
Jon Evans
c04e19f9ac
Include optimization: move some things from common.h to point-of-use
2021-03-20 12:09:18 -04:00
Jeff Young
b4e2db5913
Improve dialog layout.
2021-03-20 00:41:09 +00:00
Jon Evans
cc9787e47a
Make sure space for message is reserved in APP_PROGRESS_DIALOG
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7953
2021-03-19 19:11:32 -04:00
Jon Evans
045160d486
Work around wxProgressDialog layout bug
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4288
2021-03-16 20:44:24 -04:00
Jeff Young
46d71f0d23
Go back to validate-on-OK, but stop doing design checks.
...
If we keep doing design validations at two different places, they can
only start to drift apart. Board Setup should validate for malformed
data ONLY; everything else is the business of DRC.
This also fixes a bug where implementation validations would not allow
OK in the dialog, but wouldn't put up a message to say why. We now use
the InfoBar impl from Jon's commit for that.
2021-03-16 14:49:03 +00:00
Jeff Young
b71ab01de4
More wxWidgets 3.1 layout adjustments.
2021-03-13 00:00:38 +00:00
Jon Evans
18037e2f65
Rework bitmap system to load from archived PNGs
...
Bitmaps are now identified by an enum class instead of by pointers.
Bitmap loading and caching is now handled by a class in common, and
we no longer compile most bitmaps into the binary, so there is no
longer a bitmaps static library.
Instead, bitmaps are archived to a .tar.gz file which is installed
in ${KICAD_DATA}/resources/images.tar.gz
The source PNGs are checked in to Git as the original CPP files were,
so that people can build without the required dependencies to convert
SVGs to PNGs.
Initial support is also added for dark theme icons, although this
is not yet exposed in the GUI.
Stubs are present for multi-resolution image resources, but this is
not fully-baked yet and could use some refinement.
2021-03-11 08:37:35 -05:00
Dominik Wernberger
e2aa7be4b3
Added a lot of consts and refactored a few lines
2021-03-08 12:49:48 -08:00
Jon Evans
924accfdc8
Consolidate wxAui art providers
2021-03-01 23:10:03 -05:00
Jon Evans
93578517e4
Support dark mode in AuiBar buttons for wx 3.0
2021-03-01 21:24:29 -05:00
Seth Hillbrand
0dca0e752b
Reduce the number of built-up calls to DisplayFootprint
...
When updating the libtree, we modify the tree multiple times to avoid
crashes on Linux. These generated events that buffered while the widget
was frozen and resulted in redrawing the same footprint 4-10x.
This reduces the buffering by discarding events that are generated
during the freeze and only redrawing when there is a new footprint to
draw
2021-02-25 12:13:42 -08:00
Jon Evans
8dcf5404fc
Better UX for handling vertical scroll mapping
...
Show an error instead of preventing an invalid state
2021-02-24 00:07:17 -05:00
Jeff Young
41b8ef85e3
Fix preferences on OSX.
2021-02-22 11:05:47 +00:00
Jeff Young
2d28ed8eda
Move canvas backend selection to Preferences.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7630
2021-02-21 20:12:43 +00:00
Seth Hillbrand
05b559c9dc
Quiet gcc warnings
2021-02-18 11:20:27 -08:00
Jeff Young
fd91529d88
Quiet Coverity.
2021-02-18 11:53:36 +00:00
Jeff Young
b6a7981e62
Write changes back to grid after using file explorer.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7361
2021-02-17 14:08:53 +00:00