Commit Graph

1865 Commits

Author SHA1 Message Date
Jeff Young 14c4175040 Tighten up the board setup dialog layout a bit. 2019-09-07 13:57:38 +01:00
Jeff Young 10c25a2290 Update frame type enum to match current class names. 2019-09-06 23:38:20 +01:00
Wayne Stambaugh 2b24c09307 Pcbnew: minor netlist dialog layout fixes. 2019-09-06 11:14:13 -04:00
jean-pierre charras bd34348068 Pcbnew: allows using filled polygons in zones with no outline thickness.
This option was only available if advanced config "ForceThickZones" was set.
2019-09-06 16:13:41 +02:00
Seth Hillbrand 90b5cd3032 Unify text edit dialog behavior
This makes the pcbnew multiline text editor natively accept tabs in the
same manner as eeschema and extracts key handling routines to the shim
to allow undo/redo.

Also allows Ctrl-Y under Linux in addition to other platforms.  While
not as popular as Ctrl-Shift-Z, it is utilized for Redo in some contexts
2019-09-05 14:11:02 -07:00
jean-pierre charras f3f0e20a67 Pcbnew: add a board layer stack manager
This is a new feature.
2019-09-05 18:51:18 +02:00
Seth Hillbrand a4808e0420 pcbnew: Copy hatch zone settings when duplicate
Also wrap orientation instead of verifying it.  This allows valid angles
that are larger/smaller than the ±180 limit.

Fixes: lp:1842654
* https://bugs.launchpad.net/kicad/+bug/1842654
2019-09-05 09:42:24 -07:00
Seth Hillbrand c8a6878eb8 pcbnew: Allow tuning length to be longer than INT_MAX
The INT_MAX limit for most elements makes sense only for single-segment,
straight line elements.  For elements that accumulate lengths, we should
utilize the long long int (64 bits) to allow for greater lengths.

Fixes: lp:1842367
* https://bugs.launchpad.net/kicad/+bug/1842367
2019-09-03 16:41:09 -07:00
Jeff Young a675b8e3b2 Add specificty for text labels in Dimension Properties dialog.
While we're re-using the Text Properties dialog, it really covers all
properties for a Dimension, so it needs to be more clear what's text
and what's not.  This changelist uses the Tooltips to store the more
explicit labels so they can still be edited in FormBuilder.
2019-09-02 11:07:05 +01:00
jean-pierre charras 762dabd754 Pcbnew, DIALOG_TEXT_PROPERTIES: make lines thickness editable when editing a dimension.
Fixes: lp:1841797
https://bugs.launchpad.net/kicad/+bug/1841797
2019-09-02 09:48:17 +02:00
jean-pierre charras 9dac8534c1 Pcbnew: seriously speedup calculation time when plotting large filled areas. 2019-08-27 13:32:00 +02:00
Seth Hillbrand 48d68f55d7 pcbnew: Two layer boards need both masks
Adds the missing default layer to the default board setups for two
layers with parts on single side (either top or bottom)

Fixes: lp:1841294
* https://bugs.launchpad.net/kicad/+bug/1841294

(cherry picked from commit 8b3a2984bf)
2019-08-26 17:14:35 -07:00
Jeff Young bc0e67579c Change OK/Cancel to MSW order and move some other dialogs to new system.
(There's no point in following the OSX OK/Cancel order as you can't
tab to buttons on OSX anyway.)
2019-08-26 18:36:35 +01:00
Jeff Young 6b6e9eddee Return control of Symbol and Footprint chooser col widths to user.
The auto-calculation wasn't working out and even with it some users
wanted control.

Fixes: lp:1796774
* https://bugs.launchpad.net/kicad/+bug/1796774
2019-08-26 18:27:49 +01:00
Jeff Young 67db6c49b5 Buttons which bring up dialogs for more info need a "...".
Fixes: lp:1795385
* https://bugs.launchpad.net/kicad/+bug/1795385
2019-08-26 18:27:49 +01:00
Jeff Young b109aba663 Add a file browser to the Sheet Properties dialog.
Fixes: lp:1840459
* https://bugs.launchpad.net/kicad/+bug/1840459
2019-08-26 00:45:34 +01:00
Jeff Young 19b463ec78 Add option to keep 3DModel info when exchanging footprints.
Fixes: lp:1841303
* https://bugs.launchpad.net/kicad/+bug/1841303
2019-08-25 22:49:36 +01:00
Jeff Young 03da721030 Move events to wxFormBuilder and fix the missing hookup.
Fixes: lp:1841361
* https://bugs.launchpad.net/kicad/+bug/1841361
2019-08-25 20:48:47 +01:00
Jeff Young 7c85dc6cd7 Clearance should be in mils, not inches.
Fixes: lp:1841360
* https://bugs.launchpad.net/kicad/+bug/1841360
2019-08-25 20:48:46 +01:00
Seth Hillbrand 7c37641d83 pcbnew: Partial board stats cleanup
Fixes ordering issue and int/double conversion in board area

Moves via casting to internal dyn_cast
2019-08-25 08:48:09 -07:00
Seth Hillbrand 2518a2cc81 pcbnew:Initialize board statistics
Uninitialized values can cause odd output values.  Also adjust absolute
calc to utilize floating point returns.

Fixes: lp:1838325
* https://bugs.launchpad.net/kicad/+bug/1838325
2019-08-24 08:21:08 -07:00
Jeff Young d1b2a6ea70 More descriptive labelling and hints for solder paste margins.
Fixes: lp:1837220
* https://bugs.launchpad.net/kicad/+bug/1837220
2019-08-21 15:35:03 +01:00
Jeff Young a25368cc6b Improve spelling.
The groundwork here is thanks to kunda1.

Fixes: lp:1831510
* https://bugs.launchpad.net/kicad/+bug/1831510
2019-08-20 19:14:05 +01:00
Jeff Young fb21077d3a Fix some alignment issues in dialog and formatting issues in code.
Fixes: lp:1840775
* https://bugs.launchpad.net/kicad/+bug/1840775
2019-08-20 16:39:40 +01:00
Jeff Young 054a24c26e Prevent size events from firing during initialization.
Fixes: lp:1840690
* https://bugs.launchpad.net/kicad/+bug/1840690
2019-08-20 16:39:40 +01:00
Jeff Young 195fbbaf23 Reduce confusion by putting all dialog pages as leaf nodes. 2019-08-19 17:46:25 +01:00
jean-pierre charras d50dc4ff65 PANEL_SETUP_LAYERS: minor cosmetic change: Fix for commit e2be49a2.
The commit e2be49a2 was sent too early.
2019-08-15 10:26:08 +02:00
jean-pierre charras e2be49a2f6 PANEL_SETUP_LAYERS: minor cosmetic change. 2019-08-15 09:44:55 +02:00
Jeff Young ccf18ceb0e Fix accidental change in default radio button of Update PCB from Schematic. 2019-08-12 22:21:09 +01:00
Jeff Young f3f0a6899f Invoke move by ACTION; the EDIT_TOOL does lots of other stuff too.
Fixes: lp:1839877
* https://bugs.launchpad.net/kicad/+bug/1839877
2019-08-12 22:21:09 +01:00
Jeff Young cc0bd9a171 Even out PCB_EDITOR_CONTROL and PCB_INSPECTION_TOOL. 2019-08-12 22:21:09 +01:00
Jeff Young bc07c7da11 Use wxChoice instead of wxComboBox so we get menu highlighting. 2019-08-09 16:01:45 +01:00
Jeff Young 17d015ed5d Strip illegal chars from 3D filepath and change rotation increment to 90deg.
Fixes: lp:1823559
* https://bugs.launchpad.net/kicad/+bug/1823559
2019-08-08 23:02:37 +01:00
Jeff Young 4d53ff9811 Grid dropdown doesn't always live in the same toolbar.
Also fixes typo in grid properties dialog.

Fixes: lp:1839224
* https://bugs.launchpad.net/kicad/+bug/1839224
2019-08-08 13:51:23 +01:00
Jeff Young edc05b5d54 Pad properties dialog needs to edit the local value, not the resultant value.
Fixes: lp:1838618
* https://bugs.launchpad.net/kicad/+bug/1838618
2019-08-05 21:38:28 -06:00
Jeff Young 6c0a3b4534 Disable inappropriate values for aperture pads.
Fixes: lp:1809010
* https://bugs.launchpad.net/kicad/+bug/1809010
2019-08-05 16:48:18 -06:00
Wayne Stambaugh bf5ce3a1ba Pcbnew: fix minor layout issues in options panel. 2019-08-05 11:29:16 -04:00
Jeff Young 95bfb733ee Add defensive coding for <enter> processing in Edit Footprint Text dialog.
Fixes: lp:1806124
* https://bugs.launchpad.net/kicad/+bug/1806124
2019-08-04 16:25:36 -06:00
Jeff Young 373ba5a904 Better tooltip for Match Mode radio buttons.
Fixes: lp:1838551
* https://bugs.launchpad.net/kicad/+bug/1838551
2019-08-03 17:20:54 -06:00
jean-pierre charras 7bfbcef942 Make some strings more easily translatable
DIALOG_BOARD_STATISTICS: fix some minor issues.
2019-08-03 09:32:10 +02:00
Jeff Young 01e78b04c6 Save last-used-paths in export dialogs.
Also fixes the export GenCAD dialog so that browse correctly updates
the textbox.

Fixes: lp:1793761
* https://bugs.launchpad.net/kicad/+bug/1793761
2019-08-02 21:03:48 -06:00
Jeff Young 5c85dbaec4 Another attempt to improve tooltips for Update PCB from Schematic dialog. 2019-08-02 14:32:49 -06:00
Jeff Young 1ea9ad05bc More explicit text for Update PCB dialog.
Fixes: lp:1838551
* https://bugs.launchpad.net/kicad/+bug/1838551
2019-08-01 20:36:59 -06:00
Jeff Young 5c80019541 Update comment. 2019-07-31 21:56:53 -06:00
jean-pierre charras 10fcd8eaef DIALOG_BOARD_STATISTICS_BASE: fix minor wxWidgets alerts. 2019-07-28 18:24:59 +02:00
Alexander a6b2a44fd6 DIALOG_BOARD_STATISTICS modifications and fixes - added vias information to dialog - added "save txt report" feature - some code cleanup and readability fixes - fixed issue with dialog moving when checkbox clicked - now dialog saves checkboxes state 2019-07-28 16:17:09 +02:00
jean-pierre charras dc69cac298 Try to fix UI issues in select layer pair dialog and slect layer dialog.
Fixes: lp:1838173
https://bugs.launchpad.net/kicad/+bug/1838173
2019-07-28 12:54:59 +02:00
Jeff Young d0344aecea Minor cleanup in dialog layout. 2019-07-27 23:27:21 -06:00
Jeff Young 4e40534d21 Update find history in combobox when history item is selected. 2019-07-26 23:50:51 -06:00
Jeff Young 3904d7ccfc Push some search stuff down into EDA_DRAW_FRAME so it can be shared.
Also rewrites the PCBNew Find dialog to make use of the above, including:
1) searching in user-defined footprint fields
2) searching in pcb text
3) a history list in the search popup
4) case sensitive searching
5) word sensitive searching
6) the ability to turn wildcard searching on/off
7) better placement of the result when the dialog obscures part of the
window

Fixes: lp:1838006
* https://bugs.launchpad.net/kicad/+bug/1838006
2019-07-26 17:53:32 -06:00
Jeff Young 460b03372d Implement preference for immediate actions.
Also pushes prefer-selection-to-dragging to common.
2019-07-25 20:41:22 -06:00
Jeff Young 2ca379b281 Copy ratsnest flags when exchanging modules.
Fixes: lp:1834214
* https://bugs.launchpad.net/kicad/+bug/1834214
2019-07-21 19:49:13 -06:00
jean-pierre charras 346495ae31 Fix errors in DIALOG_BOARD_STATISTICS.
(some values were not in the right column or row)
2019-07-21 16:45:37 +02:00
jean-pierre charras 88801f46d9 Fix issues in DIALOG_BOARD_STATISTICS:
- make it wxWidgets 3.1 compatible.
- internationalize.
- fix minor wxwidgets alert.
- remove settings for fg/bg color: the result is unpredictable:
was black texts on black background on my computer.
2019-07-21 12:01:36 +02:00
Jeff Young ab7cf4a2b0 A bit of visual cleanup for the new Board Statistics dialog. 2019-07-20 14:39:08 -06:00
Alexander bb290abe91 added board statistics dialog, which shows info for production and assembly 2019-07-20 14:39:08 -06:00
Jeff Young b5e01ea163 Initialize plot with aux origin checkbox.
Fixes: lp:1836923
* https://bugs.launchpad.net/kicad/+bug/1836923
2019-07-20 07:54:40 -06:00
Jeff Young 4a1edf581e Update DXF units drop-down.
Fixes: lp:1836927
* https://bugs.launchpad.net/kicad/+bug/1836927
2019-07-20 07:48:16 -06:00
Jeff Young 37af3adffb Add preference for flip axis.
Fixes: lp:1836267
* https://bugs.launchpad.net/kicad/+bug/1836267
2019-07-14 10:36:48 +01:00
Jeff Young a3855cb4f2 Allow thermal spokes to be same width as minimum width.
Also some changes for readability and clarity, both in the code
and in the Feature Constraints panel.

Fixes: lp:1835674
* https://bugs.launchpad.net/kicad/+bug/1835674
2019-07-14 10:36:48 +01:00
jean-pierre charras be5f3717c7 Fix minor wxWidgets alerts. 2019-07-13 18:32:18 +02:00
Ian McInerney 39954b20fe pcbnew: Make the netlist class panel usable with a lot of classes
Fixes: lp:1826154
* https://bugs.launchpad.net/kicad/+bug/1826154
2019-07-12 10:22:59 -07:00
Jeff Young 6c9e34e799 Don't let visibility bit get nuked when updating effects.
Fixes: lp:1836183
* https://bugs.launchpad.net/kicad/+bug/1836183
2019-07-11 18:19:29 +01:00
Jeff Young 807b8d4cf1 Lower x (or y) value always defines "Start Point".
"End Point" is the other.  (The user doesn't care what the variable
names in the code are.)

Also re-lays-out the dialog for better comprehension.

Fixes: lp:1694964
* https://bugs.launchpad.net/kicad/+bug/1694964
2019-07-11 17:36:32 +01:00
Ian McInerney ff9d899ae0 pcbnew: Clean up warnings with unit handling in the DXF export 2019-07-10 12:21:01 -04:00
Jeff Young 183687c69e Cleanup and a big hack to prevent keyboard focus loss.
Fixes: lp:1810993
* https://bugs.launchpad.net/kicad/+bug/1810993
2019-07-08 20:45:42 +01:00
Seth Hillbrand 3d8d852990 Fix board setup issue with reloading
Previous fix for the non-updated netclass pointers caused issues with
display of overlay view items and was bigger than needed to be.  Just
resetting the tools gets the pointers released.

Fixes: lp:1835533
* https://bugs.launchpad.net/kicad/+bug/1835533
2019-07-06 06:43:43 -07:00
Seth Hillbrand 09100100c9 pcbnew: Reload board after changing board paramters
The old board pointer maintains shared pointers to netclasses (among
other things) that do not get released by the
SynchronizeNetsAndClasses() call.  We reload the board to fully release
the pointers.

Fixes: lp:1835533
* https://bugs.launchpad.net/kicad/+bug/1835533
2019-07-05 13:50:29 -07:00
Jeff Young 1c30f3d9a9 Give up on KillFocus validation.
wxWidgets sends the KillFocus event before the Cancel button event,
and it sets the receiving-focus window pointer to NULL (so you can't
even check for it being the Cancel button.  Last time around (with
the UNIT_BINDER) I also tried a bunch of hacks for whether the window
pointer is NULL, etc., but they aren't discriminatory either.

Fixes: lp:1834975
* https://bugs.launchpad.net/kicad/+bug/1834975

Fixes: lp:1834966
* https://bugs.launchpad.net/kicad/+bug/1834966
2019-07-02 17:04:08 +01:00
Jeff Young da71a51029 Cleanup. 2019-07-02 00:48:05 +01:00
Jeff Young 29db6152b3 Only warn once in KillFocus for each error value in footprint name.
More than that just gets annoying, and there is at least one edge case
which throws us into an infinite loop if we don't have something to
break us out.

Fixes: lp:1834966
* https://bugs.launchpad.net/kicad/+bug/1834966
2019-07-02 00:47:52 +01:00
jean-pierre charras 978c4fd7d3 Pcbnew, export_footprints_placefile.cpp: code refactor.
Make the data generation code separate from the dialog code.
The dialog itself does not include anymore the data generation code.

Non SMD footprints forced in list are now displayed in the dialog.
The attribute MOD_CMS is no longer silently modified (without undo command) by the dialog.
2019-06-30 18:27:12 +02:00
Seth Hillbrand d650cca088 Enforcing rational limits on length tuner
The length tuning dialog needed validators on close to prevent negative
and percentages >100%

Fixes: lp:1834734
* https://bugs.launchpad.net/kicad/+bug/1834734

(cherry picked from commit 3974c6fd89)
2019-06-29 09:38:27 -07:00
Jeff Young 3135334c0c Hook up zone-connection controls in Edit Footprint dialog.
Fixes: lp:1834629
* https://bugs.launchpad.net/kicad/+bug/1834629
2019-06-28 12:24:15 +01:00
Jeff Young e785c140b9 Eradicate globals for PCB_GENERAL_SETTINGS.
Fixes: lp:1832896
* https://bugs.launchpad.net/kicad/+bug/1832896
2019-06-26 21:54:03 +01: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 79cd457ba7 Implement thermal spokes for custom pad shapes.
The thermal spokes are anchored at the pad anchor.  They may or may
not make sense, depending on the pad shape.  It's up to the author
to move the anchor around as necessary or to not use thermals.
2019-06-25 11:34:28 +01:00
Seth Hillbrand 0bce0f37e4 pcbnew: Avoid wxassert in message
wxstring::Printf() needs size_t cast to acceptable type or it gives an
assertion in debug mode.

(cherry picked from commit e8ce0ba6ef)
2019-06-24 09:42:40 -07:00
Seth Hillbrand 3bd2b7762a Fixup previous move commit
The previous commit missed a case where the number was so large that it
overflowed the integer invalidating the comparison.  This protects
against that case by using floating point comparison.

(cherry picked from commit f25ae373bb)
2019-06-20 06:48:10 -07:00
Seth Hillbrand 4a18f9db3a pcbnew: Enforce maximum movement in Move Exact
This checks the movement against a maximum value that would place the
selection outside of the valid area for the footprint or board.

Fixes: lp:1833478
* https://bugs.launchpad.net/kicad/+bug/1833478

(cherry picked from commit 845833e8fd)
2019-06-20 06:40:33 -07:00
Seth Hillbrand 77cefe0c16 Normalize line endings
A few files snuck in with CRLF for the line endings.  These make it hard
to look at diffs as every line appears to have changed.  This commit
makes only line ending changes, so can be ignored
2019-06-19 15:18:30 -07: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
jean-pierre charras a076f5092c I18n: fix a few useless leading spaces in messages. 2019-06-16 20:29:11 +02: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
jean-pierre charras 18ffb405b4 better message in dialog 2019-06-16 09:13:17 +02:00
Ian McInerney d5f680ecd2 Allow DXF to be exported in either inches or millimeters
Fixes: lp:1832188
* https://bugs.launchpad.net/kicad/+bug/1832188
2019-06-13 15:18:20 -07:00
Ian McInerney b2c848579a pcbnew: Update plot dialog to contain a unit selector for DXF 2019-06-13 15:18:07 -07:00
Jeff Young 8f84c3ec4f Grid rid of GetCanvas/GetGalCanvas distinction now that there's only gal. 2019-06-13 19:58:37 +01:00
Jeff Young ce1f35a1be Cleanup some left-over vestiages of the legacy canvas architecture. 2019-06-13 15:51:32 +01:00
Seth Hillbrand daad58e511 pcbnew: Add option to show ratsnest while moving
Re-works ratsnest display options in the configuration parameters rather
than the board file.  Moves ratsnest options to central preferences
location.

Fixes: lp:1826440
* https://bugs.launchpad.net/kicad/+bug/1826440

Fixes: lp:1821183
* https://bugs.launchpad.net/kicad/+bug/1821183
2019-06-12 17:36:02 -07:00
Jeff Young bb96255a03 Fix dangerous static_cast-ing to wrong type. 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
jean-pierre charras 929b1a1275 Better message for translation. 2019-06-09 17:53:03 +02:00
Jeff Young 1222f3cc72 ACTION-ize fab outputs. 2019-06-04 22:31:42 +01:00
Jeff Young 4e11dcfa31 Better error reporting for board edge collisions. 2019-06-04 13:56:54 +01:00
Jeff Young fbfbb64387 A bit of cleanup of stale DRC code. 2019-06-04 13:56:54 +01:00
jean-pierre charras 34ccd0f004 Pcbnew: prepare the new zone filling algo (filled polygons with no thickness). Work in progress. 2019-06-04 09:39:17 +02:00
Jeff Young 3912c7407f Move global commands to ACTIONs.
Also fixes a crash bug opening Edit Tracks and Vias dialog.
2019-06-03 21:08:30 +01:00
Jeff Young d7574db805 Fix regression in dialog-avoidance when focusing on a location. 2019-06-03 21:08:30 +01:00