Commit Graph

5719 Commits

Author SHA1 Message Date
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
Wayne Stambaugh 729dc75396 Symbol editor: fix copy/cut and paste bug.
Use the s-expression symbol library file format for copy/cut to clipboard
instead of legacy symbol file format when using the library tree context
menu copy and cut entries.  Also use s-expression file format for parsing
clipboard contents using the context menu.

Fixes https://gitlab.com/kicad/code/kicad/issues/4900
2020-07-15 20:23:10 -04:00
Ian McInerney af729d578f Unify settings reset buttons into one location 2020-07-16 00:08:16 +01:00
Jeff Young 19d0899a80 Fix previous botched attempt to deal with duplicate field ids.
Fixes https://gitlab.com/kicad/code/kicad/issues/4821

Fixes https://gitlab.com/kicad/code/kicad/issues/4891
2020-07-15 13:51:12 +01:00
Jeff Young 1dc804232c Fix issue with duplicate field IDs getting saved out.
Fixes https://gitlab.com/kicad/code/kicad/issues/4821
2020-07-14 16:00:38 +01:00
Seth Hillbrand 7f991ce855 Revert "Set DoubleBuffering to reduce flicker"
This reverts commit 106259f6e6.
2020-07-13 20:23:12 -07:00
Seth Hillbrand e19a7910f8 Revert "Revert "Set DoubleBuffering to reduce flicker""
This reverts commit c18cab6154.
2020-07-13 20:19:10 -07:00
Jeff Young dd61f6f019 Use pin graphic only for rubber-band selection hit-testing.
Fixes https://gitlab.com/kicad/code/kicad/issues/4138
2020-07-13 22:41:56 +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
Seth Hillbrand 9f09c3872f Ensure file reads always use the C-locale variant
Str2Double assumes current locale.  We usually switch the locale when
reading files but we should be using the function that explicitly gets
the C-locale conversion.
2020-07-12 20:03:50 -07:00
Jon Evans a2041073ee Skip project backup in standalone mode
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4867
2020-07-12 11:42:05 -04:00
Jeff Young 9b92b275de Remove vestiages of old open-PCB-for-settings hack.
We used to have to open a PCB_EDIT_FRAME to get the settings for
the footprint editor and footprint viewer.  This necessitated some
special processing when opening a PCB_EDIT_FRAME to actually edit
a board as it might already be open but unloaded.

Since the new settings architecture allows the footprint editor and
footprint viewer to init themselves we no longer need the special-
case code.
2020-07-11 21:19:49 +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
Seth Hillbrand c18cab6154 Revert "Set DoubleBuffering to reduce flicker"
This reverts commit 106259f6e6.

In its place, we set double buffering to only menubars in an attempt to
find a soluton to #4785

Fixes https://gitlab.com/kicad/code/kicad/issues/4863
2020-07-11 09:43:30 -07:00
Seth Hillbrand 106259f6e6 Set DoubleBuffering to reduce flicker
This sets double buffering for GTK and MSW to minimize flicker when
redrawing window elements.

Fixes https://gitlab.com/kicad/code/kicad/issues/4785
2020-07-10 09:29:42 -07:00
Jon Evans 4a5792cb87 Fix bus unfolding in the wake of bus entry changes
Since bus entry shape is not a thing anymore,
unfolding routine can be simplified to just use size

Fixes https://gitlab.com/kicad/code/kicad/-/issues/4853
2020-07-09 18:51:42 -04:00
Jon Evans 66bdd37637 Connectivity optimizations
Cache names of potential driving items
Change a few data structures based on profiling
2020-07-09 18:14:37 -04:00
Jon Evans fc92fb076e Cache sheet path to string conversion in UpdateSymbolInstances
Profiling of large designs (with many hierarchical sheets)
showed that this can be a huge (4x) speed up to schematic
loading times.
2020-07-09 18:14:37 -04:00
Jon Evans b1b9cef5fb Full-project automatic backup system
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4763
2020-07-09 13:55:19 +00:00
Jon Evans 282fcd5f3c Connectivity optimizations
Don't copy the recursion test cache when copy-constructing
SCH_SHEET_PATHs as it's not needed in connectivity

