Commit Graph

5946 Commits

Author SHA1 Message Date
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
PJM ca2252686a Eeschema: Make SCH_VIEW::GetItemsExtents() ignore invisible text
CHANGED: SCH_VIEW::GetItemsExtents() returns a bbox of all visible items
but ignores the page and border.  It was taking invisible strings into
account when calculating the bbox, and now it doesn't.  Makes "Fit to
Objects" work correctly with all components that have hidden text.

Fixes https://gitlab.com/kicad/code/kicad/issues/5726
2020-09-23 02:46:14 +00: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
PJM e77b7e3360 Make MMB double click perform 'Zoom to Fit'
ADDED: Make middle mouse button double click do a 'Zoom to Fit'
in Eeschema, Pcbnew, and Gerbview.  Ctrl-MMB does a 'Zoom to Objects'
in Eeschema.

Fixes https://gitlab.com/kicad/code/kicad/issues/1988
2020-09-22 23:21:44 +00:00
Marek Roszko f47d81af85 Create and use a LIB_PIN constructor to remove hot path during symbol table loading 2020-09-22 22:33:06 +00:00
Seth Hillbrand 975e5562a0 EEschema: Sort Hierarchy tree
This sorts the hierarchy tree children alphabetically
2020-09-21 11:17:33 -07: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 fdbb28aea2 Treat Reference and Unit as separate words when searching.
Fixes https://gitlab.com/kicad/code/kicad/issues/4630
2020-09-20 18:57:33 +01:00
Ian McInerney 89dcc46898 Coverity cleanup and remove unused variables 2020-09-20 02:20:41 +01:00
Jeff Young 13f1de8e73 Forgot a bunch of files from last commit. 2020-09-19 19:53:58 +01:00
Jeff Young 64fa400b19 Ease translation a bit.
Also improves the SNR and consistency of the menu item text.  For
instance, a position is rarely useful, while relative sizes can be.

Also removes some unnecessary repitition, such as "Graphic Rectangle"
when "Rectangle" communicates the necessary information.
2020-09-19 18:49:06 +01:00
Jeff Young 39bdc547af Smarten up the guess selection routine to pick closest item.
Fixes https://gitlab.com/kicad/code/kicad/issues/5697
2020-09-19 15:55:27 +01:00
Seth Hillbrand 4fa3de2211 Ensure we clear forced position
Fixes https://gitlab.com/kicad/code/kicad/issues/5699
2020-09-18 16:10:09 -07: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 d468618411 Don't eat commands that aren't ours in SCH_MOVE_TOOL.
Fixes https://gitlab.com/kicad/code/kicad/issues/5692
2020-09-18 16:45:41 +01:00
PJM c8879d9034 Eeschema: Check if user wants to warp mouse to origin of moved object
CHANGED: When moving a footprint, Eeschema was always warping the mouse
when moving an item regardless of the state of the "Warp mouse to
origin of moved object" checkbox.  This MR now honors the state of the
checkbox when moving schematic items.

NOTE: Issue 5279 originally only mentioned Pcbnew, but after the fix
for Pcbnew was submitted, a user pointed out it also happened in
Eeschema.  Becuase of this, there are two MRs that "fix" the same issue.

Fixes https://gitlab.com/kicad/code/kicad/issues/5279
2020-09-18 02:49:59 +00:00
Seth Hillbrand 471f81742f ADDED: Align to Grid function in Eeschema
Adds tool option to align selected elements to the current grid.

Fixes https://gitlab.com/kicad/code/kicad/issues/5481
2020-09-17 12:27:43 -07:00
Ian McInerney 8bd77c4fe7 Rename the ITEM_SET types to be descriptive of their contents
Now that we have one set type for BOARD_ITEMs and another for SCH_ITEMs
it is better to explictly say if they are board or schematic sets.
2020-09-16 02:04:17 +01:00
PJM abdd1906c2 Change 'Zoom to Fit' margins and add 'Zoom to Objects'
CHANGED: The margin used in 'Zoom to Fit' is now 2% instead of 10%.

ADDED: Added 'Zoom to Objects' to Eeschema which does not include
the page and border in the bbox calculations.

CHANGED: Removed pre-existing code that tweaked the center to account
for the scrollbars.  It actually made the view off center.  Removing it
results in perfectly centered zooms.

Fixes https://gitlab.com/kicad/code/kicad/issues/5145
2020-09-16 00:53:39 +00:00
Jeff Young 7e35658c28 Use schematic colours in symbol preview status panel.
Fixes https://gitlab.com/kicad/code/kicad/issues/4998
2020-09-16 00:58:36 +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
Seth Hillbrand 67a7aa8ba4 Make snapping size grid-dependent
Fixes https://gitlab.com/kicad/code/kicad/issues/5638

