Commit Graph

6137 Commits

Author SHA1 Message Date
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
Thomas Pointhuber 39e55d8559 altium: parse bus-entry 2020-10-17 16:05:47 +02:00
Thomas Pointhuber 5793c899dd altium: use correct default entry in record 2020-10-17 16:05:47 +02:00
Thomas Pointhuber 034a6bfe0d altium: parse sheet size and align everyhting inside the sheet 2020-10-17 16:05:47 +02:00
Thomas Pointhuber 1ce215a1f2 altium: parse fonts from sheet record and use them for label styling 2020-10-17 16:05:47 +02:00
Thomas Pointhuber a6072a40f5 altium: add initial support for labels 2020-10-17 16:05:47 +02:00
Thomas Pointhuber a981ffe8c7 altium: fix compilation issue due to rebase 2020-10-17 13:45:33 +00:00
Thomas Pointhuber 1400e5cdb9 altium: improve orientation of net label
It is interesting, because altium allows text which is upside-down. Of course, KiCad does
not allow this sensless thing.
2020-10-17 13:45:33 +00:00
Thomas Pointhuber ad93396d35 altium: parse no_erc record 2020-10-17 13:45:33 +00:00
Thomas Pointhuber 79a02d7997 altium: initial version for rounded rectangle (without rounded corners for now) 2020-10-17 13:45:33 +00:00
Thomas Pointhuber 9199d1ff63 altium: fix line style and filling 2020-10-17 13:45:33 +00:00
Thomas Pointhuber 06df80a88d altium: add arc and line segment, fixup bezier parsing 2020-10-17 13:45:33 +00:00
Thomas Pointhuber fa8208182a altium: add support for bezier (symbol only) and polyline 2020-10-17 13:45:33 +00:00
Thomas Pointhuber 19cfd7bd3a altium: add non working fix for rounding error 2020-10-17 13:45:33 +00:00
Thomas Pointhuber 0b190f02dc altium: reduce code duplication for unit parsing 2020-10-17 13:45:33 +00:00
Thomas Pointhuber 56a60ffbed altium: add (emulated) support for polygons 2020-10-17 13:45:33 +00:00
Thomas Pointhuber b4b8e31177 altium: add support for junction 2020-10-17 13:45:33 +00:00
Thomas Pointhuber 30ea1a274e altium: add some more pin types, and reverse engineer symbol outer and symbol inner 2020-10-17 13:45:33 +00:00
Thomas Pointhuber 53d90431ea altium: correctly parse pins
TODO: for now, we assume the component is not rotated, simply because this would require me to
write quite a bit of helper methods to handle all those different rotation cases ;)
2020-10-17 13:45:33 +00:00
jean-pierre charras 114f9062f1 EEschema, save correct line style in file when style == DEFAULT.
previously, when a graphic line style was set to Default,
the line style saved in file was always SOLID.
This is incorrect for graphic lines

Fixes #6017
https://gitlab.com/kicad/code/kicad/issues/6017
2020-10-17 15:18:14 +02:00
jean-pierre charras 98710e2742 Eeschema, parser: allows using "default" as line style.
It is allowed in Eeschema code, so allow it if found in a .kicad_sch file,
just in case.
However it is not yet in use in .kicad_sch files to avoid breaking previous Kicad versions
2020-10-17 12:39:51 +02: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
Seth Hillbrand 0d6684bdf0 Freeze GUI as well to prevent wx updates
The tree model may get updated by a redraw, so we need to freeze both
the model and the view while updating