Fix a few places that were copying unnecessarily
2020-07-08 17:42:12 -04: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
Wayne Stambaugh 41dd31babf Symbol editor: fix unnecessary "Save As..." prompt.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4818
2020-07-08 14:06:10 -04: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
Wayne Stambaugh 4c383c51fa Eeschema: add update symbol from library command to context menu.
Rather than displaying dialog that has every update option possible like
updating footprints in the board editor, this change updates the library
symbol immediately using the symbol library identifier and requires no
additional input from the user.

ADDED: Context menu entry for schematic symbols to update the symbol from
the symbol library using the existing library identifier.
2020-07-08 10:15:24 -04:00
Jon Evans 7f1e1a4abb Fix missing pin table visible columns setting
This got missed in the settings merge
2020-07-07 20:59:55 -04:00
Jon Evans 788f31d743 Fix import of Eagle schematics
Old project needs to be unloaded before schematic is reset,
then new project has to be loaded before doing the import

Fixes https://gitlab.com/kicad/code/kicad/-/issues/4836
2020-07-07 20:48:32 -04:00
Ian McInerney 908377f9c4 Remove incorrect factor of 2 scaling
This was a copy-paste error that caused the junction dots
to be twice as small as they should be.

Fixes https://gitlab.com/kicad/code/kicad/issues/4834
2020-07-08 01:45:11 +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
Ian McInerney f481be3358 Set a proper default for the schematic junction size
Fixes https://gitlab.com/kicad/code/kicad/issues/4834
2020-07-07 23:12:17 +01:00
Ian McInerney ccc0ceb32f Remove deleted item global variables
Fixes https://gitlab.com/kicad/code/kicad/issues/4819
2020-07-07 23:12:17 +01:00
Seth Hillbrand 7cea4b23f1 ADDED: Expand selection in context menu
Break out the context menu with heuristically limited choices being
appended to the main list rather than re-selecting

Fixes https://gitlab.com/kicad/code/kicad/issues/4799
2020-07-07 14:18:35 -07:00
Jon Evans 84b02e51f1 Fix overly aggressive ERC check
It helps to only check for the pintypes I care about
2020-07-07 17:08:07 -04:00
Jeff Young 358cccfd73 A bit of safety if realtime connection updating isn't on. 2020-07-07 14:45:14 +01:00
Jeff Young e66523586b Add Assign Netclass... to context menu.
ADDED Assign Netclass feature to EEschema.

Netclass assignments also now shown in status bar.

