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
Jeff Young
dff5173baf
Exorcise some instances of "modedit".
2020-11-17 16:05:48 +00:00
Jeff Young
6e6e0aa644
Naming conventions (including some component -> symbol).
2020-11-15 20:23:15 +00:00
Jeff Young
f0d0e17aab
Prepare for MODULE -> FOOTPRINT.
2020-11-13 15:16:24 +00:00
Jeff Young
787bd5109e
Copy properties but not values of datasheet and footprint fields.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/6037
2020-11-11 17:52:15 +00:00
Wayne Stambaugh
4ea3914d4e
Coverity fixes.
...
CIDs: 312996, 305508, 305509, 305510, 312992, 312997, 312994, 312995,
312968, and 306650.
2020-11-10 08:50:16 -05:00
Jeff Young
bfd8a62852
Formatting and naming conventions.
2020-11-07 18:50:30 +00:00
Wayne Stambaugh
ae4614bfbd
Symbol editor: do not allow paste into derived symbols.
...
Don't allow select all, copy, cut, paste, or duplicate if the current
symbol is an alias.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6050
2020-11-04 15:00:09 -05:00
Ian McInerney
3d47eb0d49
Fix localization of the menu strings with accelerator strings
...
The accelerator strings really shouldn't be part of the translation,
and some translations have cause the accelerator keys to be incorrectly
handled. It is simpler to make it separate and just join them to the
translated string.
Make all accelerator modifiers use lowercased Ctrl instead of CTRL
to be the same as the other modifiers.
Fixes https://gitlab.com/kicad/code/kicad/issues/5992
2020-11-04 01:31:52 +00:00
Ian McInerney
123fe5a887
Sort root symbols by name in new symbol dialog
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5910
2020-11-04 01:31:52 +00:00
Wayne Stambaugh
52e9ec5954
Symbol editor: fix library symbol tree modified state bug.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5573
2020-11-03 09:33:06 -05:00
Jeff Young
bddc97df30
LibEdit -> SymbolEditor
2020-10-31 10:28:21 +00:00