Jeff Young
acec00f80a
Fix bug displaying canvasses when starting in Legacy mode.
2018-08-11 23:43:19 +01:00
Jeff Young
d81faa72c9
Overhaul border drawing in all the Kicad frames.
...
Primary change is to replace most control/window borders with
AUI pane borders. We implement our own AUI border drawing
routine which avoids the ugly one-pixel white frames around
dark canvasses.
Also increases the signal-to-noise ratio of all the pane
creation code in the various frames.
2018-08-11 17:25:38 +01:00
Jeff Young
33fc74a04d
Performance enhancements for Footprint Editor construction.
2018-08-04 10:29:17 +01:00
jean-pierre charras
6e9990449f
Gerbview: fix a minor log warning.
2018-07-30 16:19:35 +02:00
Jeff Young
977f27f3c4
Adjust spacing on preference panels.
...
Giving them the correct parent changed the spacing.
(cherry picked from commit 7f602f3)
(cherry picked from commit 718db46)
2018-07-17 15:14:25 +01:00
Jeff Young
abae094955
Remove unused variables.
...
(cherry picked from commit 4fc5281)
(cherry picked from commit b151c8d)
2018-07-17 15:14:22 +01:00
Jeff Young
909f850d16
Give panels the correct parent (the treebook, not the dialog).
...
(cherry picked from commit 7338533)
(cherry picked from commit 3ce75be)
2018-07-17 15:14:19 +01:00
Jeff Young
e329a411bf
Add grid and zone dropdowns to GerbView frame.
...
(cherry picked from commit be5c1e2)
2018-07-17 15:13:58 +01:00
Jeff Young
a747d074c4
Add Worksheet to Render Items for GerbView.
...
Also added PCB Background Color.
Fixes: lp:1780362
* https://bugs.launchpad.net/kicad/+bug/1780362
(cherry picked from commit f789ef1)
2018-07-17 15:13:43 +01:00
Jeff Young
df863e44e2
Wire m_showPageLimits control up to GAL canvas.
...
Fixes: lp:1499285
* https://bugs.launchpad.net/kicad/+bug/1499285
(cherry picked from commit 4cb7442)
2018-07-17 15:13:29 +01:00
Jeff Young
5f3ee1e7ce
More g_UserUnit erradication.
...
(cherry picked from commit 3f08780)
2018-07-17 15:12:31 +01:00
Jeff Young
7841f8a466
Unified preferences dialog framework.
...
(cherry picked from commit 8ee3e77)
2018-07-17 15:11:17 +01:00
Jeff Young
eacaa39aa2
Remove global units usage from GetSelectionText...
...
... and GetMsgPanelInfo.
Step 4 in the g_UserUnit eradication effort.
Also removes a couple of conversion routines that were close
enough to extinction.
(cherry picked from commit c75da51)
2018-07-17 15:11:09 +01:00
Jeff Young
0010ad37d1
In-place editing for footprint TEXTE_MODULEs.
...
Fixes: lp:1102168
* https://bugs.launchpad.net/kicad/+bug/1102168
Fixes: lp:1779913
* https://bugs.launchpad.net/kicad/+bug/1779913
(cherry picked from commit 83781ab)
2018-07-17 15:11:04 +01:00
Jeff Young
05ef6f05d1
Move SanitizePads to CLIENT_SELECTION_FILTER architecture.
...
This not only reduces the number of different mechanisms, but
will also reduce (yet again) the number of Clarify Selection
pop-ups (because the CLIENT_SELECTION_FILTER runs before the
pop-up, while SanitizePads ran after it).
Fixes: lp:1710451
* https://bugs.launchpad.net/kicad/+bug/1710451
(cherry picked from commit e50a993)
2018-07-17 15:10:18 +01:00
Jeff Young
a39fb03822
Remove some references to g_UserUnit
...
(cherry picked from commit 614d832)
2018-07-17 15:09:56 +01:00
Jeff Young
4f8c546140
Implement user units uniformly in EDA_DRAW_FRAME
...
Step 1 of the g_UserUnit global eradication. This commit includes
basic hookup of hotkeys, units tool-buttons and grid dialogs.
(cherry picked from commit e0500ab)
2018-07-17 15:09:51 +01:00
Jeff Young
b99ea159c8
Rationalize select menu texts.
...
Be consistent with order, formatting, etc.
Remove debug stuff such as zone timestamp and net code.
Clean up misleading pad messages.
(cherry picked from commit 2132109)
2018-07-17 15:09:48 +01:00
jean-pierre charras
c291505830
Gerbview, read Excellon files: fix a few issues.
...
The main issue is the fact Excellon files have no coordinate fine format definition.
Only the units are defined.
Units are floating point numbers or integer numbers.
Integer numbers can be defined as 3.3 or 2.4 numbers (mm/inches)
However some files (altium drill files for instance) use an other notation.
This fix is a workaround to accept 2.x (inch) or 3.x (mm) notations.
Fixes: lp:1754121
https://bugs.launchpad.net/kicad/+bug/1754121
Fixes: lp:1782053
https://bugs.launchpad.net/kicad/+bug/1782053
2018-07-17 14:29:28 +02:00
jean-pierre charras
2af5fb51f2
Revert "Perform coordinate format detection on Excellon drill files"
...
This reverts commit 3e033aee0c
.
2018-07-17 14:29:27 +02:00
Carsten Schoenert
9f7109826d
fix misspelled 'allows to' -> 'allows one to'
...
Fixup small grammar issues around used 'allows to ...' almost in
code comments.
2018-07-11 10:35:03 -04:00
jean-pierre charras
ef38a198d1
GerbView: incorrect handling of polygon primitive: broken parameters rotation and drill size.
...
Fixes: lp:1778459
https://bugs.launchpad.net/kicad/+bug/1778459
2018-06-25 11:00:53 +02:00
Maciej Suminski
e4a6f2e523
Switch canvas to Cairo if OpenGL is not supported on the first run
2018-06-04 12:17:58 +02:00
Maciej Suminski
27c9c6ceed
Enable the accelerated canvas on the first gerbview run if requested
...
Commit 8910894f
applied to gerbview.
2018-06-04 10:47:44 +02:00
jean-pierre charras
8f984c2899
OpenGL, DrawGrid(): use grid and axis alpha color value setting, instead of the fixed 1.0
...
In Cairo mode, this function uses already the alpha color value setting.
Now for low alpha values (usually they are low, as said in many GAL comments),
Cairo mode and OpenGL mode should have a similar look.
2018-06-01 18:29:04 +02:00
jean-pierre charras
bfa89039c4
Gerbview, GAL mode: fix "Zoom to fit" area size calculation when nothing is loaded.
...
Also ensure the worksheet is displayed after clearing the gerber layers.
2018-06-01 11:39:08 +02:00
jean-pierre charras
9a228d8ec9
Gerbview: GAL mode: shows the page worksheet, similar to legacy mode.
2018-06-01 09:11:43 +02:00
jean-pierre charras
fc71fc6474
Gerbview: Fit to page: use the page size when nothing is loaded.
...
Previously, due to a minor bug, a very small default size was used (therefore a high zoom value), that was not a good choice.
2018-05-31 11:22:33 +02:00
Jeff Young
cd5f727880
Fix off-by-1 errors in zoom menus & use zoom steps in GAL canvas.
...
Also bumps the maximums a bit (at user request).
Fixes: lp:1773215
* https://bugs.launchpad.net/kicad/+bug/1773215
2018-05-25 13:01:58 +01:00
Jeff Young
81af2db614
Even out the Gerbveiw zoom steps and increase the max.
...
Fixes: lp:1773215
* https://bugs.launchpad.net/kicad/+bug/1773215
2018-05-24 19:04:10 +01:00
Seth Hillbrand
8506cdf3ae
Avoid numerical dereference of selections
...
The SELECTION is a std::set. Numerical dereference of item n is O(n) as
the iterator is not random access. Therefore, a for loop using
numerical dereference is O(n!) and quickly slows.
We avoid this by storing items to remove separately while iterating and
then removing the items after we complete.
Fixes: lp:1692081
* https://bugs.launchpad.net/kicad/+bug/1692081
2018-05-22 16:37:45 -07:00
Seth Hillbrand
8c5037a48b
Optionally sort reporter messages
...
It can be useful to have similar class messages grouped together so that
error messages in a larger report don't get lost among the
warning/info/action messages.
This patch allows sorting of messages for dialogs that benefit from
organization. Default behavior of reporter messages remains
unchanged by this patch.
Fixes: lp:1772090
* https://bugs.launchpad.net/kicad/+bug/1772090
2018-05-22 13:55:02 -07:00
Jeff Young
5010a461e1
Make polar coordinates consistent.
...
Use theta instead of phi (which normally describes the azimuth
angle).
Fixes: lp:1545107
* https://bugs.launchpad.net/kicad/+bug/1545107
2018-05-18 12:22:14 +01:00
jean-pierre charras
7c52af2d50
Gerbview: cosmetic enhancement: add icons in Clarify menu.
2018-05-17 10:24:09 +02:00
jean-pierre charras
93e75af388
Rename plot_auxiliary_data.h file to gbr_metadata.h, according to the class names defined by this file
2018-05-17 08:07:29 +02:00
jean-pierre charras
d8687e4eaf
Gerbview: minor code cleanup
2018-05-14 09:05:11 +02:00
jean-pierre charras
8da242c593
Gerbview: accept any structured comment as X2 attribute.
...
A structured comment is a comment line starting by "G04 #@! " and in fact containing
a X2 attribute. It is used to create Gerber files contianing X2 metadata, but compatible
with X1 file format
2018-05-14 09:05:09 +02:00
jean-pierre charras
a3770bf6e1
Gerbview: fix a crash when Gerbview starts by loading a gerber job file (run from a command line)
2018-05-07 12:47:11 +02:00
Jeff Young
106dd60e45
Only adjust LAYER_WIDGET font size if larger than indicator.
...
Also moves adjustment into LAYER_WIDGET so all the callers don't
have to deal with it individually.
Fixes: lp:1767965
* https://bugs.launchpad.net/kicad/+bug/1767965
2018-05-02 21:49:57 +01:00
Seth Hillbrand
f911ef5186
Standardize print scale label for gerbview
2018-04-23 13:14:06 -07:00
Seth Hillbrand
ca06e67ffc
Standardize colons in gerbview display options dialog
2018-04-23 13:11:53 -07:00
Seth Hillbrand
aa0d67bdde
Standardize colons in gerbview print dialog
2018-04-23 13:10:53 -07:00
jean-pierre charras
2925b93571
Gerbview: Remove dead code that handled a experimental .gbrjob file, now no longer existing.
2018-04-23 13:04:21 +02: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
3cc0554e33
Code formatting
2018-04-23 11:18:51 +02:00
jean-pierre charras
07dc12fdd3
Fix incorrect UI management of Zoom to Selection, created by fix 2a419156
2018-04-14 17:44:17 +02:00
jean-pierre charras
e9ef555c6a
Use Ctrl+F1 to display hotkey list also in Gerbview and Kicad manager
2018-04-14 17:12:28 +02:00
Jeff Young
2a419156e0
Don't try to check uncheckable menu items.
...
When updating toolbars make sure the events are coming from the
toolbar in question (and not the menus which share the same ID).
Fixes: lp:1763563
* https://bugs.launchpad.net/kicad/+bug/1763563
2018-04-13 21:42:31 +01:00
Maciej Suminski
df8bc93e4b
gerbview: Removed duplicate zoom-to-selection handler, made the toolbar button checkable
...
Fixes: lp:1763270
* https://bugs.launchpad.net/kicad/+bug/1763270
2018-04-12 11:52:08 +02:00
Carsten Schoenert
a11714b1a4
fix misspelled 'an other' -> 'another'
2018-04-08 13:24:37 -04:00
Jeff Young
baef22df9a
Fix memory leak and push menu change to other apps.
...
Fixes: lp:1761848
* https://bugs.launchpad.net/kicad/+bug/1761848
2018-04-07 14:14:55 +01:00
jean-pierre charras
a2f118d2fa
Gerbview: fix not working menu item "Zoom to Selection" in main menu. This also fixes a wxASSERT for this menu item
2018-04-03 16:30:16 +02: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
jean-pierre charras
54f14b08ca
commit forgotten change in my previous commit
2018-03-31 18:46:29 +02:00
jean-pierre charras
fa39acfc2f
Gerbview, export to pcbnew : export polygons as new DRAWSEGMENT polygonal shape.
...
It can creates issues on copper layers, but the only one other alternative is to ignore polygons in export,
and this is worst.
2018-03-31 18:43:12 +02:00
jean-pierre charras
5b8c35f64d
Gerbview: minor fix: do not report error if in header INCH ot METRIC command has no parameter (,LZ or ,TZ format)
...
I am not sure it should be reported, because LZ or TZ format has no meaning in decimal format, and can be omitted.
2018-03-31 18:40:29 +02:00
Jon Evans
1ec217d70e
Fix hit testing for zero-width gerber items
2018-03-29 22:04:51 -04:00
Wayne Stambaugh
8d8c422a19
Add zoom to selection menu entry to all editors.
...
Fixes lp:1753339
https://bugs.launchpad.net/kicad/+bug/1753339
2018-03-25 12:34:19 -04:00
jean-pierre charras
29ebca4053
Very minor fix: make a menu string more easily translatable
2018-03-22 21:00:41 +01:00
Jon Evans
5b653c0c1e
Update MacOS icons
...
Fixes: lp:1750284
* https://bugs.launchpad.net/kicad/+bug/1750284
2018-03-22 11:45:42 -04:00
Jon Evans
a931ac436a
Add some safety checks to Excellon number format detection
...
Fixes: lp:1754121
* https://bugs.launchpad.net/kicad/+bug/1754121
2018-03-21 22:29:43 -04:00
jean-pierre charras
2ff74cb3fc
Add support for .gbrjob new file format (JSON format) in Gerbview
...
Add experimental code to generate .gbrjob files in the new JSON file format
2018-03-19 15:14:20 +01:00
jean-pierre charras
5e34563f52
Fix a long calculation time that happens with some gerber files when closing Gerbview in legacy display mode.
2018-03-19 10:58:27 +01:00
Jon Evans
4e76a18d5d
Add checks against missing D-Codes in flashed Gerber items
...
Fixes: lp:1756710
* https://bugs.launchpad.net/kicad/+bug/1756710
2018-03-18 21:55:27 -04:00
jean-pierre charras
827b818b5d
Very minor fixes in Gerbview and Kicad:
...
Gerbview: fix X2 z order display of Adhesive (Glue) layers.
Kicad: very minor cosmetic enhancement in Create Project dialog.
2018-03-18 16:04:23 +01:00
Marco Ciampa
9e8bcbea04
Gerbview: fix typo in tooltip string.
2018-03-16 09:41:53 -04:00
Jon Evans
213b600b54
Revert active layer behavior so gerber/drill load behavior matches
...
Fixes: lp:1755713
* https://bugs.launchpad.net/kicad/+bug/1755713
2018-03-14 21:52:06 -04:00
jean-pierre charras
fa41026f36
Fix issue in aperture macro with some strange gerber files.
...
Fixes: lp:1755623
https://bugs.launchpad.net/kicad/+bug/1755623
2018-03-14 14:55:51 +01:00
jean-pierre charras
66d5d10b49
Gerbview: bigger line buffer to read some gerber files that have only one (very long) line.
...
small code refactor.
2018-03-14 10:42:18 +01:00
Wayne Stambaugh
71d8a1ea1e
GerbView: fix legacy canvas refresh when drawing outline modes.
2018-03-13 18:25:03 -04:00
Wayne Stambaugh
a5cca18dd1
GerbView: add view menu.
...
Include all actions provided by left vertical toolbar in a new view
menu for consistency with other main frames.
Move show/hide layer manager to view menu.
Simplify some toolbar and menu update logic.
Fixes lp:1753337
https://bugs.launchpad.net/kicad/+bug/1753337
2018-03-13 18:00:15 -04:00
Jeff Young
43899bbe0e
Fix compile issues under some compilers.
2018-03-12 21:02:04 +00:00
Jeff Young
4eedb3a27d
The _() macro affords some nullptr safety over a naked immediate.
...
Fixes: lp:1477448
* https://bugs.launchpad.net/kicad/+bug/1477448
2018-03-12 19:18:05 +00:00
Jon Evans
e4b847b345
GerbView: fix a few issues with layer selection / info synchronization
...
Fixes: lp:1754135
* https://bugs.launchpad.net/kicad/+bug/1754135
2018-03-08 18:19:48 -05:00
Seth Hillbrand
9bede6900c
Standardize Kicad -> KiCad
2018-03-08 12:33:32 -08:00
Jon Evans
23f49f014b
Code style fixes
2018-03-07 22:14:24 -05:00
Jon Evans
3e033aee0c
Perform coordinate format detection on Excellon drill files
...
Fixes: lp:1754121
* https://bugs.launchpad.net/kicad/+bug/1754121
2018-03-07 22:08:59 -05:00
Jon Evans
c3333d4665
GerbView: ensure view settings are saved/restored in measure tool
...
Fixes: lp:1754100
* https://bugs.launchpad.net/kicad/+bug/1754100
2018-03-07 18:56:59 -05:00
Clemens Koller
f7ef010fe1
GerbView: Minor cleanup of Menus + Toolbar for consistency.
...
replace: File -> File(s) when wxFD_MULTIPLE
replace: Load -> Open
replace: Erase -> Clear
add Excellon / Gerber where it makes sense
re-sort File menu
2018-03-05 18:33:21 -05:00
jean-pierre charras
5a33f09608
Fix memory leak
2018-03-05 20:18:55 +01:00
Jon Evans
cd2224b94d
Add missing hotkey support to GerbView
...
Fixes: lp:1752982
* https://bugs.launchpad.net/kicad/+bug/1752982
2018-03-04 16:59:23 -05:00
Jon Evans
d2c86f8594
GerbView: Disable legacy-only event handlers when GAL is active
...
Fixes: lp:1752209
* https://bugs.launchpad.net/kicad/+bug/1752209
2018-03-04 16:21:24 -05:00
Jon Evans
2da7199a37
GerbView: Fix active layer synchronization
2018-03-03 23:43:16 -05:00
jean-pierre charras
2c85de3ab2
gerbview layer manager: fix a minor issue, and and icons in context menu, similar to pcbnew layer manager context menu
2018-02-28 10:21:37 +01:00
Jon Evans
2c54f6fe32
GerbView: Fix DCode reordering; ensure loaded layers are visible
2018-02-28 08:23:41 +01:00
Jon Evans
de483ac1aa
GerbView: only erase current layer if a new file is chosen
2018-02-28 08:23:40 +01:00
Jon Evans
490a2105c3
Properly update view when GerbView display settings changed
2018-02-28 08:23:39 +01:00
Jon Evans
cd14525839
GerbView: More accurate selection of arc shapes
2018-02-28 08:23:39 +01:00
Jon Evans
e2408989a4
GerbView: redraw negative items when visibility changes
2018-02-27 20:59:08 +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
eb94d2fcd0
Gerbview: fix an issue when loading files: Layer filenames order in right tab view modified each time a new file is loaded.
...
It creates strange issues (inconsistent layer filenames order, inconsistent items colors) especially with non X2 files.
2018-02-27 19:58:07 +01:00
Jon Evans
80035661dc
Use proper path when loading files from Gerber job file
2018-02-26 14:26:58 -05:00
Jon Evans
5292829e05
Fix edge case GERBER_FILE_IMAGE creation logic
2018-02-26 14:26:47 -05:00
Jon Evans
b03ac1f614
Only update item color when highlighting items in GerbView
2018-02-26 13:48:16 -05:00
Jon Evans
449da4303e
Remove more unnecessary calls to RecacheAllItems
2018-02-26 13:47:55 -05:00
Jon Evans
319b7cfc67
Remove extra call to SetTopLayer() when switching active layer
2018-02-25 19:19:45 -05: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