Fixes https://gitlab.com/kicad/code/kicad/issues/5872
2020-10-16 08:28:14 -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
Jeff Young 128910c602 Pass unhandled command events from Symbol Editor move tool.
Fixes https://gitlab.com/kicad/code/kicad/issues/6015
2020-10-15 18:43:23 +01:00
Jeff Young 445b9df827 Don't output pins to net if parent symbol isn't included on board.
Fixes https://gitlab.com/kicad/code/kicad/issues/5984
2020-10-15 18:32:52 +01:00
jean-pierre charras 1c5aad1f9e Hierarchical schematic with subsheets in subdirectory: fix plot filenames.
When creating an unique filename to plot a subsheet, the subdirectory name is
used to create the unique filename, but should not be used as a directory,
otherwise the plot file is not created at the right place (and sometimes
cannot be created)
2020-10-15 18:07:00 +02:00
Marek Roszko bfd5da0159 Add missing include (under some configurations) 2020-10-15 07:34:38 -04:00
Ian McInerney 5f4b0eb0fb Fix formatting and overzealous renaming for FILL_TYPE 2020-10-15 11:24:49 +01: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
Jeff Young 90da5fccbd Disambiguate backannotation (Update Schematic from PCB) from Cvpcb. 2020-10-14 21:07:10 +01:00
Marek Roszko 12d21e34e2 Remove trigo.h from eda_text.h 2020-10-13 23:37:48 -04:00
Marek Roszko ad191fda52 Unwrap eda_base_frame from base_screen 2020-10-13 21:52:57 -04:00
Marek Roszko b2e9f6987d Split base_struct into eda_item and eda_rect 2020-10-13 21:24:50 -04:00
Marek Roszko 2c86363aa0 Relocate the page_layout includes to a page_layout folder 2020-10-13 20:33:33 -04:00
Jon Evans d1bdfb7253 Clear selection before adding new lines in immediate mode
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4266
2020-10-13 19:16:48 -04:00
Jon Evans cb1d416e5a Use settings keys, not error codes, for ERC/DRC reports
Error codes can shift around if the enum ordering is
not maintained, which is more fragile than the settings
key which should never be changed after a new code is
created.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/6001
2020-10-13 18:03:07 -04:00
Jeff Young fd874d8345 Check to see if isolating junction is part of the drag or not.
Fixes https://gitlab.com/kicad/code/kicad/issues/5960
2020-10-13 13:52:49 +01:00
Jon Evans 7b5d628e4b Eeschema: fix save-as dispatching from new file
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5937
2020-10-12 20:06:55 -04:00
Michael Kavanagh 5f6d309d36 Eeschema: REMOVED "Update from Symbol Library"
This is effectively duplicated by "Update Symbol(s) from Library".

Fixes https://gitlab.com/kicad/code/kicad/issues/5217
2020-10-12 22:44:53 +00:00
Michael Kavanagh 8930e48cf3 Cleanup dead code
Remove leftovers from e4bc1eb3bf
2020-10-12 22:44:53 +00:00
Michael Kavanagh c40483d18a Cleanup: Move KiCad files into plugins folder 2020-10-12 16:36:08 +00:00
Jeff Young 0efe073dec Add wires between selected wires and unselected junctions when dragging.
Also fixes a bug where the auto-start-wire stuff was messing up the seleciton
when the selection tool wasn't at the top of the tool stack.

Fixes https://gitlab.com/kicad/code/kicad/issues/5960
2020-10-12 11:46:08 +01:00
Jeff Young fbb20d08cd Don't allow netclass assignment to auto-generated net-names.
They can change the next time they're generated so it's just asking
for heartache.

