Commit Graph

189 Commits

Author SHA1 Message Date
Jeff Young 6e35406015 Fix copy/pasta. 2022-02-23 12:21:07 +00:00
Jeff Young 6ce63d66e8 On-the-fly language updating for appearance panel & selection filter.
Fixes https://gitlab.com/kicad/code/kicad/issues/10040
2022-02-19 14:59:51 +00:00
Jeff Young b2e3f03222 More wide-string declarations. 2022-02-05 22:03:04 +00:00
Jon Evans 41e8606fe6 Fix saving of existing appearance presets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/10166

(cherry picked from commit c52421869a)
2022-01-02 12:11:52 -05:00
Marek Roszko e75d283007 Remove the unused updateui in the selection filter base 2021-12-30 11:13:56 -05:00
Jeff Young 5e4a704155 Remove some more duplicated preferences.
Fixes https://gitlab.com/kicad/code/kicad/issues/10112
2021-12-26 13:37:28 +00:00
Jeff Young da11574a19 Remove dead code. 2021-12-24 21:10:28 +00:00
Jeff Young 6c05e5d1a8 Implement user viewports.
ADDED popup to Appearances palette where users can define viewports
for later selection.

Fixes https://gitlab.com/kicad/code/kicad/issues/2271
2021-12-24 17:11:14 +00:00
Jeff Young e26341d424 Cleanup. 2021-12-23 20:36:18 +00:00
Jeff Young 66d9e7073f More discrete borders for Kicad mgr, PCM and appearances panels.
Fixes https://gitlab.com/kicad/code/kicad/issues/9616
2021-11-14 15:01:44 +00:00
Jeff Young fecb53b64f Clean up removal of separate front & back footprint text visibility.
Fixes https://gitlab.com/kicad/code/kicad/issues/9441
2021-10-22 21:14:15 +01:00
Seth Hillbrand 41e7284fdc Speed up pcbnew loading/updating
Rather than detaching and re-attaching the layer panels with the
attendant overhead, we keep each panel intact and only update its
contents.  Since the bindings are the same, this saves substantial time
on pcb loading as well as when closing the board setup dialog
2021-10-09 13:38:35 -07:00
Jeff Young ffd6fde700 Improve consistency and hotkey access in Appearances.
Added hotkey for cycling through net & netclass color modes.
Added hotkey for cycling through ratsnest layer visibilities.
Added code to display hotkey (if set) on the above and on high-contrast
cycle.

Fixes https://gitlab.com/kicad/code/kicad/issues/9312
2021-10-04 13:44:43 +01:00
Jeff Young 62f7a09290 Smooth out a few minor inconsistencies in fonts & spacings. 2021-09-12 17:57:15 +01:00
Jeff Young 9c78e4cf54 Mac needs different font size handling than MSW & GTK.
Mac already uses diverse font sizes (for instance, smaller fonts for
radio button groups), and the anti-aliasing is a lot better.  The
other platforms need a more limited range of sizes.

Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 23:40:31 +01:00
Jeff Young ed8b63505d Fix font scaling issues in StatusBar and Selection Filter.
Fixes https://gitlab.com/kicad/code/kicad/issues/8608
2021-09-11 18:25:11 +01:00
jean-pierre charras f0c957a2e2 Enable LAYER_MOD_TEXT_FR layer in fp editor as it should.
It also fixes a crash when changing visibility of other fp texts..
2021-08-16 09:30:54 +02:00
Jeff Young 95b87ba29a Freshen microwave polygon dialog and remove a bunch of dead code. 2021-08-03 01:11:11 +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
RigoLigoRLC a15a91dc00 Turn Footprint Text on when user turn on Value or Ref
In the appearance panel the old implementation doesn't turn the meta-
control "Footprint Text" back on when you switch on "Footprint Value/
Reference" while "Footprint Text" is switched off. This is neither
logically correct nor making the elements rendered correctly (value/ref
swicthes would affects corresponding bottom texts, but doesn't affect the
meta-control).

I didn't find a corresponding GitLab issue around, so I'm not saying
"fixes" here.
2021-07-08 03:05:51 +00:00
Jeff Young 0f27618125 Use a list dialog that can be parented by the Board Setup dialog.
(The current one keeps pulling the Kicad Manager window to the front
on OSX.)

I also removed the UpdateUI stuff which was probably causing:

Fixes https://gitlab.com/kicad/code/kicad/issues/5049
2021-06-27 01:41:35 +01:00
jean-pierre charras 5492fafdf4 Pcbnew: allows access Layers context menu when right clicking from below layers list
Fixes #6614
https://gitlab.com/kicad/code/kicad/issues/6614
2021-06-11 09:32:47 +02:00
Marek Roszko 8f2819cfa4 Kill the last of wx/wx.h in headers 2021-06-07 17:59:20 -04:00
Jeff Young 3ff670d2a4 Disable ACTIONS::openPreferences for now.
wxWidgets needs to move the item to the KiCad menu on Mac, and it
can only find it if it has the id wxID_PREFERENCES.
2021-06-07 20:51:45 +01:00
Marek Roszko 10e60acf34 Clean up including of board_design_settings.h 2021-06-06 15:03:42 -04:00
david-beinder 86add3bb85 Fix MSVC C4312 warnings when casting 32bit ints to pointer types on 64bit builds 2021-06-05 02:57:51 +00:00
jean-pierre charras 81c7fb61f8 Sub-menu "Preferences..." in main menu "Preferences": fix not working accelerator key.
Accelerator keys are disable in our WX_MENUBAR. A common ACTION_MENU is used and
"Preferences..." is now shown in Hotkeys list.
2021-05-29 18:09:49 +02:00
Jon Evans 263e026ac4 Initialize grid visibility in appearance panel constructor
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8266
2021-04-22 22:10:55 -04:00
Jeff Young 52aea0a2c9 Consistent terminology. 2021-04-03 11:15:11 +01:00
Jeff Young c5536b2cab Title case in menus. 2021-04-03 11:15:11 +01:00
Ian McInerney f6041fb52d Force update of some text when activation status changes
The text areas aren't always redrawn when the window is activated
or deactivated, so we need to force a refresh of the text to ensure
it is the correct font color.
2021-03-26 15:50:56 +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
Jeff Young cad5198ab7 Worksheet -> (industry standard) Drawing Sheet. 2021-02-22 17:35:46 +00:00
Jon Evans 34c2bbfe51 Don't rebuild the whole nets grid on show/hide
Besides being slow, this causes the scroll position
of the grid to be lost.
2021-02-16 22:31:09 -05:00
Jon Evans d98daad835 Fix updating of preset MRU when overwriting presets
Also fix a few minor things about deleting presets

Fixes https://gitlab.com/kicad/code/kicad/-/issues/7473
2021-02-13 11:33:01 -05:00
Jeff Young a49a6c2f52 Refresh zone layers when copper layers change opacity.
Fixes https://gitlab.com/kicad/code/kicad/issues/7468
2021-02-09 12:26:46 +00:00
Michael Kavanagh 7cc28a5a02 Shrink appearance manager bitmap buttons to 16x16
Finish off 38cc2f106b
2021-02-06 22:51:56 +00:00
Jon Evans f7e21682ec Update model in APPEARANCE_CONTROLS::SetObjectVisible
Don't make the caller remember to do so
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7411
2021-02-03 20:18:13 -05:00
Wayne Stambaugh 6a39b81647 Fix the last of broken Doxygen comment specifiers. 2021-01-27 17:39:44 -05:00
jean-pierre charras 96af236493 Code cleanup: remove include wx.h from pcb_plot_params.h.
including wx.h is useless for this file, and include wx.h in a lot of other files.
Include wx.h must be made only when needed in a given file, because on Windows
it include some headers that frequently create collision with kicad declarations
2021-01-25 16:18:46 +01:00
Jeff Young 0ba0160da9 Add a PT_NIC pin electrical type and a netlist token for SCH_NO_CONNECT.
ADDED a new pin electrical type "free" for internally unconnected pins.

