jean-pierre charras
3993181de5
D_PAD::BuildEffectiveShapes(): fix incorrect rect shape size for rect pads
...
rotated by +-90 deg
Noticeable in PnS router.
Fixes #4771
https://gitlab.com/kicad/code/kicad/issues/4771
2020-07-01 16:06:31 +02:00
Jeff Young
4694b52e1f
Lazy rebuild of color themes dropdown.
...
This allows you to (for instance) create a new theme in PCBNew and
then select it in Footprint Editor.
2020-06-30 18:32:31 +01:00
Jon Evans
44f3cdb31e
Fix a few issues with zone islands
2020-06-29 12:16:37 -04:00
Lukas F. Hartmann
f5842156a5
GAL: disable glCopyBuffer for etnaviv vendor
2020-06-28 17:01:26 +00:00
Jon Evans
1d5e4f86af
ADDED: Copper zone island removal is now configurable
...
ADDED: Zones and keepouts can now be named (for DRC)
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4392
2020-06-28 09:09:38 -04:00
Jon Evans
7532cf4ab0
Add support for data type to UNIT_BINDER
2020-06-28 08:52:37 -04:00
Jon Evans
0b34cea3d5
Add an optional name property to zones
2020-06-28 08:51:57 -04:00
Jon Evans
bd19c580f4
Add configuration for cross-probing behavior
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/2317
2020-06-27 22:48:48 -04:00
Jeff Young
32c3ea4edd
Flags cleanup.
...
Remove extraneous use of FLAG0 from tracks cleaner (it was checked but
never set).
Fix issue in expand connections where two parts of it couldn't agree
on the same flag (BUSY vs SKIP_STRUCT), and where the second part was
clearing the flag instead of setting it.
Remove obsolete HIGHLIGHT infrastructure (we now use selection).
Remove extraneous use of BUSY flag in several places (it was never
set).
2020-06-27 17:53:04 +01:00
Ian McInerney
fb10406e67
Add right-click context menus for toolbar items
2020-06-26 21:29:03 +00:00
Ian McInerney
52856a8ce4
Move scaled toolbar separator into ACTION_TOOLBAR
...
* Ensure all separators are scaled separators
* Clean up toolbar creation functions
2020-06-26 21:29:03 +00:00
Seth Hillbrand
05a89863c5
GRID_TRICKS: Ensure destinations can take value
...
Cut/Paste need to set values in the table. We need to check that the
destination can take the string values before blindly setting.
Fixes https://gitlab.com/kicad/code/kicad/issues/4724
2020-06-26 09:07:28 -07:00
Seth Hillbrand
4ef02fd699
Replace TTL delauney triangulator
...
Removes the TTL triangulator in favor of the delaunator triangulator.
This removes the only AGPL code in the KiCad codebase and therefore
allows the full project to be licensed under the GPLv3.
2020-06-25 18:45:27 +00:00
jean-pierre charras
534bcc8db0
very minor fix: change the default value user grid size to 10mils
...
Previously, was 12.5 mils, acceptable for pcbnew but not for eeschema.
Now set to 10 mils.
2020-06-25 10:17:27 +02:00
Wayne Stambaugh
2078e629c5
Eeschema: allow editing of junction properties diameter and color.
...
Add missing plot and print changes for the new bus entry properties.
ADDED: Junction properties diameter and color can now be edited.
Fixes: https://gitlab.com/kicad/code/kicad/issues/4593
2020-06-24 13:36:17 -04:00
Jeff Young
5ee806c3a3
The dispatch-behind & whitelist stuff got broken again, so I've
...
retired them in favour of a much dumber hack that special-cases
only ctrl-U for units switch.
2020-06-24 12:22:42 +01:00
Jeff Young
18ab3c4714
Fix missing user grid in COMMON_TOOLS.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4702
2020-06-23 11:17:15 +01:00
Jon Evans
713cd4a47a
Point editor: show dragged points with a highlight
...
Take points editor colors from color theme
Also fix an issue where the edited object sometimes didn't
update when a point is dragged.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4600
2020-06-21 14:43:41 -04:00
Ian McInerney
96a5a96037
Fix GTK window position when closed maximized
...
GTK only sends one maximize event, and it happens after the
window is maximized, so we shouldn't check for not being maximized.
2020-06-19 20:13:03 +01:00
Ian McInerney
5b3d947b7e
Fix initialization order fiasco with colors
...
The legacy color refs are needed by the COLOR4D constructor
when constructing a static variable, so they can't be static
themselves.
2020-06-19 17:05:18 +01:00
Ian McInerney
5649558cff
Move DPI_SCALING into the GAL from common
...
It should be owned by the GAL, since it is used
with the OpenGL canvas infrastructure.
2020-06-19 17:02:46 +01:00
Jeff Young
a1332d76fe
Remove SHAPE_EDITOR frame types before we forget about them.
...
They may go back at some point, or they may not....
2020-06-19 14:10:41 +01:00
Ian McInerney
fe1e835471
Cleanup some unused files
2020-06-19 12:34:15 +01:00
Jon Evans
aa7ce74ad5
Fix overzealous autoformatter
2020-06-18 23:26:10 -04:00
Jon Evans
e91b9f6dfb
Rip out the unused leftovers of the old color system
2020-06-18 22:32:14 -04:00
Jeff Young
cae493fe65
More infrastructure work for shape editor.
2020-06-18 15:38:01 +01:00
Jeff Young
ee9d8fcd15
Collapse Pcbnew & ModEdit display and edit settings.
...
(Prep work for reusing them with a custom shape editor.)
2020-06-18 15:38:01 +01:00
Jeff Young
754f958be2
Attempt to fix duplicate ID issue on MSW.
2020-06-17 18:44:39 +01:00
Jeff Young
a7703d1207
Cleanup Graphics to parallel Cleanup Tracks & Vias.
...
This also allows for easier migration to DRAWSEGMENT::S_RECTs by
auto-converting 4 rectilinear lines to a rectangle.
2020-06-17 18:44:39 +01:00
jean-pierre charras
5db2b6ed8d
Action menu: ensure a wxEVT_COMMAND_MENU_SELECTED event is sent to the menu,
...
when a wxTextCtrl has the focus but is read only, and cannot use a CHAR event.
It fixes an issue in Kicad manager (menus with accelerator not working) when
the wxTextCtrl window showing messages has the focus.
2020-06-17 12:00:34 +02:00
Jon Evans
0dd34d197e
Ensure currentGrid is valid on startup
...
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4666
2020-06-16 19:59:00 -04:00
Seth Hillbrand
8c57821e9b
pcbnew: Move ratsnest items to separate folder
2020-06-16 11:15:14 -07:00
Jeff Young
aeed8e6e2c
Finish implementation of DRAWSEGMENT::C_RECT.
...
It's currently only supported in the Footprint Editor. It could be
easily added to the board editor (all the code is there), but the board
editor is a little short on room in the drawing tools toolbar.
2020-06-15 20:51:31 +01:00
Seth Hillbrand
a18aea3a43
Fix signed/unsigned comparison
2020-06-15 12:40:02 -07:00
Ian McInerney
9d78aa604f
Force OSX to automatically scale the canvas on legacy settings read
...
As of ab83c862
, the canvas scaling setting is now used on OSX
(before it was ignored). Legacy settings would have this set to 1.0,
which would not automatically scale the canvas and break on Retina
displays. OSX auto detection works well enough in wx 3.0, so we
can use it now.
2020-06-15 00:30:52 +00:00
Jeff Young
ad12c42e8b
Push grid settings dialogs down into common.
...
This also gives support for fast grid switching and a user grid
to eeschema.
Fixes https://gitlab.com/kicad/code/kicad/issues/2200
2020-06-14 19:26:37 +01:00
Seth Hillbrand
810f668d45
Fix compile error
...
Reading integer config values are implicitly cast and need to be
specified.
2020-06-14 06:53:12 -07:00
Jeff Young
998fe12a5a
Make sure COMMON_TOOLS initializes the grid.
2020-06-13 22:44:16 +01:00
Jeff Young
c48f4272f3
Collapse a level out of the zoom settings.
...
The APP_SETTINGS_BASE now holds the list of zoom factors, and
the old legacy (screen-based) code has been removed.
2020-06-13 22:44:16 +01:00
Jeff Young
fc44506fe1
Give up on enforcing non-defined-internal-units.
...
It results in trade-offs in packaging and/or conidtional compilation
which are worse than the disease.
2020-06-13 22:44:16 +01:00
Seth Hillbrand
a02d8a5993
Fix a number of signed/unsigned comparisons
2020-06-13 11:55:59 -07:00
Jeff Young
f84406009b
Push a couple of layers of indirection out of grid settings.
2020-06-13 11:35:56 +01:00
Ian McInerney
60915fbc76
Default canvas scale setting to automatic on OSX
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4652
2020-06-12 18:39:08 +01:00
jean-pierre charras
1973153368
Gerber plotter: ensure the gerber region for a round rect pad is always closed.
...
Due to rounding issues, sometimes (especially for rotated pads) the region
(4 segments+4 arcs) was incorrectly closed (1 unit (nanometer) mismatch between
start point and end point.
Although it does not create bad shape, its breaks the round rect pad identification
in CAM tools.
start point and end point are now the same.
2020-06-12 10:22:19 +02:00
Ian McInerney
4d6abfdf05
Fix DELETE in Scintilla
...
The previous method would act like backspace at the end
of the string
2020-06-05 14:24:26 +01:00
Jeff Young
22b8133108
Change DELETE behaviour from delete sel to delete forward.
...
In other words, if there's no selection delete the character in
front of the cursor.
Fixes https://gitlab.com/kicad/code/kicad/issues/4609
2020-06-05 14:09:09 +01:00
Ian McInerney
4357c1d3b3
Coverity and compiler warning fixes
...
* Initialize variables
* Test dynamic casts
Fixes https://gitlab.com/kicad/code/kicad/issues/4620
2020-06-05 12:50:56 +01:00
Ian McInerney
ab83c86210
Remove the platform-specific GetBackendScalingFactor from HIDPI_GL_CANVAS
...
The scaling factor stored inside the canvas is created by a DPI_SCALING
helper, which will call the platform-specific functions if no user scaling
is specified. This change only affects OSX and Retina displays, so this
now also allows custom scaling to be used on OSX if desired (although it
shouldn't be needed, since wx has detection for it in 3.0.4).
2020-06-05 00:15:54 +00:00
Jeff Young
0ddf53397f
Make sure CvPcb gets its Cancel button fixed up.
...
It's no longer a DIALOG_SHIM so it can't depend on its fixup.
Fixes https://gitlab.com/kicad/code/kicad/issues/4611
2020-06-04 22:35:01 +01:00
Jeff Young
b274b9f972
Fix type-checking which was too tight.
...
Also fixes a typo leaving the return statement in the wrong place.
Fixes https://gitlab.com/kicad/code/kicad/issues/4611
2020-06-04 22:35:01 +01:00
Johannes Pfister
8e8979e317
Fixed a memory leak in CONDITIONAL_MENU
...
CONDITIONAL_MENU::ENTRY now owns the wxItem object.
2020-06-04 19:08:59 +00:00
Ian McInerney
d46f9a5273
Give the 3D viewer an infobar & Infobar upgrades
...
ADDED: Infobar warning in 3d viewer for board outline issues
2020-06-04 00:13:27 +01:00
Wayne Stambaugh
0032845f9e
Fix clipped bitmap buttons with GTK on Linux.
...
A note to developers, please do not set the minimum and/or size of bitmap
buttons. It causes bitmaps to get clipped using GTK on Linux. If the
bitmap button size is not acceptable, then supply an appropriately sized
bitmap rather than attempt to force the wxWidgets sizing mechanism to do
what you want. This almost always causes platform differences that do
not work well.
2020-06-03 14:01:44 -04:00
Ian McInerney
a843c74529
Add new kiplatform library for platform-specific code
...
* Implement ReparentQuasiModal for OSX natively
* Implement ForceFocus of OSX natively
This change means we no longer rely on the kicad-specific functions in our osx wx fork.
2020-06-03 14:58:54 +00:00
Ian McInerney
57e35c9a60
Fix infobar bitmap size
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4514
2020-06-02 00:20:08 +01:00
Jeff Young
7aaf72c473
Improve visuals of html error reporting.
2020-06-01 22:00:03 +01:00
jean-pierre charras
59523efc1a
Eeschema: fix a crash after reopening the ERC dialog, after changes in schematic.
...
When the ERC is run and a component has a ERC error linked to it, if it is deleted,
when reopening the ERC dialog, the dialog crashed due to a not found item
(null pointer use)
2020-06-01 19:42:16 +02:00
Jon Evans
daad2824c5
Add ability to skip JSON writes if the params aren't modified
2020-05-30 18:07:24 -04:00
Jeff Young
0741bbb1b9
Move autocomplete to the remove filtered items paradigm.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4190
2020-05-30 20:09:09 +01:00
Jeff Young
449c90a0ae
Some more work on getting wxWidgets to stop stealing textEntry keys.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/1941
2020-05-30 12:32:33 +01:00
Jeff Young
a6eaa3257a
Autocomplete for page layout editor text items.
2020-05-30 10:22:50 +01:00
Jon Evans
fbef52ec33
Don't process hotkeys on text entries
...
Thanks @jeffyoung for the suggestion
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4463
Fixes https://gitlab.com/kicad/code/kicad/-/issues/1941
2020-05-29 21:20:44 -04:00
Jeff Young
112316cdfb
Fixup kiway by hand when dynamic_cast fails.
...
Also allows a shortened version of Configure Paths without the 3D
paths when Pcbnew isn't already running.
Fixes https://gitlab.com/kicad/code/kicad/issues/4568
2020-05-29 22:06:48 +01:00
Wayne Stambaugh
b624c7090a
Deprecate saving legacy schematic and symbol library file formats.
...
REMOVED: The ability to save schematics in the legacy file format.
2020-05-29 12:43:00 +00:00
Jeff Young
e8524163db
Another attempt to reconcile GTK and OSX slider spacing.
2020-05-28 23:07:16 +01:00
Jeff Young
f4e7e201d8
Use a big hammer when beating wxWidgets over the head.
2020-05-28 22:18:30 +01:00
Jeff Young
b06a454559
Try and find settings that look good on both OSX and GTK.
2020-05-28 21:41:17 +01:00
Jeff Young
8f533e1833
A bit of dialog cleanup.
2020-05-28 19:59:18 +01:00
Jeff Young
2c0f3c8088
Recurse into title block fields when resovling text vars.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4554
2020-05-28 17:36:22 +01:00
Jeff Young
9f2be3714f
Add unresolved variable testing for worksheet items.
2020-05-28 17:36:22 +01:00
Jeff Young
fe4fd19c66
Fix crash bug in unicode chars with Scintilla.
2020-05-28 00:23:18 +01:00
Jeff Young
8b084c373e
Autocomplete for text variables.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4190
2020-05-27 23:29:51 +01:00
Jeff Young
e4f4de0221
Improve spacing in migrate settings dialog.
...
Fixes https://gitlab.com/kicad/code/kicad/issues/3989
2020-05-27 23:29:51 +01:00
Jon Evans
40dc7a5eef
Update legacy migration of common settings for mousewheel pan
2020-05-26 21:43:59 -04:00
Jon Evans
695cdbbde8
Move bug reporting to COMMON_CONTROL; add to Help menu
...
Also make a shorter version of the version info string
and some other shortening edits to the issue template
to fix occasional 500 errors thrown by Cloudflare due
to excessively long URLs
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3953
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4272
2020-05-26 21:18:32 -04:00
Jon Evans
c6a6c071cf
PDF Plotter: avoid assert if default pen width is zero
2020-05-26 21:17:39 -04:00
jean-pierre charras
8226e5f0e2
Minor fix: add Fab layers to the assembly layers list.
2020-05-26 19:57:22 +02:00
Wayne Stambaugh
f262e08d40
Symbol editor: fix crash when editing new symbol value field.
...
This also fixes an ASAN accessing deleted memory warning. See the issue
tracker comments for more information.
Fixes https://gitlab.com/kicad/code/kicad/issues/4471
(cherry picked from commit a16e9ac76a
)
2020-05-26 13:20:32 -04:00
Jon Evans
711fc999f2
Coverity fixes
2020-05-25 19:29:41 -04:00
Jeff Young
1db799d841
Implement "disallow" rules and integrate with keepout settings.
2020-05-25 22:51:47 +01:00
Jeff Young
c415130de9
Improve parse error messages.
2020-05-25 22:51:47 +01:00
Jeff Young
160981ee71
Better error reporting for DRC rule parsing.
2020-05-25 22:51:47 +01:00
Jeff Young
416d82727f
Redo DRC rules to get ready for new system.
2020-05-25 22:51:47 +01:00
jean-pierre charras
077611b8f1
BITMAP_BASE, Eeschema: fix incorrect position of the bitmap when printing.
...
The previous calculation was not compatible with aDC->SetTransformMatrix()
used in PrintPage in Eeschema.
2020-05-25 07:51:46 +02:00
Jon Evans
237bf35362
Fix accidental revert of touchpad to trackpad
2020-05-24 16:24:43 -04:00
Jon Evans
a52435bbb0
ADDED: New mouse settings panel, expanded mouse settings
...
You can now choose the behavior of dragging with the
middle and right mouse buttons.
You can also choose which modifier keys to use for
panning and zooming with the scroll wheel or trackpad.
You can also customize the zoom speed, which makes
it possible to have a good zoom experience on a wider
range of input devices.
You can also now zoom by dragging with the right or
middle button if desired.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/3885
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4348
2020-05-24 14:38:28 -04:00
Jon Evans
c7daf8a8f3
ADDED: Cross-probe highlighting of bus members
...
Note: this is a basic implementation but it could be
improved once we include bus information in the netlist
and pcbnew can natively keep track of buses and nets
instead of just nets.
Fixes https://gitlab.com/kicad/code/kicad/-/issues/4158
2020-05-24 13:30:23 -04:00
Ian McInerney
a6e9efbe57
Add icon for schematic reverse annotation
...
Fixes https://gitlab.com/kicad/code/kicad/issues/4527
2020-05-24 12:13:48 +01:00
Ian McInerney
c7e512852a
Fix escape key event propagation regression from bdf94916
...
The escape key event shouldn't be propagated after the first
tool dispatcher. Propagatint it causes it to go to parent frames,
which can mean problems arise (such as in cvpcb, where an
escape key press in the fpviewer frame was closing the main
cvpcb window when it is propagated).
2020-05-24 11:58:33 +01:00
Ian McInerney
4ecf99e7c8
Give the footprint viewer a toolbar and remove the options dialog
...
CHANGED: Cvpcb fpviewer and the pcbnew fpviewer no longer have an options dialog
ADDED: Add a side toolbar to the pcbnew footprint viewer (and the measure tool)
This also cleans up some of the settings structs in the viewers, since
it was somewhat confusing before.
Fixes https://gitlab.com/kicad/code/kicad/issues/2205
2020-05-24 11:58:33 +01:00
Ian McInerney
6692935808
Consolidate common viewer actions across cvpcb and pcbnew frames
...
* Consolidate the measure tool into one tool (this gives cvpcb
unit changing and snapping capabilities in its measure tool)
* Transition cvpcb to use actions for the sketch modes
* Replumb how magnetic items settings are stored and used
2020-05-24 11:58:33 +01:00
Stefan
7e6b2211e0
Add Assembly pcbview to pcb_layer_widget
2020-05-22 20:40:53 +00:00
Ian McInerney
fca7ade81f
Move to the AUI version of the infobar
...
The sizer-based version had issues with the event processing
inside the GAL panel on Windows systems.
Fixes https://gitlab.com/kicad/code/kicad/issues/4501
2020-05-21 18:22:56 +01:00
Jon Evans
7c7b7f41da
Move SCH_SCREEN project access to SCHEMATIC
...
SCH_SCREEN no longer needs to be a KIWAY_HOLDER
2020-05-20 22:27:48 -04:00
Ian McInerney
a49fde5ce0
Fix the UI for the infobar
...
* Remove the animations on show/hide
* Give the button a small right border
2020-05-20 20:16:34 +01:00
Ian McInerney
b5dc213d76
Fix infobar sizer issue for wx 3.1
...
On wx 3.1, the sizer was iving too much space to the infobar.
Fixes https://gitlab.com/kicad/code/kicad/issues/4501
2020-05-20 19:00:19 +01:00
Ian McInerney
73a1ce3e84
Move eeschema find notification to the infobar and improve the infobar widget
...
* Move it to a panel along with the canvas to have a better UI
* Allow the infobar to automatically close after a set time
CHANGED: The eeschema find notifications now use the infobar instead of
a popup window
2020-05-20 02:31:47 +01:00
Ian McInerney
2bc57ade28
Cleanup parentage inside the draw panels
2020-05-20 02:23:46 +01:00
Jeff Young
0aaccfbb28
Save hole-to-hole-min to file.
2020-05-19 20:48:47 +01:00
Ian McInerney
a2f027e063
Add an infobar widget to display information above the canvas
...
This widget allows for non-intrusive display of text
above the editing canvas. Currently, this is used
for displaying the read only status of the files.
2020-05-19 00:46:33 +01:00