Fixes https://gitlab.com/kicad/code/kicad/issues/5588
2020-09-15 12:07:34 -07:00
Simon Richter aa24fe2880 Fix return type from ternary operator (fixes #5554) 2020-09-12 22:43:49 +00:00
Seth Hillbrand 1703657fb5 Decrease default snap range
The snap range needs tuning to preference and monitor resolution.  This
shifts the default range down for users until the customization bits are
implemented.
2020-09-12 08:34:21 -07:00
Seth Hillbrand d14c6ba71f Keep snap line alignment before new snaps
Also fixes the alignment line that was supposed to be dashed and not
solid.
2020-09-11 14:22:41 -07:00
Seth Hillbrand 23a9df8a59 ADDED: Allow Eeschema dragging graphical corners
This separates the two options (drag/move) into different actions.  Drag
will drag all graphical lines connected.  Move will disconnect the
graphical lines when moving.
2020-09-11 09:31:38 -07:00
Seth Hillbrand f493e270ea ADDED: Menu option to enable/disable snap to grid
You can now enable and disable snap to grid when drawing/editing across
all apps.  You can also tie snap to grid to the visibility of the grid
to allow rapid enable/disable via grid display.
2020-09-10 20:09:30 -07:00
Seth Hillbrand 62433736bc Snap Eeschema moves to nearest anchor
Fixes https://gitlab.com/kicad/code/kicad/issues/3803
2020-09-09 10:48:15 -07:00
Seth Hillbrand 4026904cc4 Make grid snapping depend on grid visibility
Turning the grid view on enables snapping to the grid.  Turning it off
removes the snap and allows free draw
2020-09-09 10:18:15 -07:00
Seth Hillbrand 173b4ff588 Add snapping to eeschema
This generalizes both the SetPosition() function and ORIGIN_VIEWITEM
class away from the pcbnew-centric.
2020-09-09 10:18:15 -07: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 f347118ce3 Add a min pin width advanced config for plotting.
Fixes https://gitlab.com/kicad/code/kicad/issues/5546
2020-09-08 20:19:54 +01:00
Seth Hillbrand cfcc3bbc0a Fix UTF8 conversion issue
The ternary needs a wxString object for both sides to reference the UTF8
functions

Fixes https://gitlab.com/kicad/code/kicad/issues/5554
2020-09-08 10:08:21 -07:00
Seth Hillbrand 02a5d47de9 Avoid passing references in EESchema
This returns the connection list by value.  This allows easier Python
use

Also renames m_End() to GetEnd()
2020-09-08 06:29:27 -07:00
Jeff Young 054b5aa475 Fix copy-pasta. 2020-09-08 11:02:09 +01: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 b28332c5f1 Minor code cleanup. 2020-09-06 13:04:52 +01:00
Jeff Young d5fd09249b Save instance info on clipboard and reapply it when keeping annotations.
Fixes https://gitlab.com/kicad/code/kicad/issues/5522
2020-09-06 11:32:28 +01:00
Jeff Young 133fb5cded Minor code cleanup. 2020-09-06 11:28:58 +01:00
Jeff Young a25dfb2ac9 Stop setting modify from ClearAnnotation().
It's a side-effect, and as it turns out every current caller has
special-case code to reset it afterwards.
2020-09-06 11:26:39 +01:00
Jeff Young e782794f96 Flesh out object properties and DRC Rule syntax help. 2020-09-05 17:44:59 +01:00
Ian McInerney f28b60896c Allow toolbar items to cancel tools when pressed
There was a regression in v6 where the zoom to selection toolbar
item wasn't canceling the tool when pressed and the tool was active
(it was in v5). This implements a more generic framework for canceling
tools on button presses.

Fixes https://gitlab.com/kicad/code/kicad/issues/5103
2020-09-05 01:49:38 +01:00
Jeff Young 16b85ed567 Fix for reading back-annotation data from sexpr sch format. 2020-09-04 21:41:47 +01:00
Jeff Young 5e9ec82642 Correctly resolve textVar refs in worksheet items in ERC.
Also fixes a null-ptr bug in DRC.

Fixes https://gitlab.com/kicad/code/kicad/issues/5506
2020-09-04 21:38:07 +01:00
Jeff Young be15053745 Allow back-annotation of differing values and footprints.
Also fixes a couple of bugs where resolving a textVar reference
to the refDes or unit wouldn't get the correct value in a
hierarchical schematic. (Unlogged.)

Fixes https://gitlab.com/kicad/code/kicad/issues/5397
2020-09-04 15:21:56 +00:00
jean-pierre charras 0bd6e5d96e FIELDS_GRID_TABLE and TEXT_MOD_GRID_TABLE: fix incorrect position of checkboxes
This is an issue specific to wxWidgets 3.1.4
2020-09-04 15:41:51 +02:00
jean-pierre charras 15c4a7b066 DIALOG_LIB_EDIT_PIN_TABLE: fix incorrect handling of Cancel button 2020-09-04 09:49:54 +02:00
Jon Evans a4d23fff12 Fix multi-unit pin check logic
Typo name vs. number

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5483
2020-09-03 17:30:13 -04:00
Wayne Stambaugh 03423f13a1 Eeschema: fix broken new sheet path comparison on windows.
Using wxFileName::GetPath( wxPATH_WITH_SEPARATOR ) does not include the
drive specifier (A:, B:, C:, etc.) on windows which fails the comparison
with the project path 100% of the time.  wxFileName::GetPathWithSep()
solves the issue nicely.

Fixes https://gitlab.com/kicad/code/kicad/issues/5077
2020-09-03 11:11:14 -04:00
Jeff Young 3ce1b2b44e Clean up Coverity warning. 2020-09-03 15:03:09 +01:00
Seth Hillbrand 8751a55651 Tightening up the title bar display
Eeschema was the only application showing the file path.  This is of
limited use and prevented other information from showing in the
shortened menubar display.  Also combined strings for better translation
2020-09-03 06:59:37 -07:00
Seth Hillbrand d6a4ab0eec Shortening filenames in titlebar
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2096
2020-09-03 06:38:34 -07:00
Michael Kavanagh de03d3d427 Application title bar: app name after filename
Fixes https://gitlab.com/kicad/code/kicad/issues/2096
2020-09-03 06:35:48 -07:00
jean-pierre charras 04ba129881 Add specific icon for save symbol to schematic.
Also update CMakeLists.txt to prepare compatibility with Inkscape 1.0
However the command line to invoke Inkscape is still for 0.92 version
2020-09-03 10:00:44 +02:00
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