KiCad PCB EDA Suite
Loading...
Searching...
No Matches
common_tools.h
Go to the documentation of this file.
1
/*
2
* This program source code file is part of KiCad, a free EDA CAD application.
3
*
4
* Copyright (C) 2014-2016 CERN
5
* Copyright (C) 2019-2020 KiCad Developers, see AUTHORS.txt for contributors.
6
*
7
* @author Maciej Suminski <
[email protected]
>
8
*
9
* This program is free software; you can redistribute it and/or
10
* modify it under the terms of the GNU General Public License
11
* as published by the Free Software Foundation; either version 2
12
* of the License, or (at your option) any later version.
13
*
14
* This program is distributed in the hope that it will be useful,
15
* but WITHOUT ANY WARRANTY; without even the implied warranty of
16
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
* GNU General Public License for more details.
18
*
19
* You should have received a copy of the GNU General Public License
20
* along with this program; if not, you may find one here:
21
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
22
* or you may search the http://www.gnu.org website for the version 2 license,
23
* or you may write to the Free Software Foundation, Inc.,
24
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
25
*/
26
27
#ifndef _COMMON_TOOLS_H
28
#define _COMMON_TOOLS_H
29
30
#include <
tool/tool_interactive.h
>
31
32
class
EDA_DRAW_FRAME
;
33
37
class
COMMON_TOOLS
:
public
TOOL_INTERACTIVE
38
{
39
public
:
40
COMMON_TOOLS
();
41
42
~COMMON_TOOLS
()
override
{ }
43
45
void
Reset
(
RESET_REASON
aReason )
override
;
46
47
int
SelectionTool
(
const
TOOL_EVENT
& aEvent );
48
49
// View controls
50
int
ZoomRedraw
(
const
TOOL_EVENT
& aEvent );
51
int
ZoomInOut
(
const
TOOL_EVENT
& aEvent );
52
int
ZoomInOutCenter
(
const
TOOL_EVENT
& aEvent );
53
int
ZoomCenter
(
const
TOOL_EVENT
& aEvent );
54
int
ZoomFitScreen
(
const
TOOL_EVENT
& aEvent );
55
int
ZoomFitObjects
(
const
TOOL_EVENT
& aEvent );
56
int
ZoomPreset
(
const
TOOL_EVENT
& aEvent );
57
58
int
CenterContents
(
const
TOOL_EVENT
& aEvent );
59
60
int
PanControl
(
const
TOOL_EVENT
& aEvent );
61
62
// Cursor control
63
int
CursorControl
(
const
TOOL_EVENT
& aEvent );
64
int
ToggleCursor
(
const
TOOL_EVENT
& aEvent );
65
int
ToggleCursorStyle
(
const
TOOL_EVENT
& aEvent );
66
67
int
ToggleBoundingBoxes
(
const
TOOL_EVENT
& aEvent );
68
69
// Units control
70
int
SwitchUnits
(
const
TOOL_EVENT
& aEvent );
71
int
ToggleUnits
(
const
TOOL_EVENT
& aEvent );
72
int
TogglePolarCoords
(
const
TOOL_EVENT
& aEvent );
73
int
ResetLocalCoords
(
const
TOOL_EVENT
& aEvent );
74
75
void
SetLastUnits
(
EDA_UNITS
aUnit );
76
EDA_UNITS
GetLastMetricUnits
() {
return
m_metricUnit
; }
77
EDA_UNITS
GetLastImperialUnits
() {
return
m_imperialUnit
; }
78
79
// Grid control
80
int
GridNext
(
const
TOOL_EVENT
& aEvent );
81
int
GridPrev
(
const
TOOL_EVENT
& aEvent );
82
int
GridPreset
(
const
TOOL_EVENT
& aEvent );
83
int
GridFast1
(
const
TOOL_EVENT
& aEvent );
84
int
GridFast2
(
const
TOOL_EVENT
& aEvent );
85
int
GridFastCycle
(
const
TOOL_EVENT
& aEvent );
86
int
ToggleGrid
(
const
TOOL_EVENT
& aEvent );
87
int
ToggleGridOverrides
(
const
TOOL_EVENT
& aEvent );
88
int
GridProperties
(
const
TOOL_EVENT
& aEvent );
89
int
GridPreset
(
int
idx,
bool
aFromHotkey );
90
int
GridOrigin
(
const
TOOL_EVENT
& aEvent );
91
int
OnGridChanged
(
bool
aFromHotkey );
92
93
const
std::vector<VECTOR2I>
Grids
()
const
{
return
m_grids
; }
94
95
private
:
99
enum
ZOOM_FIT_TYPE_T
100
{
101
ZOOM_FIT_ALL
,
102
ZOOM_FIT_OBJECTS
,
103
};
104
106
void
setTransitions
()
override
;
107
109
EDA_DRAW_FRAME
*
m_frame
;
110
111
int
doZoomInOut
(
bool
aDirection,
bool
aCenterOnCursor );
112
114
int
doZoomToPreset
(
int
idx,
bool
aCenterOnCursor );
115
116
int
doZoomFit
(
ZOOM_FIT_TYPE_T
aFitType );
117
118
std::vector<VECTOR2I>
m_grids
;
120
121
// The last used units in each system (used for toggling between metric and imperial)
122
EDA_UNITS
m_imperialUnit
;
123
EDA_UNITS
m_metricUnit
;
124
};
125
126
#endif
COMMON_TOOLS
Handles action that are shared between different applications.
Definition:
common_tools.h:38
COMMON_TOOLS::~COMMON_TOOLS
~COMMON_TOOLS() override
Definition:
common_tools.h:42
COMMON_TOOLS::ZoomCenter
int ZoomCenter(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:275
COMMON_TOOLS::GridProperties
int GridProperties(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:547
COMMON_TOOLS::GridFastCycle
int GridFastCycle(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:521
COMMON_TOOLS::ToggleCursorStyle
int ToggleCursorStyle(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:654
COMMON_TOOLS::GridOrigin
int GridOrigin(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:573
COMMON_TOOLS::doZoomToPreset
int doZoomToPreset(int idx, bool aCenterOnCursor)
Definition:
common_tools.cpp:405
COMMON_TOOLS::PanControl
int PanControl(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:175
COMMON_TOOLS::m_metricUnit
EDA_UNITS m_metricUnit
Definition:
common_tools.h:123
COMMON_TOOLS::m_imperialUnit
EDA_UNITS m_imperialUnit
Definition:
common_tools.h:122
COMMON_TOOLS::SwitchUnits
int SwitchUnits(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:591
COMMON_TOOLS::ToggleGrid
int ToggleGrid(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:533
COMMON_TOOLS::GridFast1
int GridFast1(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:509
COMMON_TOOLS::SetLastUnits
void SetLastUnits(EDA_UNITS aUnit)
Definition:
common_tools.cpp:80
COMMON_TOOLS::ToggleUnits
int ToggleUnits(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:607
COMMON_TOOLS::GridFast2
int GridFast2(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:515
COMMON_TOOLS::GridNext
int GridNext(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:440
COMMON_TOOLS::OnGridChanged
int OnGridChanged(bool aFromHotkey)
Definition:
common_tools.cpp:482
COMMON_TOOLS::Grids
const std::vector< VECTOR2I > Grids() const
Definition:
common_tools.h:93
COMMON_TOOLS::setTransitions
void setTransitions() override
Pointer to the currently used edit frame.
Definition:
common_tools.cpp:684
COMMON_TOOLS::ZoomPreset
int ZoomPreset(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:397
COMMON_TOOLS::ZoomFitScreen
int ZoomFitScreen(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:285
COMMON_TOOLS::ToggleBoundingBoxes
int ToggleBoundingBoxes(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:666
COMMON_TOOLS::GetLastImperialUnits
EDA_UNITS GetLastImperialUnits()
Definition:
common_tools.h:77
COMMON_TOOLS::ToggleGridOverrides
int ToggleGridOverrides(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:540
COMMON_TOOLS::m_grids
std::vector< VECTOR2I > m_grids
Grids from #APP_SETTINGS converted to internal units and with the user grid appended.
Definition:
common_tools.h:118
COMMON_TOOLS::ToggleCursor
int ToggleCursor(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:642
COMMON_TOOLS::COMMON_TOOLS
COMMON_TOOLS()
Definition:
common_tools.cpp:48
COMMON_TOOLS::ZoomFitObjects
int ZoomFitObjects(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:291
COMMON_TOOLS::CenterContents
int CenterContents(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:377
COMMON_TOOLS::TogglePolarCoords
int TogglePolarCoords(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:616
COMMON_TOOLS::GridPrev
int GridPrev(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:453
COMMON_TOOLS::ZoomInOutCenter
int ZoomInOutCenter(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:226
COMMON_TOOLS::ZoomRedraw
int ZoomRedraw(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:212
COMMON_TOOLS::ResetLocalCoords
int ResetLocalCoords(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:626
COMMON_TOOLS::m_frame
EDA_DRAW_FRAME * m_frame
Definition:
common_tools.h:109
COMMON_TOOLS::doZoomFit
int doZoomFit(ZOOM_FIT_TYPE_T aFitType)
Definition:
common_tools.cpp:297
COMMON_TOOLS::CursorControl
int CursorControl(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:102
COMMON_TOOLS::ZOOM_FIT_TYPE_T
ZOOM_FIT_TYPE_T
The set of "Zoom to Fit" types that can be performed.
Definition:
common_tools.h:100
COMMON_TOOLS::ZOOM_FIT_ALL
@ ZOOM_FIT_ALL
Zoom to fall all items in view INCLUDING page and border.
Definition:
common_tools.h:101
COMMON_TOOLS::ZOOM_FIT_OBJECTS
@ ZOOM_FIT_OBJECTS
Zoom to fit all items in view EXCLUDING page and border.
Definition:
common_tools.h:102
COMMON_TOOLS::SelectionTool
int SelectionTool(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:91
COMMON_TOOLS::GetLastMetricUnits
EDA_UNITS GetLastMetricUnits()
Definition:
common_tools.h:76
COMMON_TOOLS::GridPreset
int GridPreset(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:466
COMMON_TOOLS::ZoomInOut
int ZoomInOut(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:219
COMMON_TOOLS::doZoomInOut
int doZoomInOut(bool aDirection, bool aCenterOnCursor)
Note: idx == 0 is Auto; idx == 1 is first entry in zoomList.
Definition:
common_tools.cpp:233
EDA_DRAW_FRAME
The base class for create windows for drawing purpose.
Definition:
eda_draw_frame.h:79
TOOL_BASE::RESET_REASON
RESET_REASON
Determine the reason of reset for a tool.
Definition:
tool_base.h:78
TOOL_EVENT
Generic, UI-independent tool event.
Definition:
tool_event.h:167
TOOL_INTERACTIVE
Definition:
tool_interactive.h:57
EDA_UNITS
EDA_UNITS
Definition:
eda_units.h:46
Reset
void Reset() override
tool_interactive.h
src
include
tool
common_tools.h
Generated on Fri Dec 8 2023 00:04:17 for KiCad PCB EDA Suite by
1.9.5