Jeff Young
bd23d003d2
Bring Eeschema UI closer in line with Pcbnew for change terminology.
...
Also clears up the text & tooltip of the Remap Symbols function to
better explain why it's greyed out most of the time.
2020-09-02 15:21:51 +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
Wayne Stambaugh
c0afeed13d
Symbol editor: fix broken long dash in title.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5455
2020-09-02 09:22:55 -04:00
Ian McInerney
1b4ec6ccb5
Display symbol libraries that couldn't be loaded as disabled text
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5092
2020-09-02 00:10:25 +01:00
Wayne Stambaugh
c17f832de1
Eeschema: move auto save check before clearing current screen.
...
GitLab issue #5068 only affected the 5.1 branch. The same issue could
also affect master if for some reason a context switch occurs due to
changes. Moving the auto save feature before setting the current screen
to null should mitigate any potential future issues.
2020-09-01 16:52:05 -04:00
jean-pierre charras
f38631b9ab
fix a compil warning (shadowed var).
2020-09-01 17:46:17 +02:00
Jeff Young
e6f4e156b6
Fix the SCH_PINs test to be more reflective of the codebase.
2020-09-01 15:25:49 +01:00
Wayne Stambaugh
c9fa46ace8
Eeschema: allow symbols to be edited in place.
...
ADDED: Support to allow schematic symbols to be edited in place.
2020-09-01 07:28:20 -04:00
Mark Roszko
9f128f942c
Move shutdown blocker to kiplatform
2020-09-01 10:14:51 +00:00
Jon Evans
30b402bc02
Don't set modify flag when deleting markers
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5418
2020-08-31 22:07:19 -04: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
6e72f609f0
Make sure router and via tools update when sizes change.
...
Also adds a size menu to the context menu for the Via tool.
Fixes https://gitlab.com/kicad/code/kicad/issues/5321
2020-08-31 23:33:02 +01:00
Jeff Young
1ea08f27f8
Keep local number up-to-date so we don't have to look at libPin's.
...
The libPin, in particuar, may have been freed.
Fixes https://gitlab.com/kicad/code/kicad/issues/5399
2020-08-31 20:09:47 +01: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
Jeff Young
2697fc3864
Remove canvas-switching from OSX.
...
The Cairo renderer doesn't work on Retina displays.
Fixes https://gitlab.com/kicad/code/kicad/issues/4788
2020-08-31 18:48:25 +01:00
Jeff Young
88635ee5b6
Clean up error messages.
...
Convert a lot of nags to InfoBar errors/warnings/messages, and some
that never should have been exposed to wxFAIL_MSGs.
2020-08-31 14:19:57 +01:00
Jon Evans
38a4e4ad5a
Remove the last bits of the old netlist system
2020-08-30 16:30:04 -04:00
Jon Evans
cf17a675b4
Port simulator probing to new connectivity info
2020-08-30 16:05:16 -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
Jon Evans
68dd508fbd
Use correct wildcard for creating new schematics
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
45ed91a405
Regularize formatting.
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
Jeff Young
1bd7290309
Repair broken logic in ForceKeepAnnotations.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5382
2020-08-29 18:18:23 +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
Jeff Young
e7db43285f
ADDED new footprint fabrication attributes.
...
This commit also adds mapping of the new symbol properties
"exclude from BOM" and "exclude from board" to be correctly
handled in Update Board from Schematic.
Fixes https://gitlab.com/kicad/code/kicad/issues/2399
Fixes https://gitlab.com/kicad/code/kicad/issues/4643
Fixes https://gitlab.com/kicad/code/kicad/issues/2233
2020-08-28 11:05:58 +01:00
Seth Hillbrand
46cb760641
Standardize eeschema header with pcbnew
...
Removes the host tag with build data and replaces with the "generator"
tag
2020-08-27 12:23:26 -07:00
Mark Roszko
1082402b33
Convert UNDO_REDO_T to an enum class
2020-08-26 18:04:32 +00:00
Seth Hillbrand
731f247eb3
Libedit: conform default pin offset to KLC
...
Move default defines to standard location
Fixes https://gitlab.com/kicad/code/kicad/issues/5373
2020-08-26 10:30:19 -07:00
jean-pierre charras
a97f2fb22a
Eeschema: cosmetic enhancement: add 2 missing icons
2020-08-26 13:00:46 +02:00
ferdymercury
b0af66afc7
Allow empty value field if simulation is disabled
2020-08-26 02:42:50 +00:00
Jon Evans
1d2838bd92
Fix overzealous driver check that was causing false positives
2020-08-25 21:54:14 -04:00
Jon Evans
d40ae3de46
ADDED: ERC check for missing hier labels for sheet ports
...
A subsheet may have more than one instance of a hier label,
but it's generally a mistake if there is no matching hier label
for a port on the parent sheet.
This is harder to do today now that we don't have manual tool
for placing hier ports, but it's still possible if you place
ports but then rename the label on the subsheet.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3468
2020-08-25 21:52:52 -04: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
45cae6405d
Improve no-connect ERC and check for floating wires
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2393
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2038
2020-08-25 18:00:16 -04:00
Jon Evans
da17437490
Don't crash when trying to draw a no connect with no parent schematic
2020-08-25 13:26:33 -04:00
Jeff Young
d02ce77bee
Make no-connects (and dangling symbols) more visible.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5329
2020-08-25 13:46:40 +01:00
Jeff Young
1138c32bf3
Don't pass Cancel event where there was a specific action cancelled.
...
For instance, if during a move the user hits ESC they only want the
move cancelled, not (for instance) the selection dropped.
Fixes https://gitlab.com/kicad/code/kicad/issues/5356
2020-08-25 12:54:40 +01: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
Jon Evans
5e2946ef90
Use full net names in netclasses
...
Short net names are not unique; full names with paths must be used.
Added a grid cell renderer that does the escaping, to make it easier
to display net names in grid cells.
Once you unescape a net name, you can't go back to the escaped form
because you can't assume which `/` should be {slash} and which `/`
Because of this, we cannot use Unescape/Escape on the data model in
the netclass setup panel, and instead do the Unescape in the view.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5331
2020-08-24 21:19:07 -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
Jeff Young
d5878e552d
Fixes for line, wire and bus styles.
...
1) Return the default netclass if an assignment is not found
2) Local overrides have precedence over netclass values
Fixes https://gitlab.com/kicad/code/kicad/issues/5308
2020-08-24 18:23:55 +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
Jon Evans
3673c23696
Code style
2020-08-23 22:10:05 -04:00
Mark Roszko
89e74140eb
Save file / window states for kicad project locally
2020-08-24 02:01:14 +00: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
Ian McInerney
750b186582
Return the type and shape for alternate pins
...
These return statements were missing from the original implementation,
so the alternate style was never being returned.
2020-08-24 01:18:46 +01:00
Jeff Young
605ddce651
Make sure ERC has a current sheet to resolve text vars with.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5318
2020-08-24 00:49:08 +01:00
Jon Evans
75d813f1bf
Fix gcc-only include
2020-08-23 15:50:16 -04:00
Thomas Pointhuber
a03fb7a9a8
Altium: Refactor and add initial structure for schematic importer
...
altium: move pcbnew/altium2kicadpcb_plugin -> pcbnew/plugins/altium
See: https://gitlab.com/kicad/code/kicad/-/issues/4412
2020-08-23 19:01:08 +00:00
jean-pierre charras
6eab1ce17d
Fix a minor wxWidgets alert.
2020-08-23 15:20:46 +02:00
Wayne Stambaugh
80ee805782
Eeschema: fix broken symbol exclude from BOM support.
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5284
2020-08-22 13:44:55 -04: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
d71d127c1a
Put up infobar when editing board footprint.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5294
2020-08-21 23:53:40 +01:00
Jeff Young
a3a36ed4d6
Disallow text var references in reference designators.Disallow text var references in reference designators.Disallow text var references in reference designators.Disallow text var references in reference designators.Disallow text var references in reference designators.Disallow text var references in reference designators.Disallow text var references in reference designators.Disallow text var references in reference designators.Disallow text var references in reference designators.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5293
2020-08-21 23:07:56 +01:00
Jeff Young
23c8123ac9
Update a bunch of netlist exporters to resolve textVars.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5285
2020-08-21 22:19:43 +01:00
Jeff Young
65bdaff133
Add include for GCC.
2020-08-21 20:54:36 +01:00
Jeff Young
80846dcbc7
Improve shutdown performance.
2020-08-21 19:12:51 +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
Seth Hillbrand
7565a08396
eeschema: Add select all to schematic and library editor
...
Fixes https://gitlab.com/kicad/code/kicad/issues/2497
2020-08-20 16:07:10 -07: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
Wayne Stambaugh
c14065ee98
Fix initial zoom to fit size in schematic and board editors.
...
This may affect other EDA_DRAW_FRAME objects as well but it doesn't seem
to be as noticeable in the symbol, footprint, and worksheet editors.
Fixes https://gitlab.com/kicad/code/kicad/issues/5248
2020-08-20 10:33:30 -04:00
Seth Hillbrand
ee5c991d2f
eeschema: Ensure all wires are joined
...
When running the cleanup routine, we should check that we haven't
changed our lines during the process. If we have, we run again to pick
up the new merges
Fixes https://gitlab.com/kicad/code/kicad/issues/5265
2020-08-20 06:49:05 -07:00
Jeff Young
c5b91c9bb2
Output resolved text to generic BOM XML.
2020-08-20 13:41:49 +01:00
Jeff Young
cb74050d13
Add sheet fields as properties of modules on that sheet.
...
This allows text variables in the module text items to resolve
properly in PCBNew.
Fixes https://gitlab.com/kicad/code/kicad/issues/5005
2020-08-19 13:25:52 +01: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
Wayne Stambaugh
fb38344e2f
Symbol editor: use C locale for copy and paste.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5223
2020-08-18 14:30:14 -04: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
Jeff Young
1558e63c0e
Make local overrides higher priority than netclass widths.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/5249
2020-08-18 19:05:30 +01:00
Jeff Young
8a4b7bd9c8
Repair wire-width calculation routine.
...
Netclass handling has been move to GetPenWidth() so it's no longer
just a "1" that we can do a std::max against.
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
Seth Hillbrand
c2847e00d8
eeschema: Fix crash when rescuing during update
2020-08-18 06:34:34 -07:00
Marek Roszko
1905a23ba1
libedit: fix double msg_panel refresh and use new move event
2020-08-18 13:11:48 +00:00
Marek Roszko
3674064b9e
Fix double msgpanel refresh and use the new moved event
2020-08-18 13:11:48 +00: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
Ian McInerney
4491f24d5e
Ripout the old SyncToolbars infrastructure reminants
...
The tool framework no longer needs to request updates of the UI
state for the controls, wxWidgets will do it for us.
2020-08-16 19:10:26 +00:00
Ian McInerney
fd4388710d
Migrate eeschema, libview and libedit to the UI condition framework
...
Also, fix some issues in other frames identified along the way.
2020-08-16 19:10:25 +00:00
Ian McInerney
3b05d7cddd
Move more frames to the new UI condition framework
...
* Frames moved: cvpcb, cvpcb footprints frame, gerbview, pagelayout editor
This also introduces new EDITOR_CONDITIONS that are used to set the
conditions of very common editor settings.
Also, some IDs were converted to tools in the pagelayout editor.
2020-08-16 19:10:25 +00:00
Ian McInerney
72a1c71e07
Implement a framework to handle wxUpdateUIEvents for tool actions
...
This allows for the tool framework to keep track of a universal
set of conditions for the UI state (enabled/checked/shown) for
controls of actions. It removes the need for the main menubar
menus to be CONDITIONAL_MENUs and be rebuilt on each open,
and instead makes the updates of the check and enabling of
items handled in the native wxWidgets way.
This commit switchs the 3d viewer and kicad project manager window
over to this system.
2020-08-16 19:10:25 +00:00
Ian McInerney
61cdf3436b
Ensure PAINTER::Draw routines properly handle EDA_ITEM casting
...
EDA_ITEM is a child of VIEW_ITEM, so a static_cast is not appropriate,
since in some cases it could be called with a non-EDA_ITEM argument.
This was triggering an ASAN heap-buffer-overflow in GerbView.
2020-08-16 12:37:51 +01:00
Ian McInerney
ade7f529b8
Switch shared_ptr creation to using make_shared
2020-08-16 12:37:50 +01:00
PJM
f58221ca98
Add 'GetBoundingBox' that optionally only calcs w visible fields
...
Cross-probing from Pcbnew to Eeschema revealed that EEschema was
including all fields, visible or not, when calculating the bounding
box of the probed componentt. This caused problems with long strings
such as URLs that were not set as visible. The cross-probing code
tries to minimize 'Zoom to Fit' operations when it's not necessary,
and the overly large bbox values often resulted in zooms not being
performed and components displayed very small.
This code adds a version of 'GetBoundingBox' that takes a boolean
to tell it to include invisble fields or not.
Addresses issue: https://gitlab.com/kicad/code/kicad/-/issues/5149
2020-08-15 22:15:30 +00:00
Jeff Young
57c3d8e8d8
Make sure preview group gets added to view after a clear.
2020-08-15 21:13:44 +01:00
Jon Evans
bd14f8a82a
ADDED: New appearance control widget for PcbNew
...
Featuring:
- Layer view presets
- Per-type opacity for tracks, vias, pads, zones
- Net and netclass color and visibility controls
CHANGED: Simplified object visibilty controls
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1951
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1981
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2003
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2173
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2254
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4325
2020-08-15 15:24:28 -04:00
Seth Hillbrand
275e810573
eeschema: Use recursive mutex for SCH_PIN
...
We need to be able to lock individual actions while keeping the code
modular. The recursive mutex keeps this thread-local.
Fixes https://gitlab.com/kicad/code/kicad/issues/5186
2020-08-14 18:42:11 -07:00
Kevin Lannen
e54363524c
lib_manager: Do not make a copy of the parent symbol to save
...
The parent symbol needs to be the same pointer as the symbol that is
saved to the cache otherwise the derived symbol will have it's parent
set to a parent that is not in the cache so it will not be saved.
Signed-off-by: Kevin Lannen <kevin.lannen@gmail.com>
2020-08-14 18:37:44 +00: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