KiCad PCB EDA Suite
Loading...
Searching...
No Matches
symbol_editor_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 SYMBOL_EDITOR_DRAWING_TOOLS_H
22
#define SYMBOL_EDITOR_DRAWING_TOOLS_H
23
24
#include <optional>
25
26
#include <
tools/sch_tool_base.h
>
27
28
29
class
SYMBOL_EDIT_FRAME
;
30
31
37
38
class
SYMBOL_EDITOR_DRAWING_TOOLS
:
public
SCH_TOOL_BASE
<SYMBOL_EDIT_FRAME>
39
{
40
public
:
41
SYMBOL_EDITOR_DRAWING_TOOLS
();
42
~SYMBOL_EDITOR_DRAWING_TOOLS
()
override
{ }
43
45
bool
Init
()
override
;
46
47
int
TwoClickPlace
(
const
TOOL_EVENT
& aEvent );
48
int
PlaceAnchor
(
const
TOOL_EVENT
& aEvent );
49
50
int
RepeatDrawItem
(
const
TOOL_EVENT
& aEvent );
51
52
void
SetLastTextAngle
(
const
EDA_ANGLE
& aAngle ) {
m_lastTextAngle
= aAngle; }
53
EDA_ANGLE
GetLastTextAngle
()
const
{
return
m_lastTextAngle
; }
54
55
private
:
56
void
setTransitions
()
override
;
57
58
private
:
59
bool
m_lastTextBold
;
60
bool
m_lastTextItalic
;
61
EDA_ANGLE
m_lastTextAngle
;
62
GR_TEXT_H_ALIGN_T
m_lastTextJust
;
63
65
bool
m_inDrawShape
;
66
bool
m_inPlaceAnchor
;
67
bool
m_inTwoClickPlace
;
68
69
private
:
70
static
KIID
g_lastPin
;
71
};
72
73
#endif
/* SYMBOL_EDITOR_DRAWING_TOOLS_H */
EDA_ANGLE
Definition
eda_angle.h:37
KIID
Definition
kiid.h:46
SCH_TOOL_BASE< SYMBOL_EDIT_FRAME >::SCH_TOOL_BASE
SCH_TOOL_BASE(const std::string &aName)
Definition
sch_tool_base.h:55
SYMBOL_EDITOR_DRAWING_TOOLS::m_inTwoClickPlace
bool m_inTwoClickPlace
Definition
symbol_editor_drawing_tools.h:67
SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor
int PlaceAnchor(const TOOL_EVENT &aEvent)
Definition
symbol_editor_drawing_tools.cpp:350
SYMBOL_EDITOR_DRAWING_TOOLS::Init
bool Init() override
Init() is called once upon a registration of the tool.
Definition
symbol_editor_drawing_tools.cpp:58
SYMBOL_EDITOR_DRAWING_TOOLS::RepeatDrawItem
int RepeatDrawItem(const TOOL_EVENT &aEvent)
Definition
symbol_editor_drawing_tools.cpp:417
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastTextAngle
EDA_ANGLE m_lastTextAngle
Definition
symbol_editor_drawing_tools.h:61
SYMBOL_EDITOR_DRAWING_TOOLS::GetLastTextAngle
EDA_ANGLE GetLastTextAngle() const
Definition
symbol_editor_drawing_tools.h:53
SYMBOL_EDITOR_DRAWING_TOOLS::setTransitions
void setTransitions() override
This method is meant to be overridden in order to specify handlers for events.
Definition
symbol_editor_drawing_tools.cpp:452
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastTextBold
bool m_lastTextBold
Definition
symbol_editor_drawing_tools.h:59
SYMBOL_EDITOR_DRAWING_TOOLS::m_inPlaceAnchor
bool m_inPlaceAnchor
Definition
symbol_editor_drawing_tools.h:66
SYMBOL_EDITOR_DRAWING_TOOLS::~SYMBOL_EDITOR_DRAWING_TOOLS
~SYMBOL_EDITOR_DRAWING_TOOLS() override
Definition
symbol_editor_drawing_tools.h:42
SYMBOL_EDITOR_DRAWING_TOOLS::SYMBOL_EDITOR_DRAWING_TOOLS
SYMBOL_EDITOR_DRAWING_TOOLS()
Definition
symbol_editor_drawing_tools.cpp:45
SYMBOL_EDITOR_DRAWING_TOOLS::g_lastPin
static KIID g_lastPin
Definition
symbol_editor_drawing_tools.h:70
SYMBOL_EDITOR_DRAWING_TOOLS::SetLastTextAngle
void SetLastTextAngle(const EDA_ANGLE &aAngle)
Definition
symbol_editor_drawing_tools.h:52
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastTextItalic
bool m_lastTextItalic
Definition
symbol_editor_drawing_tools.h:60
SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace
int TwoClickPlace(const TOOL_EVENT &aEvent)
Definition
symbol_editor_drawing_tools.cpp:75
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastTextJust
GR_TEXT_H_ALIGN_T m_lastTextJust
Re-entrancy guards.
Definition
symbol_editor_drawing_tools.h:62
SYMBOL_EDITOR_DRAWING_TOOLS::m_inDrawShape
bool m_inDrawShape
Definition
symbol_editor_drawing_tools.h:65
SYMBOL_EDIT_FRAME
The symbol library editor main window.
Definition
symbol_edit_frame.h:58
TOOL_EVENT
Generic, UI-independent tool event.
Definition
tool_event.h:167
sch_tool_base.h
GR_TEXT_H_ALIGN_T
GR_TEXT_H_ALIGN_T
This is API surface mapped to common.types.HorizontalAlignment.
Definition
text_attributes.h:43
src
eeschema
tools
symbol_editor_drawing_tools.h
Generated on Fri Jul 31 2026 00:07:50 for KiCad PCB EDA Suite by
1.13.2