Commit Graph

2695 Commits

Author SHA1 Message Date
Jeff Young 726f4d8016 Fix up some more cases of missing escaping for symbol names.
Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-07-28 16:40:38 +01:00
Wayne Stambaugh 37b200cb3e Pass wxString objects by reference instead of on the stack. 2021-07-27 08:41:27 -04:00
jean-pierre charras 8ff76de18e DIALOG_EDIT_ONE_FIELD: fix a non resizable widgets and fix a compil warning.
Fixes #8877
https://gitlab.com/kicad/code/kicad/issues/8877
2021-07-27 14:12:46 +02:00
Wayne Stambaugh 8fd83cbb95 Pass wxPoint objects by reference instead of on the stack. 2021-07-26 15:35:33 -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 cb72da294a More NULL expunging. 2021-07-16 16:13:41 -04:00
Seth Hillbrand d1c9572bcc Allow editing symbols when added to schematic
We do not allow editing symbols in Legacy libraries, but once they are
added to the schematic, they become editable
2021-07-16 12:08:57 -07:00
jean-pierre charras 4df3ba6a56 DIALOG_SPICE_MODEL: expand env var to open lib file selection dialog in the previous selected lib 2021-07-12 19:40:03 +02:00
Jeff Young 0b4bb9378b Use consistent terminology.
Fixes https://gitlab.com/kicad/code/kicad/issues/8777
2021-07-12 11:59:07 +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
Jeff Young 5bd30232e8 Remove nag preventing setting shape to default line width.
Fixes https://gitlab.com/kicad/code/kicad/issues/8774
2021-07-11 13:04:55 +01:00
Jeff Young 2fc4ee5c5f Upgrade "project is missing" to a warning. 2021-07-10 09:47:49 +01:00
Jeff Young a06b95bb1f Even out spacing around various panels. 2021-07-09 23:42:45 +01:00
Wayne Stambaugh dffe2661e6 Fix SPICE simulator plot bug.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1944
2021-07-09 16:20:35 -04:00
jean-pierre charras 928c4e8ed7 DIALOG_SPICE_MODEL: expand environment vars in spice library path. 2021-07-09 18:22:59 +02:00
Mikolaj Wielgus 6dfd655a7f Save simulator checkbox settings in project file
Fixes https://gitlab.com/kicad/code/kicad/issues/8450
2021-07-06 10:06:51 +00:00
Jeff Young ea6769b702 The REPORTER interface is inherently line-based.
Also fixes a bunch of error messages that were similar but not
identical (which just increases translation burden).

Fixes https://gitlab.com/kicad/code/kicad/issues/8723
2021-07-05 13:41:06 +01:00
Jeff Young 6c161eec68 Autodetect plugin type when editing filename cell.
Fixes https://gitlab.com/kicad/code/kicad/issues/8687
2021-07-04 18:21:16 +01:00
Jeff Young f46486bc3e Naming conventions. 2021-07-03 21:43:57 +01:00
Jeff Young 5507230b9b Minor dialog spacing issue. 2021-07-03 15:24:54 +01:00
Wayne Stambaugh 3f6811f413 Minor dialog layout improvements. 2021-07-02 11:36:06 -04:00
Jeff Young dacb5f58e8 Default bus entries to default (0 width and transparent color).
Also adds some help text to the dialog so it's easier to figure out
what's going on.

Fixes https://gitlab.com/kicad/code/kicad/issues/8607
2021-07-01 15:43:19 +01:00
Jeff Young 201c34345f Fix sheet filename if it's missing extension.
Fixes https://gitlab.com/kicad/code/kicad/issues/8619
2021-07-01 15:43:19 +01:00
Jeff Young 00504368d6 Better label for fieldname filter, and single undo for all sheets.
Fixes https://gitlab.com/kicad/code/kicad/issues/8704
2021-06-30 18:45:18 +01:00
Jeff Young b1b4caee6a Escape "naughty" characters in symbol names.
It's tempting to say that we don't need to exclude filename chars
from symbols, but we might regret that decision down the road.  Better
to just escape them.

Fixes https://gitlab.com/kicad/code/kicad/issues/8694
2021-06-30 13:12:57 +01: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 6c67dfa032 Improve eeschema colour preview zoom-to-fit a bit. 2021-06-29 01:08:26 +01:00
Jeff Young a1dfc36233 More error message regularization. 2021-06-29 01:08:26 +01:00
Jeff Young e2a2c3282a Update fields list when source or target lib IDs change.
Fixes https://gitlab.com/kicad/code/kicad/issues/8263
2021-06-28 20:38:19 +01:00
Jeff Young d296bec5b8 Differentiate aSingleLine mode for SCINTILLA_TRICKS
This allows us to avoid the monospaced font (along with the tab-stop
handling), and process a <return> as an OK rather than just <shift> +
<return>.

Fixes https://gitlab.com/kicad/code/kicad/issues/8425
2021-06-28 11:20:12 +01:00
Jeff Young 4aa8318dc2 More error message regularization. 2021-06-27 14:24:02 +01:00
Jeff Young 0dfb5fcaf9 Error message cleanup.
wxString::Format is redundant in a wxLogXXX call.
Error messages should generally be translatable.
Error messages should use generally consistent sentence forms.
2021-06-26 22:53:24 +01:00
Jeff Young 5c21f93803 Consistency in progress and error messages. 2021-06-26 13:23:43 +01:00
Jeff Young 27804e40e2 Go back to using space-width for tabs (instead of max-char-width).
The max-char-width impl was buggy and never applied to PCBNew anyway.
Plus the stroke font has a max-char-width of 2.8 time the space width,
so it made for really wide tab spacing.

Also fixes a bug where the Scintilla editors weren't getting a
monospace font on Mac.  (This bug may also exist on the other
platforms, but each would need its own fix.)

Also moves more of the Scintalla customizations to SCINTILLA_TRICKS
where they can be shared.

Fixes https://gitlab.com/kicad/code/kicad/issues/8666
2021-06-24 23:53:27 +01:00
PJM 15d36456a9 Eeschema: Save annotation starting value in project settings
CHANGED: Added support for saving the starting value for annotation

Fixes https://gitlab.com/kicad/code/kicad/issues/8364
2021-06-21 10:19:09 +00:00
Jeff Young e540752640 Allow all selected footprints/symbols to be changed.
Fixes https://gitlab.com/kicad/code/kicad/issues/7389
2021-06-17 23:34:56 +01:00
Jeff Young 389287e942 A bit more Part -> Symbol. 2021-06-17 22:24:41 +01:00
Jeff Young 1722bc03b0 Consistent terminology and punctuation. 2021-06-17 00:05:17 +01:00
Michal Schulz a895dc15f9 eeschema label edit dialog replaces '\r' occurances with '\n'. 2021-06-15 14:59:04 +00: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
Jeff Young a386d44134 Fix typo fetching stroke width.
Fixes https://gitlab.com/kicad/code/kicad/issues/8600
2021-06-13 20:31:53 +01:00
Wayne Stambaugh fbc135e69f Rename SCH_COMPONENT to SCH_SYMBOL. 2021-06-10 10:34:49 -04:00
jean-pierre charras 1c3df973d6 Coverity warnings fixes. 2021-06-10 13:45:02 +02:00
luz paz f968fc8719 Fix source comment / documentation typos 2021-06-09 19:32:58 +00:00
Jeff Young de95edb5ad UI improvements for Manage Symbol Libraries.
Fixes https://gitlab.com/kicad/code/kicad/issues/8466
2021-06-09 19:20:51 +01:00
Marek Roszko d946d6e68f Cleanup some pgm_base.h includes 2021-06-08 21:56:00 -04:00
Marek Roszko 6e01ce84b9 Break out eda_item_flags.h, fix the typedef to std::uint32_t, fix some signed vars 2021-06-08 19:12:30 -04:00
Marek Roszko 8f2819cfa4 Kill the last of wx/wx.h in headers 2021-06-07 17:59:20 -04:00
jean-pierre charras 6cfc2755ed Remove a useless "#include wx/wx.h" from wx_html_report_panel.h 2021-06-07 09:26:13 +02:00
Marek Roszko 33bbf85a3e Use the parent frame GetSettings helper rather than including for Pgm() 2021-06-06 19:05:12 -04:00
Jeff Young f02d7ee593 Fix some (unexplained) issues with wxString::Printf on my build. 2021-06-06 19:01:23 +01:00
Marek Roszko c337f747b8 DIALOG_PIN_PROPERTIES does not need wx/msgdlg 2021-06-06 09:36:04 -04:00
Marek Roszko b1c9083743 Remove the wx/docview.h include 2021-06-03 18:42:08 -04:00
Wayne Stambaugh 7c14e4e967 Common widget header housekeeping. 2021-06-03 12:02:45 -04:00
Marek Roszko 4df3cb912d Remove another leaky wx/log.h header 2021-06-03 08:11:15 -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
Giulio Girardi cc5b3f1a2f Always check simulator netlist options
Before the simulation netlist checkboxes were considered only when
changing the simulation type
2021-06-01 12:42:45 +00: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
Wayne Stambaugh 9fcd847238 Eeschema: allow sheet file paths outside the project to be relative. 2021-05-27 14:48:22 -04:00
jean-pierre charras bd72f7a054 DIALOG_PIN_PROPERTIES: shows the pin connect point, like in symbol editor.
(See commit 2817c)
2021-05-27 20:45:45 +02:00
Jeff Young 3d0fe8e2c6 Only initialize VALIDATOR if we're using it.
It appears to get called by the wxWidgets framework sometimes even
when invisible/unenabled.

Fixes https://gitlab.com/kicad/code/kicad/issues/8483
2021-05-26 12:39:33 +01:00
Roberto Fernandez Bautista 6b764f893a Assign a page number to all sheet instances when adding a sheet
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8208
2021-05-21 22:52:40 +01:00
Giulio Girardi 78a475d75b Enable "Spice settings" button on derived symbols 2021-05-20 14:53:23 +00:00
Wayne Stambaugh 11785b08fe Eeschema: fix plot path in stand alone mode with no project loaded.
Fixes https://gitlab.com/kicad/code/kicad/8308
2021-05-18 13:59:27 -04:00
Wayne Stambaugh 57d4347f00 Eeschema: move schematic plot dialog code into dialog_plog_schematic.cpp.
This makes it easier to find all of the dialog code, has less files to
compile, and makes it easier to see the redundant code that could be
refactored.
2021-05-17 17:00:30 -04:00
Wayne Stambaugh ebd53cd45c Eeschema: fix text justification terminology.
Use justification instead of orientation relative to the anchor point when
describing text direction and alignment.  This seems to be the preferred
method by most users so hopefully this will eliminate some confusion.

Fix a bug in the s-expression schematic parser that failed to take into
account how graphical text alignment is defined for graphic text objects
compared to label text objects.

Fixes https://gitlab.com/kicad/code/kicad/issues/6489
2021-05-14 13:44:17 -04:00
Wayne Stambaugh e4ac0fb5a1 Eeschema: fix minor editing options panel lay out issues. 2021-05-12 18:04:23 -04:00
Jeff Young 693fbf9073 Ask user before overwriting a file when migrating symbol libs.
Fixes https://gitlab.com/kicad/code/kicad/issues/8299
2021-05-08 23:09:51 +01:00
Wayne Stambaugh 6e017b475d Warn user before removing invalid rows from library table entries.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8080
2021-05-08 08:58:54 -04:00
Wayne Stambaugh 5da8e700ce Eeschema: fix BOM path bug in stand alone mode.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8180
2021-05-06 15:42:38 -04:00
Wayne Stambaugh 68085820ff Eeschema: fix value and footprint field update bug.
Don't assume all identical references should have the same value.
Filter by checking that only symbol units having the same reference
also have the same library identifier before updating the value and
footprint fields.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8313
2021-05-06 07:13:26 -04:00
Jeff Young 2e3860de6f Naming conventions. 2021-05-05 22:58:40 +01:00
Jonatan Liljedahl a8672dd2f9 Simulator: populate DC sources list. 2021-05-04 22:54:42 +02:00
Jonatan Liljedahl d46e106564 Simulator: Fix sim settings layout for DC sweep page.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/8261
2021-05-04 15:14:10 +00:00
Fabien Corona 065f85b504 check on exit 2021-05-04 13:57:45 +00:00
Fabien Corona 0555da2aaa Eeschema page: if empty, don't check export 2021-05-04 13:57:45 +00:00
Roberto Fernandez Bautista f2677340f2 Access the new paste behaviour via a new Paste Special... dialog
ADDED Paste Special... action in pcbnew

CHANGED Additional options for Paste Special... in eeschema, including
"Assign unique reference designators to pasted instance"
2021-05-03 19:38:32 +01:00
Roberto Fernandez Bautista ae009e0758 Ensure clipboard data is available after KiCad closes
Always Flush() after SetData()
2021-05-03 19:38:31 +01:00
jean-pierre charras aee1593678 Fix wxWidgets alerts
Fixes #8346
https://gitlab.com/kicad/code/kicad/issues/8346
2021-05-02 16:02:33 +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
Roberto Fernandez Bautista 0f85f61e5f CHANGED: Reannotation in eeschema now always keeps symbol units
Ensures that symbol units are never modified after re-annotation.
2021-04-30 11:03:21 +00:00
Roberto Fernandez Bautista 0c91bea751 Fix eeschema reannotation: ensure no duplicate references are created
Also implements reannotation of a selection

ADDED: Ability to reannotate a selection in eeschema

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2209
2021-04-30 11:03:21 +00:00
Jeff Young 50fd94d35d Remove stale comment. (Thanks Jonathan!) 2021-04-26 20:01:30 +01:00
Jeff Young e06a3cf3b4 Add Annotate Selection in prep for Roberto's fixes. 2021-04-26 17:33:49 +01:00
Jeff Young de2f60fe4c Save annotation settings in preferences.
See comments in issue.

Fixes https://gitlab.com/kicad/code/kicad/issues/8277
2021-04-26 16:05:22 +01:00
Jeff Young f30c67a478 Symbols need to be unannotated when updating their references.
Fixes https://gitlab.com/kicad/code/kicad/issues/8223
2021-04-18 16:26:36 +01:00
Jeff Young 9846076676 Don't change must match between FormBuilder and C++ code. 2021-04-16 18:20:55 +01:00
Jeff Young 76ba11bd86 AppendUndo needs to be set after the first undo...
... not after the first change.

Fixes https://gitlab.com/kicad/code/kicad/issues/8148
2021-04-16 18:20:55 +01:00
Jonathan Haas 846e4aed42 Fix selection filter in Edit Text and Graphics dialog
Fixes https://gitlab.com/kicad/code/kicad/issues/7966

Fixes https://gitlab.com/kicad/code/kicad/issues/8149
2021-04-10 15:49:23 +00:00
Jonathan Haas 0589792a14 Set combobox defaults in "Edit Text and Graphics" dialog
Fixes https://gitlab.com/kicad/code/kicad/issues/8167
2021-04-10 09:25:06 +02: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
Wayne Stambaugh 2b86b34124 Eeschema: split out SCH_SHEET_PIN declarations into separate header. 2021-04-06 17:15:49 -04:00
Jonathan Haas baca70e748 Fix description: FETs have a gate, not a grid 2021-04-05 16:15:25 +02:00
jean-pierre charras 2b89511887 DIALOG_LIB_EDIT_TEXT: Remove useless code creating a wxWidgets alert. Fixes #8093 https://gitlab.com/kicad/code/kicad/issues/8093 2021-04-03 17:58:11 +02:00
Jon Evans c1573744be Lock project files when opening; open locked projects read-only
Also clean up an include-what-you-use problem

Fixes https://gitlab.com/kicad/code/kicad/-/issues/8037
2021-04-02 19:29:56 -04:00
jean-pierre charras dce351791c Eeschema, DIALOG_SYMBOL_PROPERTIES_BASE: very minor fix: make lib link copiable.
Fixes #8080
https://gitlab.com/kicad/code/kicad/issues/8080
2021-04-01 13:54:32 +02:00
Jeff Young 0c4184f1a4 Split lib tree initialization into a two-pass affair.
This is under the supposition that we can't set the column widths
on some Mac instances because the host controls haven't yet been
created.  This is primarily conjecture based on looking at things
that have the *possibility* of going wrong.  Why this only happens
in some installs is beyond me.

Fixes https://gitlab.com/kicad/code/kicad/issues/5479
2021-04-01 10:51:29 +01:00
Jeff Young 2fc34de1be Don't nag the user about file extensions. Just fix it.
Fixes https://gitlab.com/kicad/code/kicad/issues/8067
2021-03-29 22:11:35 +01:00
jean-pierre charras cc43436df8 Eeschema: Fix a few issues in dialog edit fields
Partial fix of #8057
2021-03-28 18:23:35 +02:00
Jeff Young 15e640b5fe Reset field ids after re-ordering.
We use the id for sorting the multivector.

Fixes https://gitlab.com/kicad/code/kicad/issues/8031
2021-03-26 23:26:10 +00:00
Jeff Young 29b215d7f5 Move spice compatibility mode out of analysis type notebook.
Fixes https://gitlab.com/kicad/code/kicad/issues/7988
2021-03-22 13:51:10 +00:00
Wayne Stambaugh 6997fec14f Schematic editor dialog source code housekeeping. 2021-03-21 13:31:23 -04:00
Wayne Stambaugh 80cb1db2e6 Spice simulator settings dialog improvements.
The dialog can now be closed even if it is not on a simulation type tab
which is an improvement but it still doesn't flow very well.  Maybe a
drop down list control to select the desired simulation type would make
for a better user experience.
2021-03-20 11:19:40 -04:00
Jeff Young f0e6f812ff Edit One Field improvements.
1) Accept <enter> as OK if the multiline textbox isn't shown.
2) Focus and select all in first control if multiline textbox isn't shown.
3) Make title be title caps ("Edit Sheet name Field" looked dorky).

Fixes https://gitlab.com/kicad/code/kicad/issues/7940
2021-03-20 00:41:09 +00:00
Wayne Stambaugh acec6ad7fc Spice simulator: add Ngspce model behavior mode settings.
ADDED: Ngspice simulator model behavior mode settings for PSpice, LTSpice,
       PSpice and LTSpice, and HSpice.

Fixes https://gitlab.com/kicad/code/kicad/issues/5810
2021-03-18 15:31:02 -04: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
Mario Luzeiro 4e63aefaab Call Layout OnSizeGrid
Fixes https://gitlab.com/kicad/code/kicad/issues/5690
2021-03-16 21:59:44 +00:00
Mikolaj Wielgus ee4bc8b1d0 Fix default line width for symbol editor graphic items, add validation
There was a mils to iu conversion missing for line width (the default
values are in mils).

Fixes https://gitlab.com/kicad/code/kicad/issues/7813
2021-03-16 13:50:41 +00:00
Julian Fellinger de12ebf16f Check if symbol is disabled first
By checking for disabledness of the symbol first we skip potentially unnecessary
validation that in turn would throw an unnecessary warning