Fixes https://gitlab.com/kicad/code/kicad/issues/5972
2020-10-12 00:30:18 +01:00
Marek Roszko 03074ae6ed Kick the selection tool to activate (and thus update cursors) on exiting some picker tools 2020-10-11 13:12:29 -04:00
PJM 91db6a770c Eeschema: Add missing tooltips to left toolbar buttons
CHANGED: The button in the left toolbar for hiding/showing hidden
pins, and the button for forcing/relaxing H&V only wire mode had
no tooltips.  This MR adds them.
2020-10-11 13:55:36 +00:00
Marek Roszko 558f4b4b51 Add new place cursor, fix cursor hotpoints again 2020-10-10 23:45:21 -04:00
Marek Roszko 310786333d Add missing cursors for bus, graphic lines, and hier labels
Fix #5949
2020-10-10 18:25:44 -04:00
Mark Roszko a8bd0a9b84 Handle Windows manifests ourselves and add dpi awareness option 2020-10-10 19:08:23 +00:00
Michael Kavanagh b2124a34dc Add grid properties context menu to grid toolbar
Fixes https://gitlab.com/kicad/code/kicad/issues/5663
2020-10-10 14:44:03 +00:00
Ian McInerney 5aa796b5fe Cleanup compiler warnings 2020-10-10 15:24:35 +01:00
Jon Evans 1df35145b5 Not all items are drivers
Fixes https://gitlab.com/kicad/code/kicad/-/issues/5946
2020-10-10 09:16:31 -04:00
Franck Jullien fc93a04751 eeschema: iref: use GetParentLabel instead of GetParent 2020-10-09 02:37:51 +00:00
Jon Evans 61f731aa1d Fix disambiguation for vector buses with different ranges
Previously disambiguation was looking for exact matches,
but vector buses are permitted to have different ranges and
still participate in merging, so they need to be disambiguated.

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5925
2020-10-08 22:26:24 -04:00
Marek Roszko bd30a4a406 Add selection lasso and window cursors 2020-10-08 21:25:21 -04:00
Jon Evans 8f4fba4c67 Don't deallocate absorbed SGs anymore
Now there is some code depending on access to them
outside the context of connectivity calculation...

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5928
2020-10-08 21:24:35 -04:00
Marek Roszko f238d05ead Add COMPONENT cursor 2020-10-08 20:52:58 -04:00
Marek Roszko 6cf4016a64 Add net and global label cursors 2020-10-08 20:52:58 -04:00
Jeff Young fd22fe8e37 Show preview item in drawing tool before mouse is moved.
Fixes https://gitlab.com/kicad/code/kicad/issues/5922
2020-10-08 19:56:09 +01:00
Jeff Young 4095edda07 Add Properties support to Junction and Bus Entry tools.
Fixes https://gitlab.com/kicad/code/kicad/issues/5907
2020-10-08 18:11:06 +01:00
Ian McInerney 2b839c6c9c Ensure command events are passed when placing junctions
We only handle specific command events in the handler, so we
must pass the rest to allow other tools to work.

Fixes https://gitlab.com/kicad/code/kicad/issues/5922
2020-10-08 17:58:06 +01:00
Marek Roszko 7e974e5ccc Use the snapped cursor position used for detection for the wire tool autostart
Fixes #5902
2020-10-07 23:57:26 -04:00
Marek Roszko f5e0754f65 Use the setCursor lambda pattern and fix up the initial cursor states 2020-10-07 23:26:14 -04:00
Mark Roszko d9485129c8 Implement more context specific cursors using both stock and custom cursors. 2020-10-08 00:50:28 +00:00
Jeff Young 809f4c2ffb Finish single-click-place drawing tool on double-click.
Fixes https://gitlab.com/kicad/code/kicad/issues/5907
2020-10-07 18:30:55 +01: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
Seth Hillbrand 8c367cce8d Separate ki_fp_filters by spaces
Multiple footprint filters will no be separated by spaces for easier
parsing as an array
2020-10-06 14:26:22 -07:00
Michael Kavanagh 006e383f2a Move sch_text help into markdown file 2020-10-06 17:18:35 +00: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
Jon Evans 76bfa47a77 Allow creating new projects when doing a Save As in eeschema 2020-10-05 22:36:26 -04:00
Ian McInerney 43c14face0 Switch to showing metric/imperial units in comboboxes and menus
This will always show 1 unit from each system, with the primary unit
being the current frame unit and the secondary unit being the
most recent unit used from the other system. These are saved in
the settings, so they are saved between runs.
2020-10-05 20:26:33 +01:00
Michael Kavanagh 1416280662 Cleanup: Move Eagle files into plugins folder 2020-10-05 14:19:07 +00:00
Jeff Young 63a0f537d8 Performance enhancement: check hierarchy validity only when necessary. 2020-10-05 13:49:29 +01:00
Jeff Young 7a7de027a7 Fix order of operations for setting underline. 2020-10-05 12:32:47 +01:00
Jeff Young c9096c7168 Re-enable selection of intersheet references.
Un-modified roll-overs and clicks still produce hypertext action, but
modified clicks and drag-selects will select.
2020-10-05 11:55:33 +01:00
Mark Roszko a28a0e14ba Fix conversion warnings 2020-10-05 10:41:14 +00:00
Jon Evans e27786de2d Fix double call of OnPgmExit
Also fix bad filename being passed to pcbnew when starting
from a blank schematic in standalone mode

