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