Fixes https://gitlab.com/kicad/code/kicad/issues/7338
2021-03-15 08:39:46 -07:00
Jeff Young b71ab01de4 More wxWidgets 3.1 layout adjustments. 2021-03-13 00:00:38 +00:00
Jeff Young 3e947553f5 Adjust pin conflicts table for wxWidgets 3.1. 2021-03-13 00:00:38 +00:00
Jeff Young faf9cca938 Fix many cases of old mils flag getting interpreted as allowEval flag.
Fixes https://gitlab.com/kicad/code/kicad/issues/7883
2021-03-12 15:15:50 +00:00
Jon Evans 44f88f840c Bitmaps: a few improvements from review 2021-03-11 08:37:35 -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
Jeff Young 861ad0b6ec Don't bloat layout. 2021-03-10 16:00:28 +00:00
Dominik Wernberger e2aa7be4b3 Added a lot of consts and refactored a few lines 2021-03-08 12:49:48 -08:00
Franck Jullien c16199c3f9 eeschema: add a setting to allow intersheets to not list their own page
Also disable inter-sheet options when "Show inter-sheet references" is
not checked.
2021-03-08 20:40:37 +00:00
jean-pierre charras 8285f2a223 Fix a compil error. 2021-03-08 12:45:00 +01:00
Jeff Young ed61440d2a Improve clarity. 2021-03-08 11:07:35 +00:00
Jonatan Liljedahl 5b70508624 dialog_sim_settings: don't try to read current wxChoice selection if no choices.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7823
2021-03-08 09:36:15 +00:00
Jon Evans 720147d272 Remove transitive inclusion of bitmaps.h 2021-03-07 16:08:57 -05:00
Wayne Stambaugh 7a00e01b3e Eeschema: fix false positive library symbol changed ERC errors.
This fix required sorting all of the LIB_PART draw items to ensure
accurate comparison between the symbols stored in the schematic and the
original library symbols.  This has a noticeable impact on symbol library
load performance.  It may also cause significant changes the next time
the library is saved due to changes in the draw item sorting.  Hashing
may be a better solution here but this addressed the immediate problem.

A skeleton method SCH_SCREEN::SwapSymbolLinks() was added because there
is most likely an issue with orphaned symbols in the schematic library
symbol cache during undo/redo operations.  More testing is required to
verify this.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/7263
2021-03-04 17:59:24 -05:00
Ian McInerney 908de37e7c Don't hardcode the file extensions where possible 2021-03-03 01:13:59 +00:00
Jonathan Haas f90164f7cf Fix some typos and improve wording 2021-03-02 19:13:49 +01:00
Jeff Young 7760570d76 Treat action buttons in Symbol/Footprint Properties as OK, not Cancel.
Fixes https://gitlab.com/kicad/code/kicad/issues/7001
2021-03-01 20:37:04 +00:00
Jeff Young 5bc2285aef Fix another failure of dynamic_cast<>.
Fixes https://gitlab.com/kicad/code/kicad/issues/7767
2021-03-01 14:46:27 +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
jean-pierre charras 13bcfc79a1 Eeschema, DIALOG_ERC: fix minor issues:
- avoid printing twice the messages when running tests (Report() was called twice).
- when saving the report open the project directory by default.
2021-02-28 15:52:14 +01:00
Jeff Young 790e97a398 Only report "done" once, and be a (bit) more descriptive about it.
Fixes https://gitlab.com/kicad/code/kicad/issues/7743
2021-02-27 20:28:06 +00:00
Jon Evans 7fda7438f9 BOM dialog: explain when we can't find scripts
Also default to the user plugin dir when adding a new plugin,
and don't convert filenames to full path on save.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/7719
2021-02-25 22:41:12 -05:00
Jeff Young 808ab92834 Simplify default format for exporting netlist.
It's now just remembers the last-shown tab.

Fixes https://gitlab.com/kicad/code/kicad/issues/7618
2021-02-26 00:36:39 +00:00
Jeff Young b8c95345d0 Make sure reporters have a better default path than /bin. 2021-02-25 15:05:26 +00:00
jean-pierre charras 1ac81c04e5 Bugfix for "Edit text and graphic properties" dialog: vertical alignment code
erroneously checked against change in horizontal alignment UI item
2021-02-25 12:52:04 +01:00
jean-pierre charras 9797bc5f25 Left Mouse Button: use same modifiers for Pcbnew, Eeschema and pleditor for selection.
It also means the "force disambiguation menu" uses now Ctrl in Eeschema and pleditor.
2021-02-25 08:22:35 +01:00
Jon Evans 8d62c73b86 Eeschema: overhaul storage of BOM plugin settings
CHANGED: BOM generator plugins are no longer loaded by
         searching all plugin directories; instead a
         fixed default set of plugins is provided.

Also:

- Move from sexpr to JSON
- Support both full-path and no-path specifications of plugins
- Add a Reset to Defaults button to reset the list

Fixes https://gitlab.com/kicad/code/kicad/-/issues/7633
2021-02-24 22:45:42 -05:00
Wayne Stambaugh 9f42b5e8c7 Attempt to fix Coverity issue 316502. 2021-02-24 17:36:11 -05:00
Wayne Stambaugh 1786ae8773 Eeschema: use symbol nomenclature for object file naming. 2021-02-24 08:48:02 -05:00
James Jackson eee04f4482 Fix Bus Management UI flow on macOS
Fixes https://gitlab.com/kicad/code/kicad/issues/7510
2021-02-24 01:32:29 +00:00
jean-pierre charras 94bc373f30 PANEL_EESCHEMA_EDITING_OPTIONS: add info about left mouse click and modifiers.
Similar to the existing info in Pcbnew editing options panel.
2021-02-23 20:40:22 +01:00
Jeff Young e251cf067a Formatting. 2021-02-23 14:34:06 +00: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
Jeff Young 781d293b60 Add option for text updating to Update Symbol.
Fixes https://gitlab.com/kicad/code/kicad/issues/6420
2021-02-22 00:36:40 +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
jean-pierre charras 9cc2781d55 typo 2021-02-19 10:35:25 +01:00
jean-pierre charras d0ca01be22 DIALOG_EDIT_COMPONENTS_LIBID: do not replace fields by default.
Values entered by the user will be lost and the schematic can be broken.
This is especially true for generic components.
Add also a tool tip for this option.
2021-02-19 09:37:53 +01:00
Zoltan Gyarmati 0df1558e10 eeschema: update symbol fields when editing Symbol Library links
Also making this behavior optional via a adding checkbox to the
Edit Symbol Library Links dialog.

Fixes: https://gitlab.com/kicad/code/kicad/issues/7010
2021-02-18 18:06:11 +00:00
Jeff Young 6a5bba2a80 We don't really want users hand-editing library table files.
Fixes https://gitlab.com/kicad/code/kicad/issues/7591
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
Marek Roszko b609c7dcd6 Kick the osx specific path helpers into PATHS 2021-02-16 23:29:26 -05:00
Jeff Young a1f510ef6a Make sure migrated aliases get hooked up to migrated parents.
Fixes https://gitlab.com/kicad/code/kicad/issues/7322
2021-02-16 12:49:06 +00:00
Jon Evans 8135abffde Allow applying global edit actions to selected items only 2021-02-14 18:39:33 -05: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
Jon Evans c51e8ff0c6 Iterate over screens, not sheets, for bus alias loading
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7147
2021-02-13 11:04:55 -05:00
Jon Evans cb27d14ecb Allow adding a bus alias while one is selected
Fixes https://gitlab.com/kicad/code/kicad/-/issues/7510
2021-02-13 10:55:45 -05: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
Jeff Young 05d2053ded Put MSW bug fix back in. 2021-02-10 12:37:13 +00:00
jean-pierre charras 909ebe4b78 Try to fix an annoying issue in DIALOG_SYMBOL_PROPERTIES on wxGTK.
In some cases selecting a field to change its value make this value invisible.
It happens until the dialog is resized, so I am guessing there is a problem
when initializing sizers settings.
2021-02-10 12:48:58 +01:00
Seth Hillbrand 09be44a352 Use Jeff's method+font for monospace 2021-02-09 12:14:17 -08:00
Wayne Stambaugh 5ecef204cd Coding policy fixes.
Using "this->" violates coding policy section 2.7.
2021-02-09 11:35:43 -05:00
Seth Hillbrand 6f0424d742 Use monospace font for textboxes
Matches the spacing of our stroke font so the tabs are correctly
displayed in WYSIWYG

Fixes https://gitlab.com/kicad/code/kicad/issues/1807
2021-02-08 15:59:58 -08:00
Marek Roszko e8bcdfed29 Revert 2faf721360
Fix #7323
2021-02-05 07:12:23 -05:00
Marek Roszko 4c1b4b4159 Check normalize path result instead of blindly using it.
Fix #7323 again
2021-02-05 00:52:41 -05:00
Jeff Young 2faf721360 Edit library table through backing table instead of grid.
While editing the grid works on OSX, it doesn't appear to on MSW or
GTK.  Whether or not editing the backing table is any better or not
remains to be seen....

Fixes https://gitlab.com/kicad/code/kicad/issues/7323
2021-02-03 15:50:37 +00:00
Seth Hillbrand 97194983cd Select cells at a time
Selecting cells allows us to cut/paste from individual cells.  This is
critical to be able to paste from spreadsheets and move columns around
2021-02-02 19:33:18 -08: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 b8e97bb6b6 Only apply B&W printer fixes when printing.
Fixes https://gitlab.com/kicad/code/kicad/issues/7388
2021-02-02 15:37:30 +00:00
Marek Roszko 31fd49d444 Use the new nudge path for the symbol lib table, save global and project mru differently 2021-01-31 19:01:33 -05:00
jean-pierre charras c155218582 Sim plot: fix a rounding issue that can create a missing point in a plot.
Due to a truncation when converting a value to integer, the first point was
sometimes missing because it looked like out of plot range.
Fix also a cosmetic issue in dialog.
Fixes #7345
https://gitlab.com/kicad/code/kicad/issues/7345
2021-01-31 10:36:26 +01:00
Jeff Young 41234a8373 Implement more precise annotation-required messages.
Also moves the message to an infobar so it's more noticeable.

Fixes https://gitlab.com/kicad/code/kicad/issues/7332
2021-01-30 16:31:27 +00:00
Seth Hillbrand 50b05aea4a Thou shalt not set minimum width 2021-01-28 10:55:27 -08:00
Jeff Young 69d58d39e5 Add alt pin table to compare function for LIB_PIN.
Also fixes refresh issue when editing alt pins.

Fixes https://gitlab.com/kicad/code/kicad/issues/7204
2021-01-28 11:35:18 +00:00
Jeff Young ff7742c6b8 File naming and include cleanup. 2021-01-28 11:35:18 +00:00
Wayne Stambaugh 4619d5e112 Fix more broken Doxygen comment specifiers. 2021-01-26 12:17:52 -05:00
Sylwester Kocjan 6a48e21eb2 simulator: update dialog to handle R, I & TEMP DC sweeps
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2370
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6195
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2386
2021-01-25 21:29:13 +00:00
Jeff Young 0a1a5ea669 Fold annotation error reporting into ERC.
Fixes https://gitlab.com/kicad/code/kicad/issues/6938
2021-01-24 23:01:24 +00:00
Michael Kavanagh ab8bd8f8c7 Dont duplicate items in sheet pin properties combo
Fixes https://gitlab.com/kicad/code/kicad/issues/7132
2021-01-19 23:54:03 +00:00
Jeff Young 360953ba98 "comp" -> "symbol". 2021-01-19 23:50:40 +00:00
Jeff Young c016ed7940 Engage brain before coding.
Fixes https://gitlab.com/kicad/code/kicad/issues/7123
2021-01-18 15:20:15 +00:00
Roberto Fernandez Bautista ece0a5ec8e Make default color UNSPECIFIED for new sheets and allows "clearing" the color
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6697
2021-01-16 08:39:20 +00:00
Jeff Young e27bd5cf15 Add control over updating of symbol attributes.
ADDED Update Symbol from Library and Change Symbol can now specify
whether or not to update attributes (include in BOM and include on
board).

Fixes https://gitlab.com/kicad/code/kicad/issues/7123
2021-01-15 22:19:49 +00:00
Wayne Stambaugh 82cf747ca8 Symbol editor: fix broken pin table dialog OK button disable logic.
Fixes https://gitlab.com/kicad/code/kicad/issues/7122
2021-01-15 09:28:36 -05:00
Electro707 1c42f95ab3 Added visible column to pins table
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6761
2021-01-14 21:03:51 +00:00
Wayne Stambaugh e34756d596 Symbol editor: fix read only dialogs when symbol is from schematic.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6968
2021-01-13 09:40:30 -05:00
Jeff Young 0bce280424 Make sure design rules get recompiled after netclass changes.
Fixes https://gitlab.com/kicad/code/kicad/issues/7082
2021-01-13 12:37:20 +00:00
Seth Hillbrand e4c77f3a47 Remove non-existant BOM plugins
Fixes https://gitlab.com/kicad/code/kicad/issues/7053
2021-01-11 13:50:15 -08:00
Michael Kavanagh e3f205a3c4 Minor eeschema annotate dialog flow optimisation
Fixes https://gitlab.com/kicad/code/kicad/issues/4700
2021-01-10 01:03:58 +00:00
Jeff Young 753442c60a Don't select all of textfield on each focus.
GTK (at least) generates focus events when the app is reactivated so
the text keeps getting re-selected.

Fixes https://gitlab.com/kicad/code/kicad/issues/6757
2021-01-09 20:53:24 +00:00
Jeff Young 8c8516b7b1 Remove formbuild URL from hypertext links.
Also adds a tooltip.

Fixes https://gitlab.com/kicad/code/kicad/issues/6982
2021-01-07 15:12:19 +00:00
Seth Hillbrand b08555b924 Give blank schematics an output name
Plotting a blank schematic should have a placeholder name until the user
saves the file

Fixes https://gitlab.com/kicad/code/kicad/issues/6561
2021-01-06 11:11:26 -08:00
Seth Hillbrand 20888681f8 Fix wording of interchangeable units 2021-01-05 17:37:08 -08:00
Alexis Lockwood 6f228f9dea hpgl_plotter: correct formatting 2021-01-05 22:42:21 +00:00
Alexis Lockwood f5b7595675 Add user coordinate support to HPGL plotter 2021-01-05 22:42:21 +00:00
jean-pierre charras 7c29ff76f2 Fix a minor wxWidgets alert. 2021-01-05 15:07:23 +01:00
Seth Hillbrand 87d5318187 Disable alternate pin assignments for DeMorgan
Instead of hiding the dialog, we diable the pane and dropdown with a
consistent tooltip explaining why the pin assignments are not available.
2021-01-04 15:57:59 -08:00
jean-pierre charras 51f40a3f2b DIALOG_EDIT_ONE_FIELD: use a SCH_FIELD_VALIDATOR for mandatory fields.
These fields do not accept some chars, and must be filtered.
2021-01-04 16:03:04 +01:00
Jeff Young 6542960ba5 Fix failure to clear list before reusing it.
Fixes https://gitlab.com/kicad/code/kicad/issues/6927
2021-01-04 00:33:42 +00:00
Michael Kavanagh 154e19b6e7 Icons: use common prefix for small 16x16 2021-01-02 23:16:33 +00:00
Jon Evans 0de924ab4c Fix deletion of bus aliases on subsheets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4364
2020-12-27 12:33:35 -05:00
Jeff Young 8a720ef305 Update naming. 2020-12-25 23:37:01 +00:00
Jeff Young 9b43177e74 Remove highlight from colour preview.
It's more confusing than helpful.
2020-12-24 10:42:52 +00:00
Jeff Young ce700d4e16 Fix color preview issues: RTree and dangling flags.
Fixes https://gitlab.com/kicad/code/kicad/issues/6830
2020-12-24 10:36:29 +00:00
Jeff Young f722ba690f Don't crash when lib table has no rows.
Fixes https://gitlab.com/kicad/code/kicad/issues/6812
2020-12-23 22:10:34 +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 93dc7feea3 Remove multi-threading for footprint loading.
Also don't load the footprints up front.  The whole purpose of the
footprint-info stuff is to have enough info about the footprints to
filter them *without* loading.  After that just load individual
footprints as we need them.

Fixes https://gitlab.com/kicad/code/kicad/issues/6177
2020-12-21 22:03:24 +00:00
Jon Evans 81ce1a07ee Fix a few issues with builtin color themes
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6754
2020-12-20 14:43:41 -05:00
Wayne Stambaugh f311831c27 Coverity fixes.
280252, 314742, 314745, 314747, 314755, 314756, 314757, 314758,
314935, 314936
2020-12-20 13:24:47 -05:00
Jeff Young 7376c25ebe Fix a crash bug trying to update the view before it was ready. 2020-12-20 18:02:16 +00:00
Jeff Young 7bc42f387a Make sure splitter sashes are visible.
Also might fix 6791, although that's probably a long-shot.

Fixes https://gitlab.com/kicad/code/kicad/issues/6791
2020-12-20 12:35:41 +00:00
Marek Roszko 9b0a137d6c Stop bludgeoncompiling dialog_page_settings
Through the power of OOP!
Needs some more cleanup though
2020-12-19 10:40:37 -05:00
Jeff Young c0d2ad42ce Remember state of RefDes and Value checkboxes.
Fixes https://gitlab.com/kicad/code/kicad/issues/6755
2020-12-18 15:09:54 +00:00
Jeff Young 5d400a9e11 Improve symbol library messages.
Includes both error messages and ERC messages.

Fixes https://gitlab.com/kicad/code/kicad/issues/6302
2020-12-18 12:49:20 +00:00
Jeff Young 1c0d4ac02d Simplify some error messages. 2020-12-18 00:30:26 +00:00
Jeff Young 91ab540d18 Naming conventions. 2020-12-18 00:30:26 +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
Wayne Stambaugh aab3c936f0 Move headers from common folders to appropriate include folders round 2. 2020-12-17 11:44:03 -05:00
Wayne Stambaugh 08cf9a1e20 Move headers from common folders to appropriate include folders round 1. 2020-12-17 08:12:18 -05:00
Ian McInerney fc20eaa083 Fix some compiler and Coverity warnings 2020-12-17 00:30:22 +00:00
Jeff Young 5761666ad6 Don't let the flattened symbol go out of scope before we're done with it.
Fixes https://gitlab.com/kicad/code/kicad/issues/6760
2020-12-16 17:59:20 +00:00
Seth Hillbrand d05df4a9d4 Buffer bitmap buttons in pinmap for Mac
Mac bitmap buttons are not properly handled in wxWidgets, so the size of
the bitmap needs more buffer space to the button edge or the image will
clip
2020-12-15 12:47:03 -08:00
Jeff Young 10e68daa37 Fix some bugs in Change Symbol and Update Symbols.
In particular, there was a typo that kept library values from being
updated, and there was missing logic to fetch the various field names
from the library parts (and the change-to part).

Also implements some performance gains by desisting from copying
LIB_FIELDs around every time we want to look at them.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/6749
2020-12-15 16:12:17 +00:00
Jeff Young 797a588015 Aliases should inherit their descs, keywords, and fp filters.
Assuming they're not set locally, of course.

Also updates to new class structure order.

Fixes https://gitlab.com/kicad/code/kicad/issues/6051
2020-12-14 13:48:26 +00:00
Jeff Young 3b35bfc0a5 Don't write out synthetic severities (they're headings).
Fixes https://gitlab.com/kicad/code/kicad/issues/6726
2020-12-14 13:34:53 +00:00
Jeff Young 9dae57ae9d Fix several bugs in SCH color printing and plotting.
Fixes https://gitlab.com/kicad/code/kicad/issues/6723
2020-12-13 22:43:09 +00:00
Jeff Young 9720fc80fe Print sheet background colour if specified. 2020-12-13 22:43:09 +00:00
Jeff Young bc99545eb2 ADDED Migrate Libraries button to Manage Symbol Libraries...
Allows easier conversion of legacy libraries.

Note that performance will be suboptimal as it must read/write each
library once for each symbol in the library.  Doing otherwise would
require modifying the PlugIn API, which probably isn't worth it for
a one-time migration.
2020-12-13 11:42:03 +00:00
Jeff Young 7186a0c621 Remove canonical name column from view and make sash more obvious.
Fixes https://gitlab.com/kicad/code/kicad/issues/6693
2020-12-12 15:27:46 +00:00
Jeff Young b6e267b78d Naming conventions. 2020-12-12 03:43:41 +00:00
Jeff Young f29f052aa7 Update an outlier from the component -> symbol rename. 2020-12-08 18:30:14 +00:00
Jeff Young b26a5972c5 LIB_TREE's SetFocus() override no longer getting called.
The KIPLATFORM stuff forces focus, but not through the SetFocus()
call.

Fixes https://gitlab.com/kicad/code/kicad/issues/6657
2020-12-08 17:46:10 +00:00
Marek Roszko b45eb56ddf Cleanup some msg panel usage using the no longer support colors
The color was being passed to the aPadding param now.....
2020-12-08 00:34:36 -05:00
Wayne Stambaugh ac32d6a4b6 Symbol editor: add tool tip to clarify interchangeable symbol units. 2020-12-07 17:52:01 -05:00
Jeff Young 78129aabeb Fix another case of 413ff4525b. 2020-12-07 14:25:55 +00:00
Jeff Young ad281f7538 Remove duplicated TestDanglingEnds routines.
Also adds a changedItemHandler so that the single remaining version
can update the view.

Fixes https://gitlab.com/kicad/code/kicad/issues/6581
2020-12-06 21:24:16 +00:00
jean-pierre charras cf6620f8fa eeschema: DIALOG_SYMBOL_PROPERTIES: fix crash when working on a old .sch file
Old .sch files do not store the symbol part description (stored in a cache lib)
So when using a .sch file, the part description can be not existing.
The fix tests for non existing part description.

Fixes #6580
https://gitlab.com/kicad/code/kicad/issues/6580
2020-12-03 10:45:47 +01:00
Jon Evans b7564f6f05 Don't modify RTree while iterating over it
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6582
2020-12-02 12:33:08 -05:00
Jeff Young 8d3d648975 Update Change Symbols dialog to Update/reset terminology...
... as used in the Change Footprints dialog.
2020-12-02 14:27:43 +00:00
Jeff Young 3d7c26b6bd Get fields out of SYMBOL, not LIB_PART.
Also make sure the match-mode is initialised before we try and fetch
all the field names.

Fixes https://gitlab.com/kicad/code/kicad/issues/6589
2020-12-02 14:27:43 +00:00
Jeff Young df262eaa06 Make prev/next marker work reliably on all platforms.
Requires us to move from arrow-keys to our own commands (the only
way that the OSX wxWidgets impl doesn't eat the keys when the dataVIew
has focus).

While there we might as well add a command to exlucde markers.

ADDED Prev Marker, Next Marker, Exclude Marker

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

Fixes https://gitlab.com/kicad/code/kicad/issues/5501
2020-12-01 22:37:07 +00:00
Ian McInerney aa09418a14 Fixup memory lifespan of GAL options for the settings preview canvas
The canvas keeps a reference to the settings object, so we
can't pass one from the stack because it runs into lifetime
issues.

Also cleanup some loop-iterator problems.

Fixes https://gitlab.com/kicad/code/kicad/issues/6338
2020-12-01 01:12:07 +00:00
Michael Kavanagh becc811775 Make path substitutions grid read only in lib table dialog
Fixes https://gitlab.com/kicad/code/kicad/issues/5624
2020-11-29 09:51:53 +00:00
Sylwester Kocjan 095102614f Eeschema: Fix non-visible source types in SPICE model dialog
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6540
2020-11-29 07:39:37 +00:00
Jeff Young fc2bdc49de Once more into the depths of hell... er, I mean fix a focus issue.
So the new steals-focus protection stuff works well when there's a
focused control, but not as well when there's a modal dialog up which
happens not to have a focused control (or worse, a focusable control).

This adds a second mechanism for also checking to see if a modal dialog
is up (something that wxWidgets, true to form, makes very difficult).

Fixes https://gitlab.com/kicad/code/kicad/issues/6520
2020-11-26 16:47:40 +00:00
Jeff Young c85ef8eb69 Make updating netnames in backannotate more discrete.
Trying to be too smart was producing unexpected results.

Fixes https://gitlab.com/kicad/code/kicad/issues/6480
2020-11-25 22:16:56 +00:00
Jeff Young 9c7c05c161 Mostly formatting cleanup but a few type-casting cleanups too. 2020-11-24 22:16:41 +00:00
Jeff Young 253f41c4f2 Fix minor dialog layout issue. 2020-11-23 23:57:26 +00:00
Jeff Young 78b505f36a Count head and tail lists as well.
Fixes https://gitlab.com/kicad/code/kicad/issues/6461
2020-11-23 23:54:54 +00:00
Jeff Young bf04fc3b72 Process all symbol instances as the ref, value, etc. may be different.
Also makes sure that the instance fields get set for reference, value
and footprint, and not just the base SCH_FIELD.

Also makes the translations easier.

Fixes https://gitlab.com/kicad/code/kicad/issues/6459
2020-11-23 22:09:15 +00:00
jean-pierre charras 976c6262f4 French translation update (fix also trailing spaces in a few sentences) 2020-11-23 11:42:25 +01:00
Jeff Young a9271e43cc Read global fieldNameTemplates for project but don't write them.
Writing responsibility goes to the preferences dialog handler.

Fixes https://gitlab.com/kicad/code/kicad/issues/6450
2020-11-21 23:10:54 +00:00
Seth Hillbrand c9fb595f64 Avoid assertion with invalid width
After adjusting col 0, the new width might be too large to handle.  In
which case, allow the system to choose our best width
2020-11-19 15:19:55 -08:00
Jeff Young c61c7b62aa Start of impl for persisting ERC exclusions. 2020-11-18 23:34:27 +00:00
Werni 0e44f5128c Add const specifiers 2020-11-18 19:50:36 +00:00
Jeff Young f005335743 Resolve variables in Sheet Properties dialog's sheet path.
Fixes https://gitlab.com/kicad/code/kicad/issues/6409
2020-11-18 17:55:12 +00:00
Jeff Young c89676e39d Require client to specify whether they want resolved values or not.
Fixes https://gitlab.com/kicad/code/kicad/issues/6408
2020-11-17 21:36:48 +00:00
Jeff Young 8c5c902fa3 Re-write IntersheetRefs on top of SCH_FIELDs and textVars.
1) Generalize SCH_ITEM owners (SCH_COMPONENT, SCH_SHEET, and now
SCH_GLOBALLABEL)
2) Generalize hypertext items
3) Use SCH_FIELD autoplace infrastructure for placing intersheet
references
4) Use textVar infrastructure for buildin intersheet references.

As an important side-effect this also fixes the undo issues with
intersheet refs.
2020-11-17 16:05:49 +00:00
Jeff Young a207bd97bb Naming conventions. 2020-11-17 16:05:49 +00:00
Ian McInerney 1db15052b0 Remove unused schematic settings filed
It was never written to the file and never used.
2020-11-15 21:30:50 +00:00
Jeff Young b21e07d759 Allow spaces in SheetPins (for bus definitions).
Fixes https://gitlab.com/kicad/code/kicad/issues/6379
2020-11-15 20:23:15 +00:00
Jeff Young b227d2b910 More component -> symbol. 2020-11-15 20:23:15 +00:00
Jeff Young 6e6e0aa644 Naming conventions (including some component -> symbol). 2020-11-15 20:23:15 +00:00
Jeff Young 6654c03041 Embarking on the next adventure: component -> symbol. 2020-11-15 20:23:15 +00:00
Jeff Young d2a88234b6 Fix issue deleting footprint libraries from table.
wxWidgets pageChanged handler is evidently buggy.  Who would have
guessed?
2020-11-14 20:12:49 +00:00
Wayne Stambaugh f35736cdd7 Eeschema: minor dialog and panel layout fixes. 2020-11-14 07:40:17 -05:00
Jeff Young f0d0e17aab Prepare for MODULE -> FOOTPRINT. 2020-11-13 15:16:24 +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 1f5213946e Restore accidentally-removed allowsSpaces architecture.
Fixes https://gitlab.com/kicad/code/kicad/issues/6252
2020-11-08 00:34:04 +00:00
Jeff Young bfd8a62852 Formatting and naming conventions. 2020-11-07 18:50:30 +00:00
PJM 43176a5b29 Eeschema: Add Schematic Setup GUI to set junction dot size from list
CHANGED: In Schematic Setup->General->Formatting->Connections, added
pulldown for "Junction dot size" with values none, smallest, small
default, large, largest"  Added support in "sch_painter.cpp" to not
paint junction when they have a diameter of "1" which is what "none"
sets as the diameter.
2020-11-04 01:49:41 +00:00
Jeff Young 88abcc1287 Fix broken handling of closing ERC dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/6277
2020-11-04 01:08:21 +00:00
Jeff Young 5507575d64 Move ERC dialog to EE_INSPECTION_TOOL and kill when resetting.
Fixes https://gitlab.com/kicad/code/kicad/issues/6111
2020-11-03 20:27:44 +00:00
Jeff Young bd103c133d Don't save junction colours when they're inherited.
Also fixes Edit Text & Graphics Properties to be able to clear
colours from junctions.

Fixes https://gitlab.com/kicad/code/kicad/issues/6018
2020-11-03 14:07:50 +00:00
Michael Kavanagh 20bb3b194f Eeschema: Display the root sheet name to the user
Instead of just `/` denoting the root sheet, use the filename
in preparation for non-hierarchical multi-sheet schematics
2020-11-02 17:50:13 +00:00
Michael Kavanagh 644546cd83 Cleanup PathHumanReadable and remove dead code
Fixes https://gitlab.com/kicad/code/kicad/issues/6152
2020-11-02 17:50:13 +00:00
Wayne Stambaugh 042e5956c2 Fix library table dialog tab labels. 2020-11-01 09:13:55 -05:00
Wayne Stambaugh cf59468de2 Fix library table dialog tab appearance in dark mode.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6236
2020-11-01 08:30:27 -05:00
Wayne Stambaugh 3dde4e5616 Eeschema: fix yet another symbol properties dialog layout issue.
Stop trying to make a read only wxTextCtrl with a custom font work
for displaying the symbol library identifier and use an ellipsized
wxStaticText control with the standard font instead.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6240
2020-10-31 08:36:59 -04:00
Jeff Young bddc97df30 LibEdit -> SymbolEditor 2020-10-31 10:28:21 +00:00
jean-pierre charras 4314e4dc93 Update French translation and fixes minor I18n issues. 2020-10-30 21:01:15 +01:00
Wayne Stambaugh a1508d2531 Symbol editor: minor symbol properties dialog layout fixes. 2020-10-30 10:49:24 -04:00
Wayne Stambaugh a5e628a552 Symbol editor: fix missing footprint filter support for derived symbols.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6038
2020-10-30 09:28:54 -04:00
Jeff Young 1d110d5414 Move a couple more dialogs to QuasiModal for syntax help.
Fixes https://gitlab.com/kicad/code/kicad/issues/5897
2020-10-29 22:55:33 +00:00
jean-pierre charras 5abb61e195 DIALOG_FIELDS_EDITOR_GLOBAL: fix a few minor issues. 2020-10-29 17:27:38 +01:00
jean-pierre charras ceb4b56134 DIALOG_FIELDS_EDITOR_GLOBAL: fix crash due to a missing column used in code.
Fix column sizes.

Fixes #6191
https://gitlab.com/kicad/code/kicad/issues/6191
2020-10-28 11:22:52 +01:00
Werni a7d5d1f091 Add more consts all over the place 2020-10-27 11:03:35 +00:00
Ian McInerney 31e626f279 Cleanup creation of all our smart pointers 2020-10-26 23:52:44 +00:00
Marek Roszko 14c18b7e64 Move ui functions out of common and into ui_common 2020-10-25 20:01:12 -04:00
Marek Roszko 91e5611341 Move dialog_configure_paths.h and dialog_edit_library_tables.h to dialogs folder 2020-10-25 20:01:12 -04:00
Marek Roszko e49ac45b84 HTML_MESSAGE_BOX is a dialog 2020-10-25 20:01:12 -04:00
Jon Evans ec11697660 Language update for autostart wires checkbox 2020-10-25 18:37:54 -04:00
Jon Evans 0e9efef7aa Never show footprints in power symbol chooser mode 2020-10-25 17:27:06 -04:00
Jeff Young 2f1e755f66 Update preference panel names. 2020-10-25 19:51:03 +00:00
Jeff Young 4789794e0e Minor dialog spacing normalization. 2020-10-25 13:38:15 +00:00
Jeff Young 51dff1c822 Live update sheetpath.
Also makes it a static text to get rid of the spacing/clipping
problems it has been having.

Fixes https://gitlab.com/kicad/code/kicad/issues/6152
2020-10-25 13:37:40 +00:00
Wayne Stambaugh 189792cd4c Eeschema: fix sheet properties dialog sheet path bug. 2020-10-25 08:08:10 -04:00
Wayne Stambaugh 15c2181a89 Eeschema: fix sheet properties dialog page number bug.
Fixes: https://gitlab.com/kicad/code/kicad/-/issues/6151
2020-10-25 07:32:20 -04:00
jean-pierre charras d6f91c810f Fix a few compil and Coverity warnings. 2020-10-25 10:02:07 +01:00
Marek Roszko e928b2d8fd Split EDA_UNITS out from common. 2020-10-25 00:02:52 -04:00
Jeff Young 346b7178b7 Repair the way other units are collected when syncing symbol fields.
Fixes https://gitlab.com/kicad/code/kicad/issues/6106
2020-10-24 22:39:53 +01:00
Wayne Stambaugh 4ac4cc14ee Eeschema: fix new sheet page number bug.
Msys2 builds on windows still don't support the %z printf specifier so
convert to integer and use %d.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/6142
2020-10-24 09:08:56 -04:00
Marek Roszko 81a7afc76e Use kicad_algo directly rather than common.h 2020-10-24 08:53:11 -04:00
Wayne Stambaugh d8ffea881e Improve dialog static sizer box consistency.
Remove colons from the end of static sizer box labels from a few dialogs so
they are consistent with all dialogs.
2020-10-22 22:00:04 -04:00
Jon Evans 922304f980 Guard against missing theme in DIALOG_PLOT_SCHEMATIC
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6124
2020-10-22 21:21:27 -04:00
Jeff Young d785dae88b DIALOG_EDIT_COMPONENT_IN_LIB -> DIALOG_LIB_SYMBOL_PROPERTIES. 2020-10-22 10:41:21 +01:00
aris-kimi d90faa26a5 Fixes https://gitlab.com/kicad/code/kicad/-/issues/6095 2020-10-21 18:35:39 +00:00
Ian McInerney 06bf7943b7 Minor warning fixes 2020-10-21 00:30:50 +01:00
Jeff Young e5089d783d Remove multi-label entry feature.
It was causing problems with surprising behaviour and issues with
allowing spaces in existing labels.  We'll work on something better
for 7.0....

Fixes https://gitlab.com/kicad/code/kicad/issues/6073
2020-10-20 22:53:44 +01:00
Jeff Young e497639320 Don't allow both DeMorgan alternates and general pin alternates.
Fixes https://gitlab.com/kicad/code/kicad/issues/6087
2020-10-20 22:26:47 +01:00
Seth Hillbrand 2a43b88115 Standardize PostScript capitalizaiton 2020-10-20 13:09:13 -07:00
Seth Hillbrand 316ca120e8 Don't translate spice prefixes or numbers 2020-10-20 12:51:23 -07:00
Seth Hillbrand 4085757aeb Remove beginning/ending spaces in translations
Adding space padding makes translations more difficult by increasing
string counts
2020-10-20 12:08:04 -07:00
Ian McInerney 7c9acc605d Introduce a new number badge UI element for DRC and ERC reporting
This new badge allows for proper UI scaling and will not cut off
the number being displayed.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5734
Fixes https://gitlab.com/kicad/code/kicad/-/issues/6011
2020-10-20 02:35:48 +01:00
Jeff Young 8f67557a65 Separate display and canonical names in Edit Symbol Fields.
Fixes https://gitlab.com/kicad/code/kicad/issues/6066
2020-10-19 23:58:07 +01:00
Wayne Stambaugh c79d6391dd Eeschema: minor plot dialog layout fixes. 2020-10-19 14:34:43 -04:00
Wayne Stambaugh 8ff51d8899 Eeschema: add schematic sheet page number.
The groundwork has now been laid for per sheet instance data.  Initially
this only supports sheet page numbers but could be expanded to include
other per sheet instance information.

ADDED: Support for user defined schematic page numbers.
2020-10-19 14:05:45 -04:00
Jeff Young 725082786e Move ERC dialog to DRC architecture.
This is mainly to remove the annotation nag dialogs in favour of the
HTML links.  But it also allows you to see more than a few messages,
and implements a progress reporter architecture if the ERC checks ever
get slow enough to benefit from it.
2020-10-19 15:17:49 +01:00
jean-pierre charras 539ac4c214 Remove a few include<wx/wx.h> in many files that do not actually use this include. 2020-10-19 09:00:50 +02:00
Jeff Young dd53b9c399 Bail on 45º text in pin conflicts map.
Fixes https://gitlab.com/kicad/code/kicad/issues/5515
2020-10-18 20:28:23 +01:00
jean-pierre charras 0044c6b48a Add missing includes 2020-10-18 19:22:15 +02:00
Jeff Young ebc0d47239 More pinmap spacing adjustments for MSW. 2020-10-18 14:20:36 +01:00
Jeff Young 9f16b68bde Better centreing of pin conflict map col labels. 2020-10-18 12:08:16 +01:00
Jeff Young 688a031793 Fix broken logic when updating fields.
Fixes https://gitlab.com/kicad/code/kicad/issues/6024
2020-10-18 00:51:58 +01:00
Jeff Young 6dfcfb0177 Rename DIALOG_EDIT_COMPONENT_IN_SCHEMATIC -> DIALOG_SYMBOL_PROPERTIES 2020-10-18 00:26:37 +01:00
Jeff Young a6166c8ccc Select just reference number when editing reference field.
Fixes https://gitlab.com/kicad/code/kicad/issues/6004
2020-10-18 00:26:37 +01:00
Ian McInerney 229194c76b Fix flags and remove unicode from string in eeschema dialog
* Remove unicode quotes and ellipses from a tooltip string. Our
  translation framework can't handle these, and they caused errors
  generating the cpp file.
* Remove an assert generated when opening the dialog on 3.1 due to the
  wxALIGN_CENTER_VERTICAL and wxEXPAND flags being used together.
* Add a left border to the general static box items so they aren't
  squashed against the line.
2020-10-17 15:46:52 +01:00
jean-pierre charras a9619c051b Better name for a plot style variable and accessors.
Accessors were previously GetType() and SetType(), but this is a bad name:
These names are already widely used in code as accessors for a data type.
We do not set a data type, but a style, so use a better name (GetPlotStyle/SetPlotStyle).
2020-10-17 12:00:43 +02:00
Seth Hillbrand 971eb529f4 Separate strings into full strings 2020-10-16 23:10:47 -07:00
Marek Roszko a1c75748a0 Remove GetChars(), a wxWidgets 2.9 compatibility hack 2020-10-15 20:53:25 -04:00
Marek Roszko a2c3bdec0d Remove kicad_string.h from netlist_exporter.h 2020-10-15 18:48:53 -04:00
Marek Roszko bfd5da0159 Add missing include (under some configurations) 2020-10-15 07:34:38 -04:00
Marek Roszko 1538d737e7 Split out FILL_T to its own header to avoid spreading eda_item everywhere 2020-10-14 21:51:23 -04:00
Marek Roszko 5302f7ce73 Remove kicad_string.h from eda_text.h 2020-10-14 19:18:38 -04:00
Marek Roszko 2c86363aa0 Relocate the page_layout includes to a page_layout folder 2020-10-13 20:33:33 -04:00
Jeff Young 4565631728 Finish moving eeschema assigned netclasses to sheet-path-relative.
Also adds code for the case where a new label is created on a net
with an existing netclass assignment.

Fixes https://gitlab.com/kicad/code/kicad/issues/5886
2020-10-07 16:31:55 +01:00
Wayne Stambaugh 5127d6c772 Eeschema: add ERC check for library symbol issues.
ADDED: ERC check for library symbols that have changed since they were
added to the schematic or have broken symbol library links.
2020-10-07 09:15:31 -04:00
Seth Hillbrand 504f57811a Remove a hard-coded parameter
Fixes https://gitlab.com/kicad/code/kicad/issues/5373
2020-10-06 14:26:22 -07:00
Jeff Young 30c2ca67d9 Fix typo. 2020-10-06 14:23:10 +01:00
Jeff Young e9d372f4b7 Allow spaces in sheet filenames.
Fixes https://gitlab.com/kicad/code/kicad/issues/5736
2020-10-06 14:21:18 +01:00
Jeff Young 63a0f537d8 Performance enhancement: check hierarchy validity only when necessary. 2020-10-05 13:49:29 +01:00
Ian McInerney 8c09f28b28 libedit: Fix dialog spacing 2020-10-04 17:53:55 +01:00
Ian McInerney 8b0fb9f4cf Remove units and polar settings from the preferences panels
These options are already available in menus, toolbars and hotkeys,
so having them in the preferences pane is more trouble than it is
worth.
2020-10-04 17:53:55 +01:00
Mikolaj Wielgus d14761bee6 Fix inches being sometimes used instead of mils 2020-10-03 20:06:56 +00:00
Mikolaj Wielgus 400c15b8eb Add mils to units, remove useMils variables 2020-10-03 20:06:56 +00:00
jean-pierre charras bda275de46 more cleanup about removing useless include 2020-10-03 11:48:16 +02:00
Jeff Young 4b315b0fda Clean up dialog spacing. 2020-10-02 13:50:16 +01:00
Mark Roszko c940a45937 ADDED: Autostart wires in eeschema
Allows wires to be automatically started by clicking over a connection point
2020-10-01 23:53:47 +00:00
Franck Jullien 2fc49045d1 ADDED: eeschema: Add intersheets references function
Add a new function to place intersheets references next to
global labels.
2020-10-01 20:39:32 +00:00
jean-pierre charras f702da95c7 Minor code cleanup, step2: remove more useless include.
fix also a minor compil warning
2020-10-01 15:39:47 +02:00
PJM 1eb423830e Eeschema: Remove wire and bus formatting GUI elements
CHANGED: Remove wire and bus formatting GUI elements from "Schematic
Setup" dialog panel.  Wire thickness is handled by netclasses now
and this was a leftover from before that change.

Fixes https://gitlab.com/kicad/code/kicad/issues/5815
2020-10-01 00:20:31 +00:00
Ian McInerney 2c49c406a0 Remove ignore other projects option from back annotation
The new schematic format makes this option unneeded, and it isn't
used at all in the backannotation code - so it doesn't need to be
in the UI.
2020-09-30 23:34:04 +01:00
jean-pierre charras 3f8c9d49f8 Revert "Code cleanup: remove useless wx/wx.h include inside a few files."
due to compil issue on Linux

This reverts commit cffccc3970.
2020-09-30 20:47:20 +02:00
jean-pierre charras cffccc3970 Code cleanup: remove useless wx/wx.h include inside a few files.
in most of files, including wx.h is not necessary, when only 2 or 3 wx files must be included.
Moreover, on windows, including wx.h sometimes create compil warnings about
shadowed vars defined in some specific windows headers.
2020-09-30 20:03:27 +02:00
Jeff Young e4bc1eb3bf Fold Update Fields from Library into Update Symbol.
Also gives Change Symbol control over which fields to update.

Fixes https://gitlab.com/kicad/code/kicad/issues/5217
2020-09-27 14:09:11 +01:00
jean-pierre charras 6b958ff4e0 Move specialized plotter classes from plotter.h to specific plotter_xx.h
plotter.h contains now only a header common to all plotters.
The code does not actually change, but it allows modifying a specific plotter
without recompiling most of kicad files.
2020-09-27 09:54:39 +02:00
Jeff Young 5e96849abd Fix missing newline.
Fixes https://gitlab.com/kicad/code/kicad/issues/5679
2020-09-27 00:12:14 +01:00
Jeff Young f8875bc5a6 Move std::contains to alg::contains. 2020-09-26 14:42:40 +01:00
Jeff Young d7e80f8008 Add std::contains() to simplify a lot of code. 2020-09-26 12:40:32 +01:00
Jeff Young eaf151075c Correctly de-highlight found items when closing Find dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/5775
2020-09-24 18:46:25 +01:00
Mateusz Majchrzycki 1c2ab0f523 eeschema: fixed auto increment of pin position in Pin Table
CHANGED: Pin position is now incremented properly in the Pin Table
dialog. The Pin position is ussing Internal Units insted of mils, so
the hardcoded 50/100 mils spacing has to be converted to IU before
adding.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5730
2020-09-22 23:46:50 +00:00
Jeff Young 6020b70596 Display green badge for zero errors or zero warnings.
Fixes https://gitlab.com/kicad/code/kicad/issues/5735
2020-09-21 11:59:27 +01:00
Jeff Young c6fb799fcd Restore severity in saved DRC/ERC reports.
Fixes https://gitlab.com/kicad/code/kicad/issues/5733
2020-09-21 11:59:27 +01:00
Jeff Young ef48dba7ff Correctly set value and footprint fields from Symbol Fields editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/5689
2020-09-18 23:30:16 +01:00
Jeff Young 7062a3b29b Fix bug in net <-> netclass matching.
Also adds a "Default" setting for Edit Text and Graphics Properties
so the linestyle can be batch-edited back to default.

Fixes https://gitlab.com/kicad/code/kicad/issues/5674
2020-09-18 23:29:34 +01:00
Jeff Young cdbe2fd2d2 User terminology specific to Change Footprint/Symbol.
Also implements separate session settings for the reset checkboxes
for Change Footprint and Update Footprint.

Fixes https://gitlab.com/kicad/code/kicad/issues/5614
2020-09-16 00:15:26 +01:00
Wayne Stambaugh d45c11b4b5 Exclude from bill of materials and board netlist to library symbols.
ADDED: Support for exclude from bill of materials and board netlist to
library symbols.

Fixes https://gitlab.com/kicad/code/kicad/issues/4915
2020-09-09 09:03:37 -04:00
Jeff Young 7b05e456cc Bug fixes for multiple symbol instances in complex hierarchies
1) use SCH_COMPONENT::GetRef(), GetValue() and GetFootprint() when
instance-specific info is needed
2) update UpdateAllScreenReferences() to handle value and footprint.
3) BACKANNO is CvPcb's handler, not back annotation's handler.  Which
means it needs GUI behaviour, not back annotation behaviour.

Fixes https://gitlab.com/kicad/code/kicad/issues/5520
2020-09-06 13:57:14 +01:00
Jeff Young e782794f96 Flesh out object properties and DRC Rule syntax help. 2020-09-05 17:44:59 +01:00
jean-pierre charras 15c4a7b066 DIALOG_LIB_EDIT_PIN_TABLE: fix incorrect handling of Cancel button 2020-09-04 09:49:54 +02:00
Jeff Young 3ce1b2b44e Clean up Coverity warning. 2020-09-03 15:03:09 +01:00
Jeff Young b596d3c3d5 Implement update options for Update Symbol from Library. 2020-09-02 15:21:51 +01:00
Jeff Young c0bc47810a Fold pin table in to Symbol Properties. 2020-09-02 15:21:51 +01:00
Jeff Young fa8138ee5a Rework Symbol Props to Footprint Props design.
Fixes https://gitlab.com/kicad/code/kicad/issues/2286

Fixes https://gitlab.com/kicad/code/kicad/issues/5414
2020-09-02 15:21:51 +01:00
Mark Roszko a9532c2fa1 Add browse button to footprint 3d settings
Add normalization to 3d settings and footprint library table editor
2020-09-01 02:00:38 +00:00
Jeff Young cd55185904 Don't accept any values not in the dropdown for alternate pins.
Fixes https://gitlab.com/kicad/code/kicad/issues/5399
2020-08-31 20:04:05 +01:00
Jon Evans 38a4e4ad5a Remove the last bits of the old netlist system 2020-08-30 16:30:04 -04:00
Jon Evans 9f7bca38b3 A better way of handling standalone project files 2020-08-30 16:04:39 -04:00
Jon Evans be0aad5984 Move similar labels check to new connectivity engine 2020-08-30 15:43:16 -04:00
Jon Evans 48d7c46a53 Move pin table checks to new connectivity system 2020-08-30 15:43:16 -04:00
Jeff Young 20211eed49 Unroll a level of prefs for fieldname templates.
It was playing havoc with the saving of project and global templates
without one overwriting the other.

Fixes https://gitlab.com/kicad/code/kicad/issues/5415
2020-08-30 18:58:18 +01:00
Jeff Young cc64709407 Reimplement skip-parent-page to work with MacHack.
This prevents the "leaking" pages where the layers panel is shown
in the background of all other panels.

Fixes https://gitlab.com/kicad/code/kicad/issues/5182
2020-08-29 20:53:53 +01:00
Jeff Young e2f32ce7b6 Allow setting a stroke type back to the default. 2020-08-29 18:47:11 +01:00
Dominik Wernberger b653df2b21 Make numbers in pin table read only 2020-08-29 12:06:33 +02:00
Jeff Young f005977aab Minor simplification to custom colour theme GUI for print/plot dialogs. 2020-08-28 14:15:58 +01:00
Mark Roszko 1082402b33 Convert UNDO_REDO_T to an enum class 2020-08-26 18:04:32 +00:00
ferdymercury b0af66afc7 Allow empty value field if simulation is disabled 2020-08-26 02:42:50 +00:00
Jon Evans f50dba6b62 Offer to open annotation dialog when running ERC on unannotated schematic
Also improve the error messaging and use an infobar to display it

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2292
2020-08-25 21:17:54 -04:00
Jon Evans 24435fcc62 Don't create new project files when opening boards/schematics
Display warning infobar in the board/schematic setup when no project
is loaded, since most of the settings in those dialogs are saved in
the project and not in the board/schematic file.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/4868
2020-08-24 22:17:21 -04:00
Jeff Young 15c136ead2 Make a bunch of help dialogs modeless.
Fixes https://gitlab.com/kicad/code/kicad/issues/5334
2020-08-24 23:17:33 +01:00
jean-pierre charras fd4fb61acc DIALOG_SPICE_MODEL: fix incorrect readonly setting of m_libraryContents.
This wxStyledTextCtrl was set to readonly before writing its contents,
so nothing was shown, at least on wxWidgets 3.1.4.
2020-08-24 17:30:36 +02:00
Ian McInerney 2f7094b352 Cleanup some unused variables
* Make the app progress indicator only have the indeterminate state
  when the taskbar indicator is used (causes an uused variable warning
  on wx<3.1)
* Remove unused dry run variable in pcb_netlist.h
* Remove unused forceDropAnnotations from the paste special dialog
  since the dialog only controls keeping them.
2020-08-24 01:51:23 +01:00
jean-pierre charras 6eab1ce17d Fix a minor wxWidgets alert. 2020-08-23 15:20:46 +02:00
Jeff Young 6a5644d981 Make spice model library contents read-only.
Fixes https://gitlab.com/kicad/code/kicad/issues/5062
2020-08-22 16:20:18 +01:00
Jeff Young 97c34e2516 ADDED alternate pin definitions and assignments.
Fixes https://gitlab.com/kicad/code/kicad/issues/2002
2020-08-21 18:29:36 +01:00
PJM 9cda3dbff5 Eeschema: Verify path can be made relative before asking in plotter dialog
CHANGED: When the output path is set in the plotter dialog, the user is
asked if they want to make the path relative to the project.  The old
code would ask the user if they wanted to do this, and then if it
failed would present an error dialog.  The new code tries it first on
a copy, and only if it works does the user get asked if they want
to do it.

Related to issue https://gitlab.com/kicad/code/kicad/issues/5263 except
that is for Pcbnew, and this fixes the same problem in Eeschema.  Issue
5263 is fixed with Merge Request:
https://gitlab.com/kicad/code/kicad/-/merge_requests/370
2020-08-20 17:08:36 +00:00
Ian McInerney c8917a0951 Cleamup some compiler warnings 2020-08-19 11:35:00 +01:00
jean-pierre charras b60a7e2aca Eeschema: fix crash in DIALOG_CHANGE_SYMBOLS when run Update Library Symbols.
Probably due to a typo.
Fix also a minor wxWidgets alert in this dialog
2020-08-18 20:53:10 +02:00
Seth Hillbrand a029feb029 eeschema: Add component needs to be Modal
Adding a component in eeschema accesses the footprint table as well as
the symbol table.  There are no safe edits that can be taken while this
window is open, so we force it to be Modal instead of QuasiModal

The issue is addressed but reveals additional possible problems that
this commit fixes

Fixes https://gitlab.com/kicad/code/kicad/issues/5206
2020-08-18 11:23:18 -07:00
Jeff Young 6ef20e34fc Better support for mixed styles in Junction Properties dialog.
Also move to COLOR_SWATCH to reduce code duplication.
2020-08-18 19:05:30 +01:00
Jeff Young b0a09b782d Better support of mixed states in Line Style dialog.
Fixes https://gitlab.com/kicad/code/kicad/issues/5249
2020-08-18 19:05:30 +01:00
Wayne Stambaugh ede39780e2 Remove all debugging output that cannot be disabled.
The use of printf, wxLogDebug, and std::err/std::out causes excessive
debugging output which makes finding specific debugging messages more
difficult than it needs to be.

There is still some debugging output in test code that really needs to
be moved into a unit test.

Add debugging output section to the coding policy regarding debugging
output.
2020-08-18 10:17:36 -04:00
Jeff Young 88d76eaf62 Enforce Apple's destructive button distance guideline.
Also fixes a few errant icon buttons that were still setting a fixed
size.
2020-08-17 23:55:31 +01:00
Kevin Lannen 13f9478a76 Symbol Editor: Allow changing parent for derived symbol
The symbol editor did not actually update the parent symbol when the
dropdown in the properties editor was changed. This fixes that defect.

Signed-off-by: Kevin Lannen <kevin.lannen@gmail.com>
2020-08-14 18:37:43 +00:00
Jeff Young 2b0b7a5153 Clear pin net-name-driving cache when changing annotation.
Also update connectivity after clear annotation, annotate or back
annotate.

Also update status bar for highlighted nets.

Fixes https://gitlab.com/kicad/code/kicad/issues/5170
2020-08-14 12:41:20 +01:00
Jeff Young cda155ca30 Remove last exposure of GUIDs in UI.
Also makes the hierarchical path box bigger so it won't clip on some
themes.

Fixes https://gitlab.com/kicad/code/kicad/issues/5171
2020-08-13 20:59:18 +01:00
Wayne Stambaugh 0bb175a028 Eeschema: Add change and update symbol from library support.
ADDED: Add support to to Eeschema to change and update symbols from a
symbol library.

Fixes: https://gitlab.com/kicad/code/kicad/-/issues/4565
2020-08-13 13:53:49 -04:00
Tomasz Wlostowski d937fadd6f Migrate RC_ITEM to use shared_ptr 2020-08-13 14:50:59 +02:00
Jeff Young e1c449902d Ask user before throwing away changes to DRC Rules.
Fixes https://gitlab.com/kicad/code/kicad/issues/5135
2020-08-10 23:43:24 +01:00
Jeff Young f4ab14f32d Performance improvements for SchematicCleanup().
Fixes https://gitlab.com/kicad/code/kicad/issues/4563
2020-08-10 12:41:52 +01:00
Mark Roszko c6e388db14 Implement an app progress indicator in the taskbar
ADDED: Progress indicator in the taskbar

This adds a progress indicator to the Windows and macOS taskbar
icons to display the progress of some operations.

Note, this requires wxWidgets 3.1+
2020-08-09 10:55:00 +00:00
Jon Evans dcc484e114 CHANGED: Library editors are now usable with no project loaded
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3688
2020-08-07 18:02:34 -04:00
Jeff Young 76bd344730 Preview for PCBNew colour settings editor. 2020-08-06 19:38:06 +01:00
Jon Evans b3b567e591 A better approach to clearing color overrides 2020-08-04 19:50:26 -04:00
jean-pierre charras c01bf9c911 Refinement in NETLIST_DIALOG, spice panel.
The run simulator button is enabled only if the command line is not empty.
2020-08-04 13:57:41 +02:00
jean-pierre charras 7f91a1f5da Eeschema, export netlist dialog: re-add a commane to run spice from this dialog.
Fixes #5025
https://gitlab.com/kicad/code/kicad/issues/5025
2020-08-04 12:52:14 +02:00
Jeff Young be6e2e6308 Add hierarchical sheet (and pin) to color preview.
Fixes https://gitlab.com/kicad/code/kicad/issues/5029
2020-08-04 11:45:07 +01:00
Jeff Young 9c9fdb2569 More performant (and more correct) deletion of DRC markers.
Fixes https://gitlab.com/kicad/code/kicad/issues/5057
2020-08-04 11:45:07 +01:00
jean-pierre charras 5982626a80 Eeschema: fix a minor wxWidgets alert.
Fixes #5066
https://gitlab.com/kicad/code/kicad/issues/5066
2020-08-04 08:27:31 +02:00
Jeff Young dcd02539e3 Remove linked-pin processing from LIB_PIN's setters.
It belongs in the tool layer (specifically LIB_PIN_TOOL).
2020-08-03 22:21:35 +01:00
Jeff Young c56599ab07 Allow ERC/DRC markers to be deleted without deleting exclusions.
Fixes https://gitlab.com/kicad/code/kicad/issues/4953
2020-08-02 22:45:48 +01:00
Jeff Young ee6acb983a Build out the rest of the schematic preview for colors editor.
Fixes https://gitlab.com/kicad/code/kicad/issues/5029
2020-08-01 21:07:14 +01:00
Jeff Young 1be39195ab Remove UUIDs from the GUI.
Fixes https://gitlab.com/kicad/code/kicad/issues/5018
2020-07-31 16:06:54 +01:00
Jeff Young 0804f487ec Add text var cross-reference processing to SCH_FIELDs. 2020-07-30 14:27:42 +01:00
Jon Evans b0c6a0f9ef Allow sheet colors to remain unspecified if not manually set
This way, when the user changes their color theme, any sheets
that did not have a specific color set will change with the theme.

Also add a button to clear color overrides from a sheet, because
any schematics that have been saved before this change will have
the colors set to something other than UNSPECIFIED.
2020-07-29 21:16:07 -04:00
jean-pierre charras 98b1f55e29 Eeschema: minor fixes: fix incorrect label in DIALOG_LIB_EDIT_PIN, electrical pin list.
Gives also to functions GetText() and GetBitmap() a more significant name.

Fixes #5007
https://gitlab.com/kicad/code/kicad/issues/5007
2020-07-29 17:04:52 +02:00
Jeff Young 55784afbfe Allow text variables to reference parent sheet's fields.
Fixes https://gitlab.com/kicad/code/kicad/issues/2466
2020-07-28 13:35:37 +01:00
Jeff Young b74e125264 Read/write schematic netclass properties.
Fixes https://gitlab.com/kicad/code/kicad/issues/4990
2020-07-27 23:10:46 +01:00
Jeff Young 8a9fa53cd7 Clear annotations by default on copy/paste.
Folks didn't seem to like the "only clear when there are collisions"
behaviour.  Paste Special remains available to "force keep".

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

Fixes https://gitlab.com/kicad/code/kicad/issues/4744
2020-07-27 19:53:42 +01:00
Fabien Corona a1437f4a95 Eeschema : Add A5 sheet size 2020-07-21 00:00:36 +00:00
Mark Roszko 3b727b5d16 Make preference groups not selectable 2020-07-20 13:45:46 +00:00
Ian McInerney cc688a3e1d Initialize variables properly
Fixes https://gitlab.com/kicad/code/kicad/issues/4919
2020-07-18 00:36:47 +01:00
Jeff Young 3fd0a3f842 Update text variables even when they're changed from other binary.
For instance, you might have PCBNew open but change the variable
value through EEschema > Schematic Setup.

Fixes https://gitlab.com/kicad/code/kicad/issues/4918
2020-07-17 21:05:11 +01:00
Jeff Young 33480ecad1 Show all symbol libraries by default.
Also fixes an issue where the plugin wasn't getting reset if the
library type was changed.
2020-07-17 18:33:14 +01:00
Jeff Young 944c9eac7c Allow Update Schematic from PCB to re-link based on refdes.
Fixes https://gitlab.com/kicad/code/kicad/issues/4306
2020-07-16 18:32:49 +01:00
Jeff Young e8079bf655 Make sure UI gets adjusted for Symbol property changes.
For instance, if the number of units is changed from 1 to not-1
or vice versa then we need to rebuild the units selector.

Fixes https://gitlab.com/kicad/code/kicad/issues/4622
2020-07-16 01:39:29 +01:00
Ian McInerney af729d578f Unify settings reset buttons into one location 2020-07-16 00:08:16 +01:00
Jeff Young 1cd2a51db2 Make undo/redo lists protected. 2020-07-13 15:53:36 +01:00
Jeff Young fa9937701f Undo for Edit Component's LibId. 2020-07-13 14:16:21 +01:00
Jeff Young 7340c97ef9 Undo for schematic-wide operations.
Editing value/footprint fields of multi-unit components.
Find/Change.
Annotation.
Back annotation.

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

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

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

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

Fixes https://gitlab.com/kicad/code/kicad/issues/3899
2020-07-13 12:32:17 +01:00
Jeff Young e325d2e18f Allow Net Inspector to create, rename and delete nets.
ADDED: create/edit/delete nets in PCBnew Net Inspector
ADDED: update from PCB now allows updating of changed nets

Fixes https://gitlab.com/kicad/code/kicad/issues/1996
2020-07-11 21:19:49 +01:00
Jeff Young 741481591e NetClass settings for Eeschema.
ADDED Eeschema-specific netclass settings including wire and bus
thickness, color, and line style.

Netclasses override individual wire & bus colors and line styles.
If that proves an issue we might look at something more sophisticated
with inheritance.

Fixes https://gitlab.com/kicad/code/kicad/issues/4581
2020-07-08 21:23:25 +01:00
Jeff Young d292db866a Fix mismatch between dialog and code.
(The code was updated to use INDETERMINATE_ACTION, but the dialog
wxChoice still specified an entry of "...".  This moves both to the
code so it's harder for them to get out of sync.)
2020-07-08 19:31:44 +01:00
Ian McInerney 37ce9fb847 Tell wx that we really want a transparent background
Try more options for telling wxWidgets that we want the area
to have a transparent background. Also, fix some spacing issues.

Fixes https://gitlab.com/kicad/code/kicad/issues/4842
2020-07-08 16:29:04 +01:00
Ian McInerney c6eb072726 eeschema: Fix cutoff text in pinmap
Ensure the proper bounding box is used when computing the amount
of space taken by angled text in the control.

Fixes https://gitlab.com/kicad/code/kicad/issues/4761
2020-07-07 23:12:17 +01:00
Jon Evans d8be5f9ecf Don't allow pins with NC electrical type to join other nets
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1826
2020-07-06 20:27:38 -04:00
Jon Evans 0410fdd9fb Push a few missed project settings out of the frame
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4823
2020-07-06 17:30:27 -04:00
Jeff Young 3939b31027 Integration of netclasses into Eeschema.
This is mostly architecture, with the hookup of the Schematic Setup
dialog's Net Classes page.  Things like assigning to a net on the
canvas to follow.

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

Fixes https://gitlab.com/kicad/code/kicad/issues/4581
2020-07-06 20:00:50 +01:00
Jeff Young b917e9aa72 Implement import from... for pin conflicts map. 2020-07-06 20:00:50 +01:00
Jeff Young b0ca7d5140 Netclass setup for Eeschema.
ADDED netclass panel in Schematic Setup dialog.

Fixes https://gitlab.com/kicad/code/kicad/issues/2132
2020-07-06 20:00:50 +01:00
jean-pierre charras 9e669db5b4 Eeschema: fix a name collision with a Windows header.
the member ERROR of the class PIN_ERROR was colliding: changed to PP_ERROR
2020-07-04 17:51:00 +02:00
Jon Evans d143e14694 Fix memory leaks in color theme editor
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4794
2020-07-03 22:34:41 -04:00
Jon Evans b94e29e3b1 Persist ERC pin table in project settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2066

Also a partial fix for https://gitlab.com/kicad/code/kicad/-/issues/4577
2020-07-03 17:11:42 -04:00
Jon Evans 12b4a55ae8 Port Eeschema to new project settings
DRC/ERC error serialization changed to use explicit tokens
Old stored severities and ignored errors are discarded
2020-07-02 22:08:54 -04:00
Jon Evans a7708fa6dc Add PROJECT_FILE and basic load/unload methods 2020-07-02 22:08:54 -04:00
Ian McInerney f7156a9d49 eeschema: Only warn user about off-grid pins if the position has changed
Fixes https://gitlab.com/kicad/code/kicad/issues/4673
2020-07-03 02:11:47 +01:00
Jeff Young 6d56ba2072 Minor cleanup to edit label dialog. 2020-06-30 19:55:04 +01:00
Jeff Young 61b5a12362 Don't allow component & sheet field IDs to collide.
Fixes https://gitlab.com/kicad/code/kicad/issues/4748
2020-06-30 19:17:28 +01:00
Jon Evans bd19c580f4 Add configuration for cross-probing behavior
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2317
2020-06-27 22:48:48 -04:00
Jeff Young 32c3ea4edd Flags cleanup.
Remove extraneous use of FLAG0 from tracks cleaner (it was checked but
never set).

Fix issue in expand connections where two parts of it couldn't agree
on the same flag (BUSY vs SKIP_STRUCT), and where the second part was
clearing the flag instead of setting it.

Remove obsolete HIGHLIGHT infrastructure (we now use selection).

Remove extraneous use of BUSY flag in several places (it was never
set).
2020-06-27 17:53:04 +01:00
Wayne Stambaugh 2078e629c5 Eeschema: allow editing of junction properties diameter and color.
Add missing plot and print changes for the new bus entry properties.

ADDED: Junction properties diameter and color can now be edited.

Fixes: https://gitlab.com/kicad/code/kicad/issues/4593
2020-06-24 13:36:17 -04:00
Wayne Stambaugh 853cf2c9b9 Eeschema: make bus wire entry properties editable.
CHANGED: Bus to wire entry object properties line color, width, and style
can now be edited.

Fixes: https://gitlab.com/kicad/code/kicad/issues/4591
2020-06-24 13:36:17 -04:00
Jon Evans 202b55f4d2 Plot sheet background colors if present
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4697
2020-06-21 20:43:47 -04:00
Jon Evans dd42a19319 Prevent grid axes from inadvertently turning on in eeschema
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4680
2020-06-19 17:22:25 -04:00
Jon Evans 6d2f30005e Don't blow up the sheet path when selecting an ERC item
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4685
2020-06-19 17:00:41 -04:00
Jeff Young ad12c42e8b Push grid settings dialogs down into common.
This also gives support for fast grid switching and a user grid
to eeschema.

Fixes https://gitlab.com/kicad/code/kicad/issues/2200
2020-06-14 19:26:37 +01:00
jean-pierre charras a8d5d9b690 panel lib tables: avoid crash when deleting the last entry in list. 2020-06-14 17:39:32 +02:00
Jeff Young c48f4272f3 Collapse a level out of the zoom settings.
The APP_SETTINGS_BASE now holds the list of zoom factors, and
the old legacy (screen-based) code has been removed.
2020-06-13 22:44:16 +01:00
Seth Hillbrand a02d8a5993 Fix a number of signed/unsigned comparisons 2020-06-13 11:55:59 -07:00
Jeff Young f84406009b Push a couple of layers of indirection out of grid settings. 2020-06-13 11:35:56 +01:00
Ian McInerney a97f14e217 Propagate exclude from board to all units of a component
Fixes https://gitlab.com/kicad/code/kicad/issues/4650
2020-06-12 14:26:11 +01:00
Wayne Stambaugh 037898f6fb Eeschema: add support for excluding symbols from board.
ADDED: Support for excluding symbols from board during.  This allows for
creating bill of materials only symbols.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2522
2020-06-10 10:57:28 -04:00
Jeff Young 79cdd608af Make sure Footprint ID gets initialized when calling chooser.
Also make some of the labels in the dialog more explicit.
2020-06-09 20:10:39 +01:00
jean-pierre charras 2401ed587e eeschema, pcbnew: fix too narrow window showing the item color list
Fixes #4610
https://gitlab.com/kicad/code/kicad/issues/4610
2020-06-09 20:05:38 +02:00
jean-pierre charras 64231a8491 fix a minor wxWidgets alert and a outdated comment. 2020-06-09 14:12:38 +02:00
jean-pierre charras a29b3eb017 Eeschema, DIALOG_EDIT_ONE_FIELD: fix incorrect behavior for footprint field,
when initialized from the footprint viewer.

Fixes #4609
https://gitlab.com/kicad/code/kicad/issues/4609
2020-06-04 18:47:12 +02:00
Wayne Stambaugh 0032845f9e Fix clipped bitmap buttons with GTK on Linux.
A note to developers, please do not set the minimum and/or size of bitmap
buttons.  It causes bitmaps to get clipped using GTK on Linux.  If the
bitmap button size is not acceptable, then supply an appropriately sized
bitmap rather than attempt to force the wxWidgets sizing mechanism to do
what you want.  This almost always causes platform differences that do
not work well.
2020-06-03 14:01:44 -04:00
Wayne Stambaugh 77a59fb5d3 Eeschema: add support for excluding symbols from bill of materials.
This provides a method to add symbols that represent footprints on the
board that do not have an associate component such as mounting holes,
fiducials, logos, etc that should be excluded from the bill of materials.
It also prevents those footprints from being removed from the board
accidentally when updating the board from the schematic.

ADDED: Support to exclude schematic symbols from bill of materials
export.
2020-06-03 08:55:13 -04:00
Jeff Young 5d493abea7 Check for duplicate field names.
Fixes https://gitlab.com/kicad/code/kicad/issues/4219
2020-06-02 21:44:03 +01:00
Jeff Young c01046c12f Give new sheets an initial name and filepath.
Fixes https://gitlab.com/kicad/code/kicad/issues/4516
2020-06-02 20:28:20 +01:00
Wayne Stambaugh 354d53a6c5 Handle derived library symbol optional field inheritance.
CHANGED: Derived library symbols will inherit optional fields defined by
their parent symbol and override existing optional fields.

CHANGED: The symbol editor will now only display the fields defined in
derived symbols rather than show mandatory fields inherited from the
parent symbol.  Showing fields that cannot be edited would be confusing.
2020-06-02 14:21:11 +00:00
Wayne Stambaugh 52078a4b1b Allow setting mandatory derived symbol field properties.
CHANGED: All mandatory fields in derived symbols can be edited.  This
not only includes the field value but also all text properties.

Kill the dual datasheet variable storage which caused many datasheet
bugs over the years.  The datasheet is now always stored in the data
sheet field.
2020-06-02 14:21:11 +00:00
Seth Hillbrand 21c752fa0b eeschema: Rename shadowing var 2020-06-01 09:58:07 -07:00
jean-pierre charras eae0c142fe Eeschema, DIALOG_PLOT_SCHEMATIC: fix incorrect unit of default pen width.
The default line width used to set the  default pen width is given in mils,
and the conversion to iu was missing.
Fix also a minor Coverity warning.

Fixes #4594
https://gitlab.com/kicad/code/kicad/issues/4594
2020-06-01 16:08:46 +02:00
Jeff Young adb1074597 Add undo for Edit Text & Graphics Properties. 2020-05-31 00:01:55 +01:00
Jeff Young 3425deff47 Hook up Edit Text and Graphics Properties to wires.
Fixes https://gitlab.com/kicad/code/kicad/issues/1974
2020-05-31 00:01:55 +01:00
jean-pierre charras e8c1738361 dialog_edit_label.cpp: fix a minor compil warning (shadowed var) 2020-05-29 20:16:03 +02:00
Wayne Stambaugh b624c7090a Deprecate saving legacy schematic and symbol library file formats.
REMOVED: The ability to save schematics in the legacy file format.
2020-05-29 12:43:00 +00:00
Jeff Young 790b061b8b Make sure all plotters have a RENDER_SETTINGS.
Fixes https://gitlab.com/kicad/code/kicad/issues/4556
2020-05-28 20:16:36 +01:00
Jeff Young 9f2be3714f Add unresolved variable testing for worksheet items. 2020-05-28 17:36:22 +01:00
Jeff Young 5bfa06bb1c Coverity fix. 2020-05-28 10:38:40 +01:00
Jeff Young fe4fd19c66 Fix crash bug in unicode chars with Scintilla. 2020-05-28 00:23:18 +01:00
Jeff Young 8b084c373e Autocomplete for text variables.
Fixes https://gitlab.com/kicad/code/kicad/issues/4190
2020-05-27 23:29:51 +01:00
jean-pierre charras f971e1267b Fix typo and remove a I18N marker in a sentence containing keywords
(keywords cannot be translated)
Fix also use of a deprecated constant.
2020-05-26 17:47:58 +02:00
Jeff Young 160981ee71 Better error reporting for DRC rule parsing. 2020-05-25 22:51:47 +01:00
Jon Evans 2164501b06 Don't reparent symbol fields
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4540
2020-05-25 17:47:50 -04:00
Jon Evans 4a8d5a2e6c Fix missing include 2020-05-24 10:55:37 -04:00
Jon Evans 1e69f592f6 Rework net highlighting to use connections instead of strings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1933
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3921
2020-05-24 10:46:05 -04:00
Jon Evans a63df2fbf0 Remove BuildNetListBase from netlisting paths 2020-05-23 13:14:05 -04:00
Jeff Young d61b6f965e Flatten some settings and remove some more globals. 2020-05-23 16:50:33 +01:00
Jeff Young 70fb5cac96 Flatten one level of showElectricalTypes settings. 2020-05-23 16:50:33 +01:00
jean-pierre charras 17fad3a9a4 Minor cosmetic fix and enhancement is 2 dialogs. 2020-05-23 09:48:05 +02:00
Michael Kavanagh a6ec225f43 Eeschema sheet pin properties: use combobox
Prepopulate with hierarchical labels within the sheet.
Update connection type to match hierarchical label.
2020-05-22 19:56:16 +00:00
Jon Evans 2499a1d640 Remove KIWAY dependence from SCH_PLUGINs 2020-05-20 23:00:23 -04:00
Jon Evans fbc42a8cb5 Move schematic defaults to SCHEMATIC and add some missing settings entries 2020-05-20 00:03:23 -04:00
Jon Evans f4d7c323f5 Coverity fixes 2020-05-18 22:58:28 -04:00
Jon Evans d7bd4c9b04 Move Eeschema globals to new SCHEMATIC object
Set up a new lineage for SCH_ITEMS to get back to the SCHEMATIC
they live on: Items will all be parented to the SCH_SCREEN that
they are added to, and each SCH_SCREEN will point back to the
SCHEMATIC that it is part of.  Note that this hierarchy is not
the same as the actual schematic hierarchy, which continues to
be managed through SCH_SHEETs and SCH_SHEET_PATHS.
2020-05-18 13:04:56 -04:00
Jon Evans d599648ec7 ADDED: Enable color themes for schematic printing 2020-05-16 13:19:43 -04:00
Jon Evans 42319e57c6 Clean up libedit color settings
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4433
2020-05-16 09:24:12 -04:00
Jeff Young ba301c292a Check for single item seletion for most property dialogs. 2020-05-13 13:42:23 +01:00
Jeff Young 724c669434 Move a few more commands to tool framework. 2020-05-12 18:12:38 +01:00
Jeff Young 1a1ecd8ce1 Rearrange some code to keep from hitting a wxGrid d'tor bug.
Fixes https://gitlab.com/kicad/code/kicad/issues/4384
2020-05-10 19:42:45 +01:00
Jeff Young cbe4b79107 Add syntax help for bus definitions (and upgrade parser to handle them).
Fixes https://gitlab.com/kicad/code/kicad/issues/4233
2020-05-10 18:40:06 +01:00
Jeff Young cc1ebca242 Add syntax help to pin dialogs. 2020-05-10 18:40:06 +01:00
Jeff Young f3a5f5b6ca Don't resync the screen before we've changed it back.
Fixes: lp:4382
* https://bugs.launchpad.net/kicad/+bug/4382
2020-05-10 18:40:06 +01:00
Jeff Young 8ef66732e4 Add syntax help for text markup.
Fixes https://gitlab.com/kicad/code/kicad/issues/4233
2020-05-08 23:30:33 +01:00
Jeff Young 3c3984a6fc Generalize default footprint fields.
Fixes https://gitlab.com/kicad/code/kicad/issues/2289
2020-05-08 23:30:33 +01:00
Wayne Stambaugh 61e981be17 Symbol editor: fix broken alternate body style toolbar state.
Fixes https://gitlab.com/kicad/code/kicad/issues/4329
2020-05-07 15:55:04 -04:00
Jeff Young f0cda374a0 A few more visual adjustments to the new note text. 2020-05-07 17:51:27 +01:00
Wayne Stambaugh 26803f54f0 Eeschema: fix sheet file extension warning.
Fixes https://gitlab.com/kicad/code/kicad/issues/4351
2020-05-07 10:28:47 -04:00
Jeff Young 241fc3166b Implement a symbol type filter for Edit Text and Graphics.
Fixes https://gitlab.com/kicad/code/kicad/issues/4334
2020-05-06 22:57:14 +01:00
Jeff Young d56dced0ab Fix dialog grow behaviour. 2020-05-06 20:38:12 +01:00
jean-pierre charras 54caebb04a Fix translation issues and a typo 2020-05-06 20:41:29 +02:00
Jeff Young 001a50bf14 Moved PANEL_COLOR_SETTINGS from buttons to swatches.
This allows us to correctly display non-100%-opacity colors (ie:
over the correct background color).
2020-05-06 19:02:21 +01:00
Jeff Young 7d7e0143e4 Fix note text to correct location of text offset ratio property.
Fixes https://gitlab.com/kicad/code/kicad/issues/4323
2020-05-06 15:48:58 +01:00
Wayne Stambaugh d0c3c11e59 Eeschema: fix crash when resetting schematic symbol fields from library.
Fixes https://gitlab.com/kicad/code/kicad/issues/4336
2020-05-06 10:43:08 -04:00
Jeff Young 9e4125c451 Add note on spacing to Global Label Properties dialog.
Also cleans up some of the other notes to have a uniform presentation.

Fixes https://gitlab.com/kicad/code/kicad/issues/4323
2020-05-05 20:33:20 +01:00
Jeff Young 67bccaf465 Make indeterminate control states clearer for the user.
Fixes https://gitlab.com/kicad/code/kicad/issues/4313
2020-05-05 20:26:51 +01:00
Wayne Stambaugh a06fa22b8a Eeschema: remove rogue calls to SCH_SCREEN::UpdateSymbolLinks().
SCH_SCREEN::UpdateSymbolLinks() should only be called when working with
the legacy schematic file format.  Add schematic symbol library symbol
links should be set using SCH_COMPONENT::SetLibSymbol() which updates
the symbol link and pin map accordingly.

Change the schematic symbol LIB_ID edit dialog to properly use the new
SCH_COMPONENT::SetLibSymbol() function.
2020-05-05 12:52:17 -04:00
Wayne Stambaugh 5cf474e1c8 Eeschema: fix bugs in symbol edit properties dialog.
Use flattened (root) library symbols to prevent broken library symbols
in schematic files.

Remove the edited symbol from screen before making changes to the symbol
to prevent potential orphaned symbol libraries being saved in schematic
file.

Add some defensive programming to let developers know that an invalid
library symbol link was used when calling SCH_COMPONENT::SetLibSymbol().
2020-05-05 10:56:23 -04:00
Wayne Stambaugh 169f63a6c0 Eeschema: make schematic sharing truly safe across all designs.
There has been a long standing (since the beginning of the project?)
issue with sharing schematics between projects.  It has been somewhat
supported for complex hierarchies (a sheet shared multiple times in a
single design) but it has not been well supported for simple hierarchies
(the symbol references cannot be changed in the shared schematic).  This
issue has been resolved by moving all of the symbol instance sheet paths
from the symbol definitions in the all of the project files and save all
symbol path instances in the root sheet.  This ensures that orphaned
symbol instance paths do not accumulate in shared schematic files and
that designs that reuse schematic in simple hierarchies can how have
different references.  It also allows the root schematic from one project
to be uses as a sub-sheet in another project.

When legacy schematics are loaded, all sheet and symbol UUIDs are
converted from time stamps to true UUIDs.  This is done to ensure there
are no sheet path instance clashes between projects.  That being said,
there are no checks for this.  It is assumed that the probability of
UUID clashes is so low that it doesn't make sense to test for them.
2020-05-04 12:40:03 +00:00
Wayne Stambaugh 7183e9f97e Make the new schematic and symbol library file formats the default.
This is a very large and potentially disruptive change so this will be an
unusually long and detailed commit message.

The new file formats are now the default in both the schematic and symbol
library editors.  Existing symbol libraries will be saved in their current
format until new features are added to library symbols.  Once this happens,
both the legacy schematic and symbol file formats will be no longer be
savable and existing libraries will have to be converted.  Saving to the
legacy file formats is still available for round robin testing and should
not be used for normal editing.

When loading the legacy schematic file, it is imperative that the schematic
library symbols are rescued and/or remapped to valid library identifiers.
Otherwise, there will be no way to link to the original library symbol and
the user will be required manually set the library identifier.  The cached
symbol will be saved in the schematic file so the last library symbol in
the cache will still be used but there will be no way to update it from the
original library.

The next save after loading a legacy schematic file will be converted to
the s-expression file format.  Schematics with hierarchical sheets will
automatically have all sheet file name extensions changed to .kicad_sym
and saved to the new format as well.

Appending schematics requires that the schematic to append has already been
converted to the new file format.  This is required to ensure that library
symbols are guaranteed to be valid for the appended schematic.

The schematic symbol library symbol link resolution has been moved out of
the SCH_COMPONENT object and move into the SCH_SCREEN object that owns the
symbol.  This was done to ensure that there is a single place where the
library symbol links get resolved rather than the dozen or so different
code paths that previously existed.  It also removes the necessity of the
SCH_COMPONENT object of requiring any knowledge of the symbol library table
and/or the cache library.

When opening an s-expression schematic, the legacy cache library is not
loaded so any library symbols not rescued cannot be loaded.  Broken library
symbol links will have to be manually resolved by adding the cache library
to the symbol library table and changing the links in the schematic symbol.

Now that the library symbols are embedded in the schematic file, the
SCH_SCREEN object maintains the list of library symbols for the schematic
automatically.  No external manipulation of this library cache should ever
occur.

ADDED: S-expression schematic and symbol library file formats.
2020-05-04 12:40:03 +00:00
jean-pierre charras 12d1d3a844 Pcbnew: fix not wanted changes in .kicad_pcb files when the board has no changes.
Some items (tracks and footprint graphic items) when reading were added in reverse order
of the initial file, creating useless differences and breaking source comparisons.
2020-05-04 14:01:35 +02:00
Jeff Young c155d80213 User configurability of pin electrical symbol size.
Also fixes a bug where a bunch of eeschema settings weren't getting
loaded because it looked like they were larger than the max value
(which wasn't being scaled from mils to internal units).

Fixes https://gitlab.com/kicad/code/kicad/issues/2089
2020-05-04 00:56:32 +01:00
Jeff Young da1a89fc7e Allow users to control the order of sheets through sheet fields.
Fixes https://gitlab.com/kicad/code/kicad/issues/2394
2020-05-03 23:27:30 +01:00
Wayne Stambaugh c9d549ffba Eeschema: minor update symbol fields dialog layout improvements. 2020-05-03 08:40:31 -04:00
Wayne Stambaugh 1c82fc9465 Eeschema: minor sheet properties dialog layout improvements. 2020-05-03 08:24:08 -04:00
Wayne Stambaugh 055ab92797 Fix symbol library table dialog padding. 2020-05-02 18:42:45 -04:00
Jeff Young 9d6b987ecc Fixes to map pin-to-pin erorrs to new Warning/Error strucutre. 2020-05-01 18:49:42 +01:00
jean-pierre charras b26e9520b3 DIALOG_EDIT_SHEET_PIN: allows only the text size to be edited (and sizeX = sizeY).
In Eeschema, texts are expected to have the same size X and size Y.
So we cannot set 2 different values for X and Y pin size:
- only size X is saved in file
- 2 different values for X and Y create bad look for pin + associated graphic symbol
Allowing separte values need a file format change *and* a code change.
2020-04-30 10:33:53 +02:00
Jeff Young 1daa2224d0 Tidy up the layout of the Colors Editor. 2020-04-27 11:59:57 +01:00
Jeff Young 32db9eb0f1 Add some distances to a few DRC errors. 2020-04-24 22:17:45 +01:00
Jeff Young 1535c83b88 Lay some groundwork for adding distances to DRC errors.
modified:   eeschema/lib_rectangle.cpp
2020-04-24 14:46:22 +01:00
Jon Evans 69db66e1ea Fix saving of pcbnew colors when edited from layers widget 2020-04-23 22:33:02 -04:00
Jon Evans 2d95270a31 Add color theme settings to pcbnew 2020-04-23 21:55:29 -04:00
Jeff Young 615ad9abfc Check sheet file extension when editing, and add if missing when reading.
Fixes https://gitlab.com/kicad/code/kicad/issues/4107
2020-04-22 21:27:33 +01:00
Jeff Young fe383efb93 That gcc is a squirrelley beast... 2020-04-22 12:35:32 +01:00
Jeff Young 1fdaac3440 Safer way to do std::string conversions. 2020-04-22 12:31:06 +01:00
Jeff Young 857aca78cd More std::string vs. wxString compile issues. 2020-04-22 12:28:25 +01:00
Jon Evans 61f28f0958 Fix build error on gcc 2020-04-21 19:29:34 -04:00
Jeff Young 93d0f19e3f Fix compile error on linux (perhaps all gcc platforms?). 2020-04-21 22:53:33 +01:00
Jeff Young f3a2495757 Fix compile issue on GTK (or possibly just with some versions of wxWidgets). 2020-04-21 22:19:36 +01:00
Jeff Young 1916ea868b Highlight current row in Edit Symbol Fields, and save col widths.
Fixes https://gitlab.com/kicad/code/kicad/issues/4235
2020-04-21 21:17:59 +01:00
Jeff Young 7e4d255cdd Apply Scintilla hack to get auto-sizing canvas.
Fixes https://gitlab.com/kicad/code/kicad/issues/4207
2020-04-19 20:09:43 +01:00
Jeff Young 895f46da8f Another attempt to fix the textbox scrollbars on GTK.
Fixes https://gitlab.com/kicad/code/kicad/issues/4207
2020-04-18 21:41:20 +01:00
Jeff Young 2b6089240a Change super/subscript syntax to ^{foo} and _{foo}. 2020-04-18 21:04:41 +01:00
Jeff Young 42cd604c3c Expose Show Hidden Fields to GUI.
Fixes https://gitlab.com/kicad/code/kicad/issues/2010
2020-04-18 16:36:51 +01:00
Jeff Young d7d1cb6f78 A bunch of fixes to Eeschema Find/Replace. 2020-04-18 14:43:08 +01:00
Jeff Young 66059d6d55 Remove scrollbars from multi-line text ctrl.
Fixes https://gitlab.com/kicad/code/kicad/issues/4207
2020-04-16 20:36:12 +01:00
Jeff Young 9c8941e040 Remove a bunch of globals. 2020-04-16 17:34:46 +01:00
Sylwester Kocjan fdccdd5cb9 Eeschema: adding .op SPICE simulation support
ADDED new tab on simulation settings dialog, which allows to run .op analysis.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2368
2020-04-15 01:51:58 +00:00
Jeff Young 6e800bddae Rationalize penWidth processing as first step in removing some globals. 2020-04-13 20:58:13 +01:00
Jeff Young d014dc47ab Finish moving text markup flags to project-level settings. 2020-04-13 20:58:13 +01:00
Jeff Young 122b1ddaae Unwrap an unnecessary layer now that we have new config stuff. 2020-04-13 20:58:12 +01:00
jean-pierre charras bcf31ef3d1 DIALOG_SCHEMATIC_SETUP: fix incorrect parent of some sub-page panels.
These panels must have the wxTreeBook as parent to receive mouse and key events.
They previously have the dialog itself, but it does not work on any OS.
2020-04-12 18:17:57 +02:00
jean-pierre charras bdada70ee7 Cosmetic enhancements: add bitmaps to a few context menus.
Fix also a minor compil warning.
2020-04-12 10:29:28 +02:00
Jeff Young 350696ecdd Only convert references to KIIDs if the variable resolves.
Fixes https://gitlab.com/kicad/code/kicad/issues/2458
2020-04-11 20:47:44 +01:00
Jeff Young dbded3e5dc Make sure to check for unit designator when converting to KIIDs.
Fixes https://gitlab.com/kicad/code/kicad/issues/2458
2020-04-11 20:47:44 +01:00
Jeff Young 505d8bf56e Allow ':'s in field name references in text variables.
Fixes https://gitlab.com/kicad/code/kicad/issues/2458
2020-04-11 20:47:44 +01:00
Jeff Young 8854b799e8 Fix a minor spelling error.
Also changes the capitalisation of a string which isn't used, but looks
so wrong in FormBuilder that I couldn't help fixing it.
2020-04-11 13:06:45 +01:00
jean-pierre charras 096564ec0c Fix some typos and I18n issues 2020-04-11 08:57:46 +02:00
Jeff Young 84944524cc Fix crash on OSX when page was changed before hack array was alloc'ed. 2020-04-10 22:49:56 +01:00
Jeff Young b067e441c7 Show/hide sheet colors when flipping override flag. 2020-04-10 00:35:17 +01:00
Jeff Young f4e22a9264 Add ability to override individual item colors.
Fixes https://gitlab.com/kicad/code/kicad/issues/4167
2020-04-09 17:17:27 +01:00
Jeff Young 317e98b344 Simplify user model for editing color themes. 2020-04-08 22:34:56 +01:00
jean-pierre charras cb7263d017 Eeschema: fix ERC dialog not shown after a double click, when recalled by tool ERC.
(the dialog was reactivated by calling Raise(), but this is not enough: Show()
must be called also, at least on Windows).
Fix also a minor wxWidgets alert in ERC dialog.

Fixes #4171
https://gitlab.com/kicad/code/kicad/issues/4171
2020-04-08 10:03:51 +02:00
Jeff Young aba0fa7bf8 Allow cross-referencing text substitutions. 2020-04-07 17:29:58 +01:00
Jeff Young b13559c926 Add envVar and text variable resolution to plot directory paths.
Fixes https://gitlab.com/kicad/code/kicad/issues/3808
2020-04-05 23:56:24 +01:00
Jeff Young cc9ac37a0e Add text variable support to envVar processing. 2020-04-05 20:52:26 +01:00
Jeff Young c663965498 Fix some issues with sheet border color handling. 2020-04-05 16:17:04 +01:00
Jeff Young 591428b0d9 Remove some problematic global variables.
Fixes https://gitlab.com/kicad/code/kicad/issues/4121
2020-04-05 16:17:04 +01:00
jean-pierre charras c16a453e53 fix minor wxWidgets alerts and a minor Coverity warning 2020-04-05 10:36:55 +02:00
jean-pierre charras caf4a64877 Eeschema, DIALOG_SCH_SHEET_PROPS: try to fix a very serious issue:
When editing a sheet properties, the dialog always thinks the sheet filename is changed.
It creates serious issues, like duplicating all items in sheet, because the code try to
again import the existing sheet file content.
The temporary fix does not import the existing sheet file content if the
filename is not modified.
This is a very partial fix, because there are many other issues in this dialog
2020-04-04 19:38:53 +02:00
Wayne Stambaugh 082944ad06 Minor build warning fixes. 2020-04-03 13:03:23 -04:00
Jeff Young 9ab2fcda77 One more "busses" fix. 2020-04-02 14:58:35 +01:00
Jeff Young ae02835fef Fix spelling error.
Fixes https://gitlab.com/kicad/code/kicad/issues/4144
2020-04-02 14:34:52 +01:00
Jeff Young a76ddb52a0 Add sheet borders and backgrounds to Edit Text & Graphics.
Also moves sheet border and sheet background colours to preferences
so it's clearer they're just for newly-created items.

Fixes https://gitlab.com/kicad/code/kicad/issues/4144
2020-04-02 14:01:30 +01:00
Wayne Stambaugh e91f1f57dd Eeschema: fix rescue multiple unit symbol bug.
The code that checked for pin conflicts to determine if a symbol needed
rescued did not check either the pin convert setting so it was possible
for a pin from the other convert on symbols that do not have identical
units to appear to not have a pin conflict.  Add tests for pin unit and
convert setting to prevent that from breaking the comparison.  This must
have always been broken.

Fix the symbol preview widget to prevent drawing all symbols on top of
each other (if we need to do this the code will have to be revised) and
also show the convert if valid.

Fix broken symbol cache library when saving alias symbols.

Fixes https://gitlab.com/kicad/code/kicad/issues/3879
2020-04-01 20:19:53 -04:00
jean-pierre charras 6730313ab7 eeschema: minor fixes in DIALOG_SCH_SHEET_PROPS:
- test for empty fileName
- ensure the new filename has the right extension.
2020-04-01 18:30:48 +02:00
Jeff Young 9a67dc56f9 Clean up assumption that field_id < MANDATORY means its mandatory.
It looks good, but non-mandatory fields have an ID of -1, so it
doesn't actually work.  Some places got around this by converting
the ID to unsigned, but this just hides the real issue from
unsuspecting coders.

Fixes https://gitlab.com/kicad/code/kicad/issues/4140
2020-04-01 15:59:52 +01:00
jean-pierre charras 029b1b0b22 Eeschema: void CollectOtherUnits(): do not try to collect others units
of a not annotated component.

Fixes #4142
https://gitlab.com/kicad/code/kicad/issues/4142
2020-04-01 16:03:22 +02:00
Jeff Young cbef95256b Share multi-unit updating code between Sym Props and Edit Field.
Fixes https://gitlab.com/kicad/code/kicad/issues/4103
2020-03-30 14:15:59 +01:00
Jeff Young 41b5872f12 Add ERC & DRC checks for unresolved variables. 2020-03-30 14:15:59 +01:00
Jeff Young 4990d1e7b2 Variable substitution framework.
This implements editing of variables and moving SCH_FIELDs,
TEXTE_MODULEs, TEXTE_PCB and worksheet items over to the new
framework.
2020-03-30 14:15:59 +01:00
jean-pierre charras 9d2712a824 Fix a few Coverity warnings.
It also fix:

Fixes #4082
https://gitlab.com/kicad/code/kicad/issues/4082
2020-03-29 18:42:24 +02:00
Jeff Young 6e27904791 More code hygiene. 2020-03-25 18:06:18 +00:00
Jeff Young ba36fc0009 Fix some Coverity issues. 2020-03-25 14:38:43 +00:00
Sylwester Kocjan c7daca1e78 Eeschema: Adding new source types in SPICE model
NEW: Adds support in eeschema for three new source types
used in .TRAN simulation: single frequency FM, AM, and random.
2020-03-23 16:49:21 +00:00
jean-pierre charras cc47062b17 Fix a few Coverity issues 2020-03-23 16:17:22 +01:00
jean-pierre charras 4d9d1a5380 Fix a few compil minor warnings and Coverity minor issues 2020-03-22 09:45:51 +01:00
Jeff Young 93b7eacfb2 Fixup some Coverity issues. 2020-03-21 16:32:22 +00:00
Jeff Young 204f2cd580 Reference -> reference designator.
Fixes https://gitlab.com/kicad/code/kicad/issues/4012
2020-03-17 16:09:25 +00:00
Jeff Young 40b2eabfc1 Add a user-defined ratio for text offset from wire/bus.
Fixes https://gitlab.com/kicad/code/kicad/issues/2392
2020-03-17 12:50:31 +00:00
Wayne Stambaugh 7dc64f08b7 Eeschema: implement s-expression schematic file formatter.
Please note that the symbol cache is not embedded in the schematic file
to allow for round robin testing with the existing file format.  Once
the parser round robin testing is complete, the symbol cache will be
embedded in the schematic file.
2020-03-16 09:05:16 -04:00
Jeff Young cee973dc04 Move ERC error reporting over to the new framework.
Fixes https://gitlab.com/kicad/code/kicad/issues/1989
2020-03-16 11:06:15 +00:00
Jeff Young 222b222299 Improve ease of understanding around PCB <-> schematic links.
Includes improvements to Update PCB from Schematic dialog and
corresponding changes to Symbol Properties, Sheet Properties and
Footprint Properties.

Fixes https://gitlab.com/kicad/code/kicad/issues/4012
2020-03-16 11:06:15 +00:00
Jeff Young 085d80e3f3 Remove duplicated settings from preferences.
These have now moved to project-specific settings.
2020-03-13 17:28:53 +00:00
Jeff Young dc9882c3b9 Fix a few bugs with Sheet field dragging and rotating.
Fixes https://gitlab.com/kicad/code/kicad/issues/4046
2020-03-12 13:57:29 +00:00
Seth Hillbrand 9de7547c25 Partial revert of 134a7ba85
The margin fix prevented some schematics from printing.  Reverting in
favor of transitioning to the Cairo print base in eeschema
2020-03-11 15:24:08 -07:00
Jeff Young c699fb9e39 Move pin-to-pin errors to Setup Schematic. 2020-03-11 21:43:55 +00:00
Jeff Young 437f888c25 Schematic Setup dialog.
Includes:
- moving some of the project settings from the Preferences dialog
- ERC severites
- project-specific field-name templates

Fixes https://gitlab.com/kicad/code/kicad/issues/2145
2020-03-10 18:54:17 +00:00
Jeff Young b054e59a41 Get rid of cursors in preview panels. 2020-03-10 18:54:17 +00:00
Jeff Young bbf5ad6160 Improve dialog spacing and remove 'auto' type decls.
Also fixes a couple more coding style issues.
2020-03-10 18:54:17 +00:00
Jeff Young 3e34c1783f Added sheet border width, border color and background color.
Fixes https://gitlab.com/kicad/code/kicad/issues/2216
2020-03-08 15:18:19 +00:00
Jeff Young 0905ef8eb5 Autoplacement only handles mandatory fields for Sheets. 2020-03-08 15:18:19 +00:00
jean-pierre charras 37befc5a42 fix compil issue. 2020-03-07 20:49:45 +01:00
Jeff Young 535033c5c9 Enable editing of sheet fields. 2020-03-07 18:52:30 +00:00
Jon Evans 34ceee14ed Improve color button padding 2020-03-06 08:14:12 -05:00
Jon Evans 5ed173ef1b ADDED: LibEdit can have a different color theme than Eeschema 2020-03-06 00:01:02 -05:00
Jon Evans 643c97a2f4 ADDED: Schematic plotting can use a dedicated color theme
ADDED: PDF, PS, and SVG plots can optionally include the page background color

Fixes #1830
2020-03-06 00:01:02 -05:00
Jon Evans 8660b4c144 ADDED: New color theme editor and multi-theme support 2020-03-06 00:01:03 -05:00
jean-pierre charras 3e78403576 Eeschema: cosmetic enhancement: display sheet UUID and path in dialog and bottom frame. 2020-03-05 13:20:38 +01:00
jean-pierre charras b7cd0c54c2 Fix compil issues, especially on Windows:
Replace SEVERITY_ERROR by RPT_SEVERITY_ERROR to avoid collision with a system definition.
Replace other SEVERITY_XXX by RPT_SEVERITY_XX for consistency.
Fix compil warnings and some other compil issues.
2020-03-04 10:48:18 +01:00
Jeff Young 85c2e0d23a Add user-defined severities, exclusions and colors to DRC markers.
Exclusions are currently persisted in the project file.

Fixes https://gitlab.com/kicad/code/kicad/issues/1989
2020-03-04 00:39:28 +00:00
Wayne Stambaugh 9d6f64da9a Implement symbol library s-expression parser.
This implements all existing symbol library object support and the ability
to save and load symbol library files between file formats for round robin
testing.
2020-03-03 08:06:23 -05:00
jean-pierre charras 20ca5a6973 Eeschema, dialog_edit_component_in_xxx: minor cosmetic enhancements.
Especially, UUID is bigger than old timestamp, so enlarge display widget.
2020-03-02 14:29:18 +01:00
Ian McInerney c31089d9f4 eeschema: Properly set bold and italic properties in global text edit dialog
Fixes https://gitlab.com/kicad/code/kicad/issues/3963
2020-03-01 00:23:46 +00:00
Jeff Young c7ec110fba Only center focused items when they're not visible.
This includes outside the window and behind an occluding dialog.
This keeps the view from jumping around when focusing on nearby
objects.
2020-02-24 23:19:17 +00:00
Jeff Young c68b554c8e Promote PathsAndReferences from wxArrayString to first-class-citizen.
Keeping the data in an un-serialized format greatly simplifies usage,
and should make it more robust.
2020-02-24 23:19:17 +00:00
Jeff Young ea025a35e5 Change KUUID to KIID. 2020-02-21 22:20:42 +00:00
Jon Evans e8e3b4f11e Rename UUID to KUUID to fix MSVC build
Also add another newly-required boost flag
2020-02-20 22:07:17 -05:00
Jeff Young 490f39a671 Remove obsolete code requiring unique sheet names. 2020-02-20 22:56:11 +00:00
Jeff Young e033e394e7 Add visibility flags for sheet names and sheet filenames. 2020-02-20 21:29:52 +00:00
Jeff Young 129042f8a6 Convert timestamps to UUIDs. 2020-02-20 21:29:52 +00:00
Jon Evans e59a3d981e Implement a new settings framework across all of KiCad
CHANGED: Settings are now stored in versioned sub-directories
ADDED: First-run dialog for migrating settings from a previous version
CHANGED: Settings are now stored as JSON files instead of wxConfig-style INI files
CHANGED: Color settings are now all stored in a separate settings file
CHANGED: The symbol editor and footprint editor now have their own settings files
CHANGED: Color settings are no longer exposed through BOARD object
CHANGED: Page layout editor now uses Eeschema's color scheme

Settings are now managed through a central SETTINGS_MANAGER held by PGM_BASE.
Existing settings will be migrated from the wxConfig format on first run of each application.
Per-application settings are now stored in one class for each application.
2020-02-19 23:44:56 -05:00
jean-pierre charras 2ca16c0b29 eeschema: fixes some issues related to translated and not translated field names.
When searching for fields, the code was sometimes comparing translated and not translated names.
This is an issue for mandatory fields, in non English languages.

Translated field names should be used only in messages.
2020-02-16 17:52:53 +01:00
Ian McInerney 4fef513a3f Fix library table panel path adding and cleanup duplicate dialog
When adding a .pretty library, if the actual .pretty folder were
selected then no folder would be added to the list of libraries.
This led to an assert when normalizing paths, and the library
not being added.
2020-02-14 19:07:27 +00:00
Sylwester Kocjan 0aa6e43783 eeschema: dialog_edit_component: fixed removing negative number of rows from grid. 2020-02-14 15:07:06 +01:00
jean-pierre charras f17f10d2a6 Eeschema, DIALOG_UPDATE_FIELDS: ensure mandatory fields are put in list.
Add also a comment in common.cpp about using wxLocale instead of setlocale.

DIALOG_UPDATE_FIELDS has issues in non English languages, due to its design.
The fix for mandatory fields is only a partial fix that avoid major issues.
2020-02-14 13:07:13 +01:00
Wayne Stambaugh f502208211 Eeschema: fix selection thickness setting bug.
Fix minor control padding and alignment issues in the schematic display
options panel.
2020-02-13 09:19:40 -05:00
Jon Evans 27fb664693 Fix polarity of "drag is drag" checkbox
Fixes https://gitlab.com/kicad/code/kicad/issues/3861
2020-02-11 09:22:18 -05:00
Karl Zeilhofer 1190e60dd4 Fixes issue #3820, text was not selected by default 2020-02-09 03:40:24 +01:00
Seth Hillbrand 134a7ba85d eeschema: Temporary fix for GTK printing offset
The full fix will be Cairo printing in v6

Fixes https://gitlab.com/kicad/code/kicad/issues/1907
2020-02-04 11:26:07 -06:00
jean-pierre charras 0049185d06 Eeschema: Speed up global changes in DIALOG_GLOBAL_EDIT_TEXT_AND_GRAPHICS.
Previously, OnModify() was called for a lot of items, even when not modified.
For large schematics, the calculation time was unreasonable ( several minutes)
It is now called only a few times.
2020-02-04 14:04:11 +01:00
jean-pierre charras b8108d294f Fix a few I18n messages, and minor wxWidgets alerts. 2020-02-01 14:06:56 +01:00
jean-pierre charras bb06e672e7 DIALOG_UPDATE_FROM_PCB: fix incorrect wording of an option.
Shared sheets can create issues in a complex hierarchy.
This is not related to sharing sheets between projects.
(Sharing sheets between projects is not supported by Kicad)
2020-01-30 09:22:21 +01:00
jean-pierre charras 5d5363396c Add automatically generated files needed for translations.
These help files are created from the .md source files and contain I18n strings,
but do not exist if kicad is not built from sources.
However they are needed by translators.
2020-01-29 18:47:06 +01:00
Alexander Shuklin 3d0b3a51f3 Eeschema: Adding back annotation
ADDED: Back annotation algorithm,
eeschema back annotation dialog

CHANGED: added some minor helper methods to SCH_REFERENCE_LIST and SCH_REFERENCE,
split SCH_REFERENCE_LIST::CheckAnnotation on 2 parts to reuse code
2020-01-29 16:33:57 +00:00
jean-pierre charras 2cd4d2440c DIALOG_LABEL_EDITOR: very minor cosmetic change. 2020-01-24 10:15:56 +01:00
Wayne Stambaugh bc68c7d949 Symbol editor: fix several internal units bugs.
When opening the symbol editor without loading the schematic editor the
default text size setting is not loaded and was defaulting to the old mils
setting.  Convert the default text size to internal units in case the
symbol editor is launched first.

Set default line, bus, and selection highlight width to internal units.

Change new symbol dialog pin position offset control from a spin control
to a text control so the unit binder object can handle converting to and
from internal units.

Fixes #3802

https://gitlab.com/kicad/code/kicad/issues/3802
2020-01-23 15:45:51 -05:00
Mark Roszko 70908043a3 Convert enums inside eeschema and the symbol editor to be scoped
Scope: NETLIST_ITEM, CONNECTION_TYPE, ELECTRICAL_PINTYPE,
       NET_CONNECTION, NETLIST_ITEM, GRAPHIC_PINSHAPE

Note, the pin type enum had PT_ added to the front to prevent
shadowing of the INPUT symbol on msys2 (see discussion at
c17c9960d8)
2020-01-18 20:51:28 +00:00
Wayne Stambaugh 462074d471 Eeschema: fix grid select dialog internal units bug.
Fixes #3782

https://gitlab.com/kicad/code/kicad/issues/3782
2020-01-18 11:28:01 -05:00
Ian McInerney 81ee5edcaf Test dynamic_cast for safety from future changes 2020-01-13 15:22:26 +00:00
Ian McInerney 36f6b4a9b4 Clean up redundant dynamic casts 2020-01-13 01:39:08 +00:00
Jeff Young 3a1585718f Remove unnecessary casts (they're just casting to a superclass). 2020-01-12 20:26:07 +00:00
Jeff Young 836c1ea56e Fix a bunch of un-caught boost::bad_pointer exceptions.
This also removes vector cover types which do nothing except obfuscate
the underlying implementation.

Mainly changes SCH_SHEET_PINS and CONFIG_PARAM_ARRAY (which will soon
be replaced by Jon's new stuff).
2020-01-12 19:55:00 +00:00
Ian McInerney b445ce6632 Clean up pointer casting
* Make note of when dynamic cast is actually needed
* Convert some to static cast when we know the type for sure
2020-01-12 19:45:37 +00:00
Ian McInerney 00e58cd974 Fix unintialized values (from coverity scan) 2020-01-12 13:00:42 +00:00
Ian McInerney ae91312416 Fix default pin orientation (from Coverity scan) 2020-01-12 11:55:03 +00:00
Seth Hillbrand 7c28c3838a Comment-only changes
Makes class comments conform to coding standards
2020-01-10 16:43:01 -08:00
Seth Hillbrand 94f682c6bd Fix bug in linux compile
wx 3.0 does not have an emplace_back method for wxVector
2020-01-10 16:41:55 -08:00
Seth Hillbrand d1a0102e84 eeschema: Fix print order between worksheet and screen
The worksheet should be drawn behind the screen.
2020-01-10 16:33:53 -08:00
Jeff Young b54a42ba53 Clean up dialog (including uninit var from Coverity scan). 2020-01-10 22:32:50 +00:00
Jeff Young 8576a4a067 Fix unchecked array access (from Coverity scan). 2020-01-10 22:32:50 +00:00
Jeff Young cc5a42ff41 Minor cleanup and performance. 2020-01-10 22:32:50 +00:00
Jeff Young ae74815ff0 Go to seleted object when opening Symbol Fields dialog.
Note: only active if there is a single item selected and it (or
its parent) is a component.
2020-01-10 22:32:50 +00:00
Jeff Young 5e5edd03f6 Implement super- and subscript printing and plotting for eeschema. 2020-01-10 22:32:49 +00:00
Seth Hillbrand 6e5e453d0d Replace EESchema DLIST
This moves EESchema DLIST structures to rtree.  These changes are more
fundamental than the pcbnew changes from 9163ac543 888c01d11 d1877d7c1
and 961b22d60 as eeschema operations were more dependent on passing
drawing list references around with SCH_ITEM* objects.
2020-01-10 06:37:08 -08:00
Mark Roszko ca34ade00c Make global labels have the same spin style as net/hierarchical labels
For legacy reasons, it stored left and right "spin" as flipped integers in the file format.
But the code handled the flip in multiple locations rather than just doing it on file io.
This change unifies the internal code and does the mapping in the file I/O.
2020-01-08 19:07:55 +00:00
Ian McInerney 13b6028e1b Refactor all math into a new kimath library
* Split up the thirdparty code into the thirdparty folder (#3637)
* Create a new kimath static library containing all the math functions

This is part of cleaning the build system for #1906.
2020-01-07 17:12:59 +00:00
Simon Richter 270aaec443 Rewrite FBP files generated with unreleased wxFB
These use a few features that are too new, causing errors when trying to
edit with a released version of wxFormBuilder.
2020-01-07 13:32:33 +00:00
Franck Jullien ea218bc722 eeschema: Allow hierarchy navigator to stay open
ADD: User can now decide to keep the hierarchy navigator open while working
on a schematic.

This behavior can be configured in eeschema->preferences->eeschema->Editing options.
2020-01-03 21:08:40 +01:00
Wayne Stambaugh 4bab82e149 Eeschema: fix text limit bug due to internal units scaling.
Change default text size and anchor positions back to mils.  Internal
units need to be converted at the source, otherwise the size will get
converted twice in the schematic editor configuration code which will
result in the default text size being off by the conversion factor.

Fixes #3730

https://gitlab.com/kicad/code/kicad/issues/3730#
2020-01-03 09:29:38 -05:00
jean-pierre charras eaaa4eb63a fix minor compil warnings 2019-12-31 15:03:27 +01:00
Wayne Stambaugh 371c5a9259 Eeschema: fix symbol properties dialog bug.
Derived symbols were causing the symbol properties grid to assume that
the reference could not be edited because derived symbols inherit the
reference from the parent symbol.  The flattened symbols in the schematic
still have the parent set which cause the issue.  Clearing the parent of
the flattened symbol resolves the issue.

Fix a minor bug in the symbol information of derived symbols show in the
symbol chooser dialog.

Fixes #3723

https://gitlab.com/kicad/code/kicad/issues/3723
2019-12-31 08:05:52 -05:00
Mark Roszko b84fe2b703 ADDED: Editing style of multiple graphical lines at the same time.
Provides the ability to quickly set the style of multiple lines.  This is only allowed if the selection includes _only_ graphical lines.
2019-12-31 04:05:51 +00:00
Wayne Stambaugh 8bf9a4c811 Symbol editor: fix pin increment setting for 100nm units. 2019-12-30 15:43:10 -05:00
jean-pierre charras 19e92c9d11 Eeschema: replace dialog_bom_help.html by dialog_bom_help.md The .md files are smaller and translatable. 2019-12-29 11:16:18 +01:00
Mark Roszko 19ceb11ae7 Change more enums over to scoped enums 2019-12-28 00:55:11 +00:00
Ian McInerney e6e2cf47fd eeschema: Fix return ID check in annotate dialog
Fixes https://gitlab.com/kicad/code/kicad/issues/3708
2019-12-25 23:17:00 +00:00
jean-pierre charras b53501d8cf Eeschema: very minor change: make a string shorter to reduce the panel size
This is not noticeable in English, but noticeable in translated language.
Frequently, strings are longer once translated.
2019-12-21 11:19:08 +01:00
Mark Roszko 11ff16be4e Switch to scoped enums 2019-12-20 14:11:39 +00:00
Ian McInerney 3ca231aa78 Rename lib viewer frame files to use the class name 2019-12-19 14:05:46 +00:00
jean-pierre charras d9de28de35 Eeschema: usability enhancement.
ADDED: a config option to select (when clicking on a pin) the parent symbol
or only the pin.

Previously, when cliking on a pin, the parent symbol was selected.

Allowing the pin selection is mandatory in cross probing, and to display the pin
characteristics in some cases, for instance if a pin is flagged by the ERC tooL.
2019-12-19 12:41:51 +01:00
Wayne Stambaugh 2b920ffa04 Symbol editor: inheritance symbol editing bug fixes.
There is no need to create a new root symbol and re-parent all derived
symbols when renaming a root symbol.  Just rename the buffered root
symbol.

Test for duplicate symbol names when validating the properties dialog
information to prevent broken symbol pointers.

Fix a field drawing bug when editing derived symbols.

Fix bug to insure duplicate symbol names cannot exist in a library.

Fixes kicad/code/kicad#3654

Fixes kicad/code/kicad#3672
2019-12-16 10:11:06 -05:00
Wayne Stambaugh 3e431d0d39 Symbol editor: fix inherited symbol editing bug.
The library manager update part function was orphaning the root symbol
of derived symbols when the root symbol was edited.  Re-parent the
inherited symbols when updating a root symbol.

Update the mandatory field attributes whenever the parent is set for
derived parts.  This will show the fields with the correct attributes
in the symbol editor and viewer.

Using std::unique_ptr to hold the current symbols was deleting the
pointer on symbol selection changes causing the pointer in the library
manager buffer to be stale in some cases.  Revert back to using a
simple pointer and manual clean up as required.

Prevent derived symbols from being saved to a different library to
prevent orphaned symbols.

Fixes kicad/code/kicad#3649
2019-12-13 16:51:59 -05:00
Jeff Young c5df98a170 Clean up spacing in Eeschema Display Options.
Also adds a note for editing highlight color.
2019-12-11 20:50:38 +00:00
Mark Roszko a130ed9968 Fix improper SetValue usage on radio buttons 2019-12-09 00:40:08 -05:00
Jonatan Liljedahl 034bfb0919 eeschema: More work on selection highlight thickness
Bring back old zoom-level factor scaling constant and
change selection width to absolute unit instead of
floating point multiplier.
2019-12-07 09:33:32 +00:00
Jonatan Liljedahl 681f6bc707 Eeschema: Add option for selection highlight thickness
ADDED new option to set selection highlight thickness.
Also change selection shadow width constants to
make the selection thickness change less drastically
with the zoom level.
2019-12-07 09:33:32 +00:00
Jean-Pierre Charras 97b0b20a65 Fix properties dialog bug in symbol library editor.
Remove unused panel rather than calling Hide() method which draws the
hidden page as a background of the shown page.
2019-12-06 11:33:52 -05:00
Wayne Stambaugh 54f066fed7 Implement simple inheritance for library symbols.
This change completely removes the LIB_ALIAS design pattern an replaces
it by allowing LIB_PART objects to inherit from other LIB_PART objects.
The initial implementation only allows for single inheritance and only
supports the mandatory fields in the derived part because that is all
that the current symbol library file format will support.  Once the new
file format is implemented and saving to the old file format is deprecated,
more complex inheritance will be added.  The LIB_ALIAS information saved
in the document files was move into the LIB_PART object.  This change
impacts virtually every part of the schematic and symbol library editor
code so this commit message is woefully incomplete.

REMOVE: Removed the symbol aliases concept from the schematic and symbol
editors and the symbol viewer.

NEW: Replace the symbol alias concept with simple inheritance that allows
a library symbol to be derived from another library symbol.
2019-12-06 11:33:52 -05:00
Seth Hillbrand c6f5df134c Minor speed cleanup
This adjusts iterators to use const reference when only used for
copy.  It also ensures pre-allocation of vectors when size is known
ahead of time.
2019-12-05 14:20:59 -08:00
Jonatan Liljedahl e517069a51 Eeschema: Add options for selection appearance
ADDED: Three new options that affects selection appearance:
- Draw selected text items as box
- Draw selected child items
- Fill selected shapes
2019-11-26 19:57:11 -08:00
jean-pierre charras e6346c7408 Pcbnew: fix crash on Linux (when opening Edit Spice model in component properties)
It happens when the spice library model shown in dialog is a large file.
Looks like the wxTextCtrl used to displays the library content
creates the crash ( GKT bug?) for large texts.

The fix is to replace this wxTextCtrlt by a wxStyledTextCtrl.
It has advantages (does not crash... and much faster display) and
inconvenients (cannot disable editing).

Fixes: lp:1853161
https://bugs.launchpad.net/kicad/+bug/1853161
2019-11-21 13:13:15 +01:00
Seth Hillbrand 9f8eb350f7 eeschema: One more sort case
This fixes the same issue as f4a1fef3b requiring an absolute inversion
when sorting ascending vs descending
2019-11-13 11:48:22 -08:00
Seth Hillbrand f4a1fef3b0 Adjust pin table sort
The sort routine requires the value to be true with a is strictly lower
than b.  But just inverting the '<' doesn't yield strictly lower, it
includes '>='.  This causes items to jump in the list.
2019-11-12 17:24:57 -08:00
Jonatan Liljedahl c71202d143 Eeschema: simulation: allow adding signals by name like V(/out) or I(R1)
NEW: A text entry allows adding signals by name. This includes vectors
not in the signal list, which is useful for plotting calculated vectors
like `let AB=V(a)*V(b)`. It's also a faster way to add a signal if you
know its name already.

Fixes: lp:1851373
* https://bugs.launchpad.net/kicad/+bug/1851373
2019-11-11 09:05:37 -05:00
Jeff Young 9d288968e7 Be more explicit about extent of schematic cleanups.
The new connectivity algorithm had a tendency to cleanup
globally, but that could insert undo records from other sheets
into the current screen's undo stack.  Needless to say, this
was a recipie for segfaults.

Fixes: lp:1846247
* https://bugs.launchpad.net/kicad/+bug/1846247
2019-11-10 23:25:54 +00:00
Jeff Young 35c8d64f98 Add super- and subscript support to Eeschema.
Note that since the markup might exist for other reasons, it has
to be turned on with a preference setting.  (It goes through a set
of bitflags so the same architecture can be used for other markup
structures that we might want to support in the future.)

Note also that this is more about engineering nomenclature than
visual formatting.  In that respect it's more similar to overbar
than italic or bold.
2019-11-05 17:22:51 +00:00
Seth Hillbrand 7b2d6ab40e eeschema: Allow mult-part placement option
When placing a new component in the schematic, this allows the user to
iterate through all units in the selected component without re-opening
the choose part dialog.  It also allows the optional addition of
multiple copies of the same component to be placed in the schematic.

Fixes: lp:1806217
* https://bugs.launchpad.net/kicad/+bug/1806217
2019-10-29 12:20:14 -07:00
jean-pierre charras 23e09d3de7 some other WXDEBUG replacement 2019-10-14 12:38:52 +02:00
jean-pierre charras 2a9157ca99 Pcbnew, multiline graphic text dialog: strip extra \r in EOL (\n is enough) on Windows.
Fixes: lp:1843279
https://bugs.launchpad.net/kicad/+bug/1843279
2019-09-10 10:57:04 +02:00
Jeff Young 10c25a2290 Update frame type enum to match current class names. 2019-09-06 23:38:20 +01:00
Seth Hillbrand 90b5cd3032 Unify text edit dialog behavior
This makes the pcbnew multiline text editor natively accept tabs in the
same manner as eeschema and extracts key handling routines to the shim
to allow undo/redo.

Also allows Ctrl-Y under Linux in addition to other platforms.  While
not as popular as Ctrl-Shift-Z, it is utilized for Redo in some contexts
2019-09-05 14:11:02 -07:00
Jeff Young fc50ddda64 Implement Paste Special for eeschema.
Also changes the normal paste behaviour to only clear annotations
when a collision is found.

Fixes: lp:1837002
* https://bugs.launchpad.net/kicad/+bug/1837002
2019-09-02 19:24:29 +01:00
Seth Hillbrand 85eed87b28 eeschema: Modify all units at the same time
When editing symbol library reference, this ensures that all units are
modified by the same action and the component is not represented by its
subunits.

Fixes: lp:1834509
* https://bugs.launchpad.net/kicad/+bug/1834509

(cherry picked from commit 80e0d848f2)
2019-08-26 20:43:05 -07:00
Jeff Young bc0e67579c Change OK/Cancel to MSW order and move some other dialogs to new system.
(There's no point in following the OSX OK/Cancel order as you can't
tab to buttons on OSX anyway.)
2019-08-26 18:36:35 +01:00
Jeff Young 6b6e9eddee Return control of Symbol and Footprint chooser col widths to user.
The auto-calculation wasn't working out and even with it some users
wanted control.

Fixes: lp:1796774
* https://bugs.launchpad.net/kicad/+bug/1796774
2019-08-26 18:27:49 +01:00
Jeff Young 8d31c9a6c1 Save values of Page Settings Export buttons in project.
Fixes: lp:1791431
* https://bugs.launchpad.net/kicad/+bug/1791431
2019-08-26 18:27:49 +01:00
Jeff Young b109aba663 Add a file browser to the Sheet Properties dialog.
Fixes: lp:1840459
* https://bugs.launchpad.net/kicad/+bug/1840459
2019-08-26 00:45:34 +01:00
Jeff Young 80dd3f8635 Draw datasheet field with the value from the dfm file.
Fixes: lp:1841369
* https://bugs.launchpad.net/kicad/+bug/1841369
2019-08-25 21:51:00 +01:00
Jeff Young 9f80da60c3 Add buttons to MSW tab order.
Fixes: lp:1840991
* https://bugs.launchpad.net/kicad/+bug/1840991
2019-08-24 17:13:35 +01:00
Jeff Young f21467e340 Support tabbing to non-text controls on non-Mac platforms.
Fixes: lp:1840991
* https://bugs.launchpad.net/kicad/+bug/1840991
2019-08-23 22:14:37 +01:00
Jeff Young c85d1fa00c Try out our own tabbing logic.
Fixes: lp:1840991
* https://bugs.launchpad.net/kicad/+bug/1840991
2019-08-22 21:18:24 +01:00
Jeff Young 13b7dd354c Fix tab order in pin properties dialog.
Fixes: lp:1840991
* https://bugs.launchpad.net/kicad/+bug/1840991
2019-08-22 10:54:11 +01:00
Jeff Young 23fd4b64dd Remove curly braces from netname escaping context.
They're now used for bus definition control characters.
Also fixes the sheet pin edit dialog to correctly escape/unescape
netnames.

Fixes: lp:1840834
* https://bugs.launchpad.net/kicad/+bug/1840834
2019-08-22 10:53:39 +01:00
Jeff Young 97212acecb Sort pins by number when grouping by name.
Fixes: lp:1828648
* https://bugs.launchpad.net/kicad/+bug/1828648
2019-08-21 20:34:01 +01:00
Jeff Young a25368cc6b Improve spelling.
The groundwork here is thanks to kunda1.

Fixes: lp:1831510
* https://bugs.launchpad.net/kicad/+bug/1831510
2019-08-20 19:14:05 +01:00
Jeff Young 0d90fab01b Add display setting preference pane for PLEditor.
Fixes: lp:1839187
* https://bugs.launchpad.net/kicad/+bug/1839187
2019-08-19 00:06:22 +01:00
Wayne Stambaugh 92fe201c5b Symbol editor: fix mnemonic issues in pin properties dialog.
Control ordering is critical to make dialog mnemonics work correct.  The
static text with the mnemonic must immediately proceed the control and
no additional controls can be added between static text/control pair.
Fixing this required adding the units static text controls after all of
the mnemonic static text controls and their associated edit controls.
Mnemonics do not work for read only controls so all of the combobox
controls were moved after the text controls.

Fixes lp:1818930

https://bugs.launchpad.net/kicad/+bug/1818930
2019-08-15 15:09:21 -04:00
Jeff Young a6b36adb32 Keep value in sync with libId when they match.
Fixes: lp:1797482
* https://bugs.launchpad.net/kicad/+bug/1797482
2019-08-15 17:01:33 +01:00
Jeff Young 8ba7d4570c Move warp-mouse-on-move setting from Eeschema settings to common settings.
It's also used by the Symbol Editor, and will likely be used by
Pcbnew and friends in the future.
2019-08-15 12:53:04 +01:00
Jeff Young b4c8657904 Fix non-visible-part or conversion items from getting selected.
Also renames lib_draw_item to lib_item to match the class.

Fixes: lp:1840170
* https://bugs.launchpad.net/kicad/+bug/1840170
2019-08-15 10:00:23 +01:00
Jeff Young c2d77a7300 Add some defensive code to prevent re-entrant printing.
Fixes: lp:1765965
* https://bugs.launchpad.net/kicad/+bug/1765965
2019-08-13 18:00:09 +01:00
Jeff Young a33d67f6b4 Push shift/cmd+<enter> processing down into dialog shim.
This will make them more uniform rather than only supported when
something else is using <enter>.

Fixes: lp:1838353
* https://bugs.launchpad.net/kicad/+bug/1838353
2019-08-13 16:53:40 +01:00
jean-pierre charras 3796b2fe7f Fix minor compil warnings (signed/unsigned comparison) 2019-08-10 09:18:19 +02:00
Jeff Young 441c2c240f Use a transform matrix to address some print bugs.
Sadly, this only works on MSW until wxWidgets 3.1.1.

Fixes: lp:1464773
* https://bugs.launchpad.net/kicad/+bug/1464773
2019-08-09 11:33:17 +01:00
Jeff Young 8b3e257648 Shorten ERC dialog options page.
Fixes: lp:1839338
* https://bugs.launchpad.net/kicad/+bug/1839338
2019-08-07 20:08:24 +01:00
Jeff Young 56bf72cc5d OpenGL context must be saved/restored around a translation.
Also includes a bunch of code cleanup.

Fixes: lp:1838655
* https://bugs.launchpad.net/kicad/+bug/1838655
2019-08-07 19:25:03 +01:00
Seth Hillbrand 5151cd0bfe C++14: Remove unused make_unique.h
Also removes header references now that we are in C++14, this is
built-in to the std
2019-08-07 09:27:31 -07:00
jean-pierre charras 4e90b2d48b DIALOG_CHOOSE_COMPONENT: fix a crash when the option "footprint view" is activated.
The crash was due a not tested null pointer.

Fixes: lp:1839282
https://bugs.launchpad.net/kicad/+bug/1839282
2019-08-07 18:06:27 +02:00
Jeff Young 2a3e82a144 Add copy support to Symbol Chooser's details panel.
Fixes: lp:git
* https://bugs.launchpad.net/kicad/+bug/git
2019-08-06 11:50:19 -06:00
Jeff Young 23d824de66 Simulator improvements.
1) Add highlighting to simProbe and simTune tools.
2) Probe tool should accept wires and pins, not wires and components.
3) Give simulator window a flat look to match rest of Kicad.
4) Collapse whitespace out of simulator window.
5) Add some error messages.
6) Add some whitespace to simulation setting dialog.
2019-08-05 16:48:18 -06:00
Jeff Young fb3aa446e1 Remove Run Simulator command from Export Spice Netlist.
Also cleans up the Export Netlist dialog to be more platform compliant.

Fixes: lp:1591777
* https://bugs.launchpad.net/kicad/+bug/1591777
2019-08-04 16:25:36 -06:00
jean-pierre charras 120637bd9b A few I18n minor fixes. 2019-08-04 10:33:54 +02:00
Jeff Young c03535343c Don't apply GTK fix to OSX: it produces somewhat random crashes.
Fixes: lp:1837225
* https://bugs.launchpad.net/kicad/+bug/1837225
2019-07-28 11:28:42 -06:00
Jeff Young 3904d7ccfc Push some search stuff down into EDA_DRAW_FRAME so it can be shared.
Also rewrites the PCBNew Find dialog to make use of the above, including:
1) searching in user-defined footprint fields
2) searching in pcb text
3) a history list in the search popup
4) case sensitive searching
5) word sensitive searching
6) the ability to turn wildcard searching on/off
7) better placement of the result when the dialog obscures part of the
window

Fixes: lp:1838006
* https://bugs.launchpad.net/kicad/+bug/1838006
2019-07-26 17:53:32 -06:00
Jeff Young 0821f1ac11 Move crosshairs to found item; remove find highlighting when find dialog closed.
Fixes: lp:1837069
* https://bugs.launchpad.net/kicad/+bug/1837069
2019-07-19 18:41:11 -06:00
Seth Hillbrand b877d17138 Fix compile error
wx 3.0 doesn't have emplace_back() so we need to accept the
copy-instantiate penalty
2019-07-17 14:32:22 -07:00
Jeff Young 3de00eef5f Cleanup. 2019-07-17 21:45:43 +01:00
Jeff Young d67c2d13c7 Fix re-entrancy problem in cross-probing.
Fixes: lp:1836940
* https://bugs.launchpad.net/kicad/+bug/1836940

Fixes: lp:1836937
* https://bugs.launchpad.net/kicad/+bug/1836937
2019-07-17 21:35:28 +01:00
Jeff Young 920f128cc7 Change line-end encoding of multi-line textbox.
Fixes: lp:1836757
* https://bugs.launchpad.net/kicad/+bug/1836757
2019-07-16 20:45:44 +01:00
Jeff Young 8d79661996 Convert symbol/module cross-probing to a selection model.
Net/net cross-probing stays a highlight model.

Fixes: lp:1836600
* https://bugs.launchpad.net/kicad/+bug/1836600
2019-07-16 20:25:25 +01:00
Jeff Young 787b16db98 Draw invisible pins in grey in pin preview.
Also pins the zoom at 100% as we don't seem to be very good at
calculating the bounding box for short pins.

Fixes: lp:1836658
* https://bugs.launchpad.net/kicad/+bug/1836658
2019-07-16 02:05:22 +01:00
jean-pierre charras dad8c9821b Fix a minor compil warning. 2019-07-15 10:33:03 +02:00