Commit Graph

161 Commits

Author SHA1 Message Date
Jeff Young 5c21f93803 Consistency in progress and error messages. 2021-06-26 13:23:43 +01:00
Jeff Young 685ee31c35 Workaround a few more OSX printf problems.
Also regularizes the frame title processing.

Also fixes a type where the library name wasn't processed for
variable expansion.

Fixes https://gitlab.com/kicad/code/kicad/issues/7742
2021-06-20 22:48:19 +01:00
Jeff Young 1722bc03b0 Consistent terminology and punctuation. 2021-06-17 00:05:17 +01:00
Seth Hillbrand 7953a5c62b Work around MacOS printf/format issues
MacOS wxWidgets implementation of wxPrintf/Format suffers from some
issues when mixing string types.  We avoid this by manually formatting
the string ourselves.

Fixes https://gitlab.com/kicad/code/kicad/issues/8404
2021-06-16 11:54:55 -07:00
Wayne Stambaugh ff099453c8 Rename class_library.[h|cpp] to symbol_library.[h|cpp]. 2021-06-15 09:24:55 -04:00
Wayne Stambaugh ee3eac325d Expunge the use of the word part from Eeschema code. 2021-06-15 08:32:11 -04:00
Wayne Stambaugh fb46cd8bc5 Expunge the use of the word component from Eeschema code.
The only exception to this is the SPICE simulator's use of component
when referring to physical component (R, L, C, etc.) values.
2021-06-14 14:00:21 -04:00
Wayne Stambaugh 71c183d7bb Rename LIB_PART to LIB_SYMBOL. 2021-06-14 07:11:17 -04:00
Wayne Stambaugh fbc135e69f Rename SCH_COMPONENT to SCH_SYMBOL. 2021-06-10 10:34:49 -04:00
Marek Roszko d946d6e68f Cleanup some pgm_base.h includes 2021-06-08 21:56:00 -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
Jon Evans c9a660a80c Rework JSON integration to speed up build 2021-06-05 17:08:38 -04:00
Marek Roszko 4df3cb912d Remove another leaky wx/log.h header 2021-06-03 08:11:15 -04:00
Marek Roszko cf2bb5692a Remove the wxLog calls from math/util.h for now
This was leaking windows headers and partial wx headers to 1084 compilation units......
This also means math/util.h is leaking to 1084 compilation units which seems a bit high too.
2021-06-01 18:44:22 -04:00
Seth Hillbrand f274a00c08 Remove PYTHON_* compile options 2021-06-01 20:18:24 +00:00
Marek Roszko 1b94534451 Revert "Use lambdas to fix paste conditions"
This reverts commit 65c7c77c3d.
2021-05-30 21:25:42 -04:00
Marek Roszko 65c7c77c3d Use lambdas to fix paste conditions
`SELECTION_CONDITIONS::Idle && ` was evaluating as always true because this was referencing the function pointer
2021-05-30 20:37:16 -04: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
Seth Hillbrand 752ae4d519 Rename modification flag routines
Differentiates better between the EDA_ITEM IsModified(), referring to
items themselves changing and the EDA_SCREEN IsContentModified(),
referring to whether we have made any unsaved changes.
2021-05-28 12:07:04 -07:00
Seth Hillbrand d7f219e98f Unify IsSave and IsModify
The flags and calls were used identically, leading to potential
confusion/bugs.  Testing for modification should go through
IsContentModified()
2021-05-28 11:51:54 -07:00
Wayne Stambaugh 16bb45208a Fix save accelerator key handling when library tree has focus.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8247
2021-05-03 19:41:07 -04: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 6129f978ab Fix symbol editor not pulling the right settings object
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7916
2021-04-12 22:03:25 -04:00
Jeff Young df5f010514 Bug fixes for fields when editing a symbol from the schematic.
1) Don't reset value when name changes
2) Don't fire events when initialising dialog
3) Make sure when symbol is saved back to schematic that only current
instance has its ref updated, but that all instances have their other
fields updated.
4) When saving symbol back to board always use the fields from the
editor and not the (alias-specific) ones from the library.

