KiCad PCB EDA Suite
Loading...
Searching...
No Matches
pl_drawing_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) 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 PL_DRAWING_TOOLS_H
22
#define PL_DRAWING_TOOLS_H
23
24
#include <memory>
25
26
#include <
tool/tool_interactive.h
>
27
#include <
tool/tool_menu.h
>
28
#include <
view/view.h
>
29
30
class
DS_DATA_ITEM
;
31
class
PL_EDITOR_FRAME
;
32
class
PL_SELECTION_TOOL
;
33
34
38
39
class
PL_DRAWING_TOOLS
:
public
TOOL_INTERACTIVE
40
{
41
public
:
42
PL_DRAWING_TOOLS
();
43
~PL_DRAWING_TOOLS
();
44
46
bool
Init
()
override
;
47
49
void
Reset
(
RESET_REASON
aReason )
override
;
50
51
int
DrawShape
(
const
TOOL_EVENT
& aEvent );
52
int
PlaceItem
(
const
TOOL_EVENT
& aEvent );
53
54
private
:
56
void
setTransitions
()
override
;
57
58
private
:
59
PL_EDITOR_FRAME
*
m_frame
;
60
PL_SELECTION_TOOL
*
m_selectionTool
;
61
62
std::unique_ptr<DS_DATA_ITEM>
m_pendingItem
;
63
};
64
65
#endif
/* PL_DRAWING_TOOLS_H */
DS_DATA_ITEM
Drawing sheet structure type definitions.
Definition
ds_data_item.h:99
PL_DRAWING_TOOLS::m_selectionTool
PL_SELECTION_TOOL * m_selectionTool
Definition
pl_drawing_tools.h:60
PL_DRAWING_TOOLS::~PL_DRAWING_TOOLS
~PL_DRAWING_TOOLS()
Definition
pl_drawing_tools.cpp:44
PL_DRAWING_TOOLS::PlaceItem
int PlaceItem(const TOOL_EVENT &aEvent)
Definition
pl_drawing_tools.cpp:77
PL_DRAWING_TOOLS::DrawShape
int DrawShape(const TOOL_EVENT &aEvent)
Definition
pl_drawing_tools.cpp:256
PL_DRAWING_TOOLS::m_frame
PL_EDITOR_FRAME * m_frame
Definition
pl_drawing_tools.h:59
PL_DRAWING_TOOLS::setTransitions
void setTransitions() override
< Set up handlers for various events.
Definition
pl_drawing_tools.cpp:394
PL_DRAWING_TOOLS::m_pendingItem
std::unique_ptr< DS_DATA_ITEM > m_pendingItem
Definition
pl_drawing_tools.h:62
PL_DRAWING_TOOLS::Init
bool Init() override
Init() is called once upon a registration of the tool.
Definition
pl_drawing_tools.cpp:49
PL_DRAWING_TOOLS::PL_DRAWING_TOOLS
PL_DRAWING_TOOLS()
Definition
pl_drawing_tools.cpp:36
PL_EDITOR_FRAME
The main window used in the drawing sheet editor.
Definition
pl_editor_frame.h:48
PL_SELECTION_TOOL
Definition
pl_selection_tool.h:40
TOOL_BASE::RESET_REASON
RESET_REASON
Determine the reason of reset for a tool.
Definition
tool_base.h:74
TOOL_EVENT
Generic, UI-independent tool event.
Definition
tool_event.h:167
TOOL_INTERACTIVE::TOOL_INTERACTIVE
TOOL_INTERACTIVE(TOOL_ID aId, const std::string &aName)
Create a tool with given id & name.
Definition
tool_interactive.cpp:35
Reset
void Reset() override
tool_interactive.h
tool_menu.h
view.h
src
pagelayout_editor
tools
pl_drawing_tools.h
Generated on Thu Sep 17 2026 00:06:17 for KiCad PCB EDA Suite by
1.13.2