KiCad PCB EDA Suite
Loading...
Searching...
No Matches
sch_edit_tool.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
#pragma once
22
23
#include <
tools/sch_tool_base.h
>
24
#include <
sch_base_frame.h
>
25
26
27
class
SCH_EDIT_TOOL
:
public
SCH_TOOL_BASE
<SCH_EDIT_FRAME>
28
{
29
public
:
30
SCH_EDIT_TOOL
();
31
~SCH_EDIT_TOOL
() =
default
;
32
33
static
const
std::vector<KICAD_T>
RotatableItems
;
34
static
const
std::vector<KICAD_T>
SwappableItems
;
35
37
bool
Init
()
override
;
38
39
int
Rotate
(
const
TOOL_EVENT
& aEvent );
40
int
Mirror
(
const
TOOL_EVENT
& aEvent );
41
int
Swap
(
const
TOOL_EVENT
& aEvent );
42
int
SwapPins
(
const
TOOL_EVENT
& aEvent );
43
int
SwapPinLabels
(
const
TOOL_EVENT
& aEvent );
44
int
SwapUnitLabels
(
const
TOOL_EVENT
& aEvent );
45
46
int
RepeatDrawItem
(
const
TOOL_EVENT
& aEvent );
47
48
int
Properties
(
const
TOOL_EVENT
& aEvent );
49
int
EditField
(
const
TOOL_EVENT
& aEvent );
50
int
AutoplaceFields
(
const
TOOL_EVENT
& aEvent );
51
int
ChangeSymbols
(
const
TOOL_EVENT
& aEvent );
52
int
SetVariantSymbol
(
const
TOOL_EVENT
& aEvent );
53
int
ClearVariantSymbol
(
const
TOOL_EVENT
& aEvent );
54
int
CycleBodyStyle
(
const
TOOL_EVENT
& aEvent );
55
int
EditPageNumber
(
const
TOOL_EVENT
& aEvent );
56
67
int
ChangeTextType
(
const
TOOL_EVENT
& aEvent );
68
69
int
JustifyText
(
const
TOOL_EVENT
& aEvent );
70
71
int
CleanupSheetPins
(
const
TOOL_EVENT
& aEvent );
72
int
GlobalEdit
(
const
TOOL_EVENT
& aEvent );
73
75
int
ToggleLock
(
const
TOOL_EVENT
& aEvent );
76
int
Lock
(
const
TOOL_EVENT
& aEvent );
77
int
Unlock
(
const
TOOL_EVENT
& aEvent );
78
80
int
DoDelete
(
const
TOOL_EVENT
& aEvent );
81
83
int
DdAppendFile
(
const
TOOL_EVENT
& aEvent );
84
int
DdAddImage
(
const
TOOL_EVENT
& aEvent );
85
88
int
SetAttribute
(
const
TOOL_EVENT
& aEvent );
89
90
void
EditProperties
(
EDA_ITEM
* aItem );
91
92
wxString
FixERCErrorMenuText
(
const
std::shared_ptr<RC_ITEM>& aERCItem );
93
void
FixERCError
(
const
std::shared_ptr<RC_ITEM>& aERCItem );
94
95
private
:
96
void
editFieldText
(
SCH_FIELD
* aField );
97
98
void
collectUnits
(
const
SCH_SELECTION
& aSelection,
99
std::set<std::pair<SCH_SYMBOL*, SCH_SCREEN*>>& aCollectedUnits );
100
102
enum
MODIFY_MODE
{
ON
,
OFF
,
TOGGLE
};
103
104
int
modifyLockSelected
(
MODIFY_MODE
aMode );
105
107
void
setTransitions
()
override
;
108
};
EDA_ITEM
A base class for most all the KiCad significant classes used in schematics and boards.
Definition
eda_item.h:96
SCH_EDIT_TOOL::FixERCErrorMenuText
wxString FixERCErrorMenuText(const std::shared_ptr< RC_ITEM > &aERCItem)
Definition
sch_edit_tool.cpp:3884
SCH_EDIT_TOOL::setTransitions
void setTransitions() override
This method is meant to be overridden in order to specify handlers for events.
Definition
sch_edit_tool.cpp:4043
SCH_EDIT_TOOL::SCH_EDIT_TOOL
SCH_EDIT_TOOL()
Definition
sch_edit_tool.cpp:296
SCH_EDIT_TOOL::RotatableItems
static const std::vector< KICAD_T > RotatableItems
Definition
sch_edit_tool.h:988
SCH_EDIT_TOOL::SwapUnitLabels
int SwapUnitLabels(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2084
SCH_EDIT_TOOL::EditField
int EditField(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2454
SCH_EDIT_TOOL::EditPageNumber
int EditPageNumber(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:3691
SCH_EDIT_TOOL::DoDelete
int DoDelete(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2298
SCH_EDIT_TOOL::Init
bool Init() override
Init() is called once upon a registration of the tool.
Definition
sch_edit_tool.cpp:305
SCH_EDIT_TOOL::CleanupSheetPins
int CleanupSheetPins(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:3664
SCH_EDIT_TOOL::Unlock
int Unlock(const TOOL_EVENT &aEvent)
Delete the selected items, or the item under the cursor.
Definition
sch_edit_tool.cpp:3983
SCH_EDIT_TOOL::ClearVariantSymbol
int ClearVariantSymbol(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2749
SCH_EDIT_TOOL::EditProperties
void EditProperties(EDA_ITEM *aItem)
Definition
sch_edit_tool.cpp:2949
SCH_EDIT_TOOL::editFieldText
void editFieldText(SCH_FIELD *aField)
Definition
sch_edit_tool.cpp:2407
SCH_EDIT_TOOL::SwapPins
int SwapPins(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:1840
SCH_EDIT_TOOL::Mirror
int Mirror(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:1365
SCH_EDIT_TOOL::MODIFY_MODE
MODIFY_MODE
Definition
sch_edit_tool.h:102
SCH_EDIT_TOOL::OFF
@ OFF
Definition
sch_edit_tool.h:102
SCH_EDIT_TOOL::TOGGLE
@ TOGGLE
Definition
sch_edit_tool.h:102
SCH_EDIT_TOOL::ON
@ ON
Definition
sch_edit_tool.h:102
SCH_EDIT_TOOL::GlobalEdit
int GlobalEdit(const TOOL_EVENT &aEvent)
Lock/unlock selected items.
Definition
eeschema/dialogs/dialog_global_edit_text_and_graphics.cpp:535
SCH_EDIT_TOOL::SetAttribute
int SetAttribute(const TOOL_EVENT &aEvent)
Modify Attributes (DNP, Exclude, etc.) All attributes are set to true unless all symbols already have...
Definition
sch_edit_tool.cpp:3791
SCH_EDIT_TOOL::Properties
int Properties(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2823
SCH_EDIT_TOOL::Rotate
int Rotate(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:1032
SCH_EDIT_TOOL::collectUnits
void collectUnits(const SCH_SELECTION &aSelection, std::set< std::pair< SCH_SYMBOL *, SCH_SCREEN * > > &aCollectedUnits)
How to modify a property for selected items.
SCH_EDIT_TOOL::Lock
int Lock(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:3977
SCH_EDIT_TOOL::DdAppendFile
int DdAppendFile(const TOOL_EVENT &aEvent)
Drag and drop.
Definition
sch_edit_tool.cpp:3765
SCH_EDIT_TOOL::JustifyText
int JustifyText(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:3573
SCH_EDIT_TOOL::modifyLockSelected
int modifyLockSelected(MODIFY_MODE aMode)
Set up handlers for various events.
Definition
sch_edit_tool.cpp:3989
SCH_EDIT_TOOL::SetVariantSymbol
int SetVariantSymbol(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2626
SCH_EDIT_TOOL::SwappableItems
static const std::vector< KICAD_T > SwappableItems
Definition
sch_edit_tool.h:1013
SCH_EDIT_TOOL::FixERCError
void FixERCError(const std::shared_ptr< RC_ITEM > &aERCItem)
Definition
sch_edit_tool.cpp:3918
SCH_EDIT_TOOL::SwapPinLabels
int SwapPinLabels(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2031
SCH_EDIT_TOOL::AutoplaceFields
int AutoplaceFields(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2540
SCH_EDIT_TOOL::~SCH_EDIT_TOOL
~SCH_EDIT_TOOL()=default
SCH_EDIT_TOOL::CycleBodyStyle
int CycleBodyStyle(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2790
SCH_EDIT_TOOL::Swap
int Swap(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:1664
SCH_EDIT_TOOL::ChangeSymbols
int ChangeSymbols(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2589
SCH_EDIT_TOOL::ChangeTextType
int ChangeTextType(const TOOL_EVENT &aEvent)
Change a text type to another one.
Definition
sch_edit_tool.cpp:3203
SCH_EDIT_TOOL::ToggleLock
int ToggleLock(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:3971
SCH_EDIT_TOOL::DdAddImage
int DdAddImage(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:3771
SCH_EDIT_TOOL::RepeatDrawItem
int RepeatDrawItem(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2165
SCH_FIELD
Definition
sch_field.h:45
SCH_SELECTION
Definition
sch_selection.h:34
SCH_TOOL_BASE< SCH_EDIT_FRAME >::SCH_TOOL_BASE
SCH_TOOL_BASE(const std::string &aName)
Definition
sch_tool_base.h:55
TOOL_EVENT
Generic, UI-independent tool event.
Definition
tool_event.h:167
sch_base_frame.h
sch_tool_base.h
src
eeschema
tools
sch_edit_tool.h
Generated on Fri Jul 31 2026 00:07:50 for KiCad PCB EDA Suite by
1.13.2