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
DrawShape
(
const
TOOL_EVENT
& aEvent );
49
int
DrawSymbolTextBox
(
const
TOOL_EVENT
& aEvent );
50
int
PlaceAnchor
(
const
TOOL_EVENT
& aEvent );
51
int
ImportGraphics
(
const
TOOL_EVENT
& aEvent );
52
53
int
RepeatDrawItem
(
const
TOOL_EVENT
& aEvent );
54
55
void
SetLastTextAngle
(
const
EDA_ANGLE
& aAngle ) {
m_lastTextAngle
= aAngle; }
56
EDA_ANGLE
GetLastTextAngle
()
const
{
return
m_lastTextAngle
; }
57
58
void
SetDrawSpecificBodyStyle
(
bool
aSpecific ) {
m_drawSpecificBodyStyle
= aSpecific; }
59
bool
GetDrawSpecificBodyStyle
()
const
{
return
m_drawSpecificBodyStyle
; }
60
61
void
SetDrawSpecificUnit
(
bool
aSpecific ) {
m_drawSpecificUnit
= aSpecific; }
62
bool
GetDrawSpecificUnit
()
const
{
return
m_drawSpecificUnit
; }
63
64
private
:
65
int
doDrawShape
(
const
TOOL_EVENT
& aEvent, std::optional<SHAPE_T> aDrawingShape );
66
67
void
setTransitions
()
override
;
68
69
private
:
70
bool
m_lastTextBold
;
71
bool
m_lastTextItalic
;
72
EDA_ANGLE
m_lastTextAngle
;
73
GR_TEXT_H_ALIGN_T
m_lastTextJust
;
74
FILL_T
m_lastFillStyle
;
75
COLOR4D
m_lastFillColor
;
76
STROKE_PARAMS
m_lastStroke
;
77
bool
m_drawSpecificBodyStyle
;
78
bool
m_drawSpecificUnit
;
79
81
bool
m_inDrawShape
;
82
bool
m_inPlaceAnchor
;
83
bool
m_inTwoClickPlace
;
84
85
private
:
86
static
KIID
g_lastPin
;
87
};
88
89
#endif
/* SYMBOL_EDITOR_DRAWING_TOOLS_H */
EDA_ANGLE
Definition
eda_angle.h:37
KIGFX::COLOR4D
A color representation with 4 components: red, green, blue, alpha.
Definition
color4d.h:101
KIID
Definition
kiid.h:44
SCH_TOOL_BASE< SYMBOL_EDIT_FRAME >::SCH_TOOL_BASE
SCH_TOOL_BASE(const std::string &aName)
Definition
sch_tool_base.h:54
STROKE_PARAMS
Simple container to manage line stroke parameters.
Definition
stroke_params.h:90
SYMBOL_EDITOR_DRAWING_TOOLS::m_inTwoClickPlace
bool m_inTwoClickPlace
Definition
symbol_editor_drawing_tools.h:83
SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor
int PlaceAnchor(const TOOL_EVENT &aEvent)
Definition
symbol_editor_drawing_tools.cpp:617
SYMBOL_EDITOR_DRAWING_TOOLS::Init
bool Init() override
Init() is called once upon a registration of the tool.
Definition
symbol_editor_drawing_tools.cpp:63
SYMBOL_EDITOR_DRAWING_TOOLS::m_drawSpecificUnit
bool m_drawSpecificUnit
Re-entrancy guards.
Definition
symbol_editor_drawing_tools.h:78
SYMBOL_EDITOR_DRAWING_TOOLS::RepeatDrawItem
int RepeatDrawItem(const TOOL_EVENT &aEvent)
Definition
symbol_editor_drawing_tools.cpp:851
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastFillStyle
FILL_T m_lastFillStyle
Definition
symbol_editor_drawing_tools.h:74
SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape
int doDrawShape(const TOOL_EVENT &aEvent, std::optional< SHAPE_T > aDrawingShape)
Definition
symbol_editor_drawing_tools.cpp:369
SYMBOL_EDITOR_DRAWING_TOOLS::SetDrawSpecificBodyStyle
void SetDrawSpecificBodyStyle(bool aSpecific)
Definition
symbol_editor_drawing_tools.h:58
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastTextAngle
EDA_ANGLE m_lastTextAngle
Definition
symbol_editor_drawing_tools.h:72
SYMBOL_EDITOR_DRAWING_TOOLS::m_drawSpecificBodyStyle
bool m_drawSpecificBodyStyle
Definition
symbol_editor_drawing_tools.h:77
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastStroke
STROKE_PARAMS m_lastStroke
Definition
symbol_editor_drawing_tools.h:76
SYMBOL_EDITOR_DRAWING_TOOLS::GetLastTextAngle
EDA_ANGLE GetLastTextAngle() const
Definition
symbol_editor_drawing_tools.h:56
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:886
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastTextBold
bool m_lastTextBold
Definition
symbol_editor_drawing_tools.h:70
SYMBOL_EDITOR_DRAWING_TOOLS::m_inPlaceAnchor
bool m_inPlaceAnchor
Definition
symbol_editor_drawing_tools.h:82
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::GetDrawSpecificBodyStyle
bool GetDrawSpecificBodyStyle() const
Definition
symbol_editor_drawing_tools.h:59
SYMBOL_EDITOR_DRAWING_TOOLS::g_lastPin
static KIID g_lastPin
Definition
symbol_editor_drawing_tools.h:86
SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics
int ImportGraphics(const TOOL_EVENT &aEvent)
Definition
symbol_editor_drawing_tools.cpp:684
SYMBOL_EDITOR_DRAWING_TOOLS::SetLastTextAngle
void SetLastTextAngle(const EDA_ANGLE &aAngle)
Definition
symbol_editor_drawing_tools.h:55
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastFillColor
COLOR4D m_lastFillColor
Definition
symbol_editor_drawing_tools.h:75
SYMBOL_EDITOR_DRAWING_TOOLS::SetDrawSpecificUnit
void SetDrawSpecificUnit(bool aSpecific)
Definition
symbol_editor_drawing_tools.h:61
SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape
int DrawShape(const TOOL_EVENT &aEvent)
Definition
symbol_editor_drawing_tools.cpp:355
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastTextItalic
bool m_lastTextItalic
Definition
symbol_editor_drawing_tools.h:71
SYMBOL_EDITOR_DRAWING_TOOLS::DrawSymbolTextBox
int DrawSymbolTextBox(const TOOL_EVENT &aEvent)
Definition
symbol_editor_drawing_tools.cpp:363
SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace
int TwoClickPlace(const TOOL_EVENT &aEvent)
Definition
symbol_editor_drawing_tools.cpp:80
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastTextJust
GR_TEXT_H_ALIGN_T m_lastTextJust
Definition
symbol_editor_drawing_tools.h:73
SYMBOL_EDITOR_DRAWING_TOOLS::m_inDrawShape
bool m_inDrawShape
Definition
symbol_editor_drawing_tools.h:81
SYMBOL_EDITOR_DRAWING_TOOLS::GetDrawSpecificUnit
bool GetDrawSpecificUnit() const
Definition
symbol_editor_drawing_tools.h:62
SYMBOL_EDIT_FRAME
The symbol library editor main window.
Definition
symbol_edit_frame.h:57
TOOL_EVENT
Generic, UI-independent tool event.
Definition
tool_event.h:167
FILL_T
FILL_T
Definition
eda_shape.h:59
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 Jun 26 2026 00:05:36 for KiCad PCB EDA Suite by
1.13.2