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
27#include <tool/tool_menu.h>
28#include <view/view.h>
29
30class DS_DATA_ITEM;
31class PL_EDITOR_FRAME;
33
34
38
40{
41public:
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
54private:
56 void setTransitions() override;
57
58private:
61
62 std::unique_ptr<DS_DATA_ITEM> m_pendingItem;
63};
64
65#endif /* PL_DRAWING_TOOLS_H */
Drawing sheet structure type definitions.
PL_SELECTION_TOOL * m_selectionTool
int PlaceItem(const TOOL_EVENT &aEvent)
int DrawShape(const TOOL_EVENT &aEvent)
PL_EDITOR_FRAME * m_frame
void setTransitions() override
< Set up handlers for various events.
std::unique_ptr< DS_DATA_ITEM > m_pendingItem
bool Init() override
Init() is called once upon a registration of the tool.
The main window used in the drawing sheet editor.
RESET_REASON
Determine the reason of reset for a tool.
Definition tool_base.h:74
Generic, UI-independent tool event.
Definition tool_event.h:167
TOOL_INTERACTIVE(TOOL_ID aId, const std::string &aName)
Create a tool with given id & name.
void Reset() override