John Beard
d7db84e282
Break out tools' common menu functions and ownership
...
Add a class TOOL_MENU, which provides a management class for a
CONDITIONAL_MENU and a set of CONTEXT_MENUs. The aim of this is to
provide a central place where all TOOL_INTERACTIVEs can get a "basic"
context menu that either they or other tools can register new items and
sub-menus against.
This means that "top-level" tools no longer need to manage the lifetimes
of any CONTEXT_MENUs that they add, and can also delegate simple menu
display functions.
2017-01-12 14:33:57 +01:00
John Beard
f1c5b9a9ae
Add context menu to GAL DRAWING_TOOL, including the zone menu
...
Includes a tiny class for scoped set-reset of a variable, which is used
here to store the current drawing mode.
Fixes: lp:1218629
* https://bugs.launchpad.net/kicad/+bug/1518629
2017-01-11 10:41:08 +01:00
John Beard
6baf0edc08
Line segments obey 45 degree preference in GAL
...
The GAL line segment tool now listens to the global line segment 45
degree locking preference, with Ctrl used to invert the behaviour. The
behaviour therefore follows the setting normally, and the user can
override when needed with Ctrl.
Fixes: lp:1635718
* https://bugs.launchpad.net/kicad/+bug/1635718
2017-01-11 09:57:55 +01:00
Maciej Suminski
f94c10b453
Fixed a warning in release builds
2016-12-12 16:45:52 +01:00
Maciej Suminski
89055c4425
Code formatting
2016-12-12 16:45:52 +01:00
Tomasz Włostowski
1c1f4e9a50
Refactoring of VIEW/VIEW_ITEM classes:
...
- Remove dependency of EDA_ITEM on VIEW
- VIEW_ITEM is now a pure virtual interface
2016-12-12 16:45:52 +01:00
Tomasz Włostowski
27a10e8597
Multiple simplifications to GAL tools in PCBNew:
...
- Finalize transition to BOARD_COMMIT (removed all remaining uses of PICKED_ITEMS_LIST) and implicit view/ratsnest updates
- Simplified SELECTION class, it now can be directly added to a VIEW
- Removed unnecesary casts and templates
- Introduced C++11 features (range based for, lambdas) where they improve code readability
- Added non-undoable COMMITs, which can be used to propagate change notifications to interested listeners (e.g. ratsnest/view)
2016-12-12 16:45:52 +01:00
jean-pierre charras
502d0a38be
Fix a missing parameter initialization (arc angle) in footprint DXF import
2016-09-30 11:11:52 +02:00
Chris Pavlina
2b7e6e73ec
Fix uninitialized variable in drawing_tool.cpp
2016-09-30 09:04:18 +02:00
Maciej Suminski
18695751e8
Fixed a footprint editor crash on DXF import
...
Fixes: lp:1627422
* https://bugs.launchpad.net/kicad/+bug/1627422
2016-09-27 13:36:52 +02:00
decimad
ee3d75f273
Add coroutine call invocation context to identify the main stack frame.
...
Run the text draw-tool on the main stack frame.
Fixes: lp:1547282
* https://bugs.launchpad.net/kicad/+bug/1547282
2016-09-21 11:56:40 +02:00
Maciej Suminski
4bb16afc9e
Fixed text placement tool in FP editor
...
Fixes: lp:1625304
* https://bugs.launchpad.net/kicad/+bug/1625304
2016-09-20 10:19:33 +02:00
Maciej Suminski
5a1f52bf30
Modified tools to use BOARD_COMMIT.
2016-09-12 13:45:57 +02:00
Tomasz Wlostowski
1924507001
Added a PCB_TOOL subclass.
2016-09-12 11:50:06 +02:00
Maciej Suminski
ff6bdeee4b
Removed a number 'if(m_editModules)' sections from pcbnew tools.
2016-09-12 11:50:06 +02:00
Maciej Suminski
1dd43d1d98
Unified undo buffer handling code for PCB & module editor.
...
Replaced UR_MODEDIT with UR_CHANGED.
2016-09-12 11:50:06 +02:00
jean-pierre charras
a4658ab6be
Fix a few compil warnings (not used vars, shadowed local vars)
2016-06-01 14:22:05 +02:00
Tomasz Wlostowski
ee3418e90b
One-click PCB update improvements
...
- Fix repetitive undo/redo segfaults & assertions.
- Add Update menu entry on PCB side.
- Fix Python build error
- Add spread footprints after updating
2016-01-29 15:43:40 +01:00
Simon Richter
da9ca2def2
Avoid cast from const_iterator to iterator
...
The standard library requires iterators passed to functions that modify the
container to be mutable iterators, but GCC's implementation accepts
const_iterator in some places where these are only used to mark a place,
but the actual modification happens through a different parameter.
As this breaks implementations that use the passed iterator to modify the
container (e.g. because they use a different data organization), this is
not portable; because we already have a non-const reference to the
container anyway, this is trivially fixed as well.
2016-01-17 12:31:00 -05:00
Chris Pavlina
c44c076bdb
Fix coding style error in 6429
2016-01-07 17:33:31 -05:00
Johannes Agricola
07b73b9677
Properly set keepout flag for new zones in GAL
2016-01-07 14:39:21 -05:00
Tomasz Wlostowski
72b0593fdb
Pcbnew: push and shove router fixes.
...
* Fix segfault caused by invalidation of the end item by
PNS_LINE_PLACER::UpdateSizes().
* GAL zone drawing tool updates the ratsnest after zone drawing is complete.
* Fixed performance issue in zones processing using strict simplification
only for the final filled area.
2015-11-18 09:35:17 -05:00
Maciej Suminski
db8560f055
Fixed crash when placing 45-degree lines in the footprint editor (GAL).
2015-10-01 15:52:45 +02:00
jean-pierre charras
00cffb080e
Make call to DXF importer not possible if a footprint does not exist, also in GAL mode.
2015-09-13 18:44:07 +02:00
Maciej Suminski
5caa1523bd
Handling Coverity reports.
2015-08-07 17:07:06 +02:00
Maciej Suminski
2a93d083ee
More DXF import fixes.
2015-08-03 21:11:59 +02:00
Maciej Suminski
cb629e0ad4
Fixed DXF placing problem (GAL).
2015-07-30 13:49:36 +02:00
Maciej Suminski
5402bf0960
Allow zone drawing tool to start a new zone in the previous zone last point.
2015-07-28 17:33:18 +02:00
Tomasz Wlostowski
591f54f540
DRAWING_TOOL: show cursor when placing text
2015-07-22 13:51:59 +02:00
Andrew Zonenberg
561a962977
Fixed bug where "add text" tool in module editor did not update the toolbar radio buttons correctly
2015-07-11 17:03:50 -07:00
Andrew Zonenberg
6775cf392a
Removed leading space
2015-07-11 16:50:31 -07:00
Andrew Zonenberg
1ea566b59d
Fixed bug where GAL text tool was overzealously capturing the cursor when not necessary
2015-07-11 16:03:07 -07:00
Andrew Zonenberg
a3a0db9be9
Fixed bug where GAL module editor does not release mouse capture after exiting text tool
2015-07-11 15:31:01 -07:00
Maciej Suminski
0cc6992d88
Double click finishes drawing (GAL).
2015-07-03 20:58:13 +02:00
Maciej Suminski
5ca8e0b9d6
Fixed incorrect polygon finishing in 45-degree mode (GAL).
2015-06-30 13:55:30 +02:00
Chris Pavlina
064e8a82e1
Fixed an assertion in arc drawing tool (GAL).
2015-06-02 20:16:55 +02:00
Maciej Suminski
946b9d1933
setTransitions() are called automatically for tools.
2015-04-30 10:46:03 +02:00
Maciej Suminski
26f20fbb00
Moved "Place Target" and "Place Module" tools from DRAWING_TOOL to PCB_EDITOR_CONTROL (to avoid placing modules in the footprint editor).
2015-03-10 16:58:26 +01:00
Maciej Suminski
c160a7de17
Capturing cursor in drawing tools (GAL).
2015-03-10 14:43:14 +01:00
Maciej Suminski
cc72e585f0
Fixed segfault in arc drawing tool (GAL footprint editor).
2015-03-10 14:32:40 +01:00
Maciej Suminski
b0ad779ee4
Calming down the Coverity report.
2015-02-15 23:21:52 +01:00
Maciej Suminski
902d0e3f1f
Tools are processing const TOOL_EVENT& (Tool Framework).
2015-02-14 21:28:47 +01:00
jean-pierre charras
6bae852cb9
Minor fixes: specctra export: skip malformed circles (having a radius = 0) in board outline creation, which can crash 3d-viewer or vrml export.
...
dialog_fp_lib_table: remember during a session the last open table (global or local).
drawing_tool: fix compil warning
Update demos.
2014-09-22 09:51:06 +02:00
Maciej Suminski
c13cdb0964
Fixed line width settings in the module editor (GAL).
2014-09-01 13:48:51 +02:00
Maciej Suminski
242d42cf1d
Changed 'line width change' & 'change arc posture' to TOOL_ACTIONs.
2014-08-04 14:23:19 +02:00
Maciej Suminski
a1e08ae568
Drawing tools reset its state on layer change.
2014-07-15 11:41:55 +02:00
Maciej Suminski
c1eda6b88c
Some of the Tool Actions need to be run in immediate mode - fixed.
2014-07-09 16:50:31 +02:00
Maciej Suminski
db0d708300
Simplified code for switching layers in GAL view. Tools are notified of layer change event.
2014-07-09 16:25:50 +02:00
Maciej Suminski
b2d0737329
Fixed continous line drawing.
...
Outline mode can be set up on any layer.
2014-07-09 15:10:32 +02:00
Maciej Suminski
ed88c40be5
Moved module editor-specific tools to a separate class (MODULE_TOOLS).
2014-07-09 15:02:56 +02:00