Commit Graph

4073 Commits

Author SHA1 Message Date
jean-pierre charras e6a200b09e Pcbnew: avoid integer overflow when displaying local coordinates.
Minor cleanup in code.
2019-02-14 10:57:22 +01:00
Seth Hillbrand a246d905fb libedit: Add appropriate view menu subitems
This synchronizes the view menu options in libedit with the options in
eeschema.

Fixes: lp:1815789
* https://bugs.launchpad.net/kicad/+bug/1815789
2019-02-13 10:27:23 -08:00
Seth Hillbrand 3524bed75a libtree: Remember pane width
Stores the library pane width in settings to keep user preferences
2019-02-12 10:06:36 -08:00
Seth Hillbrand ea84020b1f eeschema: Recache bitmaps when changing
Clearing the cache removes all items from screen until the cache is
refreshed.  Instead, we wanted to re-cache the items to take into
account the bitmap changes.

Fixes: lp:1815443
* https://bugs.launchpad.net/kicad/+bug/1815443
2019-02-12 08:16:23 -08:00
jean-pierre charras 869bdc2b3c Eeschema: regression fix: re-enable hold down control+shift to disable grid snapping when moving the mouse.
Fixes: lp:1815487
https://bugs.launchpad.net/kicad/+bug/1815487
2019-02-12 13:12:06 +01:00
Seth Hillbrand 6a4d700dc8 eeschema: Show ERC buttons in all pages
This places the Delete markers/Run/Close buttons at the bottom of the
form rather that inside the panel.  Allows the user to access the
functions even when on a different panel.

Fixes: lp:1815102
* https://bugs.launchpad.net/kicad/+bug/1815102
2019-02-09 19:17:53 -08:00
Seth Hillbrand 191679676d eeschema: Export coupling constants to netlist
Patch suggested by Holger Vogt.  Exports text lines following the SPICE
K### <inductor1> <inductor2> format.

Fixes: lp:1815281
* https://bugs.launchpad.net/kicad/+bug/1815281
2019-02-09 18:58:33 -08:00
John Beard d06f0de1eb Libedit: transfer current screen settings on part load
When loading a part in libedit, also transfer certain screen
settings to the incoming SCH_SCREEN, from the current
SCH_SCREEN.

Currently, the grid settings are transferred, but this could
also do other settings if needed.

Also remove some duplicate commentary and mention why the
grid is set in a SCH_SCREEN even though the BASE_SCREEN ctor
sets the same default.

Fixes: lp:1815108
* https://bugs.launchpad.net/kicad/+bug/1815108
2019-02-08 22:56:05 +00:00
Seth Hillbrand 5da4e18664 bitmaps: Handle mask colors
Some transparent bitmaps use masking colors to show the binary
opaque/transparent.

Fixes: lp:1814893
* https://bugs.launchpad.net/kicad/+bug/1814893
2019-02-07 21:27:43 -08:00
Wayne Stambaugh 7789ec4bf1 Eeschema: fix highlight hierarchical pin name in properties dialog.
Fixes lp:1785840

https://bugs.launchpad.net/kicad/+bug/1785840
2019-02-07 13:03:38 -05:00
Wayne Stambaugh 6bb8fde48a Eeschema: fix broken modified flag handling. 2019-02-06 13:20:34 -05:00
Wayne Stambaugh 44cb979e91 Decouple SCH_EDIT_FRAME from symbol rescue and remap dialogs.
Do not keep pointer to SCH_EDIT_FRAME in the rescuer object to prevent
it from creating dialogs with itself as the parent when call from the
rescue dialog which is itself a grandchild of the frame window.
2019-02-05 12:43:46 -05:00
John Beard 0c6ec7dbb3 LIB_TABLE_BASE: Const and unsigned fixes
* Make LIB_TABLE_BASE::GetCount() return unsigned. This is more
  consistent with the behaviour of STL containers (especially the
  boost::ptr_vector this is really accessing). Sadly
  wxGridTableBase() forces an int, so a cast is still required
  at the WX interface.
* Make LIB_TABLE_BASE::At() return a reference. First, this is more
  consistent with normal STL indexing operator[]'s, and secondly, it
  allows an idiomatic const index method (so you can access const
  LIB_TABLE_ROWs from a const LIB_TABLE_BASE).

The motivation is to allow use of this class and LIB_TABLE_ROW
in a test program, where the LIB_TABLE_BASE is const.
2019-02-05 08:49:52 -08:00
John Beard e6a6266f3d Build: libpolygon provides its own includes
Libpolygon can provide its own includes via target_include_dirs PUBLIC.
This means any linking targets do not need to specifiy them manually.

As common requires polygon, the polygon dep is also now no longer
required downstream of libcommon, as it's transisitvely implied
by libcommon's target_link_libraries.

This resolves a circular dependency previously detected and also
simplifies CMakeLists.
2019-02-04 19:29:31 -08:00
John Beard bb2ae8e13b Bitmaps: move bitmap defs to bitmaps library
The bitmap definitions (BITMAP_DEF and so on) do not
have any dependencies on other libs, including WX. This
means the bitmaps library can be isolated from the other
dependencies.

Common now depends on bitmaps, and libraries that depend
on common can pick it up from the common target_link_libraries,
as it is PUBLIC. This means a lot of targets no longer
need manual bitmap linkage.

This avoids a circular dependency that was previously reported
by static analysis.

Avoiding pulling in WX and other headers into the include
tree of each bitmap .cpp is a huge speed up (around 10x) in
compilation, and the generated static library is also 10x
smaller (20MB vs 200MB)

Add common as a link library to pnsrouter,connectivity.
THese library do still use common code (including bitmaps,
via base_screen.h) and this allows them to pick up the libcommon
includes correctly.
2019-02-04 19:29:31 -08:00
Jeff Young 8ca76177c0 Prevent hiding of reference column.
Using the quantity column for the collapse/expand controls feels too odd
when you expand and everything under the parent is a '1'.

Fixes: lp:1780847
* https://bugs.launchpad.net/kicad/+bug/1780847
2019-02-03 23:38:02 +00:00
jean-pierre charras 5edf3503ca Symbol Editor: Switching from a multi unit symbol to a single unit symbol do not reset the unit selection.
Thus creating issue if the unit selection is not the first unit.

Fixes: lp:1814441
https://bugs.launchpad.net/kicad/+bug/1814441
2019-02-03 15:29:41 +01:00
Seth Hillbrand c08736e245 Assign stack pointer to lib table
When creating new lib table rows, the pointer becomes managed by the new
table through the boost::ptr_vector.  The row is non-copyable, however,
so we lose the reference as soon as it goes out of scope. Creating a
clone provides a new pointer that is moved into the table on creation.

Fixes: lp:1792456
* https://bugs.launchpad.net/kicad/+bug/1792456
2019-02-03 05:20:50 +01:00
Seth Hillbrand 5c3f6f2abf eeschema: Fix grid assignment error
Assignment of columns was offset based on the quantity column.  This
cleans the implementation as well as setting the correct width

Fixes: lp:1814380
* https://bugs.launchpad.net/kicad/+bug/1814380
2019-02-02 18:42:51 +01:00
Jeff Young a375edf9ac Perform cancel action by hand.
Fixes: lp:1814138
* https://bugs.launchpad.net/kicad/+bug/1814138
2019-01-31 19:07:07 +00:00
Tomasz Włostowski 47e28cb5be eeschema: don't clear freshly selected block in HandleBlockEnd() at the first mouse event
Fixes: lp:1813971
* https://bugs.launchpad.net/kicad/+bug/1813971
2019-01-31 02:49:58 +01:00
Jeff Young ba7b970817 Add pre-select architecture to grid helper icon-text-buttons.
Fixes: lp:1813973
* https://bugs.launchpad.net/kicad/+bug/1813973
2019-01-31 01:09:03 +00:00
Seth Hillbrand 88d9f946a2 eeschema: Don't break Eagle junctions on import
Eagle can label nets independently of the connection point position.  In
an "interestingly" designed circuit, this can lead to a junction of a
pin, wire endpoint and unrelated wire.  While this is bad practice,
KiCad shouldn't force an incorrect net connection during the import.  In
this case, we skip the addition of junctions to ensure that we don't
create a schematic error.

Fixes: lp:1788019
* https://bugs.launchpad.net/kicad/+bug/1788019
2019-01-30 17:02:24 -08:00
Seth Hillbrand b14bc1bead svg: Use grouping
Uses existing grouping in SVG output.  Sets schematic components as a
grouped element in SVG as well as pcbnew elements per layer.

Fixes: lp:1011754
* https://bugs.launchpad.net/kicad/+bug/1011754
2019-01-30 16:58:33 -08:00
John Beard 88f9f6f072 Break out ref-des-centric functions to own header
This breaks the following functions out to a general-purposed refdes utils
header:

* MODULE::GetReferencePrefix()
* kicad_string.h RefDesStringCompare()

This acheives:

* Slimming of MODULE interface
* Placement of refdes code in common rather than pcbnew
** Testing of this code in qa_common
* Tighter and smaller includes for code that only needed refdes functions

Note: there are failing tests commited (as expected failures). These
are the cause of lp:1813669 and will be fixed as a follow-up commit.
2019-01-30 15:41:36 -08:00
Jeff Young f425f49c19 Fetch active sym before launching browser so we can start with it.
Fixes: lp:1813882
* https://bugs.launchpad.net/kicad/+bug/1813882
2019-01-30 21:50:35 +00:00
Jeff Young ca0164aa07 Unify library browser terminology.
Fixes: lp:1813882
* https://bugs.launchpad.net/kicad/+bug/1813882
2019-01-30 19:52:15 +00:00
Jeff Young 626dc7d9cf Load currently selected alias when browsing.
Fixes: lp:1813882
* https://bugs.launchpad.net/kicad/+bug/1813882
2019-01-30 19:43:52 +00:00
Jeff Young 19c9ae7ecb Use updated value when checking for empty.
Fixes: lp:1813640
* https://bugs.launchpad.net/kicad/+bug/1813640
2019-01-30 16:29:21 +00:00
Seth Hillbrand 872f0eb44c eeschema: Set grid editor to use qty as the drop-down
Symbol fields uses a custom expander control.  This should be tied to a
column that cannot be hidden in order to ensure the ability to view sub
elements remains intact, like the standard control.

Fixes: lp:1780847
* https://bugs.launchpad.net/kicad/+bug/1780847
2019-01-29 17:10:58 -08:00
John Beard 016a544606 Eeschema: fix grammar for text for ERCE_PIN_NOT_DRIVEN
Reported by Kevin Cozens on the mailing list.
2019-01-29 18:09:11 -05:00
Seth Hillbrand 4901481e12 eeschema: Rotate bus wire entry components
These components were rotatable as a block but not individually.

Fixes: lp:1809448
* https://bugs.launchpad.net/kicad/+bug/1809448
2019-01-28 09:55:56 -08:00
Seth Hillbrand e2b3a1118d Eeschema: Filled labels
Fill label bg for clearer schematic view
2019-01-28 08:58:10 -08:00
Tomasz Włostowski 6afb082a08 eeschema: fix disappearing graphics when block move is aborted after rotation/flipping
Fixes: lp:1809444
* https://bugs.launchpad.net/kicad/+bug/1809444
2019-01-28 14:46:21 +01:00
Tomasz Włostowski ef2af9145e eeschema: implement left click emulation with Enter/Return key in library editor
Fixes: lp:1788075
* https://bugs.launchpad.net/kicad/+bug/1788075
2019-01-28 14:17:59 +01:00
Wayne Stambaugh a55d9819bc Do not use project path when searching for default library tables.
When no default library tables are found, set the default wxFilePickerCtrl
to the users configuration path instead of the current project path to
prevent any project library tables from being used as the default.

Fixes lp:1809769

https://bugs.launchpad.net/kicad/+bug/1809769
2019-01-26 16:19:02 -05:00
jean-pierre charras b8cfabd22e Fix some issues in I10n strings
Fix typo and missing I10n identifier for 2 strings
2019-01-26 09:25:12 +01:00
Seth Hillbrand 8d777dd5c3 eeschema: Take stroke thickness into account
Spacing text for plotters uses the thickness of text for two separate
classes.  This sets the thickness in the EDA_TEXT class as well to allow
the multiple line positions to be correctly set

Fixes: lp:1799605
* https://bugs.launchpad.net/kicad/+bug/1799605
2019-01-25 14:22:19 -08:00
jean-pierre charras 4cd41e3941 Eeschema: avoid using a incorrect background color the first time a SCH_DRAW_PANEL is displayed
When starting Eeschema, or a frame/dialog using a SCH_DRAW_PANEL, the bg color was initialized too late,
thus creating a flicker or an annoying draw artifact (in SYMBOL_PREVIEW_WIDGET for instance) if a Paint event
is fired before the right bg color is initialized.
Initializing the bg color earlier fix this issue.

Fixes: lp:1797203
https://bugs.launchpad.net/kicad/+bug/1797203
2019-01-25 20:32:46 +01:00
jean-pierre charras 70c2380fc2 Minor fixes in code: remove dead code. 2019-01-24 18:23:57 +01:00
jean-pierre charras 56879a964b Fix cross-probing issue when a net or pin name contains a space.
Fixes: lp:1812902
https://bugs.launchpad.net/kicad/+bug/1812902
2019-01-23 11:30:10 +01:00
Wayne Stambaugh 2dcba4723d Lay groundwork for loading the initial global footprint library table.
Factor out common dialog code from global symbol library table dialog for
loading initial library table.

Update global symbol library table code to user factored out common dialog
code.
2019-01-20 13:09:49 -05:00
Baranovskiy Konstantin 62bf4614ad Component fields grid: copy/paste boolean values.
NEW: Add ability to copy/paste from/to cells with boolean values
(checkboxes) in grid control of component properties dialog of Eeschema.
2019-01-19 14:54:43 -05:00
Baranovskiy Konstantin 8400ee41c0 Grid tricks: cell selection fixes.
CHANGED: First click sets a cursor to the specified cell, second click
activates editor (current realization, where first click activates cell
editor, is very buggy especially with cells selection).

Set cursor on cell of reference on mouse left click in Fields editor of
Eeschema.
2019-01-19 14:54:37 -05:00
Baranovskiy Konstantin 4ea08d477d Clear comp highlighting before highlight new one.
On clicking a reference cell in the field editor of Eeschema a
corresponding component is highlighted in Eeschema. But previously
highlighted components are staying highlighted.

With current patch all highlightings are cleared before highlighting
selected component.
2019-01-19 14:54:29 -05:00
Seth Hillbrand c3a295df1a Fix segfaults from not checking index
Return value of wxArrayString.Index() always needs to be check for
existence.
2019-01-17 10:23:25 -08:00
jean-pierre charras 7f6801bc27 Eeschema: block rotate and block mirror: fix missing screen refresh.
Remove also outdated comments.
2019-01-17 15:25:47 +01:00
Tomasz Włostowski 786ee0ec69 eeschema: fix assertion fail when aborting a paste block operation after the pasted block has been rotated
Fixes: lp:1812073
* https://bugs.launchpad.net/kicad/+bug/1812073
2019-01-17 00:46:59 +01:00
joel-bertrand-JKB 2d5752f51d Fix duplicate directives in Spice netlist inside .control ... .endc
Fixes: lp:1812082
https://bugs.launchpad.net/kicad/+bug/1812082
2019-01-16 19:54:03 +01:00
Seth Hillbrand 72c885797e Eeschema: prevent schematic images with bad scales
Prevent obvious scale issues (0.0, nan, etc) from corrupting display of
schematic images.  In these cases, we reset the scale value to 1.0 and
allow the user to input the appropriate value when editing the
schematic.

Fixes: lp:1811066
* https://bugs.launchpad.net/kicad/+bug/1811066
2019-01-15 07:42:22 -08:00