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, 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
#pragma once
26
27
#include <
tools/sch_tool_base.h
>
28
#include <
sch_base_frame.h
>
29
30
31
class
SCH_EDIT_TOOL
:
public
SCH_TOOL_BASE
<SCH_EDIT_FRAME>
32
{
33
public
:
34
SCH_EDIT_TOOL
();
35
~SCH_EDIT_TOOL
() =
default
;
36
37
static
const
std::vector<KICAD_T>
RotatableItems
;
38
static
const
std::vector<KICAD_T>
SwappableItems
;
39
41
bool
Init
()
override
;
42
43
int
Rotate
(
const
TOOL_EVENT
& aEvent );
44
int
Mirror
(
const
TOOL_EVENT
& aEvent );
45
int
Swap
(
const
TOOL_EVENT
& aEvent );
46
int
SwapPins
(
const
TOOL_EVENT
& aEvent );
47
int
SwapPinLabels
(
const
TOOL_EVENT
& aEvent );
48
int
SwapUnitLabels
(
const
TOOL_EVENT
& aEvent );
49
50
int
RepeatDrawItem
(
const
TOOL_EVENT
& aEvent );
51
52
int
Properties
(
const
TOOL_EVENT
& aEvent );
53
int
EditField
(
const
TOOL_EVENT
& aEvent );
54
int
AutoplaceFields
(
const
TOOL_EVENT
& aEvent );
55
int
ChangeSymbols
(
const
TOOL_EVENT
& aEvent );
56
int
CycleBodyStyle
(
const
TOOL_EVENT
& aEvent );
57
int
EditPageNumber
(
const
TOOL_EVENT
& aEvent );
58
69
int
ChangeTextType
(
const
TOOL_EVENT
& aEvent );
70
71
int
JustifyText
(
const
TOOL_EVENT
& aEvent );
72
73
int
CleanupSheetPins
(
const
TOOL_EVENT
& aEvent );
74
int
GlobalEdit
(
const
TOOL_EVENT
& aEvent );
75
77
int
ToggleLock
(
const
TOOL_EVENT
& aEvent );
78
int
Lock
(
const
TOOL_EVENT
& aEvent );
79
int
Unlock
(
const
TOOL_EVENT
& aEvent );
80
82
int
DoDelete
(
const
TOOL_EVENT
& aEvent );
83
85
int
DdAppendFile
(
const
TOOL_EVENT
& aEvent );
86
int
DdAddImage
(
const
TOOL_EVENT
& aEvent );
87
90
int
SetAttribute
(
const
TOOL_EVENT
& aEvent );
91
92
void
EditProperties
(
EDA_ITEM
* aItem );
93
94
wxString
FixERCErrorMenuText
(
const
std::shared_ptr<RC_ITEM>& aERCItem );
95
void
FixERCError
(
const
std::shared_ptr<RC_ITEM>& aERCItem );
96
97
private
:
98
void
editFieldText
(
SCH_FIELD
* aField );
99
100
void
collectUnits
(
const
SCH_SELECTION
& aSelection,
101
std::set<std::pair<SCH_SYMBOL*, SCH_SCREEN*>>& aCollectedUnits );
102
104
enum
MODIFY_MODE
{
ON
,
OFF
,
TOGGLE
};
105
106
int
modifyLockSelected
(
MODIFY_MODE
aMode );
107
109
void
setTransitions
()
override
;
110
};
EDA_ITEM
A base class for most all the KiCad significant classes used in schematics and boards.
Definition
eda_item.h:100
SCH_EDIT_TOOL::FixERCErrorMenuText
wxString FixERCErrorMenuText(const std::shared_ptr< RC_ITEM > &aERCItem)
Definition
sch_edit_tool.cpp:3630
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:3771
SCH_EDIT_TOOL::SCH_EDIT_TOOL
SCH_EDIT_TOOL()
Definition
sch_edit_tool.cpp:295
SCH_EDIT_TOOL::RotatableItems
static const std::vector< KICAD_T > RotatableItems
Definition
sch_edit_tool.h:925
SCH_EDIT_TOOL::SwapUnitLabels
int SwapUnitLabels(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2021
SCH_EDIT_TOOL::EditField
int EditField(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2389
SCH_EDIT_TOOL::EditPageNumber
int EditPageNumber(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:3445
SCH_EDIT_TOOL::DoDelete
int DoDelete(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2233
SCH_EDIT_TOOL::Init
bool Init() override
Init() is called once upon a registration of the tool.
Definition
sch_edit_tool.cpp:304
SCH_EDIT_TOOL::CleanupSheetPins
int CleanupSheetPins(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:3418
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:3711
SCH_EDIT_TOOL::EditProperties
void EditProperties(EDA_ITEM *aItem)
Definition
sch_edit_tool.cpp:2708
SCH_EDIT_TOOL::editFieldText
void editFieldText(SCH_FIELD *aField)
Definition
sch_edit_tool.cpp:2342
SCH_EDIT_TOOL::SwapPins
int SwapPins(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:1777
SCH_EDIT_TOOL::Mirror
int Mirror(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:1302
SCH_EDIT_TOOL::MODIFY_MODE
MODIFY_MODE
Definition
sch_edit_tool.h:104
SCH_EDIT_TOOL::OFF
@ OFF
Definition
sch_edit_tool.h:104
SCH_EDIT_TOOL::TOGGLE
@ TOGGLE
Definition
sch_edit_tool.h:104
SCH_EDIT_TOOL::ON
@ ON
Definition
sch_edit_tool.h:104
SCH_EDIT_TOOL::GlobalEdit
int GlobalEdit(const TOOL_EVENT &aEvent)
Lock/unlock selected items.
Definition
eeschema/dialogs/dialog_global_edit_text_and_graphics.cpp:539
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:3545
SCH_EDIT_TOOL::Properties
int Properties(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2582
SCH_EDIT_TOOL::Rotate
int Rotate(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:969
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:3705
SCH_EDIT_TOOL::DdAppendFile
int DdAppendFile(const TOOL_EVENT &aEvent)
Drag and drop.
Definition
sch_edit_tool.cpp:3519
SCH_EDIT_TOOL::JustifyText
int JustifyText(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:3327
SCH_EDIT_TOOL::modifyLockSelected
int modifyLockSelected(MODIFY_MODE aMode)
Set up handlers for various events.
Definition
sch_edit_tool.cpp:3717
SCH_EDIT_TOOL::SwappableItems
static const std::vector< KICAD_T > SwappableItems
Definition
sch_edit_tool.h:950
SCH_EDIT_TOOL::FixERCError
void FixERCError(const std::shared_ptr< RC_ITEM > &aERCItem)
Definition
sch_edit_tool.cpp:3660
SCH_EDIT_TOOL::SwapPinLabels
int SwapPinLabels(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:1968
SCH_EDIT_TOOL::AutoplaceFields
int AutoplaceFields(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2475
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:2549
SCH_EDIT_TOOL::Swap
int Swap(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:1601
SCH_EDIT_TOOL::ChangeSymbols
int ChangeSymbols(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2524
SCH_EDIT_TOOL::ChangeTextType
int ChangeTextType(const TOOL_EVENT &aEvent)
Change a text type to another one.
Definition
sch_edit_tool.cpp:2957
SCH_EDIT_TOOL::ToggleLock
int ToggleLock(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:3699
SCH_EDIT_TOOL::DdAddImage
int DdAddImage(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:3525
SCH_EDIT_TOOL::RepeatDrawItem
int RepeatDrawItem(const TOOL_EVENT &aEvent)
Definition
sch_edit_tool.cpp:2102
SCH_FIELD
Definition
sch_field.h:49
SCH_SELECTION
Definition
sch_selection.h:38
SCH_TOOL_BASE< SCH_EDIT_FRAME >::SCH_TOOL_BASE
SCH_TOOL_BASE(const std::string &aName)
Definition
sch_tool_base.h:58
TOOL_EVENT
Generic, UI-independent tool event.
Definition
tool_event.h:171
sch_base_frame.h
sch_tool_base.h
src
eeschema
tools
sch_edit_tool.h
Generated on Thu Apr 2 2026 00:07:00 for KiCad PCB EDA Suite by
1.13.2