Fixes https://gitlab.com/kicad/code/kicad/issues/8159
2021-04-09 17:14:53 +01:00
Ian McInerney 1a727558b0 Switch update event handlers to use the event instead of pointers
It is safer to use the event to pass the enable/string
instead of pointers, since using the pointers could trigger
other UI events.
2021-04-07 17:39:48 +01:00
Jon Evans 358f01ba66 Use HTML report window for symbol loading issues 2021-04-02 19:50:50 -04:00
Ian McInerney 0a0935e0f3 Remove ACTIONS::TranslateLegacyId and TOOL_DISPATCHER::DispatchWxCommand
After commit 9535153f9e there were no more IDs inside the legacy ID
system. Therefore the entire system for dispatching and looking up
the legacy ideas and handling those events can now be removed and
the tool dispatcher simplified (it no longer needs to know about
the ACTIONS class).
2021-03-30 23:20:22 +00:00
Ian McInerney 42c6af4bd8 Cleanup ACTION_MENU creation in some places
The ACTION_MENU constructor now takes the tool as an argument,
so the call to SetTool() immediately following it can be removed
and the tool just passed into the constructor.
2021-03-27 19:16:58 +00:00
Ian McInerney 7bfa8575fa Remove redundant information from import/export menu item labels
Saying "Import/Export" on the labels when the submenu has "Import"
or "Export" in it is redundant.

Note that we can't just update the action text with the new name,
because that is used in the hotkey list and would become too confusing
without the "Import"/"Export" text.
2021-03-27 18:50:35 +00:00
Jon Evans 82a4cacb4f Add threaded library load to symbol editor 2021-03-19 20:23:54 -04:00
Jeff Young 2e129d9b47 Naming conventions and other cleanup. 2021-03-19 23:06:19 +00:00
Jeff Young e206a9d39a Naming conventions. 2021-03-18 12:28:24 +00:00
Jeff Young 36259b1f6b Refresh lib trees after editing library tables.
Also make sure that we grab the library item descriptions from their
source rather than just the cached tree copy.

Fixes https://gitlab.com/kicad/code/kicad/issues/7875
2021-03-17 14:54:18 +00:00
Jeff Young 7415bf0c62 Don't hide (or disable) options if it's not obvious why.
It deprives us of the opportunity to inform the user what the conditions
are.
2021-03-15 02:23:29 +00:00
Wayne Stambaugh a79974fb92 Symbol editor: fix segfault when saving library with renamed symbol.
Fixes https://gitlab.com/kicad/code/kicad/issues/7866
2021-03-13 08:28:52 -05: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
Jon Evans 720147d272 Remove transitive inclusion of bitmaps.h 2021-03-07 16:08:57 -05:00
Wayne Stambaugh 6cdc3664ba Symbol editor: fix crash whe changing symbol name.
Fixes https://gitlab.com/kicad/code/kicad/issues/7791
2021-03-04 18:21:41 -05:00
Wayne Stambaugh 0ce8bce753 Symbol editor: fix symbol renaming bug.
Fixes https://gitlab.com/kicad/code/kicad/issues/7616
2021-03-02 19:19:08 -05:00
Jeff Young 57e948ff08 Make sure axesEnabled is set before saving config.
We don't actually allow the user to change this at present, so one
could argue that we should remove it from what is saved out of the
config.  But this is a smaller, safer change.

Fixes https://gitlab.com/kicad/code/kicad/issues/7666
2021-03-01 20:37:04 +00:00
Jeff Young 8a33542bcd SCH_COMPONENT::GetField() expects a vector index, not a field id.
Check this at compile time.  Callers wanting to use an index now must
use SCH_COMPONENT::GetFields()[i] instead.

