Commit Graph

5972 Commits

Author SHA1 Message Date
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