KiCad PCB EDA Suite
Loading...
Searching...
No Matches
eda_search_data.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 The KiCad Developers, see AUTHORS.txt for contributors.
5
*
6
* This program is free software; you can redistribute it and/or
7
* modify it under the terms of the GNU General Public License
8
* as published by the Free Software Foundation; either version 2
9
* of the License, or (at your option) any later version.
10
*
11
* This program is distributed in the hope that it will be useful,
12
* but WITHOUT ANY WARRANTY; without even the implied warranty of
13
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
* GNU General Public License for more details.
15
*
16
* You should have received a copy of the GNU General Public License
17
* along with this program. If not, see <https://www.gnu.org/licenses/>.
18
*/
19
20
#ifndef EDA_ITEM_SEARCH_H
21
#define EDA_ITEM_SEARCH_H
22
23
#include <wx/log.h>
24
#include <wx/regex.h>
25
#include <wx/string.h>
26
27
enum class
EDA_SEARCH_MATCH_MODE
28
{
29
PLAIN
,
30
WHOLEWORD
,
31
WILDCARD
,
32
REGEX
,
33
PERMISSIVE
34
};
35
36
struct
EDA_SEARCH_DATA
37
{
38
wxString
findString
;
39
wxString
replaceString
;
40
41
mutable
wxRegEx
regex
;
42
mutable
wxString
regex_string
;
43
44
bool
searchAndReplace
;
45
bool
searchAllFields
;
46
bool
searchMetadata
;
47
48
bool
matchCase
;
49
bool
markersOnly
;
50
EDA_SEARCH_MATCH_MODE
matchMode
;
51
52
EDA_SEARCH_DATA
() :
53
findString
(),
54
replaceString
(),
55
searchAndReplace
( false ),
56
searchAllFields
( false ),
57
searchMetadata
( false ),
58
matchCase
( false ),
59
markersOnly
( false ),
60
matchMode
(
EDA_SEARCH_MATCH_MODE
::
PLAIN
)
61
{
62
}
63
64
// Need an explicit copy constructor because wxRegEx is not copyable
65
EDA_SEARCH_DATA
(
const
EDA_SEARCH_DATA
& other ) :
66
findString
( other.
findString
),
67
replaceString
( other.
replaceString
),
68
regex_string
( other.
regex_string
),
69
searchAndReplace
( other.
searchAndReplace
),
70
searchAllFields
( other.
searchAllFields
),
71
searchMetadata
( other.
searchMetadata
),
72
matchCase
( other.
matchCase
),
73
markersOnly
( other.
markersOnly
),
74
matchMode
( other.
matchMode
)
75
{
76
if
(
matchMode
==
EDA_SEARCH_MATCH_MODE::REGEX
)
77
{
78
wxLogNull noLogs;
79
regex
.Compile(
findString
,
matchCase
? wxRE_DEFAULT : wxRE_ICASE );
80
}
81
}
82
83
virtual
~EDA_SEARCH_DATA
() {}
84
};
85
86
struct
SCH_SEARCH_DATA
:
public
EDA_SEARCH_DATA
87
{
88
bool
searchAllPins
;
89
bool
searchCurrentSheetOnly
;
90
bool
searchSelectedOnly
;
91
bool
searchNetNames
;
92
93
bool
replaceReferences
;
94
95
SCH_SEARCH_DATA
() :
96
EDA_SEARCH_DATA
(),
97
searchAllPins
( false ),
98
searchCurrentSheetOnly
( false ),
99
searchSelectedOnly
( false ),
100
searchNetNames
( false ),
101
replaceReferences
( false )
102
{
103
}
104
};
105
106
#endif
EDA_SEARCH_MATCH_MODE
EDA_SEARCH_MATCH_MODE
Definition
eda_search_data.h:28
EDA_SEARCH_MATCH_MODE::WILDCARD
@ WILDCARD
Definition
eda_search_data.h:31
EDA_SEARCH_MATCH_MODE::REGEX
@ REGEX
Definition
eda_search_data.h:32
EDA_SEARCH_MATCH_MODE::PERMISSIVE
@ PERMISSIVE
Definition
eda_search_data.h:33
EDA_SEARCH_MATCH_MODE::WHOLEWORD
@ WHOLEWORD
Definition
eda_search_data.h:30
EDA_SEARCH_MATCH_MODE::PLAIN
@ PLAIN
Definition
eda_search_data.h:29
EDA_SEARCH_DATA::searchMetadata
bool searchMetadata
Definition
eda_search_data.h:46
EDA_SEARCH_DATA::markersOnly
bool markersOnly
Definition
eda_search_data.h:49
EDA_SEARCH_DATA::matchMode
EDA_SEARCH_MATCH_MODE matchMode
Definition
eda_search_data.h:50
EDA_SEARCH_DATA::regex_string
wxString regex_string
Definition
eda_search_data.h:42
EDA_SEARCH_DATA::EDA_SEARCH_DATA
EDA_SEARCH_DATA()
Definition
eda_search_data.h:52
EDA_SEARCH_DATA::regex
wxRegEx regex
Definition
eda_search_data.h:41
EDA_SEARCH_DATA::findString
wxString findString
Definition
eda_search_data.h:38
EDA_SEARCH_DATA::EDA_SEARCH_DATA
EDA_SEARCH_DATA(const EDA_SEARCH_DATA &other)
Definition
eda_search_data.h:65
EDA_SEARCH_DATA::replaceString
wxString replaceString
Definition
eda_search_data.h:39
EDA_SEARCH_DATA::~EDA_SEARCH_DATA
virtual ~EDA_SEARCH_DATA()
Definition
eda_search_data.h:83
EDA_SEARCH_DATA::matchCase
bool matchCase
Definition
eda_search_data.h:48
EDA_SEARCH_DATA::searchAllFields
bool searchAllFields
Definition
eda_search_data.h:45
EDA_SEARCH_DATA::searchAndReplace
bool searchAndReplace
Definition
eda_search_data.h:44
SCH_SEARCH_DATA::searchSelectedOnly
bool searchSelectedOnly
Definition
eda_search_data.h:90
SCH_SEARCH_DATA::searchAllPins
bool searchAllPins
Definition
eda_search_data.h:88
SCH_SEARCH_DATA::searchCurrentSheetOnly
bool searchCurrentSheetOnly
Definition
eda_search_data.h:89
SCH_SEARCH_DATA::searchNetNames
bool searchNetNames
Definition
eda_search_data.h:91
SCH_SEARCH_DATA::SCH_SEARCH_DATA
SCH_SEARCH_DATA()
Definition
eda_search_data.h:95
SCH_SEARCH_DATA::replaceReferences
bool replaceReferences
Definition
eda_search_data.h:93
src
include
eda_search_data.h
Generated on Fri Jun 26 2026 00:05:37 for KiCad PCB EDA Suite by
1.13.2