Fixes https://gitlab.com/kicad/code/kicad/issues/7757
2021-02-28 15:10:37 +00:00
Jeff Young 8ab1f957a2 Update title after a Save All.
Fixes https://gitlab.com/kicad/code/kicad/issues/7752
2021-02-27 23:17:48 +00:00
Jeff Young cad5198ab7 Worksheet -> (industry standard) Drawing Sheet. 2021-02-22 17:35:46 +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
Jeff Young 91e876ce0d Make sure the title is updated when file is saved/reverted/etc.
Fixes https://gitlab.com/kicad/code/kicad/issues/7626
2021-02-20 15:09:47 +00:00
Jeff Young 881cb3182b Move writable dir checking lower down.
(Well, it was already lower down, this really just removes the higher
up calls that were getting in the way.)

Fixes https://gitlab.com/kicad/code/kicad/issues/5937
2021-02-19 22:24:08 +00:00
Jeff Young 5994ce3711 Be more aggressive about updating title to show dirty status.
Fixes https://gitlab.com/kicad/code/kicad/issues/7613
2021-02-19 21:58:49 +00:00
Seth Hillbrand 05b559c9dc Quiet gcc warnings 2021-02-18 11:20:27 -08:00
Jeff Young 66b33834b5 Always enable save; move dirty bit to asterisk in title bar.
Also unifies PCB Editor and Schematic Editor names with other
locations in the GUI (which were still Pcbnew and Eeschema).

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

Fixes https://gitlab.com/kicad/code/kicad/issues/7594
2021-02-18 16:05:42 +00:00
Jeff Young b2a4cbedda Add conditions for rotate/group/lock items in toolbar.
Also fixes cut/copy/delete conditions to allow use in immediate mode.
2021-02-18 00:10:41 +00:00
Jeff Young 2a7e60960a Use standard mirror icons & terminology.
Also use standard group icons.

Also put both (and rotate commands) in toolbar.

Fixes https://gitlab.com/kicad/code/kicad/issues/7504
2021-02-16 21:11:36 +00:00
Jeff Young ec20121114 Make sure schematic symbol fields get transferred to symbol editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/7501
2021-02-14 18:30:14 +00:00
Jeff Young 0f463ee84b Add Update Symbol Fields dialog for derived symbols.
ADDED This allows one to update a derived symbol's fields from the
parent symbol.

Fixes https://gitlab.com/kicad/code/kicad/issues/7168
2021-02-14 12:15:26 +00:00
Jeff Young a0b9b0c3ee Improve IsSymbolEditable to differentiate fields.
Fields are editable in Aliases, but still not in Legacy libraries,
locked libraries, etc.

Fixes https://gitlab.com/kicad/code/kicad/issues/7175
2021-02-10 22:57:23 +00:00
Seth Hillbrand 505844f68c Generalize the Ctrl-Q to all frames
Rather than adding our handler to each frame separately, we initialize
the Ctrl-Q quit action at the base frame to be consistent
2021-02-09 11:43:42 -08:00
Wayne Stambaugh 356c2d3508 Symbol editor: fix symbol save as menu enable logic issue.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7451
2021-02-07 18:21:59 -05:00
Jeff Young c2dbd28101 Simplify and harmonize symbol editor and footprint editor menus.
Some differences are due to difference between libraries being files
in symbol editor and directories in footprint editor, but this unifies
most of the rest.

It also dispenses with the save-to-library vs save-to-document distinction
in the GUI because it makes for too much variability in the GUI, was
implemented differently between the two editors, and isn't needed as much
anymore now that we have the highly visible infobar.

There was also an issue that the save-to-board icon occupies the same
location and has the same size/shape/colours as the Board Setup icon in
PCBNew.

