jean-pierre charras
e32a50b34d
Simulator: fix a crash when using the "Probe" or "Tune" tool, when clicking on an item is schematic editor.
2019-07-19 10:12:54 +02:00
Seth Hillbrand
5324b65fb0
eeschema: Don't trust the pointer
...
We are not guaranteed a selection. Keep pointers to the front items
guarded. This can happen after repeating a new item, e.g.
2019-07-17 18:21:36 -07:00
Seth Hillbrand
b877d17138
Fix compile error
...
wx 3.0 doesn't have emplace_back() so we need to accept the
copy-instantiate penalty
2019-07-17 14:32:22 -07:00
Jeff Young
3de00eef5f
Cleanup.
2019-07-17 21:45:43 +01:00
Jeff Young
d67c2d13c7
Fix re-entrancy problem in cross-probing.
...
Fixes: lp:1836940
* https://bugs.launchpad.net/kicad/+bug/1836940
Fixes: lp:1836937
* https://bugs.launchpad.net/kicad/+bug/1836937
2019-07-17 21:35:28 +01:00
Simon Richter
05353049b5
Pull in macro definition for strncasecmp on MSVC
2019-07-17 08:10:47 -04:00
Jeff Young
6cd7d9fb89
Go back to inconsistent cross-probing for now.
...
Selecting in Eeschema has major issues, as does highlighting in
pcbnew. So for now we do highlighting in eeschema and selecting
in pcbnew. Improving highlighting for pcbnew would be the next
logical step....
Fixes: lp:1836640
* https://bugs.launchpad.net/kicad/+bug/1836640
2019-07-17 12:45:34 +01:00
Jeff Young
920f128cc7
Change line-end encoding of multi-line textbox.
...
Fixes: lp:1836757
* https://bugs.launchpad.net/kicad/+bug/1836757
2019-07-16 20:45:44 +01:00
Jeff Young
8d79661996
Convert symbol/module cross-probing to a selection model.
...
Net/net cross-probing stays a highlight model.
Fixes: lp:1836600
* https://bugs.launchpad.net/kicad/+bug/1836600
2019-07-16 20:25:25 +01:00
Jeff Young
a61673a144
Fix compile error for those who have to use the somewhat feeble gcc.
2019-07-16 15:11:50 +01:00
Jeff Young
787b16db98
Draw invisible pins in grey in pin preview.
...
Also pins the zoom at 100% as we don't seem to be very good at
calculating the bounding box for short pins.
Fixes: lp:1836658
* https://bugs.launchpad.net/kicad/+bug/1836658
2019-07-16 02:05:22 +01:00
Jeff Young
7d10b29592
Cleanup unused includes.
2019-07-16 01:15:33 +01:00
Jeff Young
3069fd5974
Exit point editor after an <esc> while dragging.
...
Fixes: lp:1836652
* https://bugs.launchpad.net/kicad/+bug/1836652
2019-07-16 01:09:49 +01:00
Jeff Young
e816a0c29d
Push Eeschema & PLEditor PICKER_TOOLs down into common.
...
Also implements a more robust push/pop tool strategy for pickers.
2019-07-16 00:44:01 +01:00
Jeff Young
58ca5b71a9
A more robust fix for 36f1d023f0
.
...
This one also handles when the events get out-of-order due to them
starting out in the Simulation window and not getting dispatched until
the mouse goes over the Schematic window.
Fixes: lp:1835907
* https://bugs.launchpad.net/kicad/+bug/1835907
Fixes: lp:1836544
* https://bugs.launchpad.net/kicad/+bug/1836544
2019-07-15 14:15:24 +01:00
jean-pierre charras
dad8c9821b
Fix a minor compil warning.
2019-07-15 10:33:03 +02:00
Jeff Young
f30cd67411
Use standard save-changes dialog.
...
(It also has the buttons in the right order for Mac.)
2019-07-14 21:40:21 +01:00
Jeff Young
d767e83dac
Fix arc drawing so that it works in all 4 quadrants.
...
Fixes: lp:1836116
* https://bugs.launchpad.net/kicad/+bug/1836116
2019-07-14 18:18:48 +01:00
jean-pierre charras
9259f3a7c9
LIB_LOGGER: fix a crash when closing Kicad, if Libedit was run.
...
wxLog::SetActiveTarget() was initialised to libedit frame,
but the active target was not released after closing and deleting libedit, thus creating a crash on Kicad exit.
2019-07-14 18:46:58 +02:00
Jeff Young
34894acb89
Don't try to copy a null item.
...
Fixes: lp:1836126
* https://bugs.launchpad.net/kicad/+bug/1836126
2019-07-11 18:23:32 +01:00
Jeff Young
029b624e96
When adding new wires due to directly-connected items, don't try and de-select them after an undo. The won't be around anymore.
...
Fixes: lp:1836218
* https://bugs.launchpad.net/kicad/+bug/1836218
2019-07-11 17:36:32 +01:00
Jeff Young
5c43924338
Display all "File couldn't be found" messages at the end.
...
Fixes: lp:1810161
* https://bugs.launchpad.net/kicad/+bug/1810161
2019-07-10 23:17:50 +01:00
Jeff Young
e1a22333c1
Fix bug with escaped '~' still getting extra height for overbar.
2019-07-10 11:59:09 +01:00
Jeff Young
cd1a1a67fb
Add seleciton/brightening/highlighting to images.
2019-07-10 01:14:28 +01:00
Jeff Young
30ec895c96
Cleanup event processing stuff to keep better track of "handled".
...
See: https://lists.launchpad.net/kicad-developers/msg41471.html .
2019-07-09 21:59:46 +01:00
Jeff Young
483dc24e87
Homogenize selection tools around our HIG.
...
In particular make addative and exclusive-or selections work the
same way.
Also give Highlight Net a hotkey now that it can't use ctrl-click
anymore.
2019-07-09 21:59:46 +01:00
jean-pierre charras
8bb3fae5ae
Eeschema: fix broken complex hierarchy loading on Windows
...
The full filename comparison to detect the reuse of a file was broken on Windows
because it mixed a native filename notation (containing the drive id),
and a unix notation (no drive in filename, different separator).
2019-07-09 17:09:24 +02:00
Jeff Young
36f1d023f0
Make sure Push/PopTool() go in the right order.
...
Because the pickers are called with an Activate()/Wait() pair, any
usurping tool gets in between the picker handling the cancel (due
to activation) and the picker client doing a PopTool(). The new
tool is therefore pushed before the old tool is popped.
Fixes: lp:1835907
* https://bugs.launchpad.net/kicad/+bug/1835907
2019-07-09 15:03:23 +01:00
Jeff Young
46f47adebe
Update symbols after assigning different LIB_IDs.
...
Fixes: lp:1835612
* https://bugs.launchpad.net/kicad/+bug/1835612
2019-07-09 12:38:41 +01:00
Jeff Young
17d64ac348
Move multi-line editor to Scintilla engine for undo/redo.
...
Also allows cut/copy/paste and better WYSIWYG tab handling.
Fixes: lp:1769193
* https://bugs.launchpad.net/kicad/+bug/1769193
Fixes: lp:1769150
* https://bugs.launchpad.net/kicad/+bug/1769150
2019-07-09 12:20:31 +01:00
Jeff Young
3a8f32c380
Convert ShowEEschema to an ACTION so it can get a hotkey assignment.
...
Fixes: lp:1686010
* https://bugs.launchpad.net/kicad/+bug/1686010
2019-07-09 00:43:41 +01:00
Jeff Young
d3d0bdbe17
Go back to rotating selection around center.
...
Fixes: lp:https://bugs.launchpad.net/kicad/+bug/1833371
* https://bugs.launchpad.net/kicad/+bug/https://bugs.launchpad.net/kicad/+bug/1833371
2019-07-09 00:14:32 +01:00
Jeff Young
fb881ee209
Update symbol ID before running Update Fields from Library.
...
Fixes: lp:1827707
* https://bugs.launchpad.net/kicad/+bug/1827707
2019-07-08 22:56:04 +01:00
Ian McInerney
e32306c232
eeschema: Fix initial selected text in reference value dialog
...
Fixes: lp:1834741
* https://bugs.launchpad.net/kicad/+bug/1834741
2019-07-08 14:42:31 -04:00
Jeff Young
772dff7a01
Removed post-page-settings ZoomFitToScreen() calls.
...
Fixes: lp:1834608
* https://bugs.launchpad.net/kicad/+bug/1834608
2019-07-08 00:06:28 +01:00
jean-pierre charras
d92396341e
Simulation: do not add .save V(0) and/or .save V(GND) to ngspice.
...
These 2 nets are internally added by ngspice (info from Holger Vogt)
2019-07-07 17:55:43 +02:00
jean-pierre charras
b74bccbb13
Eeschema: fix a bug in LIB_TEXT::Plot, that plotted an empty text.
...
Fixes: lp:1827124
https://bugs.launchpad.net/kicad/+bug/1827124
2019-07-05 15:54:40 +02:00
Jeff Young
a9c66e15ea
Common-ize EE_ACTIONS::refreshPreview and use it after cursor actions.
...
Fixes: lp:1818667
* https://bugs.launchpad.net/kicad/+bug/1818667
2019-07-05 14:45:15 +01:00
jean-pierre charras
fffb0d340f
Eeschema: fix not deletable bitmap issue (missing SCH_BITMAP in deletable list).
...
Also display bitmap info in message panel.
Fixes: lp:1835125
https://bugs.launchpad.net/kicad/+bug/1835125
2019-07-05 10:25:23 +02:00
Simon Richter
c8c3e1f96a
Fix build order for generated headers and sources
...
This changes make_lexer() so that it no longer generates a custom target
but instead attaches the generated files to an existing one (so the first
argument now is the name of an existing library or executable, and it needs
to come after the add_library/add_executable call).
The generated source is no longer listed in the project sources, as it is
added by the function. The files are generated in the build tree rather
than the source tree, and the directory is added to the include path for
the respective project as well as exported to projects linking against it.
Generated files in subdirectories are somewhat supported, but need to be
referenced with the same name as they were generated (i.e. including the
subdirectory name).
Fixes: lp:1831643
* https://bugs.launchpad.net/kicad/+bug/1831643
Fixes: lp:1832357
* https://bugs.launchpad.net/kicad/+bug/1832357
Fixes: lp:1833851
* https://bugs.launchpad.net/kicad/+bug/1833851
2019-07-03 09:36:40 -04:00
Maciej Suminski
c715a22e1c
Symbol Editor: clear IS_NEW flag after placing a pin
...
IS_NEW flag needs to be cleared after a pin is placed, otherwise further
move operations will keep adding the pin to the edited symbol.
2019-07-03 13:32:47 +02:00
Jeff Young
d03041b565
Cleanup.
2019-07-02 21:36:42 +01:00
Jeff Young
ef03afe289
Fix bugs in new wire/line-width split.
...
If Symbol Editor isn't open then Eeschema needs to read in the
default line width.
Symbol Editor was failing to write line width parameter back to
properties.
Fixes: lp:1835051
* https://bugs.launchpad.net/kicad/+bug/1835051
2019-07-02 20:00:39 +01:00
jean-pierre charras
34e00bdb6d
Eeschema, symbol tree selector: make the selected lib and symbol readable.
...
Previously, the background was highlighted, but not the text.
On Windows, the text was unreadable, until it was selected.
Now the foreground color is also set to the text selected color.
2019-07-02 19:05:29 +02:00
jean-pierre charras
21d9a3d4bd
Eeschema, lib editor: fix a message error when loading a symbol from the schematic editor.
...
Replace also in lib_manager.cpp some DisplayErrorMessage calls by wxLogMessage calls,
to avoid hanging or crashes, at least on Windows.
wxLogMessage also has the advantage of grouping all messages and displaying them during a idle time.
2019-07-02 18:39:01 +02:00
Jeff Young
109c21aad4
Add line styles and line color to global Edit Text and Graphics Properties.
...
Fixes: lp:1801150
* https://bugs.launchpad.net/kicad/+bug/1801150
2019-07-02 14:53:06 +01:00
Jeff Young
9ee36b1a87
Small layout fix.
2019-07-02 14:53:06 +01:00
Jeff Young
9effd24f3a
Allow move tool to run on top of other tools.
...
Fixes: lp:1784480
* https://bugs.launchpad.net/kicad/+bug/1784480
2019-07-01 22:15:25 +01:00
Jeff Young
ad26ece8d4
Add Global Edit Text and Graphics Properties to Eeschema.
...
Fixes: lp:1801150
* https://bugs.launchpad.net/kicad/+bug/1801150
2019-07-01 22:15:25 +01:00
jean-pierre charras
5ed8ba5bf3
Libedit: fix a bug in edit graphic item properties:
...
When changing the common to units and/or common to convert options, the item properties were not updated.
2019-07-01 12:36:46 +02:00
Jeff Young
9328ec8b52
Separate default line and wire thicknesses.
...
Fixes: lp:1834324
* https://bugs.launchpad.net/kicad/+bug/1834324
2019-06-30 11:12:42 +01:00
Jeff Young
62d453ecd8
Fetching name got moved, but it got moved to before it was fetched out of the fields grid.
...
Fixes: lp:1834711
* https://bugs.launchpad.net/kicad/+bug/1834711
2019-06-29 22:44:29 +01:00
Jeff Young
d88bddad7e
Respect m_DrawSpecificUnit and m_DrawSpecificConvert when pasting.
...
Fixes: lp:1834719
* https://bugs.launchpad.net/kicad/+bug/1834719
2019-06-29 22:20:40 +01:00
Jeff Young
09b07cd387
Minor adjustments to arc editing algorithms.
...
1) Don't snap center since it will be re-computed (most likely
off-grid) anyway.
2) Don't flip shape during initial drawing.
2019-06-29 20:03:08 +01:00
Jeff Young
232e21cb37
Restore selection properly after an undo.
2019-06-29 20:03:08 +01:00
Jeff Young
51479c2042
Fix several bugs in selection exhibited by 74LS02.
...
1) Use PenWidth() (which is clipped at 0) instead of Width()
2) Implement an interior HitTest when a PolyLine is filled
3) Brighten background objects as well as foreground
4) Don't HitTest last segment when PolyLine is not filled
Fixes: lp:1834703
* https://bugs.launchpad.net/kicad/+bug/1834703
2019-06-29 20:03:08 +01:00
Seth Hillbrand
7297208119
Handle all non-length units
...
Statusbar length updates need to handle default with wxASSERT if there
is not a specific, handled unit.
2019-06-29 09:46:25 -07:00
Ian McInerney
3b645ed305
eeschema: Fix python BOM generators to handle symbols
...
* Implement proper natural sorting of the reference values
* Perform quoting of all items in BOM generators that use csv.writer
Fixes: lp:1833822
* https://bugs.launchpad.net/kicad/+bug/1833822
2019-06-29 17:24:45 +02:00
Jeff Young
a498d7e9c5
Try out a new arc-editing paradigm for LibEdit.
...
This is based on the notion that in Kicad the start and end-points
are far more important (as they usually connect to other segments)
than the center is.
2019-06-29 16:10:58 +01:00
Ian McInerney
c8cd95a718
eeschema: Force focus on dialog after BOM creation
...
Fixes: lp:1834698
* https://bugs.launchpad.net/kicad/+bug/1834698
2019-06-28 19:31:00 -07:00
Jeff Young
2ed3bf47bb
Improve hittesting for Eeschema and LibEdit delete tools.
2019-06-28 22:18:30 +01:00
Jeff Young
a72b5416c3
Show preview object for Eeschema junction, noconnect and bus entry tools.
2019-06-28 22:18:30 +01:00
Jeff Young
981072598b
Overhaul cursor code for new tool/action framework.
...
Includes the addition of an onSetCursor() handler which must be called
from both the GAL canvas AND the GAL backend (at least on OSX) to prevent
cursor flickering between (for instance) pencil and arrow.
Also includes new architecture for point editors which allows them to
coordiate cursors with the editing tools (so we can switch to an arrow
when over a point).
2019-06-27 22:37:11 +01:00
Jeff Young
2f23aa9556
Implement a more robust tool stacking architecture.
...
We were running into various corner conditions where a tool's event
loop would exit while the tool was still active, or the tool would
get popped while we were still in the event loop. (A lot of these
had to do with the POINT_EDITOR's, but not all of them.)
The new architecture:
1) tools always do a Push()/Pop()
2) everyone is responsible for their own pops; no more stack-clearing
on a cancel
3) CancelInteractive events go to all tools to facilitate (2)
2019-06-27 17:01:31 +01:00
Jeff Young
7208ef481f
Don't confuse a pasted pin with being synchronized.
...
It's only at the same location because it was copied from there.
Fixes: lp:1834377
* https://bugs.launchpad.net/kicad/+bug/1834377
2019-06-27 00:24:42 +01:00
Jeff Young
5e40de9357
Clear IS_NEW flag after placing pin so the tool knows we're no longer drawing.
...
Fixes: lp:1834376
* https://bugs.launchpad.net/kicad/+bug/1834376
2019-06-27 00:02:13 +01:00
Jeff Young
f11de08fa9
Clarify that default text size is for schematic text.
...
Fixes: lp:1818668
* https://bugs.launchpad.net/kicad/+bug/1818668
2019-06-26 21:54:03 +01:00
Jeff Young
7292ce6a8b
Improve eeschema selection disambiguation logic.
2019-06-26 21:54:03 +01:00
Jeff Young
fa84babefe
Re-implement sch->pcb cross-probing using net highlighting architecture.
...
Fixes: lp:1827853
* https://bugs.launchpad.net/kicad/+bug/1827853
2019-06-26 21:54:03 +01:00
Jeff Young
c77d214c5f
Clear annotation of pasted sheets only when they already exist in the current hierarchy.
...
Fixes: lp:1833205
* https://bugs.launchpad.net/kicad/+bug/1833205
2019-06-26 21:54:03 +01:00
Jeff Young
15cd13ba6e
Don't tie generic validators to a specific field.
...
Fixes: lp:1834103
* https://bugs.launchpad.net/kicad/+bug/1834103
2019-06-26 01:13:15 +01:00
Jeff Young
cb1fd069f0
Fix inadvertant check-in of debugging code.
2019-06-26 00:51:33 +01:00
Jeff Young
89d1d3d299
Real-time highlighting for PlEditor delete tool.
2019-06-25 21:10:21 +01:00
Jeff Young
4eaba20cd3
Real-time highlighting for Pcbnew and ModEdit delete tools.
2019-06-25 21:10:21 +01:00
jean-pierre charras
31c254d8c1
SCH_EDIT_FRAME::FixupJunctions(): avoid flagging schematics as modified, when no junction is added.
2019-06-25 18:23:28 +02:00
jean-pierre charras
1cc05f19b5
SCH_EDIT_FRAME::FixupJunctions(): do not change the opened sheet after running the code.
2019-06-25 17:30:37 +02:00
Wayne Stambaugh
288982b15d
Symbol and footprint library table editor fix.
...
Prevent the symbol and footprint library table editors from substituting
the current project path (${KIPRJMOD}) when adding libraries to the global
library table. This will almost assuredly fail when opening a different
project. We still allow users to manually use ${KIPRJMOD} in global table
paths under the assumption that if they are typing this in then they most
likely understand environment variable substitution.
Fixes lp:1830694
https://bugs.launchpad.net/kicad/+bug/1830694
2019-06-25 08:36:32 -04:00
Jeff Young
f9702aab87
Immediate actions for PlEditor, PcbNew, etc.
2019-06-25 11:34:28 +01:00
Jeff Young
f088d4d762
Add env-var setting to CommonSettingsChanged().
...
Fixes: lp:1804925
* https://bugs.launchpad.net/kicad/+bug/1804925
2019-06-25 11:34:28 +01:00
jean-pierre charras
70ff2e14a5
Eeschema: avoid crashes when the tool highlight or delete is activated and clicking in a empty schematic.
...
Was a nullptr not tested.
2019-06-25 08:31:22 +02:00
Seth Hillbrand
98124e68c7
Update exit strategy to match UI guidelines
...
In singletop mode, all frames show the "Quit" option in the file menu
and will quit on Ctrl-Q. When launched from the main KiCad interface,
sub-programs show the "Close" option instead and will close with Ctrl-W.
In this mode, Ctrl-Q will instruct the main program to exit.
Fixes: lp:1779938
* https://bugs.launchpad.net/kicad/+bug/1779938
2019-06-24 21:46:42 -07:00
Tomasz Włostowski
d7fe307913
eeschema: automatically insert junctions at pin connections if needed during file load
...
EEschema optimizes wires by merging colinear segments. If a schematic opened without a valid
cache library or missing installed libraries and later saved, this optimization can cause connectivity
errors. In order to fix that we check each pin-wire connection and junctions if necessary.
2019-06-25 01:06:25 +02:00
jean-pierre charras
710a82bc51
Eeschema: fix an issue in netlists when using "<root sheet>" as root sheet path name.
...
Netlists do not accept any char in netnames (especially spice).
They must use only "/" as root sheet path name.
Especially _( "<root sheet>" ) breaks netlists because:
- there is a space in name, and special chars (< and >)
- it is a translatable name. so the actual name cannot be managed.
- most of netlist code in Kicad expects a "/" as root path.
2019-06-23 19:37:41 +02:00
Seth Hillbrand
39c2745f55
eeschema: Allow spaces in label names for multilabeling
...
This adds the functionality to add multiple labels to your schematic at
once by using spaces in the original label name.
Fixes: lp:1095113
* https://bugs.launchpad.net/kicad/+bug/1095113
2019-06-20 16:21:49 -07:00
jean-pierre charras
e1a2cbbea1
Eeschema: fix for root sheet plot filename, in non English languages.
2019-06-20 17:00:06 +02:00
Jeff Young
485d436860
Clear ctx-menu before rebuilding; don't veto ctx-menu mousewarp for non-ctx-menu dialog.
...
Fixes: lp:1833312
* https://bugs.launchpad.net/kicad/+bug/1833312
2019-06-19 21:17:56 +01:00
Jeff Young
4054d7ddf7
Don't try an intertwine deletion and junction fixup.
...
Fixes: lp:1833224
* https://bugs.launchpad.net/kicad/+bug/1833224
2019-06-19 19:30:38 +01:00
Jeff Young
eb95202708
Fix grid update when edited from menubar.
...
Fixes: lp:1833399
* https://bugs.launchpad.net/kicad/+bug/1833399
2019-06-19 18:35:17 +01:00
Jeff Young
730b89af6d
Another round of changes for immediate actions.
2019-06-19 18:35:17 +01:00
Jeff Young
3a0256aade
Add handle-based editing for eeschema bitmaps.
...
Also cleans out a bunch of duplicated functionality from the image
editor dialog.
Fixes: lp:1828722
* https://bugs.launchpad.net/kicad/+bug/1828722
2019-06-19 18:35:17 +01:00
Seth Hillbrand
e16bf40e60
eeschema: Insert junctions when repeating
...
This is the v6 analog to 697234dd5
Fixes: lp:1832253
* https://bugs.launchpad.net/kicad/+bug/1832253
2019-06-18 20:12:08 -07:00
Jeff Young
b8dfc1f26a
Fix import sheet pin.
...
Fixes: lp:1829314
* https://bugs.launchpad.net/kicad/+bug/1829314
2019-06-18 22:44:22 +01:00
Jeff Young
581b5257e1
One more try getting <ESC>/PopTool behaviour right.
2019-06-18 22:34:31 +01:00
Jeff Young
b0c1c1ad2b
Select both ends of wires in block select.
...
Fixes: lp:1830717
* https://bugs.launchpad.net/kicad/+bug/1830717
2019-06-18 20:24:15 +01:00
Jeff Young
dcbd897a95
Push/pop tools even when selected from the toolbar.
2019-06-18 20:24:15 +01:00
Jeff Young
7dd247f1dc
Make better use of TOOL_EVENT parameters.
2019-06-18 20:24:15 +01:00
Seth Hillbrand
42e3c13820
Eeschema: Plot in same order as drawing
...
This ensures the junctions are on top and the bitmaps are on bottom
(cherry picked from commit ddbc25077c
)
2019-06-17 14:59:38 -07:00
Jeff Young
9e464f9f5b
Implement rollover highlighting for Eeschema delete tool.
2019-06-17 22:15:20 +01:00
Jeff Young
7cfe19d9fd
Cleanup.
2019-06-17 22:15:20 +01:00
Wayne Stambaugh
7235da0979
Eeschema: fix sheet plotting bug.
...
Prefix the sheet name with "Sheet: " and the sheet file name with "File: "
when plotting so that it matches the display sheet rendering.
Improve the root sheet plot file name.
Fixes lp:1832081
https://bugs.launchpad.net/kicad/+bug/1832081
2019-06-17 17:01:05 -04:00
Wayne Stambaugh
d74ec1a1b2
Eeschema: allow empty field strings in field table editor.
...
The grid apply code was always preventing empty fields. Change this the
broken behavior to allow any field to be empty except the reference and
value fields.
Fixes lp:1832722
https://bugs.launchpad.net/kicad/+bug/1832722
2019-06-17 15:05:11 -04:00
jean-pierre charras
15a67fc358
Eeschema: fix incorrect size of junctions on screen.
...
Fixes: lp:1831931
https://bugs.launchpad.net/kicad/+bug/1831931
2019-06-17 18:06:56 +02:00
Jeff Young
4eab89d9ef
Fix OSX button order issue in Unsaved Changes dialog.
...
Also changes the presentation of the string when the checkbox appears
so that the "Changes will be lost" warning isn't hidden by the turndown.
This last part may require conditional compilation as it's undocumented.
Lastly, regularizes the Unsaved Changes strings between the apps.
2019-06-17 17:01:57 +01:00
Jeff Young
1f35ec5521
Beware of copying events and losing the m_passEvent flag.
...
Fixes: lp:1833031
* https://bugs.launchpad.net/kicad/+bug/1833031
2019-06-17 14:44:39 +01:00
Seth Hillbrand
875caa694c
Eeschema: Allow junction dots to be hidden
...
Drawing junction dots at the line width allows users who do not like
them in their schematics to avoid having them drawn.
(cherry picked from commit 75b5324762
)
2019-06-17 05:01:28 -07:00
Jeff Young
5d7739a662
Handle '&'s in menu labels.
...
Fixes: lp:1832904
* https://bugs.launchpad.net/kicad/+bug/1832904
2019-06-17 10:45:23 +01:00
Jeff Young
e6d5110ccf
Implement I18N for ACTIONs.
...
It's a bit of a hack because they're statically initialized and
so we can't make use of the _() macro. We do still want it in the
code, however, because the string harvesting is based off of it.
Fixes: lp:1833000
* https://bugs.launchpad.net/kicad/+bug/1833000
2019-06-17 10:45:23 +01:00
Wayne Stambaugh
418bd28347
Fix build error.
2019-06-16 18:31:10 -04:00
Jeff Young
dd3617cfda
Fix compile issue.
2019-06-16 22:46:35 +01:00
Jeff Young
de67f3f1e9
Move a few more things to ACTIONs.
2019-06-16 19:53:30 +01:00
Jeff Young
909aeba3d9
Transition some more stuff from the MVC view to the controller.
2019-06-16 19:53:30 +01:00
Jeff Young
c7bfa9857e
Use more reflective naming of what the tool does.
2019-06-16 19:52:07 +01:00
jean-pierre charras
66d2060942
Partial fix for missing language selection menu.
...
The fix is partial because in the list of languages the menuitem corresponding to the selected language is not checked.
2019-06-16 20:35:57 +02:00
Wayne Stambaugh
be8fe3884f
Fix spelling error in symbol library table warning string.
2019-06-16 12:26:47 -04:00
Wayne Stambaugh
77bf575742
CvPcb: fix save changes dialog layout issue.
...
DIALOG_EXIT was not being laid out correctly after setting the dialog
message. Rather than fix our custom DIALOG_EXIT, wxMessageDialog and
wxRichMessageDialog were substituted as direct replacements for all
of the variants of DIALOG_EXIT. This make message dialogs appear more
consistent because wxMessageDialog uses the default platform message
dialog and wxRichMessageDialog uses the default platform rich message
dialog on windows.
Remove DIALOG_EXIT_BASE as it is no longer required.
Fixes lp:1832899
https://bugs.launchpad.net/kicad/+bug/1832899
2019-06-16 12:10:24 -04:00
Jeff Young
e4fbd003e0
Make m_passEvent event-specific rather than global.
...
If a tool called something like clearSelection while processing a
MOUSE_CLICK, the SELECTION_TOOL will pass the clearSelection
COMMAND_EVENT because it handles it as a transition, not as an
event. Because m_passEvent is effectively global, the tool manager
would then interpret that as passing the MOUSE_CLICK and we'd end
up processing the click by multiple tools.
2019-06-16 12:06:49 +01:00
jean-pierre charras
6a8e69f9c9
Fix a compil warning.
2019-06-16 09:12:32 +02:00
Jeff Young
0f4bdbd184
Tighten down the POINT_EDITORs a bit more.
2019-06-16 01:33:39 +01:00
Jeff Young
18ebced8f4
Code hygiene.
2019-06-15 20:43:52 +01:00
Jeff Young
19aba615c2
Remove selection condition from conditional menu separators.
...
We don't allow duplicate separators anyway so all they really do
is complicate the code.
2019-06-15 20:43:51 +01:00
Jeff Young
5610261dce
Immediate-action hotkeys (and context menu actions) for eeschema.
2019-06-15 20:43:51 +01:00
Jeff Young
83ee51370c
Cancel interactive editing when switching sheets.
...
Fixes: lp:1819278
* https://bugs.launchpad.net/kicad/+bug/1819278
2019-06-14 16:54:46 +01:00
Maciej Suminski
7d69a917b9
Fixed a crash in EE_SELECTION_TOOL::SelectPoint()
...
The for loop is continued after an item removal, so the removed item
is not accessed anymore.
2019-06-14 13:00:39 +02:00
Seth Hillbrand
fb3d1bdb59
Clear some compile warnings
2019-06-13 15:16:54 -07:00
Jeff Young
8cc1e2b5e7
Fix breakage in wire moving/dragging/etc.
...
Fixes: lp:1832750
* https://bugs.launchpad.net/kicad/+bug/1832750
2019-06-13 19:58:37 +01:00
Jeff Young
8f84c3ec4f
Grid rid of GetCanvas/GetGalCanvas distinction now that there's only gal.
2019-06-13 19:58:37 +01:00
Steven A. Falco
1edeba7fb4
Show the current grid setting.
2019-06-13 14:34:39 -04:00
Jeff Young
ce1f35a1be
Cleanup some left-over vestiages of the legacy canvas architecture.
2019-06-13 15:51:32 +01:00
Jeff Young
4043a15482
When pasting a sheet link to existing copy if it already appears in the hierarchy.
...
Fixes: lp:1830633
* https://bugs.launchpad.net/kicad/+bug/1830633
2019-06-13 15:51:32 +01:00
Wayne Stambaugh
028973d182
LibEdit: fix library tree refresh issue when library is removed.
...
A bug in LIB_MANAGER::LibraryExists() prevented a library removed from
the symbol library table from being removed from the tree view. Add the
proper check to SYMBOL_TREE_SYNCHRONIZING_ADAPTER::Sync().
This exposed another issue with synchronization between the library
table editor and the tree view which could lead to orphaned library
modifications and/or a segfault when the currently selected library was
removed from the symbol library table. Give the user a chance to save
or revert any changes before allowing changes to the symbol library
table.
Fixes lp:1821691
https://bugs.launchpad.net/kicad/+bug/1821691
2019-06-13 07:45:03 -04:00
Seth Hillbrand
e52afd93a3
Remove Legacy options for overlay/context
...
These options were used to support the legacy canvas when drawing on
MacOS and GTK3. With the move to 100% GAL, they are extraneous. This
moves all DC over to "COPY" as we only use this for printing support in
Eeschema at the moment, so there is a single draw command (no erasing)
for the canvas.
2019-06-12 06:01:03 -07:00
Seppe Stas
455ee4c08c
Set KiCad version in MacOS apps
...
Uses CMake's configure_file function [1] to automaticaly set the
CFBundleShortVersionString [2] value in every app's Info.plist file.
Also updates the CFBundleLongVersionString and CFBundleVersion with the
extended KiCad Version
[1]: https://cmake.org/cmake/help/latest/command/configure_file.html
[2]: https://developer.apple.com/documentation/bundleresources/information_property_list/cfbundleshortversionstring
2019-06-12 04:40:03 -07:00
Jeff Young
c0e1f7a17a
Add dragging of wire ends, corners and junctions.
...
Fixes: lp:1830007
* https://bugs.launchpad.net/kicad/+bug/1830007
2019-06-11 21:20:19 +01:00
Jeff Young
b1b7408cf2
Accidentally checked in some debugging stuff.
2019-06-11 18:53:36 +01:00
Jeff Young
7726b039b2
Re-jigger standard submenus so they both link AND work.
2019-06-11 18:03:16 +01:00
Jeff Young
05652d4787
Rework the preparation for eeschema's move-tool.
...
There are a whole bunch of cases which all have to work:
regular move
move followed by drag
drag followed by move
move followed by duplicate
duplicate
paste
and all both with and without Warp Mouse on Move checked.
2019-06-11 18:03:16 +01:00
Jeff Young
e4d16abcbd
Fix overly-generic flag test when synchronizing pins.
...
Fixes: lp:1832170
* https://bugs.launchpad.net/kicad/+bug/1832170
2019-06-11 09:29:30 +01:00
Jeff Young
09a3c5b280
Update pasted items' parent pointers.
...
Fixes crashes when trying to manipulate the item after the paste,
and weird redraw behaviour with pins.
Fixes: lp:1832178
* https://bugs.launchpad.net/kicad/+bug/1832178
2019-06-11 09:22:56 +01:00
Jeff Young
6623ab91a8
Fix issue with picker tool activation.
2019-06-11 00:25:38 +01:00
Jeff Young
e9017ce0b1
Update status bar when selected items are modified.
...
Fixes: lp:1831801
* https://bugs.launchpad.net/kicad/+bug/1831801
2019-06-10 23:46:01 +01:00
Jeff Young
b3e30e50c8
Cleanup.
2019-06-10 23:46:01 +01:00
Jeff Young
b0e8443383
Sync-ing of menu has been done in CONDITIONAL_MENU for some time now.
2019-06-10 23:46:01 +01:00
Jeff Young
a568e70b99
Follow naming conventions.
2019-06-10 23:46:01 +01:00
Jeff Young
5e49517781
Move hotkeys to ACTION architecture.
2019-06-10 23:46:00 +01:00
Jeff Young
6025256e07
Push KIWAY_HOLDER down a level so we can move a bunch of stuff that doesn't belong there out.
2019-06-10 23:46:00 +01:00
Jeff Young
765606012f
Convert separate-compilation of selection.cpp to polymorphism.
2019-06-10 23:46:00 +01:00
Jeff Young
e606587ff6
Move remaining Symbol Tree ctx menu cmds to ACTIONS.
...
Also moves the various Player instantiators down into COMMON_TOOLS
for better sharing.
2019-06-10 23:46:00 +01:00
John Beard
7ebda0247f
Common: Remove legacy_gal library, fold into common
...
Return the EDA_DRAW_FRAME class back to common, whence it came (before it was
duplicated into legacy_wx and legacy_gal). Now there is only one
implementation (the GAL one), it doesn't need to be in a separate library.
This simplifies the dependencies for common lib users.
2019-06-10 18:56:57 +01:00
jean-pierre charras
beb4348016
Eeschema: fix incorrect saving in prj config on the default netlist format.
...
It was not always saved, and this was not the default, but the last used format.
2019-06-10 18:44:46 +02:00
Seth Hillbrand
bc096dc4ee
Eagle: Fix stacked NC pin import
...
Since Eagle does not connect stacked NC pins but KiCad will if the pins
are coincident, we choose to only import the first of the stacked NC
pins. While this creates symbols that are slightly different in pin
count from the Eagle version, it keeps the schematic and netlist
functionally correct relative to the Eagle version.
Fixes: lp:1821319
* https://bugs.launchpad.net/kicad/+bug/1821319
(cherry picked from commit 370109b868
)
2019-06-09 17:03:44 -07:00
jean-pierre charras
bc27b0ed5f
Sim spice: fix unescaped netnames in spice netlist and simulator dialogs.
...
Net names in eeschema that include '/' are escaped ('/' replaced by "{slash}")
Escaped netnames are only for internal use, and must be unescaped in spice netlist and dialogs.
2019-06-09 17:48:01 +02:00
jean-pierre charras
df5c5c23ca
Eeschema: fix incorrect handling of '/' in graphic texts.
...
It was escaped (replaced by "{slash}") in dialog.
This is right for labels, not for texts.
A consequence was the directives in spice simul can be broken.
Now the graphic text is not escaped.
2019-06-08 17:32:49 +02:00
Seth Hillbrand
598b140112
eagle: Strip newlines from description
...
Eeschema old format is line-terminated so the newlines in descriptions
will break the schematic file if saved.
Fixes: lp:1829707
* https://bugs.launchpad.net/kicad/+bug/1829707
(cherry picked from commit fb85612f81
)
2019-06-07 22:08:58 -07:00
Jon Evans
607650be22
Connectivity: don't consider neighbor propagation when types don't match
...
Fixes: lp:1831608
* https://bugs.launchpad.net/kicad/+bug/1831608
2019-06-05 22:26:44 -04:00
Jon Evans
1142eb259b
Eagle: properly translate group buses now that we support them
2019-06-05 22:09:09 -04:00
Jon Evans
42887544c9
Connectivity: ensure globally-labeled buses are always propagated
...
Fixes: lp:1822964
* https://bugs.launchpad.net/kicad/+bug/1822964
2019-06-05 21:33:20 -04:00
Jon Evans
8d8c743f97
Connectivity: remove unused method
2019-06-05 21:27:56 -04:00
Jeff Young
b9927a0655
Don't put standard menu items into symbol tree context menu.
2019-06-05 23:33:15 +01:00
Jeff Young
469fc3b572
Finish moving symbol editor tree context menu to ACTIONs.
2019-06-05 23:29:59 +01:00
Jeff Young
6fab7cc025
Remove a bunch of ugly mutex hacks now that we don't use wxString's UTF8 mode anymore.
2019-06-05 21:23:41 +01:00
Seth Hillbrand
c6af38477d
CMake: Handle custom_target indirection
...
Building custom targets that depend on custom commands such as our
keyword lexer requires two layers of indirection to pick up changes
properly and not overwrite the same file in parallel builds.
Fixes: lp:1831643
* https://bugs.launchpad.net/kicad/+bug/1831643
2019-06-05 13:05:43 -07:00
Jeff Young
2d40425e4d
Move footprint & symbol tree context menus to tool infrastructure.
...
Fixes: lp:1831692
* https://bugs.launchpad.net/kicad/+bug/1831692
2019-06-05 20:16:48 +01:00
Jeff Young
1ea5b04e22
More ACTIONS work. Nearly done now.
2019-06-04 22:31:42 +01:00
Jeff Young
dfcffddbe4
Fix destruction order in Symbol Properties grid table.
...
wxGrid is VERY cranky about this. I've only found one recipie that works,
and it must be applied strictly.
Fixes: lp:1831317
* https://bugs.launchpad.net/kicad/+bug/1831317
2019-06-04 15:02:42 +01:00
Jeff Young
1fe848f37c
Minor performance enhancements.
2019-06-04 13:56:54 +01:00
Jeff Young
1ea001d497
Go back to event-loop zooming for new frames.
...
The immediate mode appears to have made things worse not better.
2019-06-04 13:56:54 +01:00
Jeff Young
7c337ec45d
Make sure the current desc is shown for parts being edited.
...
Fixes: lp:1820298
* https://bugs.launchpad.net/kicad/+bug/1820298
2019-06-04 13:56:54 +01:00
Jon Evans
1721cc1700
Ensure pasted sheets get parents set properly for screen discovery
...
Fixes: lp:1831460
* https://bugs.launchpad.net/kicad/+bug/1831460
2019-06-03 20:30:35 -04:00
Jeff Young
1bf04d1722
More ACTIONs work.
2019-06-04 00:51:16 +01:00
Jeff Young
568c8c336b
Move DRC control to a tool; move assorted commands to ACTIONS.
2019-06-03 21:08:30 +01:00
Jeff Young
9f1e2e34b7
Move some dupicated tools to common tools.
2019-06-03 21:08:30 +01:00
Jeff Young
e517199794
Move ConfigurePaths and LibTable management to common ACTIONs.
2019-06-03 21:08:30 +01:00
Jeff Young
da4fe27447
More ACTIONS work.
2019-06-02 21:10:56 +01:00
Jeff Young
33773bad4d
Yet more command conversions to ACTIONs.
2019-06-02 21:10:56 +01:00
Jon Evans
256d7b0714
ERC: Use local paths for bus<>bus entry testing
...
Fixes: lp:1831365
* https://bugs.launchpad.net/kicad/+bug/1831365
2019-06-02 11:34:15 -04:00
Jeff Young
dfc2fe3929
Don't try to post-process an empty clipboard paste.
...
Fixes: lp:1831364
* https://bugs.launchpad.net/kicad/+bug/1831364
2019-06-02 16:21:44 +01:00
Jeff Young
45a9544726
Instantate a default menu from no selection when menu is first built.
...
This might resolve some of the GTK menu anomalies.
2019-06-02 12:58:08 +01:00
Jeff Young
6c93cccb70
Implement enable/disable of LibEdit save icon.
...
Fixes: lp:1831314
* https://bugs.launchpad.net/kicad/+bug/1831314
2019-06-01 23:24:17 +01:00
Jeff Young
7f1ed30ff5
Move DeMorgan handling to ACTIONs.
2019-06-01 23:03:24 +01:00
Jeff Young
39b91c90dd
Moved more operations to ACTIONs.
2019-06-01 23:03:24 +01:00
Jeff Young
3777c5270b
Move some more Eeschema operations to ACTIONs.
2019-06-01 16:29:12 +01:00
Jeff Young
74e10791ff
Fix some Mac-specific issues with the Preferences... menu item.
2019-06-01 16:29:12 +01:00
Jon Evans
27a2b840ec
Eeschema: Fix multiple net label ERC after sorting changes
...
Fixes: lp:1831003
* https://bugs.launchpad.net/kicad/+bug/1831003
2019-05-31 21:55:54 -04:00
Jeff Young
f1076c0f48
Fix missing reference keeping history from getting saved.
...
Fixes: lp:1830185
* https://bugs.launchpad.net/kicad/+bug/1830185
2019-05-31 23:38:15 +01:00
Jeff Young
c7fa5c567f
Load sheet content after a paste.
...
Fixes: lp:1830633
* https://bugs.launchpad.net/kicad/+bug/1830633
2019-05-31 23:38:15 +01:00
Jeff Young
1dd1ddf83b
Try an "add wires" strategy instead of trying to figure out what to pick up and what to anchor.
...
Fixes: lp:1831199
* https://bugs.launchpad.net/kicad/+bug/1831199
2019-05-31 21:56:35 +01:00
Jeff Young
d7774b94fc
Fix regression with switching between drag and move operation.
2019-05-31 21:56:35 +01:00
Jeff Young
ead1914b1d
Don't autopan until mouse moves.
2019-05-31 21:55:30 +01:00
Jeff Young
c2662b0e11
Retire EDA_DRAW_PANEL and legacy_wx/EDA_DRAW_FRAME.
2019-05-31 21:55:30 +01:00
Jeff Young
d6e9bdf07b
Convert remaining legacy drawing code to print code.
2019-05-31 21:54:22 +01:00
Jeff Young
03bab2f4a9
Remove some more legacy drawing stuff.
2019-05-31 21:54:22 +01:00
Jeff Young
0a01277808
Fix issues with schematic find/change.
...
Fixes: lp:1831006
* https://bugs.launchpad.net/kicad/+bug/1831006
2019-05-31 21:54:22 +01:00
Jeff Young
d2daab808c
Remove some legacy cursor handling stuff.
2019-05-31 21:54:22 +01:00
Jeff Young
edc8438ef0
Start the process of removing the legacy draw panel.
2019-05-31 21:54:21 +01:00
jean-pierre charras
4842c73530
Fix minor compil warnings.
2019-05-31 21:38:30 +02:00
jean-pierre charras
611878351a
BOM and Netlist dialogs: replace "plugin" by "generator" and/or "script".
...
The "plugins" in these dialogs are not plugins.
They are external scripts (or applications) run from Eeschema.
2019-05-31 11:06:23 +02:00
Jeff Young
1e9da7f57b
Remove CurItem() architecture and legacy routers and drawing code.
2019-05-29 00:26:30 +01:00
Jeff Young
9d29e94cb5
Remove some more legacy code.
2019-05-29 00:26:29 +01:00
Jeff Young
0260b32125
Push resetLocalCoords down into COMMON_TOOLS.
...
Fixes: lp:1830693
* https://bugs.launchpad.net/kicad/+bug/1830693
2019-05-29 00:26:29 +01:00
Jeff Young
a27e4246e0
Move some more menu commands to ACTIONs.
2019-05-29 00:26:29 +01:00
Jeff Young
c0909611d3
Remove a bunch more legacy editing code.
2019-05-29 00:26:29 +01:00
Wayne Stambaugh
133ff9b552
Eeschema: fix broken symbol library links after sheet edit.
...
Refresh the currently edit sheet screen symbol links when the sheet file
name is changed.
https://bugs.launchpad.net/kicad/+bug/1830315
Fixes lp:1830315
2019-05-28 17:31:54 -04:00
Seth Hillbrand
0b629b4bd4
eeschema: Limit normalization on load
...
When loading a new file, we do not want to add junctions where they did
not exist before. This could generate invalid netlists by breaking a
wire at a pin connection point.
We do break/add connections when the user modifies the schematic but
this happens while the user is actively working with the component and
sees the action.
Fixes: lp:1830411
* https://bugs.launchpad.net/kicad/+bug/1830411
2019-05-28 13:29:20 -07:00
Jon Evans
5287ab6e4f
Eeschema: improve simulator behavior for two-source DC analysis
...
Fixes: lp:1830478
* https://bugs.launchpad.net/kicad/+bug/1830478
(cherry picked from commit 356ccd0314
)
2019-05-27 18:23:56 -04:00
Jeff Young
718ad77891
Fix a bug introduced when UseGalCanvas() no longer switches.
...
We still need to setup the viewport the first time.
Also removes some more legacy editing code.
2019-05-27 18:47:20 +01:00
Jeff Young
9d9745b555
Remove more legacy editing code.
2019-05-27 18:47:20 +01:00
Jeff Young
db90e97d0b
fixup! Implement undo for Page Settings in PlEditor, Eeschema and PCBNew.
2019-05-27 14:12:20 +01:00
Jeff Young
d24a2afaca
Fix duplicate to work like paste to keep pins from getting duplicated.
...
Also fixes the post-duplicate move to start at the cursor pos.
Also fixes the fact that duplicate wasn't getting its hotkey.
Fixes: lp:1830596
* https://bugs.launchpad.net/kicad/+bug/1830596
2019-05-27 11:58:56 +01:00
Jeff Young
800cc1a11c
Fix intial drag point for paste in LibEdit.
2019-05-27 11:58:56 +01:00
Jeff Young
e9e28b9aac
Retire legacy block architecture.
2019-05-27 11:58:56 +01:00
Jeff Young
927d2a645c
Move LibEdit Save operations to ACTIONS.
2019-05-27 11:58:55 +01:00
Jeff Young
2502bce987
Move quit back to wxIDs. wxWidgets like to muck around with the location on OSX.
2019-05-27 11:58:55 +01:00
Jeff Young
6936effaa7
Implement undo for Page Settings in PlEditor, Eeschema and PCBNew.
...
Fixes: lp:1820059
* https://bugs.launchpad.net/kicad/+bug/1820059
2019-05-27 11:58:55 +01:00
Jeff Young
bdd44ce88c
Use consistent PageLayout data structure names.
2019-05-27 11:55:58 +01:00
Seth Hillbrand
0e5cc54ec9
Eagle: Fix crash when importing Eagle V6
...
This fixes multiple issues when importing Eagle V6 files.
Crashes occured when arcs of 0-length were found and when parts were
referenced in the schematic that were not found in the library. This
could happen if the library and schematic were different cases.
Fixes: lp:1830564
* https://bugs.launchpad.net/kicad/+bug/1830564
2019-05-26 20:31:55 -07:00
Jon Evans
d2a2dea9c4
Eeschema: fix worksheet and background color for printing
...
Fixes: lp:1820611
* https://bugs.launchpad.net/kicad/+bug/1820611
(cherry picked from commit 720b26d11e
)
2019-05-26 14:26:26 -04:00
Jon Evans
b40289c1bd
Eeschema: use worksheet color when plotting
...
Fixes: lp:1825568
* https://bugs.launchpad.net/kicad/+bug/1825568
(cherry picked from commit e35be13b23
)
2019-05-26 13:03:23 -04:00
jean-pierre charras
568d4e2b19
Avoid including id.h in a lot of files that do not use it.
2019-05-26 08:14:25 +02:00
jean-pierre charras
b8e2054b23
Activate context menu in LIB_VIEW_FRAME canvas.
2019-05-25 10:13:27 +02:00
Jeff Young
a3dfce5adb
Implement common file menu actions and move Eeschema over.
2019-05-25 01:14:21 +01:00
Jeff Young
94c8e84d3b
Make sure PCB document is opened when doing an update.
...
Fixes: lp:1830256
* https://bugs.launchpad.net/kicad/+bug/1830256
2019-05-24 21:23:26 +01:00
jean-pierre charras
057366e97e
Viewlib frame: make toolbar menu "List Hotkeys" working
2019-05-24 21:01:49 +02:00
Jeff Young
85f984ccd9
Add point-editor activation for immediate-mode drawing.
2019-05-24 19:49:09 +01:00
Jeff Young
323bb0f8e1
Moving PageLayout editor to GAL canvas and modern toolset.
2019-05-24 19:49:09 +01:00
Michael Kavanagh
43a5bb72ca
Fix swapped mirror icons in eeschema context menu
...
Fixes: lp:1828631
* https://bugs.launchpad.net/kicad/+bug/1828631
2019-05-24 13:12:58 -04:00
jean-pierre charras
40382f4d52
Viewlib: menubar/view menu: make grid select working
...
Set also a better icon for this menu item
2019-05-24 15:49:51 +02:00
jean-pierre charras
944ecc8913
Remove unused vars.
2019-05-24 15:21:40 +02:00
jean-pierre charras
4ae5a006d0
Viewlib: fix minor issues.
2019-05-24 12:54:11 +02:00
jean-pierre charras
e3815381ab
Viewlib: register missing EE_SELECTION_TOOL.
...
This tool is needed to manage the View menu.
2019-05-24 11:28:39 +02:00
Jon Evans
4c33320cbc
Stop erroneously accepting bus alias labels without curly braces
2019-05-23 23:06:51 -04:00
Jon Evans
4e6c9ac7b1
Remove defunct junction code that left some isolated
...
Fixes: lp:1828716
* https://bugs.launchpad.net/kicad/+bug/1828716
2019-05-23 22:58:46 -04:00
Jon Evans
8c89847627
Properly handle tildes at the end of bus vector names
...
Fixes: lp:1825532
* https://bugs.launchpad.net/kicad/+bug/1825532
2019-05-23 22:47:01 -04:00
Jon Evans
ab3ada5200
Clear moving flag for second-click-placed items
...
Fixes: lp:1830227
* https://bugs.launchpad.net/kicad/+bug/1830227
2019-05-23 21:51:14 -04:00
Jeff Young
924736c6f3
Make sure PCBNew is open when running F8.
...
Fixes: lp:1830256
* https://bugs.launchpad.net/kicad/+bug/1830256
2019-05-23 22:57:53 +01:00
Jeff Young
39bb4b639f
Fix crash with opening find dialog twice.
...
Fixes: lp:1830224
* https://bugs.launchpad.net/kicad/+bug/1830224
2019-05-23 22:57:53 +01:00
Jeff Young
ebd8c44eee
Don't confuse SCH_ITEMs and LIB_ITEMs.
...
Fixes: lp:1829826
* https://bugs.launchpad.net/kicad/+bug/1829826
2019-05-23 22:57:53 +01:00
jean-pierre charras
872c8ca37b
Remove a duplicate icon.
2019-05-23 16:21:06 +02:00
Wayne Stambaugh
c52ff1ca23
Symbol Editor: fix datasheet field bug loading old symbol libraries.
...
This only applies to the root symbol when the datasheet field is not
empty and the datasheet for root symbol alias in the document file is
empty. Use the root symbol datasheet field value when adding a new
symbol that meets this criteria.
The root symbol datasheet field gets copied to the root symbol alias
datasheet member variable so if the symbol is modified and saved, the
datasheet information is saved in the .dcm file.
https://bugs.launchpad.net/kicad/+bug/1830078
Fixes lp:1830078
2019-05-23 09:00:50 -04:00
Wayne Stambaugh
300f5cb082
Eeschema: fix datasheet field bug loading old symbol libraries.
...
This only applies to the root symbol when the datasheet field is not
empty and the datasheet for root symbol alias in the document file is
empty. Use the root symbol datasheet field value when adding a new
symbol that meets this criteria.
https://bugs.launchpad.net/kicad/+bug/1830083
Fixes lp:1830083
2019-05-23 07:25:16 -04:00
John Beard
0617bffce0
Eeschema: build with object libraries
...
This is done to allow access to the eeschema library
internals for purposes of test and script access, as the
DLL library has highly restrictive -fvisibility settings
that otherwise prevent the tests being able to access 99.9%
of the eeschema library functions (only a single function
is APIEXPORT'ed, therefore that's the only test we can do).
Using object libraries is a bit of a hack, and makes for
a slower link when done for multiple targets, but with the currently
supported CMake versions, it's about as good as we can get.
A better solution in the longer term may be to break eeschema_kiface(_objects)
into many smaller libraries, each of which has a much more defined scope,
rather than one big interlinked amorphous lump. This has the advantage that
each module is testable in isolation, and we get better organisation of
inter-dependencies in the codebase.
Then, the kiface DLL will gather these sub-libs and present what
is needed on the visible DLL API. Thus, we get both a testable
suite of library functions, and a restricted kiface DLL interface.
2019-05-23 11:29:28 +01:00
John Beard
e1f6230e8c
Do not statically construct wxTimer
...
If you construct wxTimer statically, it will be constructed
before WX init, which means you might get assertions about
missing m_impl's within the timer class.
The solution is to construct the wxTimer at run time. In this
case, static within the function will be constructed only after
the function is called (and actually the scope only needed to be
this function anyway).
2019-05-23 11:28:11 +01:00
Jeff Young
d3777eaddf
Don't double-launch selection tool.
...
Fixes: lp:1829741
* https://bugs.launchpad.net/kicad/+bug/1829741
2019-05-23 01:56:06 +01:00
Jeff Young
1f2bdf895e
Not all SCH_DRAW_PANELs have a selection tool.
...
Fixes: lp:1829981
* https://bugs.launchpad.net/kicad/+bug/1829981
2019-05-23 00:27:53 +01:00
Jeff Young
0047f88f82
Mark unfold bus menu as clean so it doesn't get generated a second time.
...
Fixes: lp:1829878
* https://bugs.launchpad.net/kicad/+bug/1829878
2019-05-23 00:27:53 +01:00
Jeff Young
1636405b66
Set a reference point for all selection sizes.
...
Fixes: lp:1829833
* https://bugs.launchpad.net/kicad/+bug/1829833
2019-05-23 00:27:53 +01:00
Tomasz Włostowski
ecb81426a4
eemodern: fixed use-after-free in SCH_DRAWING_TOOLS::DrawSheet().
2019-05-23 00:28:58 +02:00
Jeff Young
323ecada8d
Generate refresh preview events when objects are moving.
...
Fixes: lp:1829683
* https://bugs.launchpad.net/kicad/+bug/1829683
2019-05-22 21:48:04 +01:00
Jeff Young
fbffb9ae1e
Don't put KICAD_T arrays on stack and expect them to be there when you need them.
...
Fixes: lp:1829748
* https://bugs.launchpad.net/kicad/+bug/1829748
2019-05-22 21:48:04 +01:00
Jeff Young
67f7571f04
Don't call VIEW::Redraw() from within the tool.
...
Fixes: lp:1828824
* https://bugs.launchpad.net/kicad/+bug/1828824
2019-05-22 21:48:04 +01:00
Jeff Young
67cc2aac2e
Rework Eeschema find/replace for modern toolset.
...
Fixes: lp:1827274
* https://bugs.launchpad.net/kicad/+bug/1827274
Fixes: lp:1827240
* https://bugs.launchpad.net/kicad/+bug/1827240
2019-05-22 21:48:04 +01:00
Tomasz Włostowski
2b38b23a5e
eemodern: fixed use-after-free crash in LIB_EDIT_TOOL::DoDelete()
2019-05-22 21:35:03 +02:00
jean-pierre charras
f18807ea0f
Eeschema: Ensure axis are always drawn in libedit and viewlib
...
Fixes: lp:1822408
https://bugs.launchpad.net/kicad/+bug/1822408
2019-05-22 10:04:34 +02:00
jean-pierre charras
459a972116
Remove unused vars.
2019-05-22 08:27:48 +02:00
Seth Hillbrand
e1373d70ae
libedit: Ensure proper dereference in shared tools
...
Fixes: lp:1829826
* https://bugs.launchpad.net/kicad/+bug/1829826
2019-05-21 19:43:15 -07:00
Seth Hillbrand
b53b29399d
eeschema: Ensure conn is updated after import
...
After importing Eagle files, we need to make sure that the connectivity
network is updated before the system requests a new netlist. Otherwise,
we end up with different results from the first to second updates.
2019-05-21 19:31:59 -07:00
Seth Hillbrand
68451a2a9c
eeschema: Don't free pointers held by undo stack
2019-05-21 16:19:48 -07:00
Seth Hillbrand
a62a89eac3
EAGLE: Prevent numeric-only component references
...
KiCad does not allow references to be numeric only. This prefixes such
references with "UNK" to note that the reference designator type is
unknown.
2019-05-21 13:49:18 -07:00
Wayne Stambaugh
691f05273e
Eeschema: replace invalid characters when converting from text to label.
...
Fixes lp:1829664
https://bugs.launchpad.net/kicad/+bug/1829664
(cherry picked from commit 0403437ad0
)
2019-05-21 07:36:21 -04:00
jean-pierre charras
62a5302bc4
Fix issues created by commit cbb0d74bd5
.
...
This commit redirected too many menuitem IDs to the tool manager.
Only some context menu items have to be redirected, not all inside ACTION_EVENT events.
This hack is not perfect. It needs a better handling of ACTION_EVENT handling.
2019-05-21 12:48:37 +02:00
Jon Evans
c5f8a6b26e
Add a nicer bus / net name validator
2019-05-20 22:52:39 -04:00
Jon Evans
1401d8a8ea
Revert "Allow commas in group bus signal lists"
...
This reverts commit cc290715a2
.
(pushed accidentally; then decided behavior should be different)
2019-05-20 19:28:32 -04:00
Tomasz Włostowski
bc52f0a03b
eemodern: clean printf debug gibberish, implement inline drag, move & cursor warp/reference point options
2019-05-20 21:04:46 +02:00
Tomasz Włostowski
af30eca3cb
eemodern: hover selection should autoclear after invoking properties dialog
2019-05-20 21:04:46 +02:00
Tomasz Włostowski
aff3243f3b
eeschema: fix use-after-free crash in GetScreen()/GetCurrentSheet()
2019-05-20 21:04:46 +02:00
Tomasz Włostowski
034669bf30
eemodern: implement drag-related settings in the Preferences window
2019-05-20 21:04:46 +02:00
Tomasz Włostowski
5ea46e8b78
eemodern: initial attempt at inline drag/move actions
2019-05-20 21:04:46 +02:00
Jon Evans
9d56102210
Prevent unannotated components from driving connectivity
...
Fixes: lp:1829301
* https://bugs.launchpad.net/kicad/+bug/1829301
2019-05-19 11:40:24 -04:00
Jon Evans
cc290715a2
Allow commas in group bus signal lists
2019-05-19 11:09:25 -04:00
Jeff Young
813de6a1f3
Implement brightening for Eeschema Find/Replace.
2019-05-18 14:28:22 +01:00
Jeff Young
21a7621ddb
Fix issues with multiple M or G commands in a row.
2019-05-18 14:11:19 +01:00
Jeff Young
7d9a0b06e0
Push help menu down into EDA_BASE_FRAME.
2019-05-18 13:14:08 +01:00
Jeff Young
952108dd43
Implement SCH_SHEET_PIN selection, rotation and mirroring.
...
Fixes: lp:1829521
* https://bugs.launchpad.net/kicad/+bug/1829521
2019-05-18 00:23:12 +01:00
Jeff Young
5f851a4bad
Add AutoplaceFields to symbol tool context menu.
2019-05-18 00:21:49 +01:00
Jeff Young
7c25001622
Implement immediate actions for adding and importing sheet pins.
...
Fixes: lp:1829314
* https://bugs.launchpad.net/kicad/+bug/1829314
2019-05-18 00:21:49 +01:00
Jeff Young
38cdafd407
Remove vestiges of legacy BLOCK architecture from eeschema.
2019-05-18 00:21:49 +01:00
Jeff Young
e33871fbf0
Make code easier to read/understand.
2019-05-18 00:21:49 +01:00
jean-pierre charras
0961614df2
Eeschema: fix incorrect position of fields of a hierarchical sheet when rotated
...
Fixes: lp:1829048
https://bugs.launchpad.net/kicad/+bug/1829048
2019-05-17 08:30:16 +02:00
Jeff Young
69339f341b
Don't double-collect refs, values, etc. They were already collected in the fields case.
...
Fixes: lp:1828701
* https://bugs.launchpad.net/kicad/+bug/1828701
2019-05-17 01:42:24 +01:00
Jeff Young
6b3fe33d6f
Improve selection logic for sloppy selections.
2019-05-17 00:48:39 +01:00
Jeff Young
5dd71b5563
Disable pin table and part properties when there's no part.
...
Fixes: lp:1828962
* https://bugs.launchpad.net/kicad/+bug/1828962
2019-05-16 23:53:33 +01:00
Jeff Young
68224e0fcd
Don't double-add pins to parent part when pasting.
...
Also adds undo to paste operations in LibEdit.
Fixes: lp:1829355
* https://bugs.launchpad.net/kicad/+bug/1829355
2019-05-16 23:53:11 +01:00
Jeff Young
0dd1584394
Add import-sheet-pin error message and move messages to status popups.
...
Fixes: lp:1829314
* https://bugs.launchpad.net/kicad/+bug/1829314
2019-05-16 23:11:22 +01:00
Jeff Young
6630a7227d
Constrain SHEET_PIN movement, and keep them attached when resizing SHEET.
...
Fixes: lp:1829314
* https://bugs.launchpad.net/kicad/+bug/1829314
2019-05-16 22:36:19 +01:00
Jeff Young
fbb807f3bb
Move some more menu & toolbar items to modern toolset.
2019-05-16 19:57:06 +01:00
Jeff Young
eba892009d
Improve hit-test logic by gradually increasing threshold.
...
Fixes: lp:1828222
* https://bugs.launchpad.net/kicad/+bug/1828222
2019-05-16 19:57:05 +01:00
John Beard
8378f97a78
Eeschema: enable grid change hotkey
...
Add the N/Shift+N hotkeys to the eeschema hotkey file.
Also adjust the COMMON_TOOLS::GridNext/Prev to work when
the screen's grid definitions do not have consecutive command
IDs (they do not in eeschema).
This is related to lp:1811018 (but doesn't constitute a fix).
* https://bugs.launchpad.net/kicad/+bug/1811018
2019-05-16 14:10:43 +01:00
Jeff Young
69afa27a5f
Implement ACTION_TOOLBAR and update some of the menus to ACTION_MENU.
...
This gives us better separation of MVC in line with the design of
the modern toolset. It also reduces a whole bunch of duplicated
data.
2019-05-15 17:50:52 +01:00
Jeff Young
f9e4ee1fc9
CONTEXT_MENU -> ACTION_MENU. (Now used for menu-bar menus too.)
2019-05-15 17:50:52 +01:00
Jeff Young
e850592587
Cleanup.
2019-05-15 17:50:52 +01:00
Jeff Young
053c26c96e
Refresh shown_text cache when incrementing label name.
...
Fixes: lp:1828874
* https://bugs.launchpad.net/kicad/+bug/1828874
2019-05-15 17:50:52 +01:00
Wayne Stambaugh
6f27ef7f66
Fix library table editor dialog environment variable grid column names.
...
Fixes lp:1825977
https://bugs.launchpad.net/kicad/+bug/1828459
2019-05-14 07:57:58 -04:00
Jeff Young
ef5c69167a
Start moving some LibEdit and SchEdit menubar menus to actions.
...
Also includes a bunch of bug fixes that got intermingled.
Fixes: lp:1828826
* https://bugs.launchpad.net/kicad/+bug/1828826
Fixes: lp:1828826
* https://bugs.launchpad.net/kicad/+bug/1828826
Fixes: lp:1828793
* https://bugs.launchpad.net/kicad/+bug/1828793
2019-05-13 21:44:29 +01:00
Jeff Young
d290154dd3
Fix rectangle resizing in LibEdit.
...
Fixes: lp:1828791
* https://bugs.launchpad.net/kicad/+bug/1828791
2019-05-13 21:44:29 +01:00
Wayne Stambaugh
3c4f8c1bf7
Fix frame name capitalization in all about dialogs.
...
This is a stop gap fix. It should be possible to use the wxFrame title
string for this but some of the frame windows have appropriated the title
string for configuration file naming purposes which is less than ideal.
Fixes lp:1825977
https://bugs.launchpad.net/kicad/+bug/1825977
2019-05-13 15:40:44 -04:00
Jon Evans
7a715904ad
Fix copy-paste error
2019-05-12 23:24:11 -04:00
Jon Evans
ee095a6711
Make sure secondary drivers are followed-up on after absorption
2019-05-12 20:23:16 -04:00
Jon Evans
019f63cd95
Don't merge subgraphs by matching sheet pin names
2019-05-12 18:41:04 -04:00
Jeff Young
924a5e68f0
Fix missing superclass call.
2019-05-12 18:20:41 +01:00
Jeff Young
25209516a6
Adjust net highlighting after edits.
...
Fixes: lp:1800291
* https://bugs.launchpad.net/kicad/+bug/1800291
2019-05-12 18:20:41 +01:00
Jeff Young
f602ccd814
Insert EE_TOOL_BASE under SchEdit and LibEdit tools, and fix errant rename scope which clobbered PCBNew's PICKER_TOOL.
2019-05-12 13:47:08 +01:00
Jeff Young
5c39521149
Move Symbol Properties and Pin Table to actions.
...
Fixes: lp:1804273
* https://bugs.launchpad.net/kicad/+bug/1804273
2019-05-11 15:38:49 +01:00
Jeff Young
7995b5cc3c
Restore selection on abort and undo/redo.
...
Also includes a related bug fix to not create an undo record for
the initial schematic cleanup.
Fixes: lp:1825975
* https://bugs.launchpad.net/kicad/+bug/1825975
2019-05-11 15:38:49 +01:00
Jeff Young
76a915d472
Fix highlighting when initiated via ctrl-click.
...
Fixes: lp:1796755
* https://bugs.launchpad.net/kicad/+bug/1796755
2019-05-11 15:38:49 +01:00
jean-pierre charras
0a308c4584
Fix minor compil warnings
2019-05-11 11:12:39 +02:00
jean-pierre charras
17ac5b6d13
DIALOG_EDIT_COMPONENT_IN_LIBRARY: fix a dialog resize issue (grid not resized).
2019-05-11 10:07:30 +02:00
jean-pierre charras
e19141bdc8
LIB_CIRCLE: fix missing transform of m_EndPos in mirror and rotate.
...
Fixes: lp:1828655
https://bugs.launchpad.net/kicad/+bug/1828655
2019-05-11 08:46:27 +02:00
Jeff Young
9cc3d6764f
fixup! Fix some legacy set-to-idle statements.
2019-05-10 23:25:54 +01:00
Jeff Young
b83dac68d0
Fix drag-select hit-testing of LibEdit items.
2019-05-10 23:24:27 +01:00
Jeff Young
5e08be7018
Fix some legacy set-to-idle statements.
2019-05-10 23:24:02 +01:00
Jeff Young
792c4328aa
Cleanup.
2019-05-10 21:40:08 +01:00
Jeff Young
a9f663d5ef
Soften hit-testing in SchEdit and LibEdit a bit.
...
Old threshold was 0; new is 5 pixels.
2019-05-10 20:46:28 +01:00
Jeff Young
0c2ba94b16
More sharing between SchEdit and LibEdit.
2019-05-10 20:22:26 +01:00
Jeff Young
86d1592777
Fix bug with re-enting selection main loop.
2019-05-10 19:56:20 +01:00
Jeff Young
c1539ae014
Naming changes to reflect sharing between SchEdit and LibEdit.
2019-05-10 19:56:20 +01:00
Jeff Young
f3c95ad83c
Clean up the RepeatItem architecture and finish deleting the UndoItem facility.
2019-05-10 19:56:20 +01:00
Jeff Young
7da2631b27
Check item before concluding that ConvertText has run.
...
Otherwise we set item from nullptr back to the selection, and then
we think we're dragging again which causes all kinds of grief.
Fixes: lp:1828067
* https://bugs.launchpad.net/kicad/+bug/1828067
2019-05-10 16:11:57 +01:00
Jeff Young
f6e07f575a
Rename for clarity.
...
SetOffset() didn't set anything; it performed an action.
Move() suggests a delta, when it in fact does a SetPosition().
2019-05-10 16:11:57 +01:00
Jeff Young
ea0941cab3
Implement modern tools for LibEdit.
2019-05-10 16:11:57 +01:00
Jeff Young
40f41133b3
Move Circle, Arc, Rectangle and PolyLine tools to modern toolset.
2019-05-10 16:11:57 +01:00
Wayne Stambaugh
ae54f34392
Eeschema: fix corrupted schematic and symbol library files.
...
Prevent user from pasting text with carriage return and/or line feed
characters in field value edit control in the schematic symbol and symbol
library properties dialogs.
Make all objects derived from GRID_CELL_TEXT_BUTTON use validators
correctly.
Add validators to FIELDS_GRID_TABLE object for field values other than
the mandatory fields.
Create a validator to check that a string is a valid LIB_ID.
Fixes lp:1828214
https://bugs.launchpad.net/kicad/+bug/1828214
2019-05-10 08:21:37 -04:00
Seth Hillbrand
589a37bfe8
eeschema: Don't segfault on empty drawlist
2019-05-09 15:11:36 -07:00
Seth Hillbrand
0e5f5d37d1
eeschema: Fix sign error in comparison
2019-05-09 14:10:53 -07:00
Seth Hillbrand
2f782ac7a4
eeschema: Prevent double-commit on duplicate/copy
...
When activating the move from a drag extension, we need to add
additional components to the commit. This breaks for duplicate/copy
when we have already added the correct components
2019-05-09 13:46:35 -07:00
jean-pierre charras
c716d66e53
Fix typo
2019-05-08 14:28:31 +02:00
Jon Evans
3e5005698c
Add a bit of margin to line selection hit testing
2019-05-07 22:51:46 -04:00
Jon Evans
c02777a721
Clean up some unnecessary header dependencies
2019-05-07 22:50:10 -04:00
Jon Evans
8341e3f972
Ensure prefixes and suffixes make it on to bus members
2019-05-07 22:48:25 -04:00
Jon Evans
1de5b83d82
Promote net names to higher in hierarchy when possible
2019-05-07 21:59:36 -04:00
Jon Evans
81993eef83
Ensure bus member links get updated in hierarchical situations
2019-05-07 21:31:53 -04:00
Jon Evans
3d3c280f22
Fix hierarchical linking if parent sheet has a weak driver
2019-05-07 21:31:53 -04:00
Jeff Young
a40367ce17
Add a wire between direct-connect items when only is being dragged.
...
Fixes: lp:1798968
* https://bugs.launchpad.net/kicad/+bug/1798968
2019-05-07 20:39:46 +01:00
Jeff Young
469231ae15
Move Pin, Symbol Text and Symbol Anchor to modern toolset.
2019-05-07 20:39:46 +01:00
Jeff Young
2e4d948535
Fix some more hotkey issues.
...
Also reformatted the file to make it easier to see what is there and
what is missing. Apologies to the 100-char-width folks, but we were
just missing to many command IDs in this file.
Fixes: lp:1828006
* https://bugs.launchpad.net/kicad/+bug/1828006
2019-05-07 20:39:46 +01:00
Jeff Young
cf046e0548
Anchor a selected wire at the edge of a drag which is connected to a non-drag item.
...
Fixes: lp:1827846
* https://bugs.launchpad.net/kicad/+bug/1827846
2019-05-07 12:04:19 +01:00
Jeff Young
f40408187e
A couple of temp hacks for LibEdit <esc> processing while in transition.
...
Fixes: lp:1828004
* https://bugs.launchpad.net/kicad/+bug/1828004
2019-05-07 12:04:19 +01:00
Jeff Young
11ec7d4651
Invert the Y axis of SCH_PIN coords when hit-testing.
...
Fixes: lp:1827849
* https://bugs.launchpad.net/kicad/+bug/1827849
2019-05-07 12:04:19 +01:00
Jeff Young
2097411550
Refresh RequestSelection selection if all items were filtered out.
...
If you have, for instance a pin selected and do a cmd-E we'll filter
out the pin and then do nothing. We should instead treat it as a
hover selection if everything got filtered.
2019-05-07 12:04:19 +01:00
jean-pierre charras
2c43d4d6bf
Eeschema: fix incorrect display of the page number in a complex hierarchy.
...
When, inside a complex hierarchy, one switch from an instance of a sheet to an other instance of this sheet,
the page number shown in the worksheet was not updated on screen, and the initial number was displayed.
Fixes: lp:1827981
https://bugs.launchpad.net/kicad/+bug/1827981
2019-05-07 10:55:26 +02:00
Jon Evans
316be464ab
Handle higher-priority connection drivers located in subsheets
...
Fixes: lp:1827850
* https://bugs.launchpad.net/kicad/+bug/1827850
2019-05-06 22:09:05 -04:00
Jeff Young
f1a38a6d41
Respond to <esc> from selection tool.
...
Fixes: lp:1827917
* https://bugs.launchpad.net/kicad/+bug/1827917
2019-05-06 21:56:19 +01:00
Jeff Young
cd2bd23c37
Fix a bunch of issues with hotkeys, IDs and event processing.
...
Fixes: lp:1827894
* https://bugs.launchpad.net/kicad/+bug/1827894
2019-05-06 21:42:00 +01:00
Jeff Young
e5151ed639
Use parent's transform when moving SCH_FIELDs.
...
Fixes: lp:1827873
* https://bugs.launchpad.net/kicad/+bug/1827873
2019-05-06 21:41:44 +01:00
Jeff Young
a76bcc204f
Use parent's transform when moving SCH_FIELDs.
...
Fixes: lp:1827873
* https://bugs.launchpad.net/kicad/+bug/1827873
2019-05-06 16:59:23 +01:00
Jeff Young
b97d65e791
Fix crash bug when deleting sheet pin and disappearing bug when moving them.
...
Fixes: lp:1827890
* https://bugs.launchpad.net/kicad/+bug/1827890
2019-05-06 16:31:02 +01:00
Jeff Young
13beb344ca
Fix LIB_FIELD selection bug. (It wasn't checking for convert == 0.)
2019-05-06 16:01:39 +01:00
Jeff Young
d12eee9c98
Process new sheets after drawing.
2019-05-06 15:31:23 +01:00
Jeff Young
207900e4f9
Move libedit message panel updating to the Inspection Tool.
2019-05-06 15:31:23 +01:00
Jeff Young
a12d769074
Code clarification and commenting.
...
Also renames toolbar files to reduce confusion with the modern toolset
tool files.
2019-05-06 15:31:23 +01:00
Jeff Young
8e75824d29
Use selection tool for locateItem.
2019-05-06 15:31:23 +01:00
Jeff Young
f87d371b8b
Move to shared COLLECTORS for sch and lib.
2019-05-06 15:31:23 +01:00
Jeff Young
cc439f9ab0
Replace accidentally deleted mouse processing for LibEdit.
2019-05-06 03:30:51 +01:00
Jeff Young
49231ac08f
Fix missing event processing for Leave Sheet button in toolbar.
2019-05-06 03:30:51 +01:00
Jon Evans
09c9db472e
Properly handle buses that have been linked by net wires only
...
Fixes: lp:1825532
* https://bugs.launchpad.net/kicad/+bug/1825532
2019-05-05 19:48:55 -04:00
Jon Evans
e9eacbc91c
Ensure subgraphs with multiple labels get sorted
2019-05-05 19:09:05 -04:00
Jon Evans
019a731e03
Back-propagate from child sheets when two parents point to one child
2019-05-05 16:05:36 -04:00
Jeff Young
b7e67073ef
Fix bugs in bus unfold logic.
...
The worst of which left you in the bus unfold popup menu event loop
if you cancelled the menu by clicking outside it.
2019-05-05 19:48:11 +01:00
Jeff Young
0b2e1d00ea
Don't allow motion between two clicks of a dblclick to spoil forceHV.
2019-05-05 18:38:49 +01:00
Jeff Young
d881f4b21f
When unfolding a bus from the selection tool, stay in that tool.
2019-05-05 18:36:18 +01:00
Jeff Young
c4fac81dbb
Transition from bus to wire tool when unfolding bus.
2019-05-05 17:14:30 +01:00
Jeff Young
a42a4b0b52
Implement immediate bus unfold and add bus unfold to selection context menu.
2019-05-05 17:14:30 +01:00
Jeff Young
fd546da640
Homogenize hit testing and selection return types.
...
Prep work for sharing SCH_SELECTION_TOOL with LibEdit.
2019-05-05 17:14:30 +01:00
Jeff Young
2d28ab7dd2
More cleanup.
2019-05-05 17:14:30 +01:00
Jeff Young
32765ebffd
Do some refactoring in prep for sharing some sch tools with libedit.
2019-05-05 17:14:30 +01:00
Jeff Young
ed0e6af66d
Move to direct tool registration.
...
It was confusing that the primary frames registered their tools
differently than the other frames. In addition, since the other
frames also added their own tools, foo_actions::RegisterAllTools()
didn't really register all tool but rather those used by the
principal frame (PCB_EDIT_FRAME, SCH_EDIT_FRAME, etc.)
2019-05-05 17:14:30 +01:00
Jeff Young
dd9c426922
Cleanup a TODO.
2019-05-05 17:14:30 +01:00
Jeff Young
b5fd7b9842
Move Leave Sheet to the top of the context menu.
2019-05-05 17:14:30 +01:00
Jeff Young
7e3ad4585a
Fix issues with dragging, moving and rotating wires.
2019-05-05 17:14:30 +01:00
Jeff Young
2edb09e583
Double click action should enter sheet.
2019-05-05 17:14:30 +01:00
Jeff Young
4ccfa17ff9
Fix bugs in sheet duplicate & copy/paste.
...
Don't edit sheet during AddToScreenAndUndoList() call. If it's
cancelled and we delete the item, callers will still own pointers
to the freed memory. Do it in New and Paste instead.
2019-05-05 17:14:30 +01:00
Jeff Young
554094ada6
Fix de-reference of freed memory issue.
2019-05-05 17:14:30 +01:00
Jeff Young
a825cdfa5a
Fix new image drawing issue.
2019-05-05 17:14:30 +01:00
Jeff Young
bcdc3ad90a
Set IS_NEW flag on new images. And a bunch of cleanup of dead code.
2019-05-05 17:14:30 +01:00
Jeff Young
21b315f2af
Finish removing GetCurItem() from eeschema.
2019-05-05 17:14:30 +01:00
Jeff Young
6e695aac25
Move bus unfold and symbol unit selection to modern toolkit.
2019-05-05 17:14:30 +01:00
Jeff Young
f4b92e6acf
Refactor as SCH_DRAWING_TOOL was getting too big.
2019-05-05 17:14:30 +01:00
Jeff Young
2774af928a
Remove extra Show Datasheet menu item.
2019-05-05 17:14:30 +01:00
Jeff Young
20b63174dc
Support wire & bus drawing from selection tool.
2019-05-05 17:14:30 +01:00
Jeff Young
f95f202f81
Restore Jon's change which I accidentally nuked.
2019-05-05 17:14:30 +01:00
Jeff Young
f187f91f57
Seth's fixes to regex processing.
2019-05-05 17:14:30 +01:00
Jeff Young
1cc3055481
Allow rotation/mirroring of wires.
2019-05-05 17:14:30 +01:00
Jeff Young
4ca0f4da10
Fixes to the context menu logic around wire/bus drawing.
2019-05-05 17:14:30 +01:00
Jeff Young
7273748c57
Context menu cleanup for eeschema modern toolset.
2019-05-05 17:14:30 +01:00
Jeff Young
90a663facd
Implement sheet cleanup in modern toolset.
2019-05-05 17:14:30 +01:00
Jeff Young
1e5334f5d4
Implement DeMorgan conversions in modern toolset.
2019-05-05 17:14:30 +01:00
Jeff Young
7c54fc9c46
Cleanup.
2019-05-05 17:14:30 +01:00
Jeff Young
29f1787af2
Logic improvements and fixes for wire segment selection states.
2019-05-05 17:14:30 +01:00
Jeff Young
c09817e08c
Context menus for labels.
2019-05-05 17:14:30 +01:00
Jeff Young
0ea156042b
Fix over-zealous wire-grabbing for drag.
2019-05-05 17:14:30 +01:00
Jeff Young
a61bbea4bd
Fix issue with selection being inadvertantly cleared via ClearFlags().
...
Also fixes an undo bug when pick-component-rotate-place-undo.
2019-05-05 17:14:30 +01:00
Jeff Young
59af079cbd
Fix some hotkey collisions.
2019-05-05 17:14:30 +01:00
Jeff Young
58ba573038
Handle cascading selections in placement.
...
See https://forum.kicad.info/t/call-for-testers-eemodern/16663/32
2019-05-05 17:14:29 +01:00
Jeff Young
e9dd8542d1
Allow user to change from move to drag and vice versa.
...
Also fixes bugs when doing a duplicate in the middle of a move.
2019-05-05 17:14:29 +01:00
Jeff Young
0af7c87277
Add resize sheet to context menus. Fix bugs in it.
...
Also assign a bunch of icons that were missing.
2019-05-05 17:14:29 +01:00
Jeff Young
bbd8659f69
Implement explicit cross-probing (mainly for sheets which are too slow to do automatically).
...
Also moves the message panel updaters to SCH_INSPECTION_TOOL.
2019-05-05 17:14:29 +01:00
Jeff Young
588d13a912
Fix gcc issue with temp variable and move some collection specs.
...
Having the collection specs localized with their code improves
encapsulation.
(Thanks to crasic for the original patch.)
2019-05-05 17:14:29 +01:00
Jeff Young
35e8a340ca
Add enter/leave sheet to modern toolset.
2019-05-05 17:14:29 +01:00
Jeff Young
423d430b58
Replace deleteNode and deleteConnection with selectNode and selectConnection.
2019-05-05 17:14:29 +01:00
Jeff Young
1ff7869ec3
Move Edit with Symbol Editor to modern toolset context menu.
2019-05-05 17:12:59 +01:00
Jeff Young
f81007f74b
Some clean-up and moving message panel update to selection event.
2019-05-05 17:12:59 +01:00
Jeff Young
2244dcd567
Move show datasheet to SCH_INSPECTOR_TOOL and add show marker info.
2019-05-05 17:12:59 +01:00
Jeff Young
902be18a04
More modern toolset context menu work.
...
Text/label type changes and bus entry shape changes. And some
context menu bug fixing.
2019-05-05 17:12:59 +01:00
Jeff Young
ddbd92c274
Add some more context menu stuff to eeschema modern toolset.
2019-05-05 17:12:59 +01:00
Jeff Young
b526461a8e
Fix colliding hotkeys issue.
...
All grid commands need to be shared now as they're implemented
by a common tool.
2019-05-05 17:12:59 +01:00
Jeff Young
f2474d074b
Clean out stuff that's already been moved.
2019-05-05 17:12:59 +01:00
Jeff Young
42383ae871
Build out some of the modern toolkit context menus.
2019-05-05 17:12:59 +01:00
Jeff Young
da988428cf
Add modern toolset cut/copy/paste. They now use the system clipboard.
2019-05-05 17:12:59 +01:00
Jeff Young
2bd4a1b58c
Implement properties dialogs in modern toolset.
2019-05-05 17:12:59 +01:00
Jeff Young
9e2bbcb8b6
Clean up delete and fix bug with juctions getting double-deleted.
2019-05-05 17:12:59 +01:00
Jeff Young
de347998d1
Implement drag in modern toolset.
2019-05-05 17:12:59 +01:00
Jeff Young
57a491357f
Improve encapsulation. SCH_LINE has no business knowing about drags.
2019-05-05 17:12:59 +01:00
Jeff Young
eacc3e67a5
Implement repeatDrawItem in modern toolkit and fix bugs.
...
Fixes moving of SCH_FIELDS.
Fixes undo operations around SCH_FIELDS and SCH_PINS.
2019-05-05 17:12:59 +01:00
Jeff Young
4e0208dfba
Move duplicate item and block to modern toolset.
2019-05-05 17:12:59 +01:00
Jeff Young
a80f7432b7
Update dangling ends when dragging block.
2019-05-05 17:12:59 +01:00
Jeff Young
1c8461bec7
Transition mirroring to modern toolset.
2019-05-05 17:12:59 +01:00
Jeff Young
8c00dac3c7
Add modern toolset notification to eeschema undo/redo.
2019-05-05 17:12:59 +01:00
Jeff Young
f200c61897
Start transitioning block operations to modern toolset.
2019-05-05 17:12:59 +01:00
Jon Evans
6d918ea1f1
A few fixes and refactors to connectivity propagation
2019-05-05 00:03:58 -04:00
Jon Evans
2f2d48938e
Ensure connection sheet is properly reset at reinit time
2019-05-04 22:23:35 -04:00
Jon Evans
e0ada1379f
Allow clearing PcbNew highlight through cross-probing
...
Fixes: lp:1821486
* https://bugs.launchpad.net/kicad/+bug/1821486
2019-05-04 16:18:51 -04:00
Michael Kavanagh
2a09664ebc
Clean up import and export menus
...
Fixes: lp:1822907
* https://bugs.launchpad.net/kicad/+bug/1822907
2019-05-02 12:25:59 -04:00
Jon Evans
839f0fbfcf
Refactor and fix a few issues with bus unfolding
2019-05-01 22:29:02 -04:00
Jon Evans
cbc8faf49b
Restore start segment behavior to unfold bus action
...
This must have gotten lost in the move
Fixes: lp:1826682
* https://bugs.launchpad.net/kicad/+bug/1826682
2019-05-01 21:03:30 -04:00
Jon Evans
efa0c97da9
Make sure net name prefixes carry through to netlist
2019-05-01 20:48:27 -04:00
Jon Evans
4efed8a4dd
Ensure global labels get flagged as lonely in all circumstances
...
Fixes: lp:1827214
* https://bugs.launchpad.net/kicad/+bug/1827214
2019-05-01 20:15:21 -04:00
Wayne Stambaugh
7d803437e2
Eeschema: fix broken symbol library links.
...
Force the symbol library links whenever the symbol library table has been
modified. This will use the cache as a fallback when a library has been
removed that contains links in the schematic rather than display.
Fix the SCH_COMPONENT symbol resolver when falling back to the cache. The
resolver was using the LIB_ID ':' notation which was failing. Replacing
':' with '_' fixed this issue. This was also an issue when generating the
symbol message panel information.
Convert wxLogDebug to wxLogTrace in symbol resolver code path. Add new
trace type KICAD_SYM_RESOLVE.
Fixes lp:1821606
https://bugs.launchpad.net/kicad/+bug/1821606
2019-04-30 13:05:27 -04:00
Jon Evans
9741b43dae
Make lines and bus entries less frustrating to select
2019-04-29 21:28:53 -04:00
Jon Evans
a5a2152ff4
Cache subgraphs by sheet path
2019-04-29 19:58:02 -04:00
Jon Evans
c054944d67
Set real-time connectivity to on by default with a safety valve
2019-04-29 18:59:32 -04:00
John Beard
42d20cbd96
Pcbnew: use same null check as eeschema for recently used
...
When Pcbnew's add footprint browser is run up, it constructs
the recently used list without checking for nulls.
Although the DoAddLibrary call does internally check for
null, it's easier to filter these out before placing into
the vector in the first place.
The same logic in the symbol tree is already handled in the
same way.
2019-04-29 16:52:39 +01:00
Jon Evans
96d2fc840b
A tiny optimization for SCH_CONNECTION
2019-04-28 23:36:41 -05:00
Jeff Young
3aaba79b87
Fix crash when unfolding bus.
...
Thanks to Julien Faucher for the investigation into the problem.
2019-04-28 18:41:17 +01:00
John Beard
fcc4a84e0e
GAL: add some trace to GAL display options config
...
This can be helpful when tracing where certain configurations
come from (some apps load from other apps' config basenames).
2019-04-27 14:57:14 +01:00
John Beard
33fe9a2761
Eeschema: Symbol preview widget needs common config for Hi-DPI
...
Currently, this widget doesn't read the common library settings.
This means it doesn't use the configured DPI scaling or anti-aliasing
settings.
Use the ReadConfig method on the GAL options to fix (rather than
only ReadAppConfig).
Fixes: lp:1825913
* https://bugs.launchpad.net/kicad/+bug/1825913
2019-04-27 14:57:09 +01:00
John Beard
eccadd92fb
Eeschema: fix resizing of pin table and edit symbol dialog
...
These dialogs had logic to avoid a table re-adjustment unless
the width changed. This was done to avoid spurious resizing
calls under GTK+3. This was commit
13249b723b
, fixing bug lp:1817810.
However, by only calling event.Skip() when the width changed,
redraws were inhibited when only the height changed.
Placing the Skip() outside the width-change check fixes this,
and does not re-introduce the lp:1817810 bug (it is the column
adjust call that causes that).
Fixes: lp:1826615
* https://bugs.launchpad.net/kicad/+bug/1826615
2019-04-27 14:01:05 +01:00
Jeff Young
6536b4766c
Move DeactivateTool until after the block items list has been updated.
...
Fixes: lp:1825855
* https://bugs.launchpad.net/kicad/+bug/1825855
2019-04-26 14:49:43 +01:00
Jeff Young
50a9a6e1f7
Fix bug with swapping pin data for undo.
2019-04-26 12:44:35 +01:00
Jeff Young
0844a5c478
Implement more robust pinMap.
...
In particular, one that doesn't suffer from pointers going stale
when the m_pins vector is re-sized.
2019-04-25 23:10:45 +01:00
Jeff Young
f9dd1324da
Cleanup problems with fighting event loops.
2019-04-25 22:58:58 +01:00
Jeff Young
8049c07a34
Add filtering to RequestSelection().
2019-04-25 22:58:58 +01:00
Jeff Young
e476cfcec5
Move SPICE tools to modern framework.
2019-04-25 22:58:58 +01:00
Jon Evans
3233bedc7a
Ensure pin map pointers are valid after pin vector is filled
2019-04-25 16:04:01 -04:00
Jon Evans
0ce32f7be1
Remove UpdatePins call from connectivity calculation
2019-04-25 15:32:51 -04:00
Jon Evans
098102220e
Fix detection of lonely local labels
2019-04-25 15:31:44 -04:00
Jon Evans
f0376f1379
Improve ERC checking of labels
...
Fixes: lp:1824629
* https://bugs.launchpad.net/kicad/+bug/1824629
2019-04-25 15:10:39 -04:00
Jon Evans
e06d37090a
A few connectivity performance tweaks
2019-04-25 00:37:10 -04:00
Jon Evans
ed27c50692
Improve handling of non-unique connections
2019-04-24 23:47:57 -04:00
John Beard
15bba27406
BITMAP_BASE: Add const image data accessor
...
This allows a const BITMAP_BASE to expose const image
data. This is currently done with const_casts, which is
"OK", only as long as the source image is not declared
const, in which case it's undefined behaviour.
Also immediately dereference the pointer to a reference
if it's not checked to make the non-null requirements
explicit at the point of access.
2019-04-24 17:31:22 +01:00
Jeff Young
5e556f0c6a
Fix segfault when finishing a wire at a connection point.
2019-04-24 14:43:10 +01:00
Jeff Young
e046e8f593
Fix crash when <esc>ing from Hierarchical Sheet drawing tool.
2019-04-24 13:43:46 +01:00
Jeff Young
d281f051ed
Move eeschema delete tool to modern toolset.
2019-04-23 14:19:55 +01:00
Jeff Young
a967adbf26
Don't toggle selection twice when trying to select.
...
Also fixes issues with trying to use a CONTEXT_MENU as a wxMenu.
2019-04-23 14:19:55 +01:00
Jeff Young
b6674e3bcb
Prevent segfault when running selection disambiguation menu.
2019-04-23 10:59:07 +01:00
Jon Evans
ff6a8cd537
Revert "Remove UpdatePins call from connectivity calculation"
...
This reverts commit b351e70d13
.
Causes crashes on entering subsheets; don't have time to debug yet
2019-04-22 23:31:11 -04:00
Jon Evans
782b8227fa
Clean up connection message panel info
2019-04-22 22:58:41 -04:00
Jon Evans
b351e70d13
Remove UpdatePins call from connectivity calculation
2019-04-22 22:49:24 -04:00
Jon Evans
62811d3209
Squish some warnings
2019-04-22 21:18:47 -04:00
Jeff Young
c994961ebf
Fix for SCH_PIN operator= from Simon Richter.
2019-04-23 00:27:59 +01:00
Jeff Young
b03e9061ff
Have another go at fixing 'w' command when wire tool is already active.
2019-04-23 00:11:26 +01:00
Jeff Young
0445a9913f
Deactivate tool on block action.
...
Fixes: lp:1825855
* https://bugs.launchpad.net/kicad/+bug/1825855
2019-04-23 00:11:19 +01:00
Jeff Young
f6d0166584
Don't exit wire tool at end of wire.
...
Fixes: lp:1825871
* https://bugs.launchpad.net/kicad/+bug/1825871
2019-04-22 22:13:47 +01:00
Jeff Young
1a007c3e4b
Implement SCH_SELECTION_TOOL (but still with legacy semantics).
2019-04-22 22:08:18 +01:00
Jeff Young
8e812c012d
Second activation of wire or bus tool should start drawing.
...
Fixes: lp:1825871
* https://bugs.launchpad.net/kicad/+bug/1825871
2019-04-22 22:08:18 +01:00
Jeff Young
17b3b8f30d
Fix wandering text problem.
...
Setting a variable on a temp copy doesn't do much of use.
Fixes: lp:1825853
* https://bugs.launchpad.net/kicad/+bug/1825853
2019-04-22 22:08:18 +01:00
Jeff Young
5e2cf51309
Improve robustness of SCH_PIN storage architecture.
...
In particular, allow short-term storage of pointers to SCH_PINs.
2019-04-22 11:19:43 +01:00
Jeff Young
a461eae8b9
Fix 100s of usages of GetFlags() which conflated != 0 with being edited.
...
While this was true long ago, many flags have been added since which
have nothing to do with editing (HIGHLIGHTED, BEGIN_ONPAD, etc.)
2019-04-22 09:58:06 +01:00
Jeff Young
64ba866146
Fix ignoreMouseEvents getting stuck in drawing tool.
...
Fixes: lp:1825613
* https://bugs.launchpad.net/kicad/+bug/1825613
2019-04-22 09:32:57 +01:00
jean-pierre charras
6e8dd598c0
Minor fixes in translatable strings. Fix also a minor compil warning.
2019-04-22 09:34:28 +02:00
Jon Evans
e2c12d8c25
Overhaul connectivity neighbor and global connection processing
2019-04-21 19:10:44 -04:00
Simon Richter
ed4c9f7ddb
Use format string for composed strings
...
Some translations may need this.
2019-04-20 22:01:43 +01:00
Jon Evans
77fe7d8325
Remove netlist QC code; it's outlived its usefulness
2019-04-19 22:53:16 -04:00
Jon Evans
5b226f6c96
Allow extra tildes at end of bus names
...
Fixes: lp:1825579
* https://bugs.launchpad.net/kicad/+bug/1825579
2019-04-19 22:26:24 -04:00
Jon Evans
eca9cc35c6
Update all labels on a migrated bus
2019-04-19 22:10:30 -04:00
Jon Evans
a92bb94612
Ignore multiple identical bus labels
...
Fixes: lp:1825560
* https://bugs.launchpad.net/kicad/+bug/1825560
2019-04-19 22:03:22 -04:00
Jeff Young
f2d9887409
Make usage of BRIGHTENED consistent (m_Flags, not m_Status).
2019-04-19 17:19:41 +01:00
Jeff Young
5113c3cc58
Hook up <esc> to cancelInteractive ACTION.
2019-04-19 17:08:19 +01:00
Jeff Young
954998ec9a
Lay the foundation for handling selected SCH_ITEMs.
2019-04-19 16:54:29 +01:00
Jeff Young
e9c1cd2371
Fix duplicate hotkeys.
2019-04-19 01:07:36 +01:00
Jeff Young
d88126e519
Tidy up and fix end sheet command.
2019-04-19 01:00:54 +01:00
Jeff Young
f274e0f68b
Move some more immediate actions to modern toolset.
2019-04-19 00:42:50 +01:00
Jeff Young
d0bc84bcbf
Don't allow legacy and modern toolset to fight over moving objects.
...
Fixes: lp:1825427
* https://bugs.launchpad.net/kicad/+bug/1825427
2019-04-19 00:42:36 +01:00
Jeff Young
2bcf38d2b6
Add try/catch block around writing a new library.
...
Fixes: lp:1825203
* https://bugs.launchpad.net/kicad/+bug/1825203
2019-04-18 22:00:32 +01:00
Jeff Young
cc18464f8f
Move sheet drawing and resizing to modern toolset and fix some bugs.
...
Fixes: lp:1825204
* https://bugs.launchpad.net/kicad/+bug/1825204
2019-04-18 18:19:12 +01:00
Jeff Young
8e2ef339b6
Handle modern-toolset panning.
...
Fixes: lp:1748850
* https://bugs.launchpad.net/kicad/+bug/1748850
2019-04-17 23:56:00 +01:00
Jeff Young
0772b54845
Move eeschema zoom-selection to modern toolset.
...
Fixes: lp:1825164
* https://bugs.launchpad.net/kicad/+bug/1825164
2019-04-17 21:49:50 +01:00
Jeff Young
c88fd514a0
Implement drawing tools in modern toolset.
...
Fixes: lp:1825192
* https://bugs.launchpad.net/kicad/+bug/1825192
2019-04-17 21:49:50 +01:00
Jeff Young
460909ea9a
Move click-to-place tools to modern toolset.
2019-04-16 16:20:52 +01:00
Jeff Young
ecfa05e2ca
Allow adding symbols/footprints from editors and browsers.
...
This was always possible from modal browsers and from the footprint
editor, but it's now also possible from non-modal browsers and the
symbol editor.
Fixes: lp:920380
* https://bugs.launchpad.net/kicad/+bug/920380
2019-04-16 16:20:51 +01:00
Jeff Young
32c86a4ca4
Move place symbol to modern toolset.
2019-04-16 16:20:51 +01:00
Jon Evans
895d4c9e1a
Hide simulator settings tabs that aren't implemented yet
...
Calling Hide() is apparently not enough in Windows
2019-04-15 23:11:39 -04:00
Seth Hillbrand
1437e56b72
eeschema: Prevent invalid '0' element in components
...
In the component, an m_unit/m_convert element is 1-indexed as opposed to
the library where they are 0-indexed. The 0-index in the library is
reserved for those elements that are shared across all conversion/unit
whereas it is invalid for the component.
Fixes: lp:1824764
* https://bugs.launchpad.net/kicad/+bug/1824764
(cherry picked from commit c4be74a9d0
)
2019-04-15 12:40:59 -07:00
jean-pierre charras
6cdde97e6f
ngspice dll search: add auxiliary search paths on Linux, like on other platforms
2019-04-15 11:04:59 +02:00
jean-pierre charras
6d4fbcd5bb
SIM_PLOT_FRAME_BASE: very minor fix.
2019-04-15 10:13:47 +02:00
jean-pierre charras
ad5a1fd963
SIM_PLOT_FRAME: cosmetic enhancement: add icons in main menu.
...
Fix also Upeer/lower case issues in main menu strings.
2019-04-14 15:31:46 +02:00
Jeff Young
b63fab92cf
Move Eeschema net highlighting to modern toolset.
2019-04-14 12:10:48 +01:00
Jon Evans
078fdb9077
Fix rotation of global and hierarchical labels
...
Fixes: lp:1824432
* https://bugs.launchpad.net/kicad/+bug/1824432
(cherry picked from commit 593a5181d7
)
2019-04-13 17:03:27 -04:00
Jon Evans
77706a7ea6
Fix ngspice nested DC sweep command
...
Fixes: lp:1824336
* https://bugs.launchpad.net/kicad/+bug/1824336
(cherry picked from commit c29274e760
)
2019-04-13 16:39:00 -04:00
Jon Evans
eadf6d93bc
Fix ngspice netlisting when net names contain '/'
...
Fixes: lp:1821502
* https://bugs.launchpad.net/kicad/+bug/1821502
(cherry picked from commit 216573bf48
)
2019-04-13 15:37:22 -04:00
Jeff Young
94a948fdd1
Move grid selection for both Eeschema and Pcbnew to COMMON_TOOLS.
2019-04-13 18:43:35 +01:00
Jeff Young
fc7f5630c7
Move eeschema zoom operations to modern toolset.
2019-04-13 18:43:26 +01:00
Jon Evans
734e61d4c2
Properly initialize sheets when loading them from ERC dialog
...
When displaying a sheet from this path, it's possible the sheet will
not have been initialized yet. Call DisplayCurrentSheet() to make sure
it is initialized, and then call RedrawScreen to update the zoom level.
Fixes: lp:1824362
* https://bugs.launchpad.net/kicad/+bug/1824362
(cherry picked from commit 1c235a5c89
)
2019-04-13 12:30:24 -04:00
jean-pierre charras
68c2f06074
Eeschema: fix crash when exporting a netlist, if the schematic netlist cannot be built.
...
It happens when a symbol is not annotated, and if the user closes the opened annotate dialog without making the annotation
2019-04-13 17:54:33 +02:00
Seth Hillbrand
9ea7fe5338
eeschema: Finish moving Advanced Config bus
...
Missed a definition for unfolding bus
Fixes: lp:1824628
* https://bugs.launchpad.net/kicad/+bug/1824628
2019-04-13 07:29:33 -07:00
Seth Hillbrand
3e7969ab8d
eeschema: Place bus unfold on the stack
...
When activating a bus unfold, the results should be placed with the new
line generation to allow proper undo ordering.
2019-04-13 07:28:22 -07:00
Seth Hillbrand
3bdd69ad6b
eeschema: Fix undo stacking for break wire
...
The break wire command is actually two commands: modify the existing
wire and add a new wire. This means that the command must append to the
previous commit to avoid breaking the undo stack
Fixes: lp:1824251
* https://bugs.launchpad.net/kicad/+bug/1824251
2019-04-13 07:11:24 -07:00
Seth Hillbrand
822cd9c6ef
eeschema: Remove UR_WIRE_IMAGE
...
The wire image undo/redo option required special handling and was only
used in a single location. Replacing with single change handling
reduces the code complexity
2019-04-13 07:11:24 -07:00
Seth Hillbrand
94470f7da6
eeschema: Avoid modifying the schematic in undo
...
OnModify() is called when staging the undo/redo modifications. This
requires that it not create changes that themselves need to be placed
in the undo/redo stack
2019-04-13 07:11:24 -07:00
jean-pierre charras
2529346940
Some fixes for I18N. Mainly do not translate debug messages or strings giving only a print format (like "%d").
2019-04-13 10:12:24 +02:00
Seth Hillbrand
2d7ef9813f
Fix backward logic in REALTIME
2019-04-12 09:38:12 -07:00
Seth Hillbrand
d70ae19cb8
eeschema: Move realtime connectivity to adv config
...
This allows realtime connectivity testing by modifying the
kicad_advanced setting rather than recompiling
2019-04-12 08:37:44 -07:00
John Beard
ab2281d26f
GAL opts: move config reading into GAL_DISPLAY_OPTIONS
...
Move repeated GAL config reading routines into GAL_DISPLAY_OPTIONS.
THe app-level config is in here already, do the same for the
common config.
This means that the configs are loaded consistently, which fixes
the symbol-chooser preview window, which previously didn't use the
same config routine as other GAL canvases.
Future work could move these functions to free functions that
act on the public interface of GAL_DISPLAY_OPTIONS to avoid
GAL_DISPLAY_OPTIONS having to know about wxConfig and wxWindow.
Fixes: lp:1824524
* https://bugs.launchpad.net/kicad/+bug/1824524
2019-04-12 16:08:11 +01:00
Jon Evans
c1ee395303
Don't propagate secondary connections with the same name
2019-04-12 09:26:07 -04:00
Jon Evans
6ff1919ae0
Fix subgraph neighbor calculation
...
Subgraphs are not in any particular order so the entire set must be
scanned, not starting at subgraph_it + 1
2019-04-12 00:23:52 -04:00
Jon Evans
49d8c29608
Fix a few issues with global buses
2019-04-11 23:38:32 -04:00
Jon Evans
df600fc1a2
Fix a few ERC issues with no-connects and power pins
...
Fixes: lp:1824359
* https://bugs.launchpad.net/kicad/+bug/1824359
2019-04-11 21:24:39 -04:00
Jeff Young
3c11b89e4c
Hook up refresh buttons to library tree synchronisation.
...
Fixes: lp:1820057
* https://bugs.launchpad.net/kicad/+bug/1820057
2019-04-11 19:45:10 +01:00
jean-pierre charras
0fae86b1ba
Pcbnew: suppress incorrect wx alert when opening the plot dialog from File/Plot menu
2019-04-11 17:36:51 +02:00
Jon Evans
232b1c799f
Add a workaround for bus unfolding without real-time connectivity
...
Fixes: lp:1822728
* https://bugs.launchpad.net/kicad/+bug/1822728
2019-04-11 00:17:22 -04:00
Jon Evans
3b46253056
Add profiling to SchematicCleanUp portion of connectivity calculations
2019-04-10 23:29:17 -04:00
Seth Hillbrand
8c9244e677
Revert "eeschema: Connectivity threading"
...
This reverts commit 1a031e771f
.
Some nets broken in commit.
2019-04-10 20:08:42 -07:00
Seth Hillbrand
e28c937a5c
Limit number of subgraph checks
...
Candidate subgraphs only need to be checked once, so start the iteration
from the next element in the driver vector
2019-04-10 16:40:24 -07:00
Seth Hillbrand
1c93b122f1
SCH_PIN: Guard the calculated map
...
Pins are used in threaded application so we need to keep the
precalculation map guarded
2019-04-10 15:29:00 -07:00
Seth Hillbrand
1a031e771f
eeschema: Connectivity threading
...
This threads the first step (update item) in the connectivity routine.
Also eliminates the duplicate call for multiple copies of the same
sheet.
2019-04-10 15:04:22 -07:00
Jeff Young
e90452d0e2
When checking for duplicate aliases look in the dialog not the symbol.
...
Fixes: lp:1821543
* https://bugs.launchpad.net/kicad/+bug/1821543
2019-04-10 21:21:00 +01:00
Jon Evans
105520b235
Fix neighbor detection candidate logic
2019-04-10 00:45:41 -04:00
Seth Hillbrand
a0981d06a7
Remove std:: aliasing
2019-04-09 21:16:05 -07:00
Seth Hillbrand
9ef442b3a3
eeschema connectivity - Adjust performance in init
...
This allow single init for map structures, improving first-run
performance.
2019-04-09 21:00:11 -07:00
Jon Evans
541c2fdb29
Performance: Move vector inside SCH_SHEET_PATH so hash can be cached
2019-04-09 21:09:48 -04:00
Seth Hillbrand
86d32fa34d
CONNECTION_GRAPH: Performance mods
...
Reduce loop count and pre-set the needed vectors. Also thread the
dangling ends calculation on a per-sheet basis.
2019-04-09 21:09:48 -04:00
Jeff Young
fe1c2310e4
Readjust Edit Symbol Properties when symbol references changes.
...
The new reference may contain different numbers of units and/or
different deMorgan conversion settings.
Fixes: lp:1822316
* https://bugs.launchpad.net/kicad/+bug/1822316
2019-04-09 17:06:27 +01:00
Wayne Stambaugh
3d33cba574
Eeschema: fix schematic text object plotting issue.
...
Save and restore text thickness in SCH_TEXT::Plot() function to prevent
the plotting default thickness value from stepping on the original text
thickness and causing all of the text objects to magically change to bold.
Fixes lp:1823165
https://bugs.launchpad.net/kicad/+bug/1823165
2019-04-09 10:14:32 -04:00
jean-pierre charras
59e6d3bf22
Ensure netlist is always up to date when creating a netlist.
...
A previous commit updated the netlist only on cross probing, that not covered all cases.
2019-04-09 10:36:39 +02:00
Seth Hillbrand
cf69cb5637
eeschema: Return CONNECTION when initing
2019-04-08 21:59:49 -04:00
Jon Evans
bf051b5c41
Cache InNetlist status for components
2019-04-08 21:54:41 -04:00
Jon Evans
94ba1bcb87
Update connection graph before sending netlist to pcbnew
...
Fixes: lp:1823449
* https://bugs.launchpad.net/kicad/+bug/1823449
2019-04-08 21:36:16 -04:00
Jeff Young
c78c3c8198
Allow no-connects to be dragged.
...
Fixes: lp:1821342
* https://bugs.launchpad.net/kicad/+bug/1821342
2019-04-09 00:34:26 +01:00
Jeff Young
d88df890ed
Fix merge issue between fetch netlist stuff and new connectivity graph.
2019-04-08 21:13:46 +01:00
jean-pierre charras
3b194d6993
Fix a collision name between lib_pin.cpp and a Windows header.
2019-04-08 17:10:55 +02:00
Jeff Young
77f15eeeaf
Support synchronous messaging over KIWAY EXPRESS.
...
This allows us to make the various netlist and pcb update routines
more atomic and less reliant on carefully sequenced asynchronous
messages.
This is also a prelude to adding support for footprint testing
without a netlist.
2019-04-08 13:26:09 +01:00
Jeff Young
b6c0aeb608
Move cut/copy/paste part (in libedit tree) to real clipboard.
...
Fixes: lp:1821547
* https://bugs.launchpad.net/kicad/+bug/1821547
2019-04-08 11:21:58 +01:00
Jon Evans
bd487d2c25
Rework logic for linking local subgraphs together
2019-04-07 23:54:47 -04:00
Jon Evans
2162b53d72
Allow selecting more items for highlighting
2019-04-07 23:54:47 -04:00
Jon Evans
c07de84c05
Suppress false ERC warnings for invisible power pins
2019-04-07 23:54:47 -04:00
Jeff Young
684bb62fd8
Escape slashes in labels and netnames.
...
Also re-allows spaces, as they can already come in through sheet
names.
Fixes: lp:1798621
* https://bugs.launchpad.net/kicad/+bug/1798621
2019-04-07 00:24:10 +01:00
Wayne Stambaugh
615c49315f
Minor symbol library rescue dialog fixes.
...
Adjust the sizer proportions slightly to eliminate the reported bug.
This may not be the ideal way to do this and there could be some issues
on other platforms but it does resolve the issue on gtk3.
Fixes lp:1820084
https://bugs.launchpad.net/kicad/+bug/1820084
2019-04-06 08:15:44 -04:00
Jeff Young
d928aa9780
Infer pin properties from last pin and default pin pitch.
...
Fixes: lp:1822183
* https://bugs.launchpad.net/kicad/+bug/1822183
2019-04-05 18:52:51 +01:00
Jeff Young
ea43866563
Move legacy netlist read/write to import/export.
...
Fixes: lp:1610529
* https://bugs.launchpad.net/kicad/+bug/1610529
2019-04-05 16:11:15 +01:00
Jeff Young
2aad4a5e57
Remove dead code from removal of eeschema legacy canvas.
2019-04-05 15:54:31 +01:00
Jeff Young
30f7d6a2c1
Clean up some translation issues.
...
(As in coordinate translation, not I18N.)
2019-04-05 11:42:45 +01:00
Wayne Stambaugh
ee14da3093
Minor schematic formatter fix.
...
Apparently at some point in KiCad's development, a '~' character was
prefixed to the symbol name to indicate that it was not visible. The
visibility state is now saved in the name field so remove the prefix.
The parser was kept unchanged.
Fixes lp:1632048
https://bugs.launchpad.net/kicad/+bug/1632048
2019-04-04 10:43:04 -04:00
Jeff Young
3a1b412fbf
Use a bigger hammer when refreshing fields in table.
...
Fixes: lp:1823050
* https://bugs.launchpad.net/kicad/+bug/1823050
2019-04-04 12:26:29 +01:00
Jeff Young
95635804bf
Replace pin mark/sweep with method that doesn't invalidate iterators.
...
Also removes some no-longer-used drawing code (the Draw() routines
are only used for printing with the modern eeschema canvas in place).
2019-04-04 12:08:33 +01:00
Jon Evans
ec2c571abb
Fix merging of subgraphs with multiple labels
2019-04-03 23:15:45 -04:00
Jon Evans
ff8b7cc6c1
Fix SCH_PIN location calculation
2019-04-03 23:15:22 -04:00
Jon Evans
99e57724e6
Hierarchical ports count as strong drivers
2019-04-03 22:58:14 -04:00
Jon Evans
5a0944e9a0
Don't de-conflict subgraphs across sheets
2019-04-03 22:58:14 -04:00
Jon Evans
d5990100e1
Promote locally-labeled nets to global when tied to global buses
...
Fixes: lp:1822964
* https://bugs.launchpad.net/kicad/+bug/1822964
2019-04-03 22:58:14 -04:00
Jon Evans
591894c7e6
Properly construct new line from old
...
Fixes: lp:1823072
* https://bugs.launchpad.net/kicad/+bug/1823072
2019-04-03 16:26:43 -04:00
Jeff Young
d8cc2f8280
More cleanup from non-reference return from GetText().
2019-04-03 19:35:25 +01:00
Jeff Young
5ac96c6127
More mutex locking for SCH_FIELDs.
...
Fixes: lp:1822678
* https://bugs.launchpad.net/kicad/+bug/1822678
2019-04-03 17:04:59 +01:00
Jeff Young
3ace73fbdd
Fold various SCH pin shadow data structures into SCH_PIN.
2019-04-03 10:18:11 +01:00
Jeff Young
52246121b9
Add pins to net highlighting.
...
Fixes: lp:1763873
* https://bugs.launchpad.net/kicad/+bug/1763873
2019-04-03 10:18:11 +01:00
Jon Evans
8a9b82c2a2
Switch CONNECTION_GRAPH to wxLogTrace
2019-04-02 22:58:11 -04:00
Jon Evans
b11f9fc873
Performance: don't construct temporary SCH_LINEs in MergeOverlap()
2019-04-02 22:46:22 -04:00
Jon Evans
948a61711d
Add thread-safety to SCH_FIELD::IsVoid()
...
Fixes: lp:1822678
* https://bugs.launchpad.net/kicad/+bug/1822678
2019-04-02 19:56:53 -04:00
John Beard
4eb30f6b85
QA: Enable eeschema tests
...
Redesignate the eagle test as eeschema tests and build
more like the other unit tests.
Enable as a test in Ctest now that the test executes without
crashing.
The loading of the file with the hardocded part is still
not enabled, as this needs more infrastructure to support it.
2019-04-02 18:26:33 +01:00
John Beard
6f1c3f5ef8
Eeschema: construct simulator cursors on demand
...
Statically constructing wxCursors as used for the probe
and tune cursors crashes the qa_eagle_plugin test
instantly.
Fix this by introducing a new class CURSOR_STORE,
which allows to abstract the platform wierdness of wxCursors
and allow the simulator to laziliy init its own cursors
at runtime.
This code isn't properly tested, as these cursors are never
actually used. However, it does allow the eeschema unit test
to run.
Fixes: lp:1781191
* https://bugs.launchpad.net/kicad/+bug/1781191
2019-04-02 18:26:33 +01:00
Michael Kavanagh
b0674b8802
Add Ctrl+, hotkey to preferences dialog
...
Also change interactive router settings from Ctrl+, to Ctrl+Shift+,
2019-04-02 12:57:27 -04:00
Michael Kavanagh
fe6bc411dd
Fix 'hokey' -> 'hotkey' typo
2019-04-02 12:57:26 -04:00
Jon Evans
3eef4bceac
Don't assert unnecessarily when collapsing power ports
...
See lp:1822678
2019-04-02 11:38:35 -04:00
jean-pierre charras
e7900e994d
Add a specific bitmap to Bus definition menu entry.
2019-04-02 14:31:28 +02:00
Jon Evans
3c27617782
Check driver instead of parent for prepending path to connection name
2019-04-01 20:21:50 -04:00
Jon Evans
8b30cd4389
Fix edge case crash when processing invisible power pins
2019-04-01 20:21:50 -04:00
Jeff Young
b9a8680735
Disable alias controls when no alias is selected.
...
Fixes: lp:1821698
* https://bugs.launchpad.net/kicad/+bug/1821698
2019-04-01 13:23:37 +01:00
Jeff Young
81d4a45e73
Ignore BRIGHTENED state when printing.
...
Fixes: lp:1788480
* https://bugs.launchpad.net/kicad/+bug/1788480
2019-04-01 13:23:37 +01:00
Jeff Young
3da5396c8d
Fixes for importing board setup properties.
...
Save/restore default netclass.
Read layers back in with correct syntax ('.' between keyword and layer name).
Write layers to project file.
Read/write layer enablement bits.
Don't set solder paste margin min to 0 (most of them are negative).
Fixes: lp:1811990
* https://bugs.launchpad.net/kicad/+bug/1811990
2019-04-01 13:23:37 +01:00
Jon Evans
0f1ab3be2d
Update connectivity before engaging highlight tool
2019-03-31 19:58:23 -04:00
Jon Evans
2466b4363d
Cache subgraph driver connections for improved performance
2019-03-31 19:58:15 -04:00
Jon Evans
f1882f333e
Don't call OnModify() before placing new parts
...
Remove unnecessary calls to TestDanglingEnds()
Disable real-time connectivity updates for now
Revert "Remove unnecessary calls to TestDanglingEnds()"
This reverts commit d93e3894f2bcd6239862ac9eae0cb2f994b9d52a.
Remove debug code
2019-03-31 19:58:08 -04:00
Jon Evans
74ace97249
Don't update graph when entering/leaving sheets
2019-03-31 19:57:25 -04:00
Jon Evans
05ed906aea
Restore ERC checks that were accidentally removed
2019-03-31 19:57:12 -04:00
Jon Evans
babdc9fd7b
Improve naming of weak subgraphs
2019-03-31 19:57:06 -04:00
Jon Evans
9589427960
Refactor how at-load schematic normalization is called
...
Don't prepend "/" for nets at the top level
Revert "Don't prepend "/" for nets at the top level"
This reverts commit fa9533222f7d33eee5f3fa2320bd9f3167e28076.
2019-03-31 19:57:00 -04:00
Jon Evans
4bc7e6fdfa
Add missing junctions during schematic cleanup
2019-03-31 19:56:54 -04:00
Jon Evans
b687a178ef
Suppress ERC warnings about multiple labels if the text is the same
2019-03-31 19:56:47 -04:00
Jon Evans
b15da3c656
Don't connect bus entries and bus labels that happen to overlap
2019-03-31 19:56:40 -04:00
Jon Evans
65af2c8b6c
Bump file format version
2019-03-31 19:56:35 -04:00
Jon Evans
82d4029831
Clean up cruft in netlist export
2019-03-31 19:56:22 -04:00
Jon Evans
e98debfeb2
Fix a few issues with hierarchical propagation
2019-03-31 19:56:07 -04:00
Jon Evans
3c714f1d8c
Fix undo handling of SchematicCleanUp
2019-03-31 19:55:57 -04:00
Jon Evans
7b9f186464
Fix false assert when CONNECTIVITY_DEBUG is enabled
2019-03-31 19:55:49 -04:00
Jon Evans
54bfeb742c
Fix issues with bus unfolding position
2019-03-31 19:55:42 -04:00
Jon Evans
464fa820b1
Support bus entries with highlighting
2019-03-31 19:55:30 -04:00
Jon Evans
9cd2e65787
Don't generate connections between two bus-wire entries
2019-03-31 19:55:20 -04:00
Jon Evans
5cf82f1a9e
Begin refactoring netlist creation
2019-03-31 19:55:12 -04:00
Jon Evans
c8c0b89eef
Fix issue where some power symbols would show up in netlist
2019-03-31 19:55:00 -04:00
Jon Evans
83c7e7fc65
New connectivity algorithm and bus upgrades
...
Bus upgrades: core new connectivity code
Bus upgrades: eeschema integration and modifications
Bus upgrades: eeschema dialogs
Bus upgrades: netlist export
Bus upgrades: file format changes
2019-03-31 19:53:41 -04:00
jean-pierre charras
b00413b7d6
Symbol editor, DIALOG_LIB_EDIT_PIN_TABLE: fix crash when trying to delete a pin when the table is empty.
...
Fixes: lp:1822406
https://bugs.launchpad.net/kicad/+bug/1822406
2019-03-30 09:29:38 +01:00
Wayne Stambaugh
37edf0e9a6
Remove superfluous build library dependencies.
...
It looks like someone's paste keys got stuck and added repeated sets of
link libraries in multiple places.
2019-03-29 09:01:56 -04:00
Wayne Stambaugh
2447933b54
Eeschema: do not merge graphical lines with different attributes.
...
Fixes lp:1821728
https://bugs.launchpad.net/kicad/+bug/1821728
2019-03-28 13:46:05 -04:00
John Beard
edd94ce2d6
Eeschema: internal tidying of field editor ApplyData
...
Make a few things const (specficially the reference into
m_fieldStore - we should commit to not modifying that in this
function.
Also avoid a couple of needless string copies.
Also explicitly dereference the into a (non-const) reference at the outset.
For the whole if this function, comp is the same object and may not
be null (as it is used unchecked).
2019-03-27 10:22:21 +00:00