Jeff Young
20f6a83466
Don't leave wxWidgets to calc the height of the hierarchy navigator.
...
It just makes a mess of things.
Fixes https://gitlab.com/kicad/code/kicad/issues/10501
2022-07-26 18:45:02 +01:00
Jeff Young
ee0f93ed17
Fix some issue with hierarchy panel on OSX.
...
Also moves the option toolbars tight to the canvas for all windows.
Fixes https://gitlab.com/kicad/code/kicad/issues/12087
2022-07-26 14:51:43 +01:00
jean-pierre charras
993c446fdf
Fix some warnings detected by PVS-STUDIO (most are not used vars)
2022-07-25 18:23:52 +02:00
jean-pierre charras
82167a7c96
Avoid crashes when, for some reason, a dll cannot be loaded.
...
In this case a null pointer was returned by the internal code.
This pointer is now tested against nullptr to avoid the application crashing.
Fixes #12080
https://gitlab.com/kicad/code/kicad/issues/12080
2022-07-24 19:42:50 +02:00
Miklos Marton
d30af7c164
eeschema: Add automatic rotate feature for placing global and
...
hierarchial labels
2022-07-05 17:02:45 +00:00
jean-pierre charras
b712c2c0da
Eeschema: fixes about Hierarchy panel/pane handling
2022-06-09 19:43:09 +02:00
jean-pierre charras
ef2e51b493
Eeschema: code refactor and fix missing save project setting when closing the sch editor.
2022-06-09 13:39:09 +02:00
jean-pierre charras
b401e98c80
Eeschema, hierarchy navigator: fixes and enhancements.
...
Work in progress.
2022-06-08 18:23:03 +02:00
jean-pierre charras
185016b84b
Eeschema, Hierarchy navigator: add tool to Hide/show the panel.
...
Add also a close button to the pane.
2022-06-07 11:11:10 +02:00
Mike Williams
8d51b6b6d3
Schematic: Add icons for Any/90/45 angle modes
...
Also add a dark mode icon for existing 45hv icon.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/11332
2022-06-03 15:04:52 +00:00
Mike Williams
857990a883
Hierarchy: turn into a left side pane
...
Drop auto-closing option as well.
2022-06-02 21:56:17 +00:00
Mike Williams
85516a4691
Schematic: add automatic annotation toggle
2022-05-27 15:54:00 +00:00
Jeff Young
68ca385e07
On-the-fly translations for pin electrical types.
...
Also add on-the-fly translation for editor title bars.
Fixes https://gitlab.com/kicad/code/kicad/issues/11324
2022-04-05 13:57:28 +01:00
Mike Williams
2a726a882f
Schematic: new feature, force 45 degree lines
...
* New modes to force 45 deg angle at beginning or end of line
* Backspace will undo most recent segment added
* / will toggle posture of 90 and 45 degree lines
* Added alg::signbit for convenience
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/10869
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/9175
2022-03-28 16:07:23 -04:00
Jeff Young
7b82c2ba85
Preload eeschema find with selection when appropriate.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/11148
2022-03-18 23:31:30 +00:00
Jeff Young
c6a8100d46
Schematic and symbol text boxes.
...
Also fixes some plot bugs with arcs.
Also moves polygonization of arcs (when required) in plotting code
from 5 degrees to calculated based on ARC_HIGH_DEF.
Fixes https://gitlab.com/kicad/code/kicad/issues/5017
2022-01-28 21:38:15 +00:00
Jeff Young
2defd8d911
Move show-bounding-boxes to a tool on the toolbars.
2022-01-17 11:56:40 +00:00
Jeff Young
92d5a3e763
Clear caches when changing global default font.
2022-01-09 11:34:20 +00:00
Jeff Young
04c76f10e9
Performance enhancements for fonts.
2022-01-08 16:47:45 +00:00
Marek Roszko
c4c56de708
Neurotically update position wxPoint usages
2022-01-01 11:55:51 -05:00
Jeff Young
29c942816e
Reduce duplication of settings.
2021-12-24 21:10:28 +00:00
Jeff Young
af13533b42
Add show/hide controls for ERC markers.
...
ADDED show/hide controls for ERC warnings, ERC errors and ERC exclusions.
Fixes https://gitlab.com/kicad/code/kicad/issues/7270
2021-12-24 17:38:50 +00:00
Jeff Young
889970a449
SCH_NETCLASS_FLAGs and SCH_FIELDs for labels.
...
ADDED: a new label type for netclass flags.
ADDED: the ability to define fields on labels.
2021-12-24 16:13:27 +00:00
Jeff Young
9ee28ea8f5
Flatten out some more preferences.
2021-12-24 15:43:20 +00:00
Jeff Young
d28714167c
All the preferences, all the time.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7877
Fixes https://gitlab.com/kicad/code/kicad/issues/5153
2021-12-24 13:08:44 +00:00
Jeff Young
9af33cdfe8
Don't leave stranded symbols/footprints in editors when doc closes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/10026
2021-12-23 16:54:03 +00:00
Wayne Stambaugh
b7af66e3f9
Eeschema: fix broken page numbers when renaming a sheet file name.
...
Always use full sheet paths when storing sheet instances. Partial sheet
paths cannot be full resolved resulting in lost page numbers when renaming
sheet file name.
Fixes #9782
2021-12-09 12:56:03 +00:00
Wayne Stambaugh
a03e6e4926
Revert "Eeschema: fix broken page numbers when renaming a sheet file name."
...
This reverts commit a468a79948
.
2021-12-06 07:47:18 -05:00
Wayne Stambaugh
a468a79948
Eeschema: fix broken page numbers when renaming a sheet file name.
...
Remove duplicate instance data saved in both root SCH_SCREEN and SCH_SHEET
objects that was causing them to be out of sync. All sheet instance data
is stored in the SCH_SHEET object itself and rebuilt on the fly so it is
always current.
Remove Get/SetPageNumber from SCH_SHEET_PATH object so it doesn't obfuscate
where the actual sheet page number information exists.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9782
2021-11-30 08:11:24 -05:00
Jeff Young
3a51fb6ac6
Be more consistent about annotation warngings.
...
This can be a particular problem if you go to run ERC, it shows the
annotation warnging so you re-annotate (but don't notice that your
scope is set to Selection).
Also adds some missing defensive code around closing a modeless RC
checker before the document (which we had for DRC dialog but not the
ERC dialog).
Also fixes a missing override of GetSeverity which kept ERC messages
from having the right prefix.
2021-11-29 14:24:45 +00:00
Jeff Young
7fc04c3cf2
Fixes for realtime connectivity being off.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9628
2021-11-24 13:20:44 +00:00
Jeff Young
c01649fc6e
Make it easier to open legacy files.
2021-11-19 13:36:14 +00:00
Wayne Stambaugh
53f5d616aa
Coverity issue fixes.
2021-11-13 11:38:31 -05:00
Jeff Young
da58e9ee4c
Don't rely on selection when updating edited symbol in schematic.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9600
2021-11-11 16:43:06 +00:00
Jeff Young
f9a282278c
Update junction-dot-size-cache when Schematic Setup changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9541
2021-11-07 14:12:44 +00:00
Jeff Young
996a5b85a6
Overhaul IsJunctionNeeded logic to support all the different cases.
...
Several clients were using this with different needs. The API is
now more explicit (and there are more options under the hood).
Fixes https://gitlab.com/kicad/code/kicad/issues/9518
2021-11-04 12:57:16 +00:00
Jon Evans
8e5cbc5cf0
Fix highlighting complex connections from subsheets
...
Sheet() can't be used for local sheet recall in these cases
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9403
2021-10-25 22:14:48 -04:00
Wayne Stambaugh
c61af21da8
Eeschema: don't stat files when updating title bar text.
...
The tests for file existence and write status perform two file stats
which cause performance issues on slow network shares. Now the file
state is determined at load time and stored in the SCH_SCREEN object
so file access is no longer required.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9343
2021-10-14 10:52:58 -04:00
Wayne Stambaugh
c4d0a06701
Eeschema: fix broken auto save feature.
...
Make auto save recover all auto saved sheet files not just the root sheet.
This does not fix existing auto save issues because recovery would require
an iterative reload for each automatically saved sheet file and would only
happen once.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/9288
2021-10-13 14:51:00 -04:00
Seth Hillbrand
548e5f49bd
Clean up unused variable usage
...
Unused variables in function calls can be commented out. Unused
return variables get a new routine `ignore_unused()` that silences the
warnings with zero overhead.
2021-10-05 10:00:30 -07:00
Jeff Young
10dd70881c
New paramaterized interface doesn't like quoted parameters.
...
(At least on MSW, anyway.)
2021-10-02 14:08:36 +01:00
Jeff Young
5f5ee7335d
Formatting.
2021-10-01 21:49:14 +01:00
Seth Hillbrand
42a21e15f0
Check before dereference
...
Fixes a crash where the screen was destroyed during new loading but
still gets dereferenced by the UI update. Also puts defensive checks in
the UI conditions against null configuration settings
2021-09-28 08:42:55 -07:00
Jeff Young
552f053a55
Remove pins from symbol hit-testing.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8508
2021-09-23 22:07:51 +01:00
Jeff Young
6e7ce09572
Use more descriptive terminology for preferred text editor.
...
Also improves execution to allow the preferred editor to include
parameters, such as "/usr/bin/open -e".
Fixes https://gitlab.com/kicad/code/kicad/issues/9131
2021-09-19 15:17:26 +01:00
Jeff Young
0400c0a775
Prevent crash with RTree modification invalidating iterator.
2021-09-19 11:34:43 +01:00
Jeff Young
a291cae2fd
Make sure intersheetRef bounding boxes get updated in RTree.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/9177
2021-09-18 18:32:19 +01:00
Jeff Young
b84d1456d5
KIFACE_I -> KIFACE_BASE.
2021-09-14 23:45:14 +01:00
Jeff Young
3aae3c6f65
Dark mode for a bunch of HTML dialogs.
...
WX_HTML_REPORT_BOX
WX_HTML_REPORT_PANEL
HTML_MESSAGEBOX
DIALOG_DISPLAY_HTML_TEXT
Fixes https://gitlab.com/kicad/code/kicad/issues/9157
Fixes https://gitlab.com/kicad/code/kicad/issues/9156
2021-09-14 21:23:57 +01:00
Jeff Young
bc8245ca7b
Attempt to untangle junction dot preferences.
2021-09-02 12:41:16 +01:00
Mike Williams
d18d993eac
Eeschema: find next key shouldn't launch find dialog
...
Adds some general cleanups of overridden find functions while I'm in there.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8967
2021-08-27 18:15:36 +00: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
29eece7409
Move update-wires-if-driver-changed logic.
...
This prevents RecalculateConnections from getting called twice before
we run the logic. In that case the driver would change on the first
recalc, and then it would look like it didn't change on the second (which
is where we were checking).
Fixes https://gitlab.com/kicad/code/kicad/issues/8812
2021-07-23 16:45:26 +01:00
Wayne Stambaugh
cb72da294a
More NULL expunging.
2021-07-16 16:13:41 -04:00
luz paz
0446d35f0d
Fix source comment/doc typos (follow-up)
...
Found via `codespell -q 3 -S *.po,./thirdparty -L aactual,acount,aline,alocation,alog,anormal,anumber,aother,apoints,aparent,aray,dout,einstance,modul,ot,overide,serie,te,,tesselate,tesselator,tht`
2021-07-13 10:48:17 +00:00
david-beinder
a5308e5f5c
Fix python console toggle to work across pcbnew/eeschema
2021-07-03 22:48:46 +00:00
Jon Evans
8cbd754362
Preserve highlighted connection through a recalculation
2021-07-03 16:43:00 -04:00
Jeff Young
64f07ea9c6
Update text variables after changes.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8697
2021-06-29 13:55:06 +01:00
Jeff Young
a1dfc36233
More error message regularization.
2021-06-29 01:08:26 +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
luz paz
f968fc8719
Fix source comment / documentation typos
2021-06-09 19:32:58 +00:00
Marek Roszko
4e94b1fe86
Remove the universal sockets include
2021-06-03 17:59:46 -04: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
Seth Hillbrand
f47784cd14
Fixup Junctions should call common tool
2021-05-28 12:35:38 -07:00
Roberto Fernandez Bautista
63f56640db
CADSTAR Schematic: Add needed junctions on load
...
Fixes a bug that was causing junctions to disappear when they
were not perfectly positioned in the original CADSTAR design.
2021-05-28 20:13:10 +01: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
jean-pierre charras
cda9650380
Eeschema: ensure the actual canvas type is saved in config.
...
The saved type was not updated after switching the canvas type from Preferences.
2021-05-17 11:48:37 +02:00
Jeff Young
c30102cd4f
Don't crash when trying to save sim settings during shutdown.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8327
2021-05-01 21:49:40 +01:00
Marek Roszko
9dc611f704
Delay loading eeschema "project settings" to after the ui is ready
2021-05-01 16:13:48 -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
Marek Roszko
6e9f833739
Disable two prof_counters if not ifdefed
2021-05-01 10:08:21 -04:00
Jonathan Haas
0593f3b0c3
Fill gc with background color before copying to clipboard
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7995
2021-04-12 17:05:50 +00: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
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
jean-pierre charras
faa5ed3e37
typo
2021-03-25 11:47:13 +01:00
Jeff Young
040cdd64f2
Fix typo in Eeschema titlebar.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/8016
2021-03-25 10:28:03 +00:00
Jeff Young
e560de496c
Intersheet refs don't go in the view themselves.
...
(Their parents draw them.)
Also simplifies a couple of loops by using OfType().
Fixes https://gitlab.com/kicad/code/kicad/issues/7805
2021-03-19 16:14:34 +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
8be3ff5a0a
Perform a slightly more aggressive cleanup.
...
Also removes the functionality that selects the newly-added item as
we don't do that with any of the other drawing tools.
Fixes https://gitlab.com/kicad/code/kicad/issues/7833
2021-03-09 21:42:35 +00:00
Dominik Wernberger
e2aa7be4b3
Added a lot of consts and refactored a few lines
2021-03-08 12:49:48 -08:00
Jeff Young
6fd247a152
Check for active tool as well as items.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/7821
2021-03-08 14:09:43 +00:00
Jon Evans
720147d272
Remove transitive inclusion of bitmaps.h
2021-03-07 16:08:57 -05:00
Jeff Young
a3b9e8ddb4
Round 2 of Worksheet -> Drawing Sheet.
2021-02-23 11:57:44 +00:00
Jeff Young
cad5198ab7
Worksheet -> (industry standard) Drawing Sheet.
2021-02-22 17:35:46 +00:00
Jon Evans
f1039dfb94
Disable project saving outside explicit save actions
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7589
2021-02-21 21:31:45 -05: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
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
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
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
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