KiCad PCB EDA Suite
Loading...
Searching...
No Matches
symbol_editor_move_tool.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) 2019 CERN
5
* Copyright (C) 2019-2023 KiCad Developers, see AUTHORS.txt for contributors.
6
*
7
* This program is free software; you can redistribute it and/or
8
* modify it under the terms of the GNU General Public License
9
* as published by the Free Software Foundation; either version 2
10
* of the License, or (at your option) any later version.
11
*
12
* This program is distributed in the hope that it will be useful,
13
* but WITHOUT ANY WARRANTY; without even the implied warranty of
14
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
* GNU General Public License for more details.
16
*
17
* You should have received a copy of the GNU General Public License
18
* along with this program; if not, you may find one here:
19
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
20
* or you may search the http://www.gnu.org website for the version 2 license,
21
* or you may write to the Free Software Foundation, Inc.,
22
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
23
*/
24
25
#ifndef SYMBOL_EDITOR_MOVE_TOOL_H
26
#define SYMBOL_EDITOR_MOVE_TOOL_H
27
28
#include <
tools/ee_tool_base.h
>
29
#include <
symbol_edit_frame.h
>
30
31
class
SYMBOL_EDIT_FRAME
;
32
class
EE_SELECTION_TOOL
;
33
34
35
class
SYMBOL_EDITOR_MOVE_TOOL
:
public
EE_TOOL_BASE
<SYMBOL_EDIT_FRAME>
36
{
37
public
:
38
SYMBOL_EDITOR_MOVE_TOOL
();
39
~SYMBOL_EDITOR_MOVE_TOOL
()
override
{ }
40
42
bool
Init
()
override
;
43
45
void
Reset
(
RESET_REASON
aReason )
override
;
46
50
int
Main
(
const
TOOL_EVENT
& aEvent );
51
58
int
AlignElements
(
const
TOOL_EVENT
& aEvent );
59
60
private
:
61
bool
doMoveSelection
(
const
TOOL_EVENT
& aEvent,
SCH_COMMIT
* aCommit );
62
63
void
moveItem
(
EDA_ITEM
* aItem,
const
VECTOR2I
& aDelta );
64
66
void
setTransitions
()
override
;
67
68
private
:
69
bool
m_moveInProgress
;
70
73
VECTOR2I
m_cursor
;
74
VECTOR2I
m_anchorPos
;
75
};
76
77
#endif
// SYMBOL_EDITOR_MOVE_TOOL_H
EDA_ITEM
A base class for most all the KiCad significant classes used in schematics and boards.
Definition:
eda_item.h:89
EE_SELECTION_TOOL
Definition:
ee_selection_tool.h:64
EE_TOOL_BASE
A foundation class for a tool operating on a schematic or symbol.
Definition:
ee_tool_base.h:48
SCH_COMMIT
Definition:
sch_commit.h:46
SYMBOL_EDITOR_MOVE_TOOL
Definition:
symbol_editor_move_tool.h:36
SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection
bool doMoveSelection(const TOOL_EVENT &aEvent, SCH_COMMIT *aCommit)
Definition:
symbol_editor_move_tool.cpp:118
SYMBOL_EDITOR_MOVE_TOOL::setTransitions
void setTransitions() override
This method is meant to be overridden in order to specify handlers for events.
Definition:
symbol_editor_move_tool.cpp:521
SYMBOL_EDITOR_MOVE_TOOL::SYMBOL_EDITOR_MOVE_TOOL
SYMBOL_EDITOR_MOVE_TOOL()
Definition:
symbol_editor_move_tool.cpp:39
SYMBOL_EDITOR_MOVE_TOOL::m_cursor
VECTOR2I m_cursor
Definition:
symbol_editor_move_tool.h:73
SYMBOL_EDITOR_MOVE_TOOL::m_anchorPos
VECTOR2I m_anchorPos
Definition:
symbol_editor_move_tool.h:74
SYMBOL_EDITOR_MOVE_TOOL::moveItem
void moveItem(EDA_ITEM *aItem, const VECTOR2I &aDelta)
Set up handlers for various events.
Definition:
symbol_editor_move_tool.cpp:514
SYMBOL_EDITOR_MOVE_TOOL::Init
bool Init() override
Init() is called once upon a registration of the tool.
Definition:
symbol_editor_move_tool.cpp:46
SYMBOL_EDITOR_MOVE_TOOL::Main
int Main(const TOOL_EVENT &aEvent)
Run an interactive move of the selected items, or the item under the cursor.
Definition:
symbol_editor_move_tool.cpp:92
SYMBOL_EDITOR_MOVE_TOOL::AlignElements
int AlignElements(const TOOL_EVENT &aEvent)
Align selected elements to the grid.
Definition:
symbol_editor_move_tool.cpp:380
SYMBOL_EDITOR_MOVE_TOOL::m_moveInProgress
bool m_moveInProgress
Last cursor position (needed for getModificationPoint() to avoid changes of edit reference point).
Definition:
symbol_editor_move_tool.h:69
SYMBOL_EDITOR_MOVE_TOOL::~SYMBOL_EDITOR_MOVE_TOOL
~SYMBOL_EDITOR_MOVE_TOOL() override
Definition:
symbol_editor_move_tool.h:39
SYMBOL_EDIT_FRAME
The symbol library editor main window.
Definition:
symbol_edit_frame.h:51
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
VECTOR2< int32_t >
ee_tool_base.h
Reset
void Reset() override
symbol_edit_frame.h
src
eeschema
tools
symbol_editor_move_tool.h
Generated on Sun Nov 24 2024 00:04:50 for KiCad PCB EDA Suite by
1.9.6