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
CycleBodyStyle
(
const
TOOL_EVENT
& aEvent );
53
int
EditPageNumber
(
const
TOOL_EVENT
& aEvent );
54
65
int
ChangeTextType
(
const
TOOL_EVENT
& aEvent );
66
67
int
JustifyText
(
const
TOOL_EVENT
& aEvent );
68
69
int
CleanupSheetPins
(
const
TOOL_EVENT
& aEvent );
70
int
GlobalEdit
(
const
TOOL_EVENT
& aEvent );
71
73
int
ToggleLock
(
const
TOOL_EVENT
& aEvent );
74
int
Lock
(
const
TOOL_EVENT
& aEvent );
75
int
Unlock
(
const
TOOL_EVENT
& aEvent );
76
78
int
DoDelete
(
const
TOOL_EVENT
& aEvent );
79
81
int
DdAppendFile
(
const
TOOL_EVENT
& aEvent );
82
int
DdAddImage
(
const
TOOL_EVENT
& aEvent );
83
86
int
SetAttribute
(
const
TOOL_EVENT
& aEvent );
87
88
void
EditProperties
(
EDA_ITEM
* aItem );
89
90
wxString
FixERCErrorMenuText
(
const
std::shared_ptr<RC_ITEM>& aERCItem );
91
void
FixERCError
(
const
std::shared_ptr<RC_ITEM>& aERCItem );
92
93
private
:
94
void
editFieldText
(
SCH_FIELD
* aField );
95
96
void
collectUnits
(
const
SCH_SELECTION
& aSelection,
97
std::set<std::pair<SCH_SYMBOL*, SCH_SCREEN*>>& aCollectedUnits );
98
100
enum
MODIFY_MODE
{
ON
,
OFF
,
TOGGLE
};
101
102
int
modifyLockSelected
(
MODIFY_MODE
aMode );
103
105
void
setTransitions
()
override
;
106
};
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:3658
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:3799
SCH_EDIT_TOOL::SCH_EDIT_TOOL
SCH_EDIT_TOOL()
Definition
sch_edit_tool.cpp:291
SCH_EDIT_TOOL::RotatableItems
static const std::vector< KICAD_T > RotatableItems
Definition
sch_edit_tool.h:945
SCH_EDIT_TOOL::SwapUnitLabels
int SwapUnitLabels(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2041
SCH_EDIT_TOOL::EditField
int EditField(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2409
SCH_EDIT_TOOL::EditPageNumber
int EditPageNumber(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:3465
SCH_EDIT_TOOL::DoDelete
int DoDelete(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2253
SCH_EDIT_TOOL::Init
bool Init() override
Init() is called once upon a registration of the tool.
Definition
sch_edit_tool.cpp:300
SCH_EDIT_TOOL::CleanupSheetPins
int CleanupSheetPins(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:3438
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:3739
SCH_EDIT_TOOL::EditProperties
void EditProperties(EDA_ITEM *aItem)
Definition
sch_edit_tool.cpp:2728
SCH_EDIT_TOOL::editFieldText
void editFieldText(SCH_FIELD *aField)
Definition
sch_edit_tool.cpp:2362
SCH_EDIT_TOOL::SwapPins
int SwapPins(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:1797
SCH_EDIT_TOOL::Mirror
int Mirror(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:1322
SCH_EDIT_TOOL::MODIFY_MODE
MODIFY_MODE
Definition
sch_edit_tool.h:100
SCH_EDIT_TOOL::OFF
@ OFF
Definition
sch_edit_tool.h:100
SCH_EDIT_TOOL::TOGGLE
@ TOGGLE
Definition
sch_edit_tool.h:100
SCH_EDIT_TOOL::ON
@ ON
Definition
sch_edit_tool.h:100
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:3565
SCH_EDIT_TOOL::Properties
int Properties(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2602
SCH_EDIT_TOOL::Rotate
int Rotate(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:989
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:3733
SCH_EDIT_TOOL::DdAppendFile
int DdAppendFile(const TOOL_EVENT &aEvent)
Drag and drop.
Definition
sch_edit_tool.cpp:3539
SCH_EDIT_TOOL::JustifyText
int JustifyText(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:3347
SCH_EDIT_TOOL::modifyLockSelected
int modifyLockSelected(MODIFY_MODE aMode)
Set up handlers for various events.
Definition
sch_edit_tool.cpp:3745
SCH_EDIT_TOOL::SwappableItems
static const std::vector< KICAD_T > SwappableItems
Definition
sch_edit_tool.h:970
SCH_EDIT_TOOL::FixERCError
void FixERCError(const std::shared_ptr< RC_ITEM > &aERCItem)
Definition
sch_edit_tool.cpp:3688
SCH_EDIT_TOOL::SwapPinLabels
int SwapPinLabels(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:1988
SCH_EDIT_TOOL::AutoplaceFields
int AutoplaceFields(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2495
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:2569
SCH_EDIT_TOOL::Swap
int Swap(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:1621
SCH_EDIT_TOOL::ChangeSymbols
int ChangeSymbols(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2544
SCH_EDIT_TOOL::ChangeTextType
int ChangeTextType(const TOOL_EVENT &aEvent)
Change a text type to another one.
Definition
sch_edit_tool.cpp:2977
SCH_EDIT_TOOL::ToggleLock
int ToggleLock(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:3727
SCH_EDIT_TOOL::DdAddImage
int DdAddImage(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:3545
SCH_EDIT_TOOL::RepeatDrawItem
int RepeatDrawItem(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2122
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:54
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 Jun 26 2026 00:05:36 for KiCad PCB EDA Suite by
1.13.2