CHANGED the "unconnected" pin electrical type is now represented by
"no_connect" in files and netlists.  (The legacy syntax is also accepted
in files.)
2021-01-23 00:10:01 +00:00
Jon Evans 0b7fc0e2d9 Update local ratsnest state when toggling appearance control
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7035
2021-01-14 22:03:23 -05:00
Barabas Raffai 5931a39c0f Fix layer preset overwriting ratsnest settings
Fixes https://gitlab.com/kicad/code/kicad/issues/6975
2021-01-13 01:22:30 +00:00
Jon Evans 5c22ffe422 Don't try to load a nonexistent layer setting
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6998
2021-01-07 19:09:54 -05:00
Seth Hillbrand 43e7b1ab6e Set icons for front/back assembly layers 2021-01-06 13:49:00 -08:00
Jon Evans 98c437e70f Show the read-only notification for objects, too 2020-12-24 08:42:38 -05:00
Jon Evans db0df1fdc9 Don't try to update non-existent zone layers
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6803
2020-12-24 08:42:38 -05:00
Jon Evans c8be87a654 Add i18n flag to appearance controls and selection filter 2020-12-19 17:39:43 -05:00
Konstantin Baranovskiy 7c2b66fc2a pcbnew: make pane labels translatable 2020-12-19 22:25:50 +00:00
Jon Evans 87b25936a0 Don't hide zone virtual layers in footprint editor
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6642
2020-12-16 21:47:31 -05:00
Jeff Young acfbcb4beb Make distinction between PCBNew-wide tools and Board-specific tools.
The old names were really hard to keep straight (even for me, who named
many of them).
2020-12-16 13:32:46 +00:00
Michael Kavanagh 4f5c764dde Appearance manager icons: fix which is which 2020-12-13 16:48:22 +00:00
Jeff Young 73b7b104cd Fix some issues with Infobar sizing.
This also commits to the new strategy as it wasn't really compatible
with if-def-ing anymore.
2020-12-11 12:39:40 +00:00
Marek Roszko eb2472650c Filter appearance control updates on bulk changes 2020-12-09 08:01:37 -05:00
Jeff Young b1f0bf7334 More consistent naming. 2020-12-08 13:05:39 +00:00
Marek Roszko d7154c4334 Skip no_connect_ nets in the appearance widget 2020-12-07 22:11:53 -05:00
Marek Roszko e88d41f764 Add bulk add/remove mode flag to the BOARD_LISTENER
This attempts to fix performance when importing large changesets from schematics.
The appearance control is a BOARD_LISTENER that would otherwise redraw per item imported which may cause lockups
2020-12-07 22:04:13 -05:00
Jeff Young 68947864a1 Update zone layers along with corresponding copper layers.
Fixes https://gitlab.com/kicad/code/kicad/issues/6613
2020-12-05 23:31:12 +00:00
Jeff Young 84dd5108ba Remove some "class_" prefixes from files. 2020-11-13 15:16:23 +00:00
Werni a7d5d1f091 Add more consts all over the place 2020-10-27 11:03:35 +00:00
Jon Evans c388bf0f92 Update default color theme
Blue is the new green :)

ADDED: built-in read-only color themes support
Classic theme is still available for those who love it

Fixes https://gitlab.com/kicad/code/kicad/-/issues/1991
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4259
2020-10-18 14:12:54 -04:00
Jon Evans e832a94a9c Turn on zone visibility when you start drawing a zone
It's disconcerting to have the zone turn invisible when
you finish drawing and drop the selection.
2020-10-17 15:53:02 -04:00
Jon Evans 0a8d67c45c Make footprint text meta-control behavior more obvious 2020-10-14 20:16:49 -04:00
Jon Evans cb4ef5a619 Fix various rendering issues with non-through vias
Correctly hide netnames in high contrast mode
Correct highlighting for blind/buried/micro via drills
Repaint vias when needed to support stacked microvias

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2593
2020-10-12 22:47:31 -04:00
Jon Evans b369506697 Don't test forbidden footprint layers in board editor
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5847
2020-10-01 18:34:17 -04:00
Jon Evans 6f54a9982c Remove PCB_LAYER_WIDGET 2020-09-30 19:12:26 -04:00
Jon Evans 7c003f98d5 ADDED: Appearance panel for footprint editor
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5643
2020-09-30 17:46:58 -04:00
Jon Evans 74b0e1fa47 Break apart locked items from the rest of the selection filter
Disable selection of locked items by default

See discussion in https://gitlab.com/kicad/code/kicad/-/issues/5793
2020-09-28 21:38:08 -04:00
Jon Evans b6e4b7bf7d Fix order of initializing tools when loading board
Also add a few safeguards against invalid situations

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5801
2020-09-26 14:45:16 -04:00
Wayne Stambaugh 564f363c57 Pcbnew: fix user defined layer bugs. 2020-09-24 10:19:10 -04:00
Jon Evans 18e17abd6a Rename "Keepout" to "Rule Area"
These objects can now be used in advanced DRC rules and
not just for keeping things out.  Also remove the restriction
that at least one of the "basic" keepout rules must be set,
so that these areas can be used for more advanced rules.
2020-09-21 23:55:02 -04:00
Ian McInerney 89dcc46898 Coverity cleanup and remove unused variables 2020-09-20 02:20:41 +01:00
Ian McInerney 65bd1ee9a4 Add a new BITMAP_BUTTON widget and use it in the appearances panel
This button behaves like an AUI button, so it is more suited
to being on panels without a border.
2020-09-20 01:43:27 +01:00
Ian McInerney 34527630d0 Small cleanup 2020-09-18 11:17:37 +01:00
Jon Evans 4a25db599e ADDED: Deselect net action
You can now deselect nets and netclasses (i.e. remove them from the
active selection) via the context menus in the appearance panel
2020-09-16 19:10:12 -04:00
Jon Evans e0f08338a8 Keep collapsible panes from stealing focus 2020-09-07 21:11:58 -04:00
Jon Evans 147540b3bb ADDED: Control to only show ratsnest for visible layers 2020-09-07 16:43:43 -04:00
Jon Evans e3ff3a2d15 Make sure nets display when first loading a board 2020-09-07 12:02:18 -04:00
Jon Evans 758a4c26d5 Switch appearance panel to custom collapsible pane widget
The new widget looks the same on all platforms and fixes a few
bugs with the wxWidgets version
2020-09-06 22:43:39 -04:00
Jeff Young e782794f96 Flesh out object properties and DRC Rule syntax help. 2020-09-05 17:44:59 +01:00
Jeff Young d0d13766ae Use the layerSettings vector, not map. Map may not yet be valid.
Fixes https://gitlab.com/kicad/code/kicad/issues/5505
2020-09-04 23:02:41 +01:00
Jeff Young 08dee31d9e Try and unify the background colors between panels and platforms.
Also moves to WX_GRID to get rid of some wxGrid bugs, and moves the
provision of attrs to the GRID_TABLE (as those applied to the grid
are ignored when a table is specified).

