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
ZoomFitSelection
(
const
TOOL_EVENT
& aEvent );
57
int
ZoomPreset
(
const
TOOL_EVENT
& aEvent );
58
59
int
CenterContents
(
const
TOOL_EVENT
& aEvent );
60
int
CenterSelection
(
const
TOOL_EVENT
& aEvent );
61
62
int
PanControl
(
const
TOOL_EVENT
& aEvent );
63
64
// Cursor control
65
int
CursorControl
(
const
TOOL_EVENT
& aEvent );
66
int
ToggleCursor
(
const
TOOL_EVENT
& aEvent );
67
int
ToggleCursorStyle
(
const
TOOL_EVENT
& aEvent );
68
69
int
ToggleBoundingBoxes
(
const
TOOL_EVENT
& aEvent );
70
71
// Units control
72
int
SwitchUnits
(
const
TOOL_EVENT
& aEvent );
73
int
ToggleUnits
(
const
TOOL_EVENT
& aEvent );
74
int
TogglePolarCoords
(
const
TOOL_EVENT
& aEvent );
75
int
ResetLocalCoords
(
const
TOOL_EVENT
& aEvent );
76
77
void
SetLastUnits
(
EDA_UNITS
aUnit );
78
EDA_UNITS
GetLastMetricUnits
() {
return
m_metricUnit
; }
79
EDA_UNITS
GetLastImperialUnits
() {
return
m_imperialUnit
; }
80
81
// Grid control
82
int
GridNext
(
const
TOOL_EVENT
& aEvent );
83
int
GridPrev
(
const
TOOL_EVENT
& aEvent );
84
int
GridPreset
(
const
TOOL_EVENT
& aEvent );
85
int
GridFast1
(
const
TOOL_EVENT
& aEvent );
86
int
GridFast2
(
const
TOOL_EVENT
& aEvent );
87
int
GridFastCycle
(
const
TOOL_EVENT
& aEvent );
88
int
ToggleGrid
(
const
TOOL_EVENT
& aEvent );
89
int
ToggleGridOverrides
(
const
TOOL_EVENT
& aEvent );
90
int
GridProperties
(
const
TOOL_EVENT
& aEvent );
91
int
GridPreset
(
int
idx,
bool
aFromHotkey );
92
int
GridOrigin
(
const
TOOL_EVENT
& aEvent );
93
int
OnGridChanged
(
bool
aFromHotkey );
94
95
const
std::vector<VECTOR2I>
Grids
()
const
{
return
m_grids
; }
96
97
private
:
101
enum
ZOOM_FIT_TYPE_T
102
{
103
ZOOM_FIT_ALL
,
104
ZOOM_FIT_OBJECTS
,
105
ZOOM_FIT_SELECTION
,
106
};
107
108
enum class
CENTER_TYPE
109
{
110
CENTER_CONTENTS
,
111
CENTER_SELECTION
,
112
};
113
115
void
setTransitions
()
override
;
116
118
EDA_DRAW_FRAME
*
m_frame
;
119
120
int
doZoomInOut
(
bool
aDirection,
bool
aCenterOnCursor );
121
123
int
doZoomToPreset
(
int
idx,
bool
aCenterOnCursor );
124
125
int
doZoomFit
(
ZOOM_FIT_TYPE_T
aFitType );
126
127
int
doCenter
(
CENTER_TYPE
aCenterType );
128
129
std::vector<VECTOR2I>
m_grids
;
131
132
// The last used units in each system (used for toggling between metric and imperial)
133
EDA_UNITS
m_imperialUnit
;
134
EDA_UNITS
m_metricUnit
;
135
};
136
137
#endif
COMMON_TOOLS
Handles action that are shared between different applications.
Definition:
common_tools.h:38
COMMON_TOOLS::ZoomFitSelection
int ZoomFitSelection(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:307
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:285
COMMON_TOOLS::doCenter
int doCenter(CENTER_TYPE aCenterType)
Definition:
common_tools.cpp:414
COMMON_TOOLS::GridProperties
int GridProperties(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:600
COMMON_TOOLS::GridFastCycle
int GridFastCycle(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:574
COMMON_TOOLS::ToggleCursorStyle
int ToggleCursorStyle(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:708
COMMON_TOOLS::GridOrigin
int GridOrigin(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:627
COMMON_TOOLS::doZoomToPreset
int doZoomToPreset(int idx, bool aCenterOnCursor)
Definition:
common_tools.cpp:458
COMMON_TOOLS::PanControl
int PanControl(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:185
COMMON_TOOLS::m_metricUnit
EDA_UNITS m_metricUnit
Definition:
common_tools.h:134
COMMON_TOOLS::m_imperialUnit
EDA_UNITS m_imperialUnit
Definition:
common_tools.h:133
COMMON_TOOLS::SwitchUnits
int SwitchUnits(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:645
COMMON_TOOLS::ToggleGrid
int ToggleGrid(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:586
COMMON_TOOLS::GridFast1
int GridFast1(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:562
COMMON_TOOLS::SetLastUnits
void SetLastUnits(EDA_UNITS aUnit)
Definition:
common_tools.cpp:84
COMMON_TOOLS::ToggleUnits
int ToggleUnits(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:661
COMMON_TOOLS::GridFast2
int GridFast2(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:568
COMMON_TOOLS::GridNext
int GridNext(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:493
COMMON_TOOLS::OnGridChanged
int OnGridChanged(bool aFromHotkey)
Definition:
common_tools.cpp:535
COMMON_TOOLS::Grids
const std::vector< VECTOR2I > Grids() const
Definition:
common_tools.h:95
COMMON_TOOLS::setTransitions
void setTransitions() override
Pointer to the currently used edit frame.
Definition:
common_tools.cpp:738
COMMON_TOOLS::CenterSelection
int CenterSelection(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:403
COMMON_TOOLS::ZoomPreset
int ZoomPreset(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:450
COMMON_TOOLS::ZoomFitScreen
int ZoomFitScreen(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:295
COMMON_TOOLS::ToggleBoundingBoxes
int ToggleBoundingBoxes(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:720
COMMON_TOOLS::GetLastImperialUnits
EDA_UNITS GetLastImperialUnits()
Definition:
common_tools.h:79
COMMON_TOOLS::ToggleGridOverrides
int ToggleGridOverrides(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:593
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:129
COMMON_TOOLS::ToggleCursor
int ToggleCursor(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:696
COMMON_TOOLS::COMMON_TOOLS
COMMON_TOOLS()
Definition:
common_tools.cpp:50
COMMON_TOOLS::ZoomFitObjects
int ZoomFitObjects(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:301
COMMON_TOOLS::CENTER_TYPE
CENTER_TYPE
Definition:
common_tools.h:109
COMMON_TOOLS::CENTER_TYPE::CENTER_CONTENTS
@ CENTER_CONTENTS
COMMON_TOOLS::CENTER_TYPE::CENTER_SELECTION
@ CENTER_SELECTION
COMMON_TOOLS::CenterContents
int CenterContents(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:408
COMMON_TOOLS::TogglePolarCoords
int TogglePolarCoords(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:670
COMMON_TOOLS::GridPrev
int GridPrev(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:506
COMMON_TOOLS::ZoomInOutCenter
int ZoomInOutCenter(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:236
COMMON_TOOLS::ZoomRedraw
int ZoomRedraw(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:222
COMMON_TOOLS::ResetLocalCoords
int ResetLocalCoords(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:680
COMMON_TOOLS::m_frame
EDA_DRAW_FRAME * m_frame
Definition:
common_tools.h:118
COMMON_TOOLS::doZoomFit
int doZoomFit(ZOOM_FIT_TYPE_T aFitType)
Definition:
common_tools.cpp:313
COMMON_TOOLS::CursorControl
int CursorControl(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:106
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:102
COMMON_TOOLS::ZOOM_FIT_SELECTION
@ ZOOM_FIT_SELECTION
Zoom to fit selected items in view.
Definition:
common_tools.h:105
COMMON_TOOLS::ZOOM_FIT_ALL
@ ZOOM_FIT_ALL
Zoom to fall all items in view INCLUDING page and border.
Definition:
common_tools.h:103
COMMON_TOOLS::ZOOM_FIT_OBJECTS
@ ZOOM_FIT_OBJECTS
Zoom to fit all items in view EXCLUDING page and border.
Definition:
common_tools.h:104
COMMON_TOOLS::SelectionTool
int SelectionTool(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:95
COMMON_TOOLS::GetLastMetricUnits
EDA_UNITS GetLastMetricUnits()
Definition:
common_tools.h:78
COMMON_TOOLS::GridPreset
int GridPreset(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:519
COMMON_TOOLS::ZoomInOut
int ZoomInOut(const TOOL_EVENT &aEvent)
Definition:
common_tools.cpp:229
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:243
EDA_DRAW_FRAME
The base class for create windows for drawing purpose.
Definition:
eda_draw_frame.h:84
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 Thu Nov 21 2024 00:06:43 for KiCad PCB EDA Suite by
1.9.6