Seth Hillbrand
b2c4519c2c
Setting custom pad shape to be outline for PNS
...
Changes SHAPE_CONVEX to SHAPE_SIMPLE to better reflect the limitations.
Changes SHAPE_LINE_CHAIN::PointInside calculation to allow points
strictly inside a line chain
Fixes: lp:1768862
* https://bugs.launchpad.net/kicad/+bug/1768862
2018-05-04 08:23:20 -07:00
Jeff Young
af739f5b00
Check for duplicates when adding libraries.
...
This is particularly important when bulk adding (by director, etc.)
as otherwise the user might end up having to click OK to many
many error dialogs.
Fixes: lp:1764057
* https://bugs.launchpad.net/kicad/+bug/1764057
2018-05-02 21:49:57 +01:00
jean-pierre charras
037f7a1698
Cosmetic enhancement: Add missing icons in GAL Select submenu (context submenu).
2018-05-02 21:42:41 +02:00
Seth Hillbrand
62522ee450
Prevent implicit * from wildcard match in footprint
...
Footprint filters need to be able to match the start and end of strings.
The standard wildcard filter implictly adds "*" to the start and end of
match strings, so we create a derived class that requires an explicit
"*" or "?" to match wildcards.
Fixes: lp:1751565
* https://bugs.launchpad.net/kicad/+bug/1751565
2018-05-01 16:49:20 -07:00
Jeff Young
75e91f4cfd
Make sure Cvpcb doesn't use its own FP_LIB_TABLE.
...
It's just a vestige of when Cvpcb was a separate app.
Fixes: lp:1768251
* https://bugs.launchpad.net/kicad/+bug/1768251
2018-05-01 21:49:03 +01:00
Wayne Stambaugh
6850e23fe0
Replace printf debugging output in common/project.cpp with wxLogTrace.
2018-04-30 15:18:09 -04:00
jean-pierre charras
7395949ae0
LIB_ID: fix incorrect detection of illegal chars, when values are not ASCII values.
...
Fixes: lp:1764055
https://bugs.launchpad.net/kicad/+bug/1764055
2018-04-30 11:46:24 +02:00
jean-pierre charras
b636aaddf6
Eeschema: fix incorrect UI messages in dialogs due to using UTF8 strings instead of wxStrings (unicode) to build them.
...
(Added a explicit to build a Unicode string in UI messages to avoid mistakes)
2018-04-30 11:46:23 +02:00
Jeff Young
91cfecaa12
Don't allow wxDataViewCtrl updates during model update.
...
Also checks to make sure libraries are activated before adding
them to the component tree.
Fixes: lp:1765286
* https://bugs.launchpad.net/kicad/+bug/1765286
2018-04-28 10:45:32 +01:00
Jeff Young
942d4e7658
Check footprint history list for validity.
...
Fixes: lp:1767108
* https://bugs.launchpad.net/kicad/+bug/1767108
2018-04-27 15:26:00 +01:00
jean-pierre charras
319908b7f4
fix a compil issue.
2018-04-24 15:20:35 +02:00
Maciej Suminski
143d580596
Fixed relative coordinates reset when a tool forces the cursor position
...
Fixes: lp:1759044
* https://bugs.launchpad.net/kicad/+bug/1759044
2018-04-24 12:56:19 +02:00
Seth Hillbrand
dbfa9093ab
Adding seg-polyset collision support
2018-04-23 16:43:13 -07:00
Seth Hillbrand
b618da1fac
Fixing bounding box calc for arcs
2018-04-23 16:43:13 -07:00
Maciej Suminski
cfa9916836
Prevent issuing a print command before the previous one is finished
...
Fixes: lp:1765965
* https://bugs.launchpad.net/kicad/+bug/1765965
2018-04-23 11:25:28 +02:00
Maciej Suminski
c960d671cd
Changed negative recursion level argument to positive
...
BEZIER_POLY::recursiveBezier() was called with negated 'level'
variable as an argument which is incorrect for an unsigned type.
2018-04-19 08:39:46 +02:00
Jeff Young
3be876c388
Cleanup of trace logs from Simon Richter.
2018-04-17 17:27:18 +01:00
Jeff Young
000457db7c
Move Fields Editor to wxGrid.
...
Makes in-place editing much easier and fixes some other issues
(see bug reports).
Fixed sorting bugs in References and added better sorting for
Values.
Removed Description column as it wasn't editable and caused more
confusion than value.
Removed auto-column-width after initial render.
Re-implemented undo/redo.
Fixes: lp:1749287
* https://bugs.launchpad.net/kicad/+bug/1749287
Fixes: lp:1737361
* https://bugs.launchpad.net/kicad/+bug/1737361
Fixes: lp:1759756
* https://bugs.launchpad.net/kicad/+bug/1759756
Fixes: lp:1763223
* https://bugs.launchpad.net/kicad/+bug/1763223
Fixes: lp:1761378
* https://bugs.launchpad.net/kicad/+bug/1761378
2018-04-17 11:39:44 +01:00
Jeff Young
12ec56bc15
Prevent reentrancy in footprint loading.
...
Also removes parallel implementation in favour of using the
normal one (with a new wxGauge-backed PROGRESS_REPORTER).
Fixes: lp:1764196
* https://bugs.launchpad.net/kicad/+bug/1764196
2018-04-16 23:19:08 +01:00
Wayne Stambaugh
81843c37a4
Organize trace debugging code for ease of maintenance.
2018-04-13 09:59:01 -04:00
Maciej Suminski
3f734eb1b5
Improved validation of library and entry names
...
Symbol/footprint library and entry have the same set of forbidden
characters with a single exception, space character. To accommodate for
this difference, LIB_ID validation and fix methods have been extended to
specify the LIB_ID type that is checked (schematic/board).
LIB_ID::HasIllegalChars() and LIB_ID::FixIllegalChars() had two different
sets of characters treated as invalid in LIB_IDs. The set has been
factored out to another function to avoid duplication.
2018-04-13 14:24:57 +02:00
jean-pierre charras
e57435c0fc
Fix compil issue (created by commit "Added std::less specialization for wxPoint") with wxWidgets 3.1.1
2018-04-13 11:06:46 +02:00
Seth Hillbrand
0f3fc4b6eb
Avoid doubling-up std namespace
2018-04-12 09:38:45 -07:00
Maciej Suminski
b766dbc7a4
Added std::less specialization for wxPoint
...
Requried to use wxPoint as key type in maps
2018-04-12 18:09:18 +02:00
Jeff Young
84151990cd
Don't set dirty bit when adding MARKERs.
...
They're not saved in the file, so they shouldn't dirty it.
Fixes: lp:1762497
* https://bugs.launchpad.net/kicad/+bug/1762497
2018-04-09 21:19:11 +01:00
Jeff Young
d54a252eaa
Check zone fills for being out-of-date during DRC.
2018-04-09 11:05:14 +01:00
Carsten Schoenert
a11714b1a4
fix misspelled 'an other' -> 'another'
2018-04-08 13:24:37 -04:00
Carsten Schoenert
1f32f7c55b
fix misspelled 'allows to' -> 'allows one to'
2018-04-08 13:24:18 -04:00
jean-pierre charras
7f6e26e55a
DrawGraphicText: remove a static variable, and replace it (when needed) by a new parameter in argument list.
...
It make this function thread-safe (as far as wxString is thread-safe)
2018-04-07 19:57:26 +02:00
Kristoffer Ödmark
fdb6bbab7b
Footprint Wizard now also handles custom Env paths
2018-04-06 14:51:09 +01:00
Jeff Young
df43f071e1
Keep track of open sockets and dispose of them in d'tor.
...
Fixes: lp:1760936
* https://bugs.launchpad.net/kicad/+bug/1760936
2018-04-04 12:02:40 +01:00
Jeff Young
5e36fe8df7
Move timestamp setting where it will alwasy get set.
...
Also update the rest of the symbol-chooser usage to current
specs, including examining the timestamp to see if the list
needs loading at all.
Partial fix to: lp:1760936
* https://bugs.launchpad.net/kicad/+bug/1760936
2018-04-04 12:02:40 +01:00
jean-pierre charras
f8a3ec4974
Add a method to facilitate Tools handling in main frame toolbars.
...
Fix also a bug in gerbview_frame.cpp, about a broken toolbar accessor (fortunately not used in current code)
2018-04-03 13:00:20 +02:00
Wayne Stambaugh
53b1ec8146
Fix track posture hotkey bug on windows.
...
The change track posture hotkey '/' was getting interpreted as the show
hotkey list shortcut '?' on windows. This fix is temporary hack to fix
the problem which much more involved than the simple #ifdef/#endif used
to fix this issue.
Add key code tracing to help analyze key codes for future development.
2018-04-02 18:05:37 -04:00
Jeff Young
d391489596
Don't clear old footprint till after user has hit OK.
...
Fixes: lp:1759190
* https://bugs.launchpad.net/kicad/+bug/1759190
2018-04-02 22:32:09 +01:00
jean-pierre charras
e750417fa0
Eeschema: fix many wxASSERT when trying to open menus from the main menubar.
...
This is due to the fact the same ID was used for menuitems in menubar,
and tools in toobars.
Especially, some items were not compatible due to different attributes.
Windows does not accept the same ID for 2 items inside the same frame.
It creates issues (items not shown, Asserts, ...)
2018-04-01 20:58:27 +02:00
Maciej Suminski
168112cf84
SEG: added Center() method
2018-03-29 12:11:35 +02:00
Seth Hillbrand
952aa7a1a6
Removing the last of time_t and fixing downcast corner bug in collector
2018-03-27 16:52:06 -07:00
Seth Hillbrand
ced0fcee1e
Updating Eagle Importer to take curved zones
...
Fixes: lp:1755879
* https://bugs.launchpad.net/kicad/+bug/1755879
2018-03-26 15:09:56 -07:00
Jeff Young
f4ce8766e3
Implement shared FOOTPRINT_LIST.
...
While we already cache the loaded footprint files, parsing said files
into the list is also time-intensive. Since the FOOTPRINT_LIST is
already hash-stamped against the current timestamps of the files that
make up the list, sharing a single copy of the list is quite
straight-forward.
2018-03-25 19:21:28 +01:00
Jeff Young
b24b0d5dfe
Dialog-ize CvPcb and implement proper Save.
...
Save now goes to disk (instead of just the in-memory schemaitc),
and the UI attempts to make this clear.
2018-03-25 19:21:27 +01:00
Jeff Young
fbf10e941b
Switch zone fillets to absolute-error algorithm.
...
And some general cleanup to related constants, etc.
2018-03-23 12:46:17 +00:00
Jeff Young
a0364a1137
Don't make user click twice to toggle checkbox in wxGrid.
2018-03-23 12:46:17 +00:00
Jeff Young
99e659ff54
Coverity fixes.
2018-03-21 23:11:55 +00:00
Jon Evans
3103e3dc4c
DRC: Center zoom on marker location, not DRC item start location
...
For some DRC checks, the location of the marker is not the location
of the first item in the resulting DRC_ITEM, so centering the screen
on PointA of the DRC_ITEM can be confusing.
2018-03-19 22:25:55 -04:00
Jeff Young
aa0ae48dda
Update status bar and toolbars on language change.
...
Fixes: lp:1392582
* https://bugs.launchpad.net/kicad/+bug/1392582
Fixes: lp:1748428
* https://bugs.launchpad.net/kicad/+bug/1748428
2018-03-18 22:17:27 +00:00
Jeff Young
b8fd2f3c79
Revert "Don't be pedantic about the file format."
...
This reverts commit 1537cbc59c
.
2018-03-16 18:11:36 +00:00
Jeff Young
1537cbc59c
Don't be pedantic about the file format.
...
It's just another form of nagging.
2018-03-16 16:57:38 +00:00
jean-pierre charras
e8df845b3f
Minor fix in zones_by_polygon.cpp: When editing a non copper zone, some settings were not those of the edited zone.
...
trigo.h: Add a useful double NormalizeAngleDegrees( double Angle, double aMin, double aMax ).
2018-03-14 19:03:14 +01:00
Maciej Suminski
4055c435a5
Eagle PCB import: unified code for handling pad properties
2018-03-13 14:44:35 +01:00
Maciej Suminski
4c9be316dd
Eagle import: minor ECOORD refactor
...
- changed EAGLE_UNIT enum names from EAGLE_* to EU_*
- renamed ToNanoMeters() to ConvertToNm() and added a comment
- added ToMils() and ToNanoMeters() method
2018-03-13 14:44:34 +01:00
Tomasz Wlostowski
b1f613071d
eeschema: workaround for 64kByte string length limit in wxString::Format() causing segfaults in netlist update under Windows
...
Fixes: lp:1754402
* https://bugs.launchpad.net/kicad/+bug/1754402
2018-03-12 18:26:25 +01:00
jean-pierre charras
2230abde1b
page layout editor: fix a crash on block move.
...
This crash was due to a pointer initialized to a temporary reference.
Very minor coding style fixes
2018-03-10 10:25:07 +01:00
Seth Hillbrand
ea4cee3393
Set Eagle import generated timestamps to KiCad std
2018-03-09 13:12:18 -08:00
Maciej Suminski
30a78f00bc
Use 32-bit timestamps for imported Eagle files
...
Fixes: lp:1754610
* https://bugs.launchpad.net/kicad/+bug/1754610
2018-03-09 14:27:35 +01:00
jean-pierre charras
51fe063524
Circle to polygon conversion: a few enhancements:
...
* Remove duplicate code
* fix incorrect formulas is some places
* add comments
2018-03-09 13:28:47 +01:00
Jeff Young
308f28d2d4
Save ModEdit's footprint ID rather than source.
...
This primarily keeps us from overriding "truth" with data that
might not have even been saved when closing ModEdit.
Fixes: lp:1752543
* https://bugs.launchpad.net/kicad/+bug/1752543
2018-03-09 01:32:52 +00:00
Jeff Young
4693fd6200
Resolve env vars when looking up documentation files.
...
Fixes: lp:1729276
* https://bugs.launchpad.net/kicad/+bug/1729276
2018-03-08 23:51:10 +00:00
Seth Hillbrand
3cbf5f4942
Spelling indentifier -> identifier
2018-03-08 12:33:32 -08:00
Maciej Suminski
9ce768c29a
Modified STROKE_FONT::ComputeStringBoundaryLimits() to process multiline strings
...
Removed a declaration of a not existing method (STROKE_FONT::ComputeTextLineSize()).
Fixes: lp:1747967
* https://bugs.launchpad.net/kicad/+bug/1747967
2018-03-08 10:56:34 +01:00
Maciej Suminski
dfc47464d7
Added ReplaceIllegalFileNameChars() for wxString&
2018-03-08 09:06:15 +01:00
Seth Hillbrand
414e6614f1
Check for toolbar before checking tool
...
Not all toolbars exist in all tools at all times. Need to check before
dereferencing variable.
Fixes: lp:1754094
* https://bugs.launchpad.net/kicad/+bug/1754094
2018-03-07 09:55:58 -08:00
Maciej Suminski
0521b63503
Remove negation from PCB_BASE_FRAME::PlaceModule() parameter
...
Negated parameters make code confusing. Now the parameter
description is accurate.
2018-03-05 16:42:30 +01:00
Maciej Suminski
1f09990618
Remove not used ListNets() methods
2018-03-04 18:04:19 +01:00
Maciej Suminski
f7158e834d
Created STDOUT_REPORTER class for debugging
2018-03-04 16:45:42 +01:00
Maciej Suminski
1f078f533b
Refactor Eagle project import to use Kiway::ExpressMail()
2018-03-04 16:45:42 +01:00
Russell Oliver
9016344bb3
Eagle Schematic Import: Fix netlist mapping for zones and vias.
2018-03-04 16:45:11 +01:00
Tomasz Włostowski
af7064ef89
pcbnew: synchronize zone visibility view menu entries with the toolbar buttons
2018-03-03 17:38:28 +01:00
Maciej Suminski
3f1a3fe65b
Derive DIALOG_MULTI_OPTIONS from wxMultiChoiceDialog
2018-03-02 18:09:27 +01:00
Maciej Suminski
be13bb0013
Refactored SelectSingleOption() to take advantage of wxSingleChoiceDialog.
2018-03-02 17:43:59 +01:00
Maciej Suminski
18167f829a
Derive KIDIALOG from wxRichMessageDialog
...
wxRichMessageDialog already offers a dialog with a checkbox, so
the custom dialog setup code is not necessary anymore.
2018-03-02 17:05:35 +01:00
Maciej Suminski
1d5df8e975
Renamed KI_DIALOG to KIDIALOG
2018-03-02 11:57:03 +01:00
Andrzej Wolski
1ac5ec1fc8
Restore some missing visibility items from board file
...
LAYER_TRACKS, LAYER_PADS_TH and LAYER_NON_PLATEDHOLES
now have their own visibility control, so do not force them on.
2018-03-02 11:12:53 +01:00
Maciej Suminski
52fcddf4f4
Allow drawing self-intersecting polygons, just display a warning
...
Fixes: lp:1751654
* https://bugs.launchpad.net/kicad/+bug/1751654
2018-03-02 10:58:43 +01:00
Maciej Suminski
9127e09815
Code formatting
2018-03-01 17:20:50 +01:00
Jon Evans
cd14525839
GerbView: More accurate selection of arc shapes
2018-02-28 08:23:39 +01:00
Jon Evans
37beb726e3
GerbView: Implement in-place GAL layer reordering (for X2 sorting)
2018-02-27 20:59:07 +01:00
jean-pierre charras
5f578c884c
Fix SetValue() method in TEXT_CTRL_EVAL
...
Normal SetValue() call would temporarily change the displayed
value, but as soon as the text widget receives focus again, the original
expression (not evaluated) is restored.
To avoid this, the original expression is cleared in the associated
NumericEvaluator object.
2018-02-27 12:47:43 +01:00
Maciej Suminski
5f2b8e0409
Change NumericEvaluator::clear() to optionally accept an object to clear
2018-02-27 12:47:32 +01:00
Jon Evans
4ec7a02ccd
Add a method to conditionally update VIEW_ITEMs (GerbView performance)
2018-02-25 18:20:44 -05:00
Jon Evans
d7bb83ddcb
Add a REPAINT flag for faster redraw when bounding box hasn't changed
2018-02-25 18:20:34 -05:00
Jon Evans
be8bb24390
Make all new hotkeys editable; label some GAL-only hotkeys
...
Fixes: lp:1751183
* https://bugs.launchpad.net/kicad/+bug/1751183
2018-02-25 17:57:36 -05:00
Jon Evans
b90528a7ae
Fix regression in GerbView display settings; some optimization too
2018-02-25 17:35:26 -05:00
Carsten Schoenert
6256feb9db
fix misspelled 'occured' -> 'occurred'
2018-02-25 17:10:10 -05:00
Michael Geselbracht
21f46776c6
Fix decimal point bug, support for more units V2
...
If ',' is used as decimal separator by the current locale a '.' is also accepted.
Also add support for units "mi", "th" and "in" as described in the documentation of pcbnew.
Fixes: lp:1751315
* https://bugs.launchpad.net/kicad/+bug/1751315
2018-02-25 08:21:23 +01:00
Jeff Young
821a411ac0
Fix regression in user grid size.
...
Frame, dialog and config file couldn't agree on whether to use
internal units or not.
Frame now stores internal units, and they're now mapped on the
way in/out of the config file. Dialog was already assuming they
were stored in internal units (though they were previuosly not).
Fixes: lp:1751435
* https://bugs.launchpad.net/kicad/+bug/1751435
2018-02-24 09:21:28 -05:00
Jeff Young
7bd2f14342
Go back to checking individual file timestamps.
...
Too many external applications fail to touch the parent directory.
Also removes FP_CACHE_ITEM lastMod times and dirty flags as we've
always loaded libraries atomically anyway.
Claws back some of the performance lost by being more efficient
with cache management for sequential calls to Enumerate and then
Load.
Fixes: lp:1750936
* https://bugs.launchpad.net/kicad/+bug/1750936
2018-02-23 10:56:12 -05:00
Jeff Young
e552c2fbff
Remove confusing active library interactions with save.
...
Add a library selector to the save dialog. Initialize it to the
footprint's library. This way a straigh-up save will do what's
expected.
However, the user can still select the active library (or any
other library) if they really did want to move the footprint.
Fixes: lp:1750918
* https://bugs.launchpad.net/kicad/+bug/1750918
2018-02-22 18:19:02 -05:00
jean-pierre charras
43cb1b7bc7
Fix a compil issue with too old compilers
2018-02-22 21:06:48 +01:00
Jeff Young
4dda8a39fe
Add inc/dec current layer alpha to menus.
...
Also adds indicators in layers palette for feedback.
Also generates sized images for all indicators instead of using
scaled bitmaps (which didn't look great).
Also fixes a completely unrelated typo in a UI string.
2018-02-22 17:48:14 +01:00
Maciej Suminski
918ac567e5
Fix constant naming conflict in KI_DIALOG
2018-02-22 17:15:22 +01:00
Maciej Suminski
01aca9d783
KI_DIALOG: flexible way of creating dialogs, including "do not show again"
2018-02-22 16:24:08 +01:00
Maciej Suminski
4da47f2c01
Forbid drawing self-intersecting polygons.
2018-02-22 16:24:08 +01:00
Maciej Suminski
7129dcef91
Added STATUS_TEXT_POPUP for simple popup text display
2018-02-22 15:18:52 +01:00
Maciej Suminski
9673ac4ecd
WX_STATUS_POPUP refactor
...
- Rename WX_STATUS_POPUP -> STATUS_POPUP
- Added Expire() to show a popup temporarily
- Code formatting
2018-02-22 15:18:52 +01:00
Maciej Suminski
7775f59eec
Converted zone drawing tools to store points in a SHAPE_LINE_CHAIN
...
Simplifies the code a bit, removes redundant conversions to/from
std::vector.
2018-02-22 15:18:52 +01:00
Jon Evans
0c9d11c180
Add progress reporting for GerbView file loading
2018-02-21 13:17:02 -05:00
Jeff Young
cd81254262
Respect 45-degree mode when set from zone dialog.
...
Fixes: lp:1655073
* https://bugs.launchpad.net/kicad/+bug/1655073
2018-02-20 17:38:20 +01:00
Jon Evans
01ab8b0584
Use polygonal hit testing for module selection
2018-02-20 10:43:43 -05:00
Maciej Suminski
6c1a05a7d5
Coverity fixes
...
Uninitialized variables: CID #163188 and #174187
Unused variable: CID #168698
2018-02-20 09:14:51 +01:00