Fixes https://gitlab.com/kicad/code/kicad/issues/7215
2021-02-06 14:33:16 +00:00
Wayne Stambaugh f26b4058c2 Symbol editor: enable properties controls for inherited symbols.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7126
2021-02-06 08:28:06 -05:00
Jeff Young c220913aa1 Handle y-axis inversion in Symbol Editor when drag-selecting text.
Fixes https://gitlab.com/kicad/code/kicad/issues/7406
2021-02-03 15:28:11 +00:00
Jeff Young ff3441143e Fix assert in setupUiConditions. 2021-02-03 14:40:19 +00:00
Roberto Fernandez Bautista 9aedeae5c3 Don't log error messages when using the clipboard
wxClipboard::GetData()and wxClipboard::SetData() both log a "wxLogSysError" error-level message (see for example:  https://github.com/wxWidgets/wxWidgets/blob/v3.1.4/src/msw/clipbrd.cpp#L703 ). This logged message gets displayed as a messagebox to the user.

The logging can be disabled temporarily by creating a wxLogNull object. See https://docs.wxwidgets.org/3.0/classwx_log_null.html

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6956
2021-02-03 01:55:05 +00:00
Jeff Young bbb8173b61 Remove and re-add saved-as libraries when Syncing tree.
Also removes the aForce parameter as it was always true anyway.

Fixes https://gitlab.com/kicad/code/kicad/issues/7357
2021-01-31 23:00:17 +00:00
Zoltan Gyarmati 3380617836 Axis color fixes in symbol editor
- explicitly set axis color at symbol editor start
- force redraw of grid after axis color change

Fixes: https://gitlab.com/kicad/code/kicad/issues/7160
2021-01-31 15:28:37 +00:00
Wayne Stambaugh 7737489e57 Symbol editor: don't allow new or imported symbols in read only libraries.
Fixes https://gitlab.com/kicad/code/kicad/issues/7334
2021-01-30 13:03:05 -05:00
Marek Roszko 78dbcdcdb7 Slight fixup to previous library browse change 2021-01-28 07:31:32 -05:00
Jeff Young ff7742c6b8 File naming and include cleanup. 2021-01-28 11:35:18 +00:00
Marek Roszko a373abd68a Invert the new symbol library flow to push users to default to a different folder for global symbols 2021-01-28 00:40:21 -05:00
Wayne Stambaugh 4619d5e112 Fix more broken Doxygen comment specifiers. 2021-01-26 12:17:52 -05:00
Michael Kavanagh 65f90f141f Symbol editor: remove duplicate legacy code path
Fixes https://gitlab.com/kicad/code/kicad/issues/7139
2021-01-17 11:14:44 +00:00
Ian McInerney ac3e677fae Cleanup some compile warnings 2021-01-13 02:12:59 +00:00
Seth Hillbrand c22921ee4f Fix spelling 2021-01-12 13:33:40 -08:00
Dominik Wernberger bb2881a5ab Make RENDER_SETTINGS argument const 2021-01-12 20:51:31 +00:00
Wayne Stambaugh 1eee72ec65 Fix library tree behavior when duplicate project table entry is disabled.
Fixes https://gitlab.com/kicad/code/kicad/issues/5438
2021-01-11 07:46:07 -05:00
Wayne Stambaugh 0655f2c436 Symbol editor: do not disable tools and grey symbols from schematic.
Fixes https://gitlab.com/kicad/code/kicad/issues/6968
2021-01-08 18:25:18 -05:00
Wayne Stambaugh 50b171fa33 Symbol editor: improve symbol library save as behavior.
ADDED: Radio button controls to symbol library editor save as file dialog
to allow the user to choose the appropriate symbol library table changes
to be made after the library is saved.

Fixes https://gitlab.com/kicad/code/kicad/issues/4911
2020-12-29 14:00:46 -05:00
Jon Evans 97a9f43a9f Fix import of schematic grid settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6705
2020-12-27 12:33:35 -05:00
Wayne Stambaugh 59c2bf19dc Symbol editor header clean up. 2020-12-27 11:55:32 -05:00
Wayne Stambaugh 5069d20768 Symbol editor: make library and symbol save as operations explicit.
Prior to this change the "Save As.." command would take a different action
based on the state of the editor which could be confusing.  There are now
separate commands for saving the currently selected library or symbol.

CHANGED: The implicit save as menu entry which would save the currently
selected library if no symbol was selected or the current symbol to a
different library.  There are now separate save as commands for libraries
and symbols to make it obvious what is being saved.
2020-12-27 11:55:32 -05:00
Jeff Young 1648dd6f0e Fix various issues with save & editing symbols from schematic.
1) Zero out selection in tree when canvas captures focus so that
save/save as actions will go to canvas, not tree item.
2) Make save do a save to schematic when the canvas symbol is from
the schematic.
3) Copy fields when doing a save to schematic (setting the lib part
doesn't update them on its own).
4) Remove no-longer-necessary calls to update schematic after
saving symbols (the schematic symbols are no longer hot-linked).

