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
SymbolImportGraphics
(
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
SetDrawSpecificConvert
(
bool
aSpecific ) {
m_drawSpecificConvert
= aSpecific; }
63
bool
GetDrawSpecificConvert
()
const
{
return
m_drawSpecificConvert
; }
64
65
void
SetDrawSpecificUnit
(
bool
aSpecific ) {
m_drawSpecificUnit
= aSpecific; }
66
bool
GetDrawSpecificUnit
()
const
{
return
m_drawSpecificUnit
; }
67
68
private
:
69
int
doDrawShape
(
const
TOOL_EVENT
& aEvent, std::optional<SHAPE_T> aDrawingShape );
70
71
void
setTransitions
()
override
;
72
73
private
:
74
bool
m_lastTextBold
;
75
bool
m_lastTextItalic
;
76
EDA_ANGLE
m_lastTextAngle
;
77
GR_TEXT_H_ALIGN_T
m_lastTextJust
;
78
FILL_T
m_lastFillStyle
;
79
COLOR4D
m_lastFillColor
;
80
STROKE_PARAMS
m_lastStroke
;
81
bool
m_drawSpecificConvert
;
82
bool
m_drawSpecificUnit
;
83
85
bool
m_inDrawShape
;
86
bool
m_inTwoClickPlace
;
87
};
88
89
#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
STROKE_PARAMS
Simple container to manage line stroke parameters.
Definition:
stroke_params.h:81
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:86
SYMBOL_EDITOR_DRAWING_TOOLS::PlaceAnchor
int PlaceAnchor(const TOOL_EVENT &aEvent)
Definition:
symbol_editor_drawing_tools.cpp:591
SYMBOL_EDITOR_DRAWING_TOOLS::Init
bool Init() override
Init() is called once upon a registration of the tool.
Definition:
symbol_editor_drawing_tools.cpp:66
SYMBOL_EDITOR_DRAWING_TOOLS::m_drawSpecificUnit
bool m_drawSpecificUnit
Re-entrancy guards.
Definition:
symbol_editor_drawing_tools.h:82
SYMBOL_EDITOR_DRAWING_TOOLS::SetDrawSpecificConvert
void SetDrawSpecificConvert(bool aSpecific)
Definition:
symbol_editor_drawing_tools.h:62
SYMBOL_EDITOR_DRAWING_TOOLS::RepeatDrawItem
int RepeatDrawItem(const TOOL_EVENT &aEvent)
Definition:
symbol_editor_drawing_tools.cpp:824
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastFillStyle
FILL_T m_lastFillStyle
Definition:
symbol_editor_drawing_tools.h:78
SYMBOL_EDITOR_DRAWING_TOOLS::doDrawShape
int doDrawShape(const TOOL_EVENT &aEvent, std::optional< SHAPE_T > aDrawingShape)
Definition:
symbol_editor_drawing_tools.cpp:352
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastTextAngle
EDA_ANGLE m_lastTextAngle
Definition:
symbol_editor_drawing_tools.h:76
SYMBOL_EDITOR_DRAWING_TOOLS::SymbolImportGraphics
int SymbolImportGraphics(const TOOL_EVENT &aEvent)
Definition:
symbol_editor_drawing_tools.cpp:657
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastStroke
STROKE_PARAMS m_lastStroke
Definition:
symbol_editor_drawing_tools.h:80
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:860
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastTextBold
bool m_lastTextBold
Definition:
symbol_editor_drawing_tools.h:74
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:49
SYMBOL_EDITOR_DRAWING_TOOLS::m_drawSpecificConvert
bool m_drawSpecificConvert
Definition:
symbol_editor_drawing_tools.h:81
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:79
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:338
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastTextItalic
bool m_lastTextItalic
Definition:
symbol_editor_drawing_tools.h:75
SYMBOL_EDITOR_DRAWING_TOOLS::DrawSymbolTextBox
int DrawSymbolTextBox(const TOOL_EVENT &aEvent)
Definition:
symbol_editor_drawing_tools.cpp:346
SYMBOL_EDITOR_DRAWING_TOOLS::TwoClickPlace
int TwoClickPlace(const TOOL_EVENT &aEvent)
Definition:
symbol_editor_drawing_tools.cpp:83
SYMBOL_EDITOR_DRAWING_TOOLS::m_lastTextJust
GR_TEXT_H_ALIGN_T m_lastTextJust
Definition:
symbol_editor_drawing_tools.h:77
SYMBOL_EDITOR_DRAWING_TOOLS::m_inDrawShape
bool m_inDrawShape
Definition:
symbol_editor_drawing_tools.h:85
SYMBOL_EDITOR_DRAWING_TOOLS::GetDrawSpecificUnit
bool GetDrawSpecificUnit() const
Definition:
symbol_editor_drawing_tools.h:66
SYMBOL_EDITOR_DRAWING_TOOLS::GetDrawSpecificConvert
bool GetDrawSpecificConvert() const
Definition:
symbol_editor_drawing_tools.h:63
SYMBOL_EDIT_FRAME
The symbol library editor main window.
Definition:
symbol_edit_frame.h:54
TOOL_EVENT
Generic, UI-independent tool event.
Definition:
tool_event.h:167
FILL_T
FILL_T
Definition:
eda_shape.h:54
ee_tool_base.h
GR_TEXT_H_ALIGN_T
GR_TEXT_H_ALIGN_T
Definition:
text_attributes.h:42
src
eeschema
tools
symbol_editor_drawing_tools.h
Generated on Tue Dec 5 2023 00:04:28 for KiCad PCB EDA Suite by
1.9.5