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 The 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, see <https://www.gnu.org/licenses/>.
19
*/
20
21
#ifndef SYMBOL_EDITOR_MOVE_TOOL_H
22
#define SYMBOL_EDITOR_MOVE_TOOL_H
23
24
#include <
tools/sch_tool_base.h
>
25
#include <
symbol_edit_frame.h
>
26
27
class
SYMBOL_EDIT_FRAME
;
28
class
SCH_SELECTION_TOOL
;
29
30
31
class
SYMBOL_EDITOR_MOVE_TOOL
:
public
SCH_TOOL_BASE
<SYMBOL_EDIT_FRAME>
32
{
33
public
:
34
SYMBOL_EDITOR_MOVE_TOOL
();
35
~SYMBOL_EDITOR_MOVE_TOOL
()
override
{ }
36
38
bool
Init
()
override
;
39
41
void
Reset
(
RESET_REASON
aReason )
override
;
42
46
int
Main
(
const
TOOL_EVENT
& aEvent );
47
54
int
AlignElements
(
const
TOOL_EVENT
& aEvent );
55
56
private
:
57
bool
doMoveSelection
(
const
TOOL_EVENT
& aEvent,
SCH_COMMIT
* aCommit );
58
59
void
moveItem
(
EDA_ITEM
* aItem,
const
VECTOR2I
& aDelta );
60
62
void
setTransitions
()
override
;
63
64
private
:
65
bool
m_moveInProgress
;
66
69
VECTOR2I
m_cursor
;
70
VECTOR2I
m_anchorPos
;
71
};
72
73
#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:96
SCH_COMMIT
Definition
sch_commit.h:41
SCH_SELECTION_TOOL
Definition
sch_selection_tool.h:69
SCH_TOOL_BASE< SYMBOL_EDIT_FRAME >::SCH_TOOL_BASE
SCH_TOOL_BASE(const std::string &aName)
Definition
sch_tool_base.h:54
SYMBOL_EDITOR_MOVE_TOOL::doMoveSelection
bool doMoveSelection(const TOOL_EVENT &aEvent, SCH_COMMIT *aCommit)
Definition
symbol_editor_move_tool.cpp:115
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:505
SYMBOL_EDITOR_MOVE_TOOL::SYMBOL_EDITOR_MOVE_TOOL
SYMBOL_EDITOR_MOVE_TOOL()
Definition
symbol_editor_move_tool.cpp:36
SYMBOL_EDITOR_MOVE_TOOL::m_cursor
VECTOR2I m_cursor
Definition
symbol_editor_move_tool.h:69
SYMBOL_EDITOR_MOVE_TOOL::m_anchorPos
VECTOR2I m_anchorPos
Definition
symbol_editor_move_tool.h:70
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:498
SYMBOL_EDITOR_MOVE_TOOL::Init
bool Init() override
Init() is called once upon a registration of the tool.
Definition
symbol_editor_move_tool.cpp:43
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:89
SYMBOL_EDITOR_MOVE_TOOL::AlignElements
int AlignElements(const TOOL_EVENT &aEvent)
Align selected elements to the grid.
Definition
symbol_editor_move_tool.cpp:451
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:65
SYMBOL_EDITOR_MOVE_TOOL::~SYMBOL_EDITOR_MOVE_TOOL
~SYMBOL_EDITOR_MOVE_TOOL() override
Definition
symbol_editor_move_tool.h:35
SYMBOL_EDIT_FRAME
The symbol library editor main window.
Definition
symbol_edit_frame.h:57
SCH_TOOL_BASE< SYMBOL_EDIT_FRAME >::RESET_REASON
RESET_REASON
Definition
tool_base.h:74
TOOL_EVENT
Generic, UI-independent tool event.
Definition
tool_event.h:167
Reset
void Reset() override
sch_tool_base.h
symbol_edit_frame.h
VECTOR2I
VECTOR2< int32_t > VECTOR2I
Definition
vector2d.h:683
src
eeschema
tools
symbol_editor_move_tool.h
Generated on Fri Jun 26 2026 00:05:36 for KiCad PCB EDA Suite by
1.13.2