Fixes https://gitlab.com/kicad/code/kicad/issues/6763
2020-12-25 11:58:58 +00:00
Jeff Young 6b420b191a Use color theme backgrounds in page previews.
Also includes a *lot* of const fixing to make it happen.

Fixes https://gitlab.com/kicad/code/kicad/issues/6811
2020-12-23 23:18:38 +00:00
Seth Hillbrand 61ac9c8d90 Add multiple size icons for programs
In theory, the WM should now choose the closest size icon for its
purpose, making it easier to distinguish in space-constrained settings

Fixes https://gitlab.com/kicad/code/kicad/issues/6798
2020-12-22 15:37:26 -08:00
Jeff Young 47ea51ec34 Allow both aui-manager-based infobars and window overlay infobars. 2020-12-22 21:36:39 +00:00
Jeff Young fb7ac450d9 Read-only dialogs for symbols in legacy libraries.
Fixes https://gitlab.com/kicad/code/kicad/issues/5211
2020-12-22 12:16:27 +00:00
Jeff Young f9bbdb31b0 Beginnings of legacy symbol locking.
Fixes https://gitlab.com/kicad/code/kicad/issues/5211
2020-12-22 00:14:54 +00:00
Jeff Young 50e1e07f4b Put pasted part on canvas.
Fixes https://gitlab.com/kicad/code/kicad/issues/6793
2020-12-21 17:37:53 +00:00
Jeff Young 189b1742f7 Naming conventions and formatting. 2020-12-18 19:57:44 +00:00
Jeff Young bb232e6ac6 Unify LIB_IDs now that both are stored in sexpr files.
Fixes https://gitlab.com/kicad/code/kicad/issues/6764
2020-12-18 00:30:26 +00:00
Jeff Young 1db7ffad5e Formatting. 2020-12-13 11:42:03 +00:00
Jeff Young b6e267b78d Naming conventions. 2020-12-12 03:43:41 +00:00
Jeff Young 412c9c8c4e Save should be disabled only if the file is up-to-date.
Any other issues (such as locked files) need to produce a dialog
with info for the user.
2020-12-11 23:58:30 +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
Jeff Young c611f62ade Get rid of annoying double-draw when choosing a new symbol. 2020-12-08 15:27:50 +00:00
Jeff Young d1a9efa5fc Try out an animating, obscuring infobar. 2020-12-08 15:05:35 +00:00
Jeff Young 893f1bb4c1 Clear view before deleting part.
Fixes https://gitlab.com/kicad/code/kicad/issues/6658
2020-12-07 15:49:57 +00:00
Jeff Young 59527dff2a Add infobar for derived symbol editing.
Fixes https://gitlab.com/kicad/code/kicad/issues/6439
2020-12-06 22:44:30 +00:00
Wayne Stambaugh fd3348690d Symbol editor: enable save command when only libraries are modified.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6445
2020-12-03 08:17:09 -05:00
Jeff Young baac9bfbf8 Don't try and rename lib entry when symbol is from board. 2020-11-22 15:40:44 +00:00
Jeff Young 1391774f64 Re-factor boundary/courtyard checker error handling.
ADDED Footprint Checker dialog to display the results in.

Fixes https://gitlab.com/kicad/code/kicad/issues/6446
2020-11-21 20:57:35 +00:00
Jeff Young c1d1c12b41 Simplify message panel code.
We've had the colours turned off for two releases now without any
screaming or gnashing of teeth, so it's time to clean up the code.
2020-11-18 17:32:40 +00:00
Jeff Young a207bd97bb Naming conventions. 2020-11-17 16:05:49 +00:00