Fixes https://gitlab.com/kicad/code/kicad/-/issues/5786
2020-10-04 18:39:33 -04:00
Ian McInerney 6c2433fed6 eeschema: Fix nullptr reference in intersheet references
Fixes https://gitlab.com/kicad/code/kicad/issues/5881
2020-10-04 22:28:35 +01:00
Jon Evans bdb18022c0 Flag all dangling labels, not just isolated ones
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1788
2020-10-04 17:13:42 -04: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
Ian McInerney 122bd7ca7c Make the statubar aware of mils units
Switch Eeschema to use the built-in printing routines
because its precisions are close to those and it is
cleaner.

Give mils a precision of 2 decimal places to match
the precision shown in inches.
2020-10-04 17:53:55 +01:00
Ian McInerney b1bd1f2a97 Introduce new action to switch to mils as a unit 2020-10-04 17:53:55 +01:00
Jeff Young 44580acee2 Clean up some compiler warnings. 2020-10-03 22:55:34 +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
Marek Roszko 676f3221cc Fix symbol editor glitches due to autostart trying to start 2020-10-03 15:47:08 -04:00
Marek Roszko 0b2b8b150d Use the event position always instead of the view cursor position
Fix #5850
2020-10-03 15:20:32 -04:00
Ian McInerney 454c4f1783 Minor fixup to intersheet reference files 2020-10-03 19:09:18 +01:00
jean-pierre charras 0b23cb7dbb more cleanup about removing useless include 2020-10-03 15:26:03 +02:00
jean-pierre charras e76736b7bf Fix a few Coverity warnings 2020-10-03 12:47:41 +02:00
jean-pierre charras bda275de46 more cleanup about removing useless include 2020-10-03 11:48:16 +02:00
jean-pierre charras b38cef409b Rename CopyFile() to KiCopyFile() to avoid name colliding with a windows header.
Using CopyFile() that can collide with a windows header create hard to
understand errors, including link errors.

Renaming this function avoids these strange errors.
2020-10-03 10:08:21 +02:00
Roberto Fernandez Bautista ab18c8e219 eeschema: Add "All supported formats" drop-down to the "Import Non Kicad Schematic" file dialog 2020-10-03 02:19:13 +00:00
Marek Roszko b0ffbcaba1 Fix #5850 2020-10-03 02:10:56 +00:00
Jeff Young 4c5db9681c Naming conventions. 2020-10-02 21:25:14 +01:00
Jeff Young cc617b715f Implement hypertext links for intersheet references. 2020-10-02 21:18:34 +01:00
jean-pierre charras 1258abef07 EEschema: move plot_xx.cpp files to "plotters" folder. 2020-10-02 15:56:05 +02:00
jean-pierre charras 7865d8de43 more cleanup about removing useless include 2020-10-02 15:50:46 +02:00
Jeff Young c1b34b02b5 Disallow selection of intersheet references. 2020-10-02 13:50:16 +01:00
Jeff Young 4b315b0fda Clean up dialog spacing. 2020-10-02 13:50:16 +01:00
jean-pierre charras 8285110c2a more cleanup about removing useless include 2020-10-02 08:58:19 +02:00
Peter Montgomery 60046a1bcc Dynamically scale cross-probe zooming
CHANGED: When doing cross-probe zooming, KiCad zooms the selected
component to fill the screen.  This makes it hard to understand the
part in context so users would have to always zoom out manually.  This
commit uses the default text height in Eeschema and Pcbnew as a
constant to compare the height of selected parts or components against.
This lets the code determine how big the part is and scale the zoom
wider accordingly.  Big parts get less scaling and small part get more.

NOTE: There is a little bit of debug code present.  There are #ifdefs
to let developers easily swap in the original KiCad zoom for comparison.
There is also a bool added that can force each program to always perform
the new calculated zoom since KiCad ignores zooms that are close to the
current value. This debug code can be removed later as desired.
2020-10-02 00:56:52 +00: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
Jon Evans 71ed7ee707 Revert "Drag preselected items even when "prefer selection to dragging" enabled"
This reverts commit d530e2c2cd.
2020-10-01 18:23:30 -04: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
jean-pierre charras 42350a4928 Minor code cleanup: remove useless include or useless code.
fix also a minor compil warning
2020-10-01 11:36:15 +02:00
Jon Evans d530e2c2cd Drag preselected items even when "prefer selection to dragging" enabled
Not being able to drag an already-selected item feels broken
2020-09-30 20:10:13 -07: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
PJM b0e05ad9bf Eeschema: Check for NULL pointer when using interactive delete tool
CHANGED: If you start the interactive delete tool and the mouse pointer
isn't near anything, Eeschema tries to use a null EDA_ITEM pointer
which throws an exception.  This commit checks if the pointer is null
and exits if it is.
2020-09-30 23:05:29 +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
PJM 7dc1966a0d Eeschema: Fix text formatting in "Project Load Warning" dialog
CHANGED: When the "Show Details" button on the "Project Load Warning"
dialog is clicked, it reveals text that has odd formatting of when
lines split.  This commit fixes the text for the dialogs that warn
that schematics will be saved in the new file format, and that Symbol
Libraries defined in the project file symbol library list are no longer
supported.
2020-09-29 00:31:13 -07:00
Roberto Fernandez Bautista 39995341d9 Compile fixes
Fix compile error
Fix string format to use %ld instead to work on clang in CADSTAR Archive importers
Add virtual destructor to CONNECTION in CADSTAR_ARCHIVE_PARSER
2020-09-27 22:05:07 +00:00
Roberto Fernandez Bautista 6f5f6a0fba CADSTAR Schematic / PCB Archive Importers: Fix string formatting asserts 2020-09-27 18:14:02 +01:00
Roberto Fernandez Bautista 93242eb3ad CADSTAR Schematic / PCB Archive Importers: Add missing import warnings and fix code formatting 2020-09-27 18:14:01 +01:00
Roberto Fernandez Bautista 5e2e692ad8 CADSTAR Schematic Archive Importer: Load Documentation Symbols 2020-09-27 18:14:00 +01:00
Roberto Fernandez Bautista c6bc72d579 CADSTAR Schematic Archive Importer: Load Texts 2020-09-27 18:14:00 +01:00
Roberto Fernandez Bautista da791c5298 CADSTAR Schematic Archive Importer: Load Figures 2020-09-27 18:13:59 +01:00
Roberto Fernandez Bautista 40c5795c03 CADSTAR Schematic Archive Importer: Load Busses and fix minor import bugs
Fixed missing tokens that weren't parsed before:
- Danglers (in NET_SCH)
- Pin numbers (in SYMBOL)
- HidePinNames in both PART and PART::DEFINITION, defaulting it to false
2020-09-27 18:13:59 +01:00
Roberto Fernandez Bautista 2d85fc8c91 CADSTAR Schematic Archive Importer: Load Nets, Wires, Junctions and Hierarchical Pins 2020-09-27 18:13:59 +01:00
Roberto Fernandez Bautista 1c57b5c079 CADSTAR Schematic Archive Importer: Load symbol library and schematic symbol instances 2020-09-27 18:13:58 +01:00
Roberto Fernandez Bautista 2d99703e28 CADSTAR Schematic Archive Importer: Load all Sheets and Hierarchical Blocks 2020-09-27 18:13:58 +01:00
Roberto Fernandez Bautista 646a733556 CADSTAR Schematic Archive Importer: Parse all elements 2020-09-27 18:13:57 +01:00
Roberto Fernandez Bautista 721cba32d5 ADDED: CADSTAR Schematic Archive Importer
Initial commit to trigger the importer
2020-09-27 18:13:57 +01:00
Tomasz Wlostowski a01e4f19b4 eeschema: allow exporting netlists through UI-less KIFACE API function 2020-09-27 16:45:46 +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
Ian McInerney fc565edb33 Add a palette to the toolbars to display groups of actions
This adds a palette to toolbar items that displays groups
of actions when long-pressed on a button.
2020-09-27 01:00:44 +01: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
PJM d1322e7d1d Refactor GetDocumentExtents()
CHANGED: GetDocumentExtents() in 'eda_draw_frame.h' now has a bool
parameter "aIncludeAllVisible" with a default value "true" which makes
it behave as it did before adding parameter.  If "aIncludeAllVisible"
is false, the returned bbox ignores some items depending on which
program it is running in.

CHANGED: Made "Zoom to Objects" use only PCB edge in Pcbnew.  This
allows text, notes, etc outside the PCB edge to be excluded in the
zoom calculation.

CHANGED: Added "Zoom to Objects" to Pcbnew main menu, and to RMB context
menus for Eeschema and Pcbnew.

Fixes https://gitlab.com/kicad/code/kicad/issues/5787
2020-09-25 00:31:56 -07: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
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