Fixes https://gitlab.com/kicad/code/kicad/issues/5260
2020-09-04 20:47:50 +01:00
Jeff Young 800d8acb00 Reinstate collapsable controls in Appearances widget.
Also tries to fix highlighting on BOTH OSX and GTK (previuos efforts
have all worked only on one or the other).
2020-09-04 17:45:07 +01:00
Jeff Young a728abe63c Simplify appearances controls presentation.
Fixes some OSX bugs in panel background colouring.
Also adds a bit info to control titles.

Fixes https://gitlab.com/kicad/code/kicad/issues/5260
2020-09-04 14:07:42 +01:00
Jeff Young 555b78e7ca Read/write COLOR4D::UNSPECIFIED in netinfo so you can clear colors.
Fixes https://gitlab.com/kicad/code/kicad/issues/5368
2020-09-03 20:35:38 +01:00
Jon Evans 2198f8666c Fix typo in preset switcher 2020-09-01 21:27:57 -04:00
Jeff Young 5be39c6299 Remove horizontal scrollbars from nets in appearances panel.
They're not really appropriate for a panel and the grid one (at
least) perturbs a bug in wxWidgets scroll space calculation).

Fixes https://gitlab.com/kicad/code/kicad/issues/5239
2020-08-30 15:20:59 +01:00
Jon Evans 37b2ba1363 Fix missing board outline in All Copper Layers preset 2020-08-29 12:13:59 -04:00
Jon Evans eda0f1a27f Remove broken RefreshRect; it doesn't seem to add much 2020-08-24 21:32:04 -04:00
Jon Evans 5e2946ef90 Use full net names in netclasses
Short net names are not unique; full names with paths must be used.
Added a grid cell renderer that does the escaping, to make it easier
to display net names in grid cells.

Once you unescape a net name, you can't go back to the escaped form
because you can't assume which `/` should be {slash} and which `/`
Because of this, we cannot use Unescape/Escape on the data model in
the netclass setup panel, and instead do the Unescape in the view.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5331
2020-08-24 21:19:07 -04:00
Jon Evans 1efd512847 Remove unnecessary event handler binding
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5341
2020-08-24 19:59:16 -04:00
Jon Evans e9b8cac320 Erase net colors when they are reset by the user
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5342
2020-08-24 19:39:18 -04:00
Jon Evans f8609ed603 Don't hide swatches when setting netclass color
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5343
2020-08-24 19:39:18 -04:00
Jeff Young fba6152709 Force wxWidgets to set widths smaller than BestWidth(). 2020-08-24 00:49:08 +01:00
Jon Evans e343234c61 Allow both 'save' and 'save as' for layer presets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5309
2020-08-23 17:00:49 -04:00
Jon Evans 63fb6d49e0 Make sure ratsnest gets redrawn when enabled
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5335
2020-08-23 16:45:33 -04:00
Jeff Young 49ac89f72c Only paint pads on layers they appear on.
Also adds pad layer removal controls to Pad Properties dialog.

Fixes https://gitlab.com/kicad/code/kicad/issues/5320
2020-08-23 21:23:34 +01:00
Jon Evans 8e03d278f0 Fix buttons in appearance panel in MSW
Ensure we pass the focus back to the canvas when
closing dialogs that might have been launched from the
appearance panel

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5326
2020-08-23 15:48:48 -04:00
Jon Evans eb0d3d653f Fix updating of grid view in MSW 2020-08-23 13:48:50 -04:00
Jon Evans 6720473db9 Move net visibility/color controls to a wxGrid
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5235
Might improve https://gitlab.com/kicad/code/kicad/-/issues/5210
2020-08-23 13:15:07 -04:00