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 (C) 2019 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, you may find one here:
19
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
20
* or you may search the http://www.gnu.org website for the version 2 license,
21
* or you may write to the Free Software Foundation, Inc.,
22
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
23
*/
24
25
#ifndef SYMBOL_EDITOR_DRAWING_TOOLS_H
26
#define SYMBOL_EDITOR_DRAWING_TOOLS_H
27
28
#include <optional>
29
30
#include <
tools/ee_tool_base.h
>
31
32
33
class
SYMBOL_EDIT_FRAME
;
34
35
42
class
SYMBOL_EDITOR_DRAWING_TOOLS
:
public
EE_TOOL_BASE
<SYMBOL_EDIT_FRAME>
43
{
44
public
:
45
SYMBOL_EDITOR_DRAWING_TOOLS
();
46
~SYMBOL_EDITOR_DRAWING_TOOLS
()
override
{ }
47
49
bool
Init
()
override
;
50
51
int
TwoClickPlace
(
const
TOOL_EVENT
& aEvent );
52
int
DrawShape
(
const
TOOL_EVENT
& aEvent );
53
int
DrawSymbolTextBox
(
const
TOOL_EVENT
& aEvent );
54
int
PlaceAnchor
(
const
TOOL_EVENT
& aEvent );
55
int
ImportGraphics
(
const
TOOL_EVENT
& aEvent );
56
57
int
RepeatDrawItem
(
const
TOOL_EVENT
& aEvent );
58
59
void
SetLastTextAngle
(
const
EDA_ANGLE
& aAngle ) {
m_lastTextAngle
= aAngle; }
60
EDA_ANGLE
GetLastTextAngle
()
const
{
return
m_lastTextAngle
; }
61
62
void
SetDrawSpecificBodyStyle
(
bool
aSpecific ) {
m_drawSpecificBodyStyle
= aSpecific; }
63
bool
GetDrawSpecificBodyStyle
()
const
{
return
m_drawSpecificBodyStyle
; }
64
65
void
SetDrawSpecificUnit
(
bool
aSpecific ) {
m_drawSpecificUnit
= aSpecific; }
66
bool
GetDrawSpecificUnit
()
const
{
return
m_drawSpecificUnit
; }
67
68
KIID
GetLastPin
() {
return
g_lastPin
; }
69
void
SetLastPin
(
KIID
aPin ) {
g_lastPin
= aPin; }
70
71
private
:
72
int
doDrawShape
(
const
TOOL_EVENT
& aEvent, std::optional<SHAPE_T> aDrawingShape );
73
74
void
setTransitions
()
override
;
75
76
private
:
77
bool
m_lastTextBold
;
78
bool
m_lastTextItalic
;
79
EDA_ANGLE
m_lastTextAngle
;
80
GR_TEXT_H_ALIGN_T
m_lastTextJust
;
81
FILL_T
m_lastFillStyle
;
82
COLOR4D
m_lastFillColor
;
83
STROKE_PARAMS
m_lastStroke
;
84
bool
m_drawSpecificBodyStyle
;
85
bool
m_drawSpecificUnit
;
86
88
bool
m_inDrawShape
;
89
bool
m_inTwoClickPlace
;
90
91
private
:
92
static
KIID
g_lastPin
;
93
};
94
95
#endif
/* SYMBOL_EDITOR_DRAWING_TOOLS_H */
EDA_ANGLE
Definition:
eda_angle.h:37
EE_TOOL_BASE
A foundation class for a tool operating on a schematic or symbol.
Definition:
ee_tool_base.h:48
KIGFX::COLOR4D
A color representation with 4 components: red, green, blue, alpha.
Definition:
color4d.h:104
KIID
Definition:
kiid.h:49
STROKE_PARAMS
Simple container to manage line stroke parameters.
Definition:
stroke_params.h:79
SYMBOL_EDITOR_DRAWING_TOOLS
SYMBOL_EDITOR_DRAWING_TOOLS.
Definition:
symbol_editor_drawing_tools.h:43
SYMBOL_EDITOR_DRAWING_TOOLS::m_inTwoClickPlace
bool m_inTwoClickPlace
Definition:
symbol_editor_drawing_tools.h:89
SYMBOL_EDITOR_DRAWING_TOOLS::GetLastPin
KIID GetLastPin()
Definition:
symbol_editor_drawing_tools.h:68
SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor
int PlaceAnchor(const TOOL_EVENT &aEvent)
Definition:
symbol_editor_drawing_tools.cpp:603
SYMBOL_EDITOR_DRAWING_TOOLS::Init
bool Init() override
Init() is called once upon a registration of the tool.
Definition:
symbol_editor_drawing_tools.cpp:65
SYMBOL_EDITOR_DRAWING_TOOLS::m_drawSpecificUnit
bool m_drawSpecificUnit
Re-entrancy guards.
Definition:
symbol_editor_drawing_tools.h:85
SYMBOL_EDITOR_DRAWING_TOOLS::RepeatDrawItem
int RepeatDrawItem(const TOOL_EVENT &aEvent)
Definition:
symbol_editor_drawing_tools.cpp:832
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastFillStyle
FILL_T m_lastFillStyle
Definition:
symbol_editor_drawing_tools.h:81
SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape
int doDrawShape(const TOOL_EVENT &aEvent, std::optional< SHAPE_T > aDrawingShape)
Definition:
symbol_editor_drawing_tools.cpp:358
SYMBOL_EDITOR_DRAWING_TOOLS::SetDrawSpecificBodyStyle
void SetDrawSpecificBodyStyle(bool aSpecific)
Definition:
symbol_editor_drawing_tools.h:62
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastTextAngle
EDA_ANGLE m_lastTextAngle
Definition:
symbol_editor_drawing_tools.h:79
SYMBOL_EDITOR_DRAWING_TOOLS::m_drawSpecificBodyStyle
bool m_drawSpecificBodyStyle
Definition:
symbol_editor_drawing_tools.h:84
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastStroke
STROKE_PARAMS m_lastStroke
Definition:
symbol_editor_drawing_tools.h:83
SYMBOL_EDITOR_DRAWING_TOOLS::GetLastTextAngle
EDA_ANGLE GetLastTextAngle() const
Definition:
symbol_editor_drawing_tools.h:60
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:867
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastTextBold
bool m_lastTextBold
Definition:
symbol_editor_drawing_tools.h:77
SYMBOL_EDITOR_DRAWING_TOOLS::~SYMBOL_EDITOR_DRAWING_TOOLS
~SYMBOL_EDITOR_DRAWING_TOOLS() override
Definition:
symbol_editor_drawing_tools.h:46
SYMBOL_EDITOR_DRAWING_TOOLS::SYMBOL_EDITOR_DRAWING_TOOLS
SYMBOL_EDITOR_DRAWING_TOOLS()
Definition:
symbol_editor_drawing_tools.cpp:48
SYMBOL_EDITOR_DRAWING_TOOLS::GetDrawSpecificBodyStyle
bool GetDrawSpecificBodyStyle() const
Definition:
symbol_editor_drawing_tools.h:63
SYMBOL_EDITOR_DRAWING_TOOLS::g_lastPin
static KIID g_lastPin
Definition:
symbol_editor_drawing_tools.h:92
SYMBOL_EDITOR_DRAWING_TOOLS::ImportGraphics
int ImportGraphics(const TOOL_EVENT &aEvent)
Definition:
symbol_editor_drawing_tools.cpp:665
SYMBOL_EDITOR_DRAWING_TOOLS::SetLastTextAngle
void SetLastTextAngle(const EDA_ANGLE &aAngle)
Definition:
symbol_editor_drawing_tools.h:59
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastFillColor
COLOR4D m_lastFillColor
Definition:
symbol_editor_drawing_tools.h:82
SYMBOL_EDITOR_DRAWING_TOOLS::SetLastPin
void SetLastPin(KIID aPin)
Definition:
symbol_editor_drawing_tools.h:69
SYMBOL_EDITOR_DRAWING_TOOLS::SetDrawSpecificUnit
void SetDrawSpecificUnit(bool aSpecific)
Definition:
symbol_editor_drawing_tools.h:65
SYMBOL_EDITOR_DRAWING_TOOLS::DrawShape
int DrawShape(const TOOL_EVENT &aEvent)
Definition:
symbol_editor_drawing_tools.cpp:344
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastTextItalic
bool m_lastTextItalic
Definition:
symbol_editor_drawing_tools.h:78
SYMBOL_EDITOR_DRAWING_TOOLS::DrawSymbolTextBox
int DrawSymbolTextBox(const TOOL_EVENT &aEvent)
Definition:
symbol_editor_drawing_tools.cpp:352
SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace
int TwoClickPlace(const TOOL_EVENT &aEvent)
Definition:
symbol_editor_drawing_tools.cpp:82
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastTextJust
GR_TEXT_H_ALIGN_T m_lastTextJust
Definition:
symbol_editor_drawing_tools.h:80
SYMBOL_EDITOR_DRAWING_TOOLS::m_inDrawShape
bool m_inDrawShape
Definition:
symbol_editor_drawing_tools.h:88
SYMBOL_EDITOR_DRAWING_TOOLS::GetDrawSpecificUnit
bool GetDrawSpecificUnit() const
Definition:
symbol_editor_drawing_tools.h:66
SYMBOL_EDIT_FRAME
The symbol library editor main window.
Definition:
symbol_edit_frame.h:51
TOOL_EVENT
Generic, UI-independent tool event.
Definition:
tool_event.h:167
FILL_T
FILL_T
Definition:
eda_shape.h:56
ee_tool_base.h
GR_TEXT_H_ALIGN_T
GR_TEXT_H_ALIGN_T
Definition:
text_attributes.h:43
src
eeschema
tools
symbol_editor_drawing_tools.h
Generated on Sun Dec 22 2024 00:05:23 for KiCad PCB EDA Suite by
1.9.6