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, you may find one here:
18
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
19
* or you may search the http://www.gnu.org website for the version 2 license,
20
* or you may write to the Free Software Foundation, Inc.,
21
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
22
*/
23
24
#ifndef EDA_ITEM_SEARCH_H
25
#define EDA_ITEM_SEARCH_H
26
27
#include <wx/log.h>
28
#include <wx/regex.h>
29
#include <wx/string.h>
30
31
enum class
EDA_SEARCH_MATCH_MODE
32
{
33
PLAIN
,
34
WHOLEWORD
,
35
WILDCARD
,
36
REGEX
,
37
PERMISSIVE
38
};
39
40
struct
EDA_SEARCH_DATA
41
{
42
wxString
findString
;
43
wxString
replaceString
;
44
45
mutable
wxRegEx
regex
;
46
mutable
wxString
regex_string
;
47
48
bool
searchAndReplace
;
49
bool
searchAllFields
;
50
bool
searchMetadata
;
51
52
bool
matchCase
;
53
bool
markersOnly
;
54
EDA_SEARCH_MATCH_MODE
matchMode
;
55
56
EDA_SEARCH_DATA
() :
57
findString
(),
58
replaceString
(),
59
searchAndReplace
( false ),
60
searchAllFields
( false ),
61
searchMetadata
( false ),
62
matchCase
( false ),
63
markersOnly
( false ),
64
matchMode
(
EDA_SEARCH_MATCH_MODE
::
PLAIN
)
65
{
66
}
67
68
// Need an explicit copy constructor because wxRegEx is not copyable
69
EDA_SEARCH_DATA
(
const
EDA_SEARCH_DATA
& other ) :
70
findString
( other.
findString
),
71
replaceString
( other.
replaceString
),
72
regex_string
( other.
regex_string
),
73
searchAndReplace
( other.
searchAndReplace
),
74
searchAllFields
( other.
searchAllFields
),
75
searchMetadata
( other.
searchMetadata
),
76
matchCase
( other.
matchCase
),
77
markersOnly
( other.
markersOnly
),
78
matchMode
( other.
matchMode
)
79
{
80
if
(
matchMode
== EDA_SEARCH_MATCH_MODE::REGEX )
81
{
82
wxLogNull noLogs;
83
regex
.Compile(
findString
,
matchCase
? wxRE_DEFAULT : wxRE_ICASE );
84
}
85
}
86
87
virtual
~EDA_SEARCH_DATA
() {}
88
};
89
90
struct
SCH_SEARCH_DATA
:
public
EDA_SEARCH_DATA
91
{
92
bool
searchAllPins
;
93
bool
searchCurrentSheetOnly
;
94
bool
searchSelectedOnly
;
95
bool
searchNetNames
;
96
97
bool
replaceReferences
;
98
99
SCH_SEARCH_DATA
() :
100
EDA_SEARCH_DATA
(),
101
searchAllPins
( false ),
102
searchCurrentSheetOnly
( false ),
103
searchSelectedOnly
( false ),
104
searchNetNames
( false ),
105
replaceReferences
( false )
106
{
107
}
108
};
109
110
#endif
EDA_SEARCH_MATCH_MODE
EDA_SEARCH_MATCH_MODE
Definition:
eda_search_data.h:32
EDA_SEARCH_MATCH_MODE::WILDCARD
@ WILDCARD
EDA_SEARCH_MATCH_MODE::REGEX
@ REGEX
EDA_SEARCH_MATCH_MODE::PERMISSIVE
@ PERMISSIVE
EDA_SEARCH_MATCH_MODE::WHOLEWORD
@ WHOLEWORD
EDA_SEARCH_MATCH_MODE::PLAIN
@ PLAIN
EDA_SEARCH_DATA
Definition:
eda_search_data.h:41
EDA_SEARCH_DATA::searchMetadata
bool searchMetadata
Definition:
eda_search_data.h:50
EDA_SEARCH_DATA::markersOnly
bool markersOnly
Definition:
eda_search_data.h:53
EDA_SEARCH_DATA::matchMode
EDA_SEARCH_MATCH_MODE matchMode
Definition:
eda_search_data.h:54
EDA_SEARCH_DATA::regex_string
wxString regex_string
Definition:
eda_search_data.h:46
EDA_SEARCH_DATA::EDA_SEARCH_DATA
EDA_SEARCH_DATA()
Definition:
eda_search_data.h:56
EDA_SEARCH_DATA::regex
wxRegEx regex
Definition:
eda_search_data.h:45
EDA_SEARCH_DATA::findString
wxString findString
Definition:
eda_search_data.h:42
EDA_SEARCH_DATA::EDA_SEARCH_DATA
EDA_SEARCH_DATA(const EDA_SEARCH_DATA &other)
Definition:
eda_search_data.h:69
EDA_SEARCH_DATA::replaceString
wxString replaceString
Definition:
eda_search_data.h:43
EDA_SEARCH_DATA::~EDA_SEARCH_DATA
virtual ~EDA_SEARCH_DATA()
Definition:
eda_search_data.h:87
EDA_SEARCH_DATA::matchCase
bool matchCase
Definition:
eda_search_data.h:52
EDA_SEARCH_DATA::searchAllFields
bool searchAllFields
Definition:
eda_search_data.h:49
EDA_SEARCH_DATA::searchAndReplace
bool searchAndReplace
Definition:
eda_search_data.h:48
SCH_SEARCH_DATA
Definition:
eda_search_data.h:91
SCH_SEARCH_DATA::searchSelectedOnly
bool searchSelectedOnly
Definition:
eda_search_data.h:94
SCH_SEARCH_DATA::searchAllPins
bool searchAllPins
Definition:
eda_search_data.h:92
SCH_SEARCH_DATA::searchCurrentSheetOnly
bool searchCurrentSheetOnly
Definition:
eda_search_data.h:93
SCH_SEARCH_DATA::searchNetNames
bool searchNetNames
Definition:
eda_search_data.h:95
SCH_SEARCH_DATA::SCH_SEARCH_DATA
SCH_SEARCH_DATA()
Definition:
eda_search_data.h:99
SCH_SEARCH_DATA::replaceReferences
bool replaceReferences
Definition:
eda_search_data.h:97
src
include
eda_search_data.h
Generated on Wed Apr 23 2025 00:05:40 for KiCad PCB EDA Suite by
1.9.6