Jeff Young
a9fa66bb41
Don't broadcast events when running client selection filters.
...
Some other tools (in this case the POINT_EDITOR) aren't good
citizens and activate themselves when receiving selection
changes.
Fixes: lp:1785781
* https://bugs.launchpad.net/kicad/+bug/1785781
2018-08-08 01:44:56 +01:00
Jeff Young
9b44100e04
GetFullPath() includes filename; we just want GetPath()
...
Fixes: lp:1785891
* https://bugs.launchpad.net/kicad/+bug/1785891
2018-08-07 22:04:09 +01:00
Jeff Young
84504599ce
Don't check for visibles in the Footprint Editor.
...
Everything is drawn anyway, and we crash if the viewPrivData
hasn't been allocated yet.
Fixes: lp:1785716
* https://bugs.launchpad.net/kicad/+bug/1785716
2018-08-07 18:39:20 +01:00
John Beard
a1e0735853
Add hotkey (Insert) for zone create corner
...
Adds a hotkey to the TOOL_ACTION, and also checks for
action validity prior to running the actions (previously
implicitly gated by the enablement of the menu item).
2018-08-07 09:19:18 -07:00
Jeff Young
d788c9d479
Move library table dialogs from PLAYER to KIFACE interface.
...
Spooling up a full PLAYER in the background takes too long.
This also fixes bugs around how the tables are saved, although
that was just missing code rather than anything architectural.
Fixes: lp:1785436
* https://bugs.launchpad.net/kicad/+bug/1785436
2018-08-06 21:31:53 +01:00
Jeff Young
be1d6113d6
More performance enhancements.
...
Be more intelligent about sorting lib tree items. (Footprint
entries, for instance, come out of an already-sorted list.)
Don't recreate menus twice when laoding Footprint Editor.
More pervasive use of WX_FILENAME to avoid expensive calls to
wxFileName::SplitPath() and string concatenation.
For POSIX kernels do all the work on the file-system side so we
don't have to keep converting back and forth between encodings.
2018-08-06 13:49:27 +01:00
Jeff Young
0fbe702043
Layout adjustments to Choose Symbol and Choose Footprint.
2018-08-06 13:48:17 +01:00
Jeff Young
d52429fc3c
Read footprint info cache when fpinfo requested via kiway.
2018-08-06 13:48:17 +01:00
Jeff Young
97c4d42ebf
Improve Read Netlist tooltip for footprint assignment.
...
Fixes: lp:1785200
* https://bugs.launchpad.net/kicad/+bug/1785200
2018-08-06 13:48:17 +01:00
Ronnie Gaensli
3ca84dca71
Cancel Add dimension leaves auto panning on
...
Fixes: lp:178551
* https://bugs.launchpad.net/kicad/+bug/178551
2018-08-06 11:24:23 +02:00
jean-pierre charras
c32fcd1403
Fix commit f3f814e622
that breaks the compilation on Windows.
...
Fiw also a minor compil warning
2018-08-04 17:18:15 +02:00
Jeff Young
fd3e57d67f
Layout adjustments and language-change-updating for modview.
2018-08-04 12:59:04 +01:00
Jeff Young
9aaa235b7b
Use binary search on Footprint Info list.
...
While it only improves footprint loading on the standard library
by about 6%, it will keep larger libraries from getting catastrophic.
2018-08-04 10:29:17 +01:00
Jeff Young
33fc74a04d
Performance enhancements for Footprint Editor construction.
2018-08-04 10:29:17 +01:00
Jeff Young
92b3aca0ef
Fix crash when trying to view invalid footprint link.
...
Fixes: lp:1785218
* https://bugs.launchpad.net/kicad/+bug/1785218
2018-08-04 10:29:17 +01:00
Jeff Young
1b71c723bc
Fix pad properties Y dimension enabling.
...
Fixes: lp:1785241
* https://bugs.launchpad.net/kicad/+bug/1785241
2018-08-04 10:29:17 +01:00
Jeff Young
f3f814e622
Performance enhancements for footprint info list.
...
Cache the footprint info on disk (in the project).
Move timestamp-generation (and checking) to the filesystem so the
above will be bullet-proof.
Rewrite some wxWidgets classes for performance (see common.h).
2018-08-04 10:29:17 +01:00
Wayne Stambaugh
8e7d6063fd
Minor dialog and frame window improvements.
...
Drop all uses of wxRAISED_BORDER and wxSUNKEN_BORDER from dialogs and
panels used in main frame windows.
Drop use of wxSP_3DSASH options on all wxSplitterWindow definitions.
Minor dialog alignment and spacing fixes.
2018-08-02 13:00:41 -04:00
jean-pierre charras
ce3760438c
Fix a few wxWidgets minor asserts. Fix also a missing bitmap button initialization.
...
Fixes: lp:1783703
https://bugs.launchpad.net/kicad/+bug/1783703
2018-08-02 13:22:11 +02:00
Jeff Young
d8d4f75fa1
Fix button order and genralize Exit dialog so it can be shared more.
...
This also fixes a bunch of bugs where an error during save would
still close the window (rather than cancelling the close action).
Fixes: lp:1785034
* https://bugs.launchpad.net/kicad/+bug/1785034
2018-08-02 11:01:03 +01:00
Jeff Young
c655bffac1
Improve context menu consistency.
...
Also fixes some interactivity issues in the microwave tools around
single-click tools that have initial properties dialogs. Those
need to act kind of like a hybrid between single-click and two-click
tools.
Fixes: lp:1751381
* https://bugs.launchpad.net/kicad/+bug/1751381
2018-08-02 11:01:03 +01:00
Jeff Young
d6c6322f95
Leave measurement visible until another is started.
2018-08-02 11:01:03 +01:00
Seth Hillbrand
3a09358264
modedit: Store single copy of the footprint in undo
...
When changing elements in the module editor, each element shares the
same parent. Undo commits store a copy of the parent as it existed
before the change. For footprints with many elements, this creates
large, slow undo commits as a copy of the full footprint is stored for
each element being edited.
This keeps a single copy of the footprint in the undo stack per edit.
Fixes: lp:1780526
* https://bugs.launchpad.net/kicad/+bug/1780526
2018-08-01 11:06:23 -07:00
jean-pierre charras
3d28d0274b
put a demo file to the right place
2018-08-01 16:44:18 +02:00
jean-pierre charras
b47ffd7054
Update python scripts examples according to recent changes in pcbnew code.
...
Add a new example to plot files
2018-08-01 16:32:37 +02:00
jean-pierre charras
fc6547f5c0
Make gerber job file writer accessible by Python scripts
2018-08-01 16:32:37 +02:00
Jeff Young
6dbfa793e8
Fix GTK compile errors and remove dead code.
...
Fixes: lp:1783993
* https://bugs.launchpad.net/kicad/+bug/1783993
2018-08-01 12:23:16 +01:00
Jeff Young
9322139baa
Touch up Footprint Viewer for new Lib Tree.
2018-08-01 11:47:48 +01:00
Jeff Young
9175a48c90
Enable Distribute H/V on pads.
...
Fixes: lp:1782988
* https://bugs.launchpad.net/kicad/+bug/1782988
2018-08-01 09:35:46 +01:00
Jeff Young
f8a5e2c1c8
Performance enhancements in fp loading, string cmp, etc.
...
Knocks about 1/3 off the first footprint load, and more than 1/2
off subsequent loads.
2018-08-01 09:35:46 +01:00
Jeff Young
0a35c5c97e
Convert Footprint Editor to component tree.
...
Fixes: lp:1784178
* https://bugs.launchpad.net/kicad/+bug/1784178
Fixes: lp:1780363
* https://bugs.launchpad.net/kicad/+bug/1780363
2018-08-01 09:35:46 +01:00
Jeff Young
b400565880
Convert Place Footprint to component tree.
2018-08-01 09:35:45 +01:00
Seth Hillbrand
13b96799ea
pcbnew: remove duplicate rebuild in GAL
...
When running GAL, the connectivity is built when the board loads, so the
extra call to rebuild connectivity is not needed.
2018-07-31 15:13:12 -07:00
Seth Hillbrand
284c39acac
pcbnew: Unify connected lists between items/zones
...
Keep the zoneitems in the same list as the rest of the items.
2018-07-31 15:12:08 -07:00
Seth Hillbrand
f87cb64d65
pcbnew: Ensure connectivity layers are respected
...
This prevents non-copper layers from being included in the connectivity
search. It also limits the layer search in the connectivity RTree to
just the copper layer range.
2018-07-31 15:11:19 -07:00
Seth Hillbrand
589e5b9ad7
Remove connectivity debug statements
2018-07-31 14:26:57 -07:00
Seth Hillbrand
dc1736eb87
pcbnew: Split Layers in connectivity
...
Splits the connectivity search RTree by layers to avoid large penalty on
zone searches.
2018-07-31 14:26:57 -07:00
Tomasz Wlostowski
099fcf1247
ZONE_CREATE_HELPER: fix zone cutout creation in zones with holes, reinit selection with the resulting zone
...
Fixes: lp:1784268
* https://bugs.launchpad.net/kicad/+bug/1784268
2018-07-31 22:34:56 +02:00
jean-pierre charras
1dbaef303e
Fix FootprintWizardBase.py according to recent changes in lib_id.h
2018-07-31 18:46:25 +02:00
jean-pierre charras
5a2e171f9e
fix a few wxWidgets asserts.
2018-07-31 13:16:58 +02:00
jean-pierre charras
619e13dc2d
Fix D_PAD::BuildPadShapePolygon() incorrect calculation for custom pad shapes.
...
Fixes: lp:1784340
https://bugs.launchpad.net/kicad/+bug/1784340
2018-07-30 16:56:59 +02:00
Tomasz Wlostowski
516cf47946
OPENGL_GAL: optimized JP's bitmap drawing function to use textures
2018-07-30 00:13:37 +02:00
jean-pierre charras
882565f2e1
Fix a few wxWidgets minor asserts
2018-07-29 10:39:05 +02:00
jean-pierre charras
d73db8c73a
Make a few strings not internationalized, because they must not be translated (html format strings)
2018-07-28 12:47:23 +02:00
Jeff Young
3c2c5c38ad
Make icon buttons slightly wider for MSW.
...
Fixes: lp:1783703
* https://bugs.launchpad.net/kicad/+bug/1783703
2018-07-27 14:58:19 +01:00
Jeff Young
4dfae16c1b
Consolidate to single menu actions for save, revert, etc.
...
There's no point in having both Save Symbol and Save Library when
only one can be selected at a time.
Also cleans up a bunch of extraneous icons, and fixes a few
copy/paste errors in menus and toolbars.
2018-07-27 14:58:19 +01:00
Jeff Young
95d3336f63
We need the other end of the stick when not yet routing.
...
Fixes: lp:1781424
* https://bugs.launchpad.net/kicad/+bug/1781424
2018-07-27 14:58:19 +01:00
jean-pierre charras
b70dd1ecc4
Fix compil warnings
2018-07-27 11:18:24 +02:00
Jeff Young
0cca1c6721
Remove active library concept from footprint editor.
...
Also bring the menu system and toolbar in line with Pcbnew,
eeschema, and the symbol library editor, which includes moving
to a standard Save As paradigm for renaming/moving items.
Fixes: lp:1748474
* https://bugs.launchpad.net/kicad/+bug/1748474
Fixes: lp:1778202
* https://bugs.launchpad.net/kicad/+bug/1778202
2018-07-26 21:34:25 +01:00
Jeff Young
cb61525394
Handle separate parsing rules for ID_SCH and ID_PCB.
...
This removes the existing constructors so that all parsing must
be explicit and callers are made aware that they need to think
about illegal characters, malformed ids, etc.
Fixes: lp:1783474
* https://bugs.launchpad.net/kicad/+bug/1783474
2018-07-26 15:43:53 +01:00
John Beard
9ec6efbf13
Add icon for update PCB from Schematic
...
This previously used the "import board file" icon, which is a bit
confusing, as the action is not importing into a PCB.
2018-07-26 15:43:53 +01:00
John Beard
1e11df650c
Typos and inconsistencies in FP and Pad dialogs
...
* A few typos like stray new lines
* Per cent -> percent
* Consistent use of full stops
* Consistent use of commas after "If 0"
Fixes: lp:1783446
https://bugs.launchpad.net/kicad/+bug/1783446
2018-07-26 16:40:08 +02:00
Tomasz Wlostowski
07d56a2e32
BOARD::PadDelete() should update connectivity
...
Fixes: lp:1783528
* https://bugs.launchpad.net/kicad/+bug/1783528
2018-07-26 16:21:02 +02:00
Maciej Suminski
630631b41b
Code formatting
2018-07-26 16:04:31 +02:00
Tomasz Wlostowski
a9af4d0141
ZONE_CREATE_HELPER: fixed crash when adding a cutout to a zone
...
Fixes: lp:1783541
* https://bugs.launchpad.net/kicad/+bug/1783541
2018-07-26 15:30:21 +02:00
Maciej Suminski
dbf4bcdbb7
Converted PNS Length Tuning dialog to use TransferData{From,To}Window()
...
Fixes: lp:1783694
* https://bugs.launchpad.net/kicad/+bug/1783694
2018-07-26 10:08:44 +02:00
jean-pierre charras
f13a546c9b
Fix a few wxWidgets asserts or alerts.
2018-07-25 20:26:55 +02:00
Jeff Young
822ebf6955
Move symbol management to a standard Save As... model.
...
Also brings horizontal toolbar in line with Pcbnew and Eeschema.
And updates the EDA_LIST_DIALOG to current practices.
This finishes the removal of the active library concept from the
Symbol Editor (started with the new component tree in 5.0).
Fixes: lp:1740717
* https://bugs.launchpad.net/kicad/+bug/1740717
2018-07-25 14:41:20 +01:00
Jeff Young
e55bb9e748
Increment references when creating an array.
...
While it's not always correct, not doing so is pretty much always
incorrect.
Fixes: lp:1625964
* https://bugs.launchpad.net/kicad/+bug/1625964
2018-07-25 14:41:20 +01:00
John Beard
6df2d69b6e
Add global zone fill/unfill to Edit menu
...
This means if you don't know the hotkey, the tool action can be
reached without having to activate the zone tool.
Fixes: lp:1783250
https://bugs.launchpad.net/kicad/+bug/1783250
2018-07-25 09:04:51 +02:00
Jeff Young
994a9c5ff8
Only show all layers when the stackup changes.
...
Fixes: lp:1783231
* https://bugs.launchpad.net/kicad/+bug/1783231
2018-07-24 18:43:44 +01:00
John Beard
7acc0b89f9
Pcbnew: fix 45-degree snapping of ruler and dimension tools
...
This introduces a new util function in geometry_utils which snaps a vector
to axes or 45 degree lines. This can be used whenever you want to
snap a vector to these angles, but still want it to stay on a grid.
This snapping is used for the dimension tool and the ruler tool.
This is substantially simpler for two-point tools that the method
used by the line tool, which uses DIRECTION_45.
Fixes: lp:1780826
https://bugs.launchpad.net/kicad/+bug/1780826
2018-07-24 15:01:02 +01:00
John Beard
9d15e58462
Pcbnew: add new icon for board setup
...
Previously, the generic "options" gear was used, which was
confusing.
This commit add a new icon, options_board, specifically for
board-wide options.
2018-07-24 14:58:19 +01:00
Jeff Young
2d4ba56ac0
Promote aperture pads to first-class citizens.
...
Well, almost anyway. We can't use a pad attribute for them as
that would change the file format. So they're currently
defined as a CONN pad with no copper layers.
However, when figuring out of existing pads should be *treated*
as aperture pads, we just check for no copper layers.
Fixes: lp:1781760
* https://bugs.launchpad.net/kicad/+bug/1781760
2018-07-24 14:57:45 +01:00
Jeff Young
4618c64213
Don't number aperture pads.
...
Fixes: lp:1781760
* https://bugs.launchpad.net/kicad/+bug/1781760
2018-07-24 10:39:30 +01:00
Jeff Young
f79ca271e3
Replace missing #ifndef's.
...
We only process symlinks on POSIX kernels (Linux and OSX).
Fixes: lp:1548798
* https://bugs.launchpad.net/kicad/+bug/1548798
2018-07-24 09:05:39 +01:00
jean-pierre charras
1510c2c56f
Fix incorrect arc calculation when building the board outline (internal holes only)
...
Fixes: lp:1783181
https://bugs.launchpad.net/kicad/+bug/1783181
2018-07-24 09:17:20 +02:00
Jeff Young
bc47f085df
Support symlinks for .pretty and .lib files.
...
Fixes: lp:1548798
* https://bugs.launchpad.net/kicad/+bug/1548798
2018-07-23 23:50:13 +01:00
Jeff Young
4d3aeb3339
Make sure cur_lib_table is initialized.
...
The panel doesn't get Show() events so do it in the constructor.
2018-07-23 23:50:13 +01:00
jean-pierre charras
a27ba65ed2
DXF import: verify the layer used to import the DXF drawings is valid (correctly selected).
2018-07-23 13:58:13 +02:00
Jeff Young
afd80c3cdb
Fix botched attempt to have ruler adjust to unit changes.
...
Also fixes the context menu so there's a specific one for the
measurement tool, allowing zooming for instance without cancelling
the tool.
2018-07-23 12:37:01 +01:00
Jeff Young
16b5f40817
Remove assert and update ruler units on the fly.
...
Fixes: lp:1781595
* https://bugs.launchpad.net/kicad/+bug/1781595
2018-07-23 02:02:02 +01:00
Jeff Young
185b524a62
Support both add-empty and add-browse for 3D models.
...
Also fixes a bug where the selected row and the grid cursor get
separated after a delete.
Fixes: lp:1782747
* https://bugs.launchpad.net/kicad/+bug/1782747
2018-07-23 01:09:47 +01:00
Jeff Young
56ff3b3c95
Fix CLion's placement of #includes.
2018-07-22 23:33:36 +01:00
Jeff Young
d804427c83
Add Open-Schematic tool to PcbNew.
...
Fixes: lp:1780610
* https://bugs.launchpad.net/kicad/+bug/1780610
2018-07-22 22:36:24 +01:00
Jeff Young
0c042aff7b
Use mils for track widths when inches is selected.
2018-07-22 22:36:24 +01:00
jean-pierre charras
db712ea643
Footprint editor: display a warning when trying to created a custom pad shape with a Bezier curve.
...
Currently, Bezier curve (S_CURVE shape) is not supported in a custom pad shape.
2018-07-22 18:39:48 +02:00
jean-pierre charras
4cac974420
Add Bezier curve (S_CURVE shape) support in DIALOG_GRAPHIC_ITEM_PROPERTIES.
...
Fix some issues related to S_CURVE shape support.
2018-07-22 18:39:48 +02:00
jean-pierre charras
3c6e8c4a40
More support of DRW_SEGMENT Bezier curve (support in 3D viewer, and PnS router).
2018-07-22 18:39:48 +02:00
jean-pierre charras
7291059489
replace lib_dxf by dxflib from qcad in dxf2idf code
2018-07-22 18:39:47 +02:00
jean-pierre charras
72d1597201
DXF import: add import of DXF splines that are converted to Bezier curves.
...
Fix also a lot of bugs related to Bezier curves (S_CURVE shape in DRAW_SEGMENT class) in Pcbnew code.
Add missing code to handle these Bezier curves
2018-07-22 18:39:47 +02:00
jean-pierre charras
5ee1caf0b9
dialog DIALOG_NONCOPPER_ZONES_PROPERTIES: resize widgets when resizing the dialog frame.
2018-07-22 18:37:28 +02:00
Maciej Suminski
45c1742a3f
pcbnew: Disabled UI update for pcbnew console menu item
...
UI update event handler updates toolbar button state for the scripting
console, but for the associated menu item it displays an assert saying that
the menu item that cannot be checked. To avoid that, the UI update event
handler returns early if event does not come from the toolbar.
2018-07-22 16:09:46 +02:00
Jeff Young
65f4743a44
Sort pads by netlist before running single-pad-net tests.
...
Fixes: lp:1782660
* https://bugs.launchpad.net/kicad/+bug/1782660
2018-07-22 16:21:51 +01:00
jean-pierre charras
8026d2aa41
Fix incorrect behavior of the wxChoice used in dialog zone properties.
...
For some reason the wxChoice did not close after a selection (at least on Windows).
Perhaps due to some window ID collision.
2018-07-22 15:47:45 +02:00
Jeff Young
d32fb68fa9
Remove debugging and add grouping box for Nets & Net Filters.
...
Fixes: lp:1782766
* https://bugs.launchpad.net/kicad/+bug/1782766
(cherry picked from commit a75f376)
2018-07-22 11:19:21 +01:00
Jeff Young
7cce283fea
Fix diff pair custom values.
...
Fixes: lp:1782971
* https://bugs.launchpad.net/kicad/+bug/1782971
(cherry picked from commit 53f35a3)
2018-07-22 11:19:17 +01:00
Jeff Young
7dfc4e30e4
Add some debugging statements to find out what's up with GTK.
2018-07-21 23:17:46 +01:00
Jeff Young
833e0b3c0f
One more attempt to get the layers list width right on GTK.
...
Fixes: lp:1782766
* https://bugs.launchpad.net/kicad/+bug/1782766
2018-07-21 14:44:01 +01:00
Jeff Young
86d98ee7fd
Check via X and Y for indeterminate value before setting.
...
Fixes: lp:1782889
* https://bugs.launchpad.net/kicad/+bug/1782889
2018-07-21 14:05:03 +01:00
Jeff Young
5c646119a7
Allow user-specification of dimension units.
...
Also fixes a units bug when round-tripping a dimension through
the file format.
Fixes: lp:1782797
* https://bugs.launchpad.net/kicad/+bug/1782797
2018-07-21 13:50:21 +01:00
Jeff Young
2c833f2c91
Fix layout issues in Copper Zones dialog.
...
(The list width issue probably also affects other zone dialogs.)
Fixes: lp:1782766
* https://bugs.launchpad.net/kicad/+bug/1782766
2018-07-20 22:21:51 +01:00
Jeff Young
ea3ef1eb87
Don't lose model filepath when writing spin boxes back.
...
Also renames a bunch of stuff to be clearer.
Fixes: lp:1782753
* https://bugs.launchpad.net/kicad/+bug/1782753
2018-07-20 21:59:12 +01:00
Jeff Young
87f72c3d97
Initialize layer comboboxes before trying to set them.
...
Fixes: lp:1782794
* https://bugs.launchpad.net/kicad/+bug/1782794
2018-07-20 20:29:15 +01:00
Jeff Young
c1df78d531
Finish project frame library table editing.
...
Fixes: lp:1782761
* https://bugs.launchpad.net/kicad/+bug/1782761
2018-07-20 18:48:06 +01:00
Jeff Young
bd90341e91
Add Footprint & Datasheet buttons to Edit Symbol dialog.
2018-07-20 18:48:06 +01:00
Maciej Suminski
fecadeca23
Initialize variables in DIALOG_TEXT_PROPERTIES
...
Fixes: lp:1782547
* https://bugs.launchpad.net/kicad/+bug/1782547
2018-07-20 10:33:44 +02:00
Jeff Young
3c1dc9e5c6
Must also set local coords when moving footprint texts.
...
Fixes: lp:1782542
* https://bugs.launchpad.net/kicad/+bug/1782542
2018-07-19 23:26:24 +01:00
Jeff Young
e02fe83a71
Some minor cleanup.
2018-07-19 21:46:41 +01:00
Jeff Young
ba0c823673
Fix flicking issues on non-double-buffered platforms.
2018-07-19 21:46:41 +01:00