Fixes https://gitlab.com/kicad/code/kicad/issues/4581
2020-07-07 14:23:39 +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 23ce2d2e36 Re-add missing include 2020-07-06 19:47:07 -04:00
Seth Hillbrand 66f38dfc10 Remove assert that fires in normal operation
The missing symbol happens normally when the user does not have their
cache file available.  This should not be an assert
2020-07-06 14:37:03 -07: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
Tomasz Wlostowski c1d5394e46 properties: post-rebase fixes 2020-07-05 22:44:38 +02:00
Jeff Young 509cd8f495 Remove duplicate fix not found by merge. 2020-07-05 21:01:19 +01:00
Jeff Young ec6c1b80b7 Fix a couple of bugs in the CurrentSheet architecture. 2020-07-05 19:53:04 +01:00
Jon Evans e9b99cc8b7 Fix grabbing connections from power components 2020-07-04 20:59:35 -04:00
Jon Evans 04a51a5ba4 Push current sheet handling to SCHEMATIC
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4803
2020-07-04 20:59:35 -04: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 f725248fd8 Fix ERC pin checking logic
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4577
2020-07-03 17:51:20 -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
jean-pierre charras cf38d382c7 Eeschema: ensure the netlist data is up to date before generating the netlist
Fixes #4779
https://gitlab.com/kicad/code/kicad/issues/4779
2020-07-03 21:08:38 +02:00
Jon Evans 0201cb4e7e Fix schematic reload in standalone mode 2020-07-03 10:43:23 -04:00
Jon Evans 05771f74f7 Fix netlist QA test 2020-07-03 08:21:19 -04:00
Jon Evans 1c72042fc4 Clean up stale nested settings when changing project pointer 2020-07-02 23:55:46 -04:00
Jon Evans 498fa8d8ba Fix some things about template fieldname synchronization 2020-07-02 23:42:36 -04:00
Jon Evans 4dbbe1cf68 Project settings fixes from review
- Fix file extension for new project
- Fixes for exceptions on MSW
- Fix some ASAN issues
- Allow SETTINGS_MANAGER to run headless
- Don't flag schematic as modified after schematic setup is closed
- Don't automatically unload projects when LoadProject is called
- Don't unload project if it's the same as the current one
- Make sure to properly init/de-init template field names
2020-07-02 22:08:54 -04:00
Jon Evans fe5959b625 Remove the schematic and board backup file system
Per discussion on the developers list, this old system
no longer provides much value and is seen as annoying
by many users.  The new save logic should prevent any
cases of file corruption on save, which was a major
reason for the backup file system existing.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2012
2020-07-02 22:08:54 -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 c0aa6965de Migrate PcbNew project settings to new framework
Various architecture upgrades to support this.
Creating a BOARD now requires a valid PROJECT, which caused
some (mostly transparent) changes to the Python API internals.

ADDED: Project local settings file
CHANGED: Board design settings are no longer stored in PCB file
CHANGED: Net classes are no longer stored in PCB file
CHANGED: Importing board settings now reads boards, not just projects

Fixes https://gitlab.com/kicad/code/kicad/-/issues/2578
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4070
2020-07-02 22:08:54 -04:00
Jon Evans 0e2f9cb1bd Migrate CvPcb project parameters 2020-07-02 22:08:54 -04:00
Jon Evans a4fadfcdf2 Begin moving project file load to new system 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 e91acfb67b Correct SHEETNAME validation exclusions which were for SHEETFILENAME.
Fixes https://gitlab.com/kicad/code/kicad/issues/4748
2020-07-02 21:38:37 +01:00
Jeff Young 7b042f4a75 Add rectangle tool to PCBNew toolbar in favour of Aux Origin.
ADDED new rectangle graphics tool for PCBNew and Footprint Editor.

Also adds rectangle tool to both Footprint Editor and PCBNew Place
menus.

The Aux Origin tool can come back once we have multi-select toobar
buttons.

Also collapses an unnecessary level out of the auxOrigin and gridOrigin
settings.

Fixes https://gitlab.com/kicad/code/kicad/issues/2246
2020-07-01 13:31:30 +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
Ian McInerney bb1afb747a Remove bus entry shape
The shape isn't needed anymore, since bus entries can be rotated
and mirrored like other items.

Fixes https://gitlab.com/kicad/code/kicad/issues/4588
2020-06-30 02:09:33 +01:00
Jon Evans 8a0277eb2e Fix null graph in some connections
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4747
2020-06-29 20:27:08 -04:00
Seth Hillbrand 67bd49b4a8 Fix order-of-ops issue in sim plot 2020-06-27 19:59:49 -07: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 6acd35c981 Cleanup. 2020-06-27 20:07:26 +01:00
jean-pierre charras 0f0627a53e Eeschema: add 4 new zoom levels (0.1, 0.15, 0.2, 0.3) in context menu.
However, to see them in context menu, the old eeschema.json
config file must be deleted, because it contains the list of allowed zooms.
2020-06-27 20:35:54 +02: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
Ian McInerney fb10406e67 Add right-click context menus for toolbar items 2020-06-26 21:29:03 +00:00
Ian McInerney 52856a8ce4 Move scaled toolbar separator into ACTION_TOOLBAR
* Ensure all separators are scaled separators
* Clean up toolbar creation functions
2020-06-26 21:29:03 +00: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
Wayne Stambaugh b15ee1086f Eeschema: factor out line stroke property object.
The line stroke property object STROKE_PARAMS was factored out an used in
the schematic line object.  This will allow it to be used in other objects
that require line stroke properties so every object does not need to have
it's own definition for line stroke properties.
2020-06-24 13:36:17 -04:00
Tormod Volden e82e30d215 bom2grouped_csv.xsl: Fix sorting of grouped references
Commit a96ebe8f seems to have missed a dollar sign.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/940
hopefully for good this time.

Signed-off-by: Tormod Volden <debian.tormod@gmail.com>
2020-06-23 15:48:59 +02:00
Jon Evans 158f6ad526 Fix net highlighting 2020-06-22 12:02:58 -04:00
Jon Evans 40e0a4295d Re-add netlisting logic inadvertently removed during refactor
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4692
2020-06-21 21:43:24 -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 09cb75b8a1 Use a temporary file when saving boards/schematics to make the operation more atomic
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4517
2020-06-19 23:31:26 +00: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 ee9d8fcd15 Collapse Pcbnew & ModEdit display and edit settings.
(Prep work for reusing them with a custom shape editor.)
2020-06-18 15:38:01 +01:00
Jon Evans 15b95f2980 Fix project references in eagle importer after SCHEMATIC object
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4672
2020-06-17 17:30:24 -04:00
Jeff Young a7703d1207 Cleanup Graphics to parallel Cleanup Tracks & Vias.
This also allows for easier migration to DRAWSEGMENT::S_RECTs by
auto-converting 4 rectilinear lines to a rectangle.
2020-06-17 18:44:39 +01:00
Seth Hillbrand 4480759599 Remove unused variable 2020-06-15 12:40:02 -07: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 e16426987a Fix wxWidgets alert on integer overflow. 2020-06-13 22:44:16 +01: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
Ian McInerney 9d0ea66a96 Don't use the accelerator table in the menubars
It seems that the accelerator table causes issues with
keyboard events on MSW.

Fixes https://gitlab.com/kicad/code/kicad/issues/1941
2020-06-06 22:50:35 +00:00
jean-pierre charras eef81e84b2 Avoid marking a default name translatable: after translation the result
can be unexpected and broken.
2020-06-06 20:51:50 +02:00
Ian McInerney 4357c1d3b3 Coverity and compiler warning fixes
* Initialize variables
* Test dynamic casts

Fixes https://gitlab.com/kicad/code/kicad/issues/4620
2020-06-05 12:50:56 +01:00
Wayne Stambaugh c27ca90c13 Symbol library editor: fix broken "Save As..." feature.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4590
2020-06-04 13:25:53 -04: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
Jon Evans ae852e17f9 Re-add null component checking in UpdateNetHighlighting
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4606
2020-06-03 20:36:30 -04:00
Wayne Stambaugh 3fa2bad3c5 Symbol editor: disable tools and menu entries for derived symbols. 2020-06-03 16:57:08 -04:00
Wayne Stambaugh 616ac50cfb KiCad: add support for missing file format extensions.
Don't rename symbol libraries when performing a project "Save As.."
except for the legacy cache library.  Changing library file names
breaks the symbol library table.  This was the less painful  option
than updating the symbol library table.

Fixes https://gitlab.com/kicad/code/kicad/issues/4605
2020-06-03 16:13:42 -04: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
Jeff Young 10add93d16 Fix clang compile warnings. 2020-06-02 20:27:22 +01:00
Jeff Young aadc926740 Coverity fixes and "auto" removal. 2020-06-02 17:22:23 +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
Wayne Stambaugh dd1a7627f8 Move setting derived symbol field properties from parent symbol.
In order allow the new file format to support derived symbols with
field properties that are different than the parent symbol, the code
that copied the parent field properties to the derive symbol field
properties had to moved out of LIB_PART::SetParent() into the legacy
symbol library plugin and the symbol library editor add new symbol
code to preserve the current behavior and not overwrite derived
symbol field properties.

This lays the ground work for allowing field properties of derived
symbols to be different than their parent symbol.
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
Michael Kavanagh 9414f65a3f Eeschema: allow Properties... in wire context menu
Seems to have been forgotten from 91fd0635
2020-05-30 14:29:53 +00:00
jean-pierre charras 598ed8b394 toolbars_lib_view.cpp and toolbars_libedit.cpp: do not recreate comboboxes
when clearing toolbars.
Clearing toolbars delete only tools, not other widgets.
recreating comboboxes creates strange cosmetic issues.

Fixes #4542
https://gitlab.com/kicad/code/kicad/issues/4542
2020-05-30 14:14:24 +02:00
Jeff Young e7603ddcb9 Add tilde escape syntax to syntax help. 2020-05-29 22:06:48 +01:00
Jon Evans b0ebc476d2 Don't assert when getting line width for sheets 2020-05-29 16:38:25 -04: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 91fd063585 Eeschema: allow editing of wire and bus properties.
CHANGED: Wire and bus lines properties (color, line width, and line type)
can be edited the same as graphical lines.
2020-05-29 14:33:27 +00:00
Wayne Stambaugh c2d94358fc Symbol editor: minor fixes to disable saving the legacy file format.
Fixes https://gitlab.com/kicad/code/kicad/issues/4093
2020-05-29 12:43:00 +00:00
Wayne Stambaugh 6c8b937e1b Symbol editor: disable saving legacy symbol libraries.
CHANGED: The symbol library save menu entry is now only enable when the
currently selected library is modified.

CHANGED: The symbol library save all menu entry and tool bar button are
enabled when one or more of the symbol libraries have been modified.

REMOVED: The ability to save symbol libraries in the legacy file format.
2020-05-29 12:43:00 +00: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
Wayne Stambaugh b83d64fc0d Eeschema: remove superfluous updating of SCH_COMPONENT pins.
Every time SCH_COMPONENT::GetDrawItem() was called, the schematic symbol
pin table was updated.  Under certain conditions, this happens inside
loops so the amount of time spent rebuilding the pin table can add up.
2020-05-28 18:32:28 -04: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 8d92a95cb8 Fix a couple of issues with text var autocomplete.
Fixes https://gitlab.com/kicad/code/kicad/issues/4190
2020-05-28 20:00:21 +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
Jeff Young f3e4e61fa7 Push some more editing code out to the tool framework. 2020-05-27 23:29:51 +01:00
Jeff Young fb8dcb52d1 Don't gray out mandatory field names.
(Even though they are read-only.  It makes it look like the whole
field is disabled.)
2020-05-27 23:29:51 +01:00
Jon Evans 1792479ca5 Fix sheet pin import after SelectPoint API change
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4552
2020-05-27 11:21:59 -04:00
Jeff Young 6ef6284924 Make sure markers get removed from view when deleted. 2020-05-26 22:09:31 +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
Wayne Stambaugh 06fde791f0 New schematic and symbol library file format layout changes.
Force default settings to be written instead of undefined which mimics
the behavior of the previous file format with the exception of text
objects which requires some more thought.  Please note that no new
features are added to the library file format so the file version did
not need to be updated.

Fixes https://gitlab.com/kicad/code/kicad/issues/4411
2020-05-26 12:58:57 +00: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 13baf548ca Ensure merged buses have all members 2020-05-25 17:35:26 -04:00