John Beard
c50d28d94d
Access tools' TOOL_MENUs rather than CONDITIONAL_MENUs
This means that non-top-level tools, for example EDIT_TOOL and
PCB_EDITOR_CONTROL can submit their own menus to the top-level tool's
TOOL_MENU, which will then retain a reference to it and make it
available for the CONTEXT_MENU that is shown.
9 years ago
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.
9 years ago
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
9 years ago
Simon Richter
59c81976dc
Explicitly mark overriding functions.
9 years ago
Maciej Suminski
b815ea7865
Removed remaining m_editModules flags.
9 years ago
Tomasz Wlostowski
1924507001
Added a PCB_TOOL subclass.
10 years ago
Maciej Suminski
ff6bdeee4b
Removed a number 'if(m_editModules)' sections from pcbnew tools.
9 years ago
Maciej Suminski
946b9d1933
setTransitions() are called automatically for tools.
11 years ago
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).
11 years ago
Maciej Suminski
b0ad779ee4
Calming down the Coverity report.
11 years ago
Maciej Suminski
902d0e3f1f
Tools are processing const TOOL_EVENT& (Tool Framework).
11 years ago
Maciej Suminski
c13cdb0964
Fixed line width settings in the module editor (GAL).
11 years ago
Maciej Suminski
b2d0737329
Fixed continous line drawing.
Outline mode can be set up on any layer.
11 years ago
Maciej Suminski
ed88c40be5
Moved module editor-specific tools to a separate class (MODULE_TOOLS).
11 years ago
Maciej Suminski
a6484f1acb
Drawing tools used to crash when the drawing tool was interrupted - fixed.
11 years ago
Maciej Suminski
47f1fec31d
DXF drawing placement tool for GAL.
11 years ago
Maciej Suminski
d73ab976df
Added support for placing the footprint anchor.
11 years ago
Maciej Suminski
5dc1f92608
Added pad placement tool for module editor (GAL).
11 years ago
Maciej Suminski
67136d21b1
MInor fixes.
11 years ago
Maciej Suminski
ba320ac7c3
Added "edit modules" mode for DRAWING_TOOL.
11 years ago
Maciej Suminski
fc44f34ade
Fixed DRAWING_TOOL::PlaceTextModule() method.
11 years ago
Maciej Suminski
b05885c2f1
Refactored drawing tools: lines, circles and arcs.
11 years ago
Maciej Suminski
6e0bd1eedc
Adapted tools to PCB_BASE{_EDIT}_FRAME.
11 years ago
Maciej Suminski
a55d25803e
Activation of any drawing/placement tool clears current selection.
12 years ago
Maciej Suminski
57c69b41db
Continous mode for drawing tools (i.e. they do not finish after adding a single object).
12 years ago
Maciej Suminski
f82e07849b
Improved way of drawing 45-degree lines.
12 years ago
Maciej Suminski
9d3f7230ee
New items are created using pointers (instead of copying automatic variables when drawing is finished).
12 years ago
Maciej Suminski
b1fb59ad13
Refactorization: moved drawing 45 degree multiple line to a function.
12 years ago
Maciej Suminski
a7cb90deb8
Some more minor refactorization.
12 years ago
Maciej Suminski
b7d4377621
Refactoring: zones and keepout areas are drawn using the same function.
12 years ago
Maciej Suminski
2b62a85263
Refactoring: made VIEW, VIEW_CONTROLS, BOARD and PCB_EDIT_FRAME fields in DRAWING_TOOL.
12 years ago
Maciej Suminski
3106d25361
Added keepout areas drawing tool.
12 years ago
Maciej Suminski
fce753ba24
Added zone drawing tool.
12 years ago
Maciej Suminski
45c5a3de7f
Placing modules with a minor bug.
12 years ago
Maciej Suminski
87d3458ea9
Added PCB_TARGET placing tool.
12 years ago
Maciej Suminski
ae5fa23285
Added DIMENSION drawing tool.
12 years ago
Maciej Suminski
4b27778451
Basic text placing tool.
12 years ago
Maciej Suminski
45f55fb8c5
Actually added files for drawing tools. Added possibility of drawing circles.
12 years ago