KiCad PCB EDA Suite
Loading...
Searching...
No Matches
transline_ident.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) 2011-2014 Jean-Pierre Charras
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 3
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
24
25
#ifndef TRANSLINE_IDENT_H
26
#define TRANSLINE_IDENT_H
27
28
#include <vector>
29
30
#include "
transline/transline.h
"
31
32
// Forward declare the bitmaps enum from bitmaps/bitmap_list.h
33
enum class
BITMAPS
:
unsigned
int;
34
35
// An enum to handle muwave shapes:
36
enum
TRANSLINE_TYPE_ID
37
{
38
START_OF_LIST_TYPE
= 0,
39
DEFAULT_TYPE
=
START_OF_LIST_TYPE
,
40
MICROSTRIP_TYPE
=
DEFAULT_TYPE
,
41
C_MICROSTRIP_TYPE
,
42
STRIPLINE_TYPE
,
43
C_STRIPLINE_TYPE
,
44
CPW_TYPE
,
45
GROUNDED_CPW_TYPE
,
46
RECTWAVEGUIDE_TYPE
,
47
COAX_TYPE
,
48
TWISTEDPAIR_TYPE
,
49
END_OF_LIST_TYPE
50
};
51
52
// A Class to handle parameters
53
enum
PRM_TYPE
{
54
PRM_TYPE_SUBS
,
55
PRM_TYPE_PHYS
,
56
PRM_TYPE_ELEC
,
57
PRM_TYPE_FREQUENCY
58
};
59
60
64
class
TRANSLINE_PRM
65
{
66
public
:
79
TRANSLINE_PRM
(
PRM_TYPE
aType,
PRMS_ID
aId,
const
char
* aKeywordCfg =
""
,
const
wxString& aDlgLabel = wxEmptyString,
80
const
wxString& aToolTip = wxEmptyString,
double
aValue = 0.0,
bool
aConvUnit =
false
,
81
int
aDefaultUnit = 0 );
82
83
double
ToUserUnit
();
84
double
FromUserUnit
();
85
86
PRM_TYPE
m_Type
;
// Type of parameter: substr, physical, elect
87
PRMS_ID
m_Id
;
// Id of parameter ( link to transline functions )
88
std::string
m_KeyWord
;
// keyword for this parameter in json config file in ASCII7 only
89
wxString
m_DlgLabel
;
// name for this parameter in dialog (usually translated
90
wxString
m_ToolTip
;
// Tool tip for this parameter in dialog
91
double
m_Value
;
// Value for this parameter in dialog
92
double
m_DefaultValue
;
// Default value for this parameter from CTOR build
93
int
m_DefaultUnit
;
// Default unit selection for this parameter
94
double
m_NormalizedValue
;
// actual value for this parameter
95
bool
m_ConvUnit
;
// true if an unit selector must be used
96
void
*
m_ValueCtrl
;
// The text ctrl containing the value in dialog
97
void
*
m_UnitCtrl
;
// The UNIT_SELECTOR containing the unit in dialog
98
int
m_UnitSelection
;
// last selection for units
99
};
100
101
110
class
TRANSLINE_IDENT
111
{
112
public
:
113
TRANSLINE_IDENT
(
enum
TRANSLINE_TYPE_ID
aType );
114
~TRANSLINE_IDENT
();
115
116
// Add a new param in list
117
void
AddPrm
(
TRANSLINE_PRM
* aParam )
118
{
119
m_prms_List
.push_back( aParam );
120
}
121
122
TRANSLINE_PRM
*
GetPrm
(
unsigned
aIdx )
const
123
{
124
if
( aIdx <
m_prms_List
.size() )
125
return
m_prms_List
[aIdx];
126
else
127
return
nullptr
;
128
}
129
130
unsigned
GetPrmsCount
()
const
131
{
132
return
m_prms_List
.size();
133
}
134
135
void
ReadConfig
();
136
void
WriteConfig
();
137
138
public
:
139
enum
TRANSLINE_TYPE_ID
m_Type
;
// The type of transline handled
140
BITMAPS
m_BitmapName
;
// The name of the bitmap to display in dialogs
141
TRANSLINE
*
m_TLine
;
// The TRANSLINE itself
142
wxArrayString
m_Messages
;
// messages for results
143
144
// true if selection of parameters must be enabled in dialog menu.
145
bool
m_HasPrmSelection
;
146
147
private
:
148
std::vector<TRANSLINE_PRM*>
m_prms_List
;
149
};
150
151
#endif
// TRANSLINE_IDENT_H
BITMAPS
BITMAPS
A list of all bitmap identifiers.
Definition
bitmaps_list.h:29
TRANSLINE_IDENT::m_TLine
TRANSLINE * m_TLine
Definition
transline_ident.h:141
TRANSLINE_IDENT::ReadConfig
void ReadConfig()
Definition
transline_ident.cpp:489
TRANSLINE_IDENT::m_BitmapName
BITMAPS m_BitmapName
Definition
transline_ident.h:140
TRANSLINE_IDENT::m_Type
enum TRANSLINE_TYPE_ID m_Type
Definition
transline_ident.h:139
TRANSLINE_IDENT::GetPrmsCount
unsigned GetPrmsCount() const
Definition
transline_ident.h:130
TRANSLINE_IDENT::~TRANSLINE_IDENT
~TRANSLINE_IDENT()
Definition
transline_ident.cpp:478
TRANSLINE_IDENT::GetPrm
TRANSLINE_PRM * GetPrm(unsigned aIdx) const
Definition
transline_ident.h:122
TRANSLINE_IDENT::AddPrm
void AddPrm(TRANSLINE_PRM *aParam)
Definition
transline_ident.h:117
TRANSLINE_IDENT::TRANSLINE_IDENT
TRANSLINE_IDENT(enum TRANSLINE_TYPE_ID aType)
Definition
transline_ident.cpp:86
TRANSLINE_IDENT::WriteConfig
void WriteConfig()
Definition
transline_ident.cpp:551
TRANSLINE_IDENT::m_Messages
wxArrayString m_Messages
Definition
transline_ident.h:142
TRANSLINE_IDENT::m_HasPrmSelection
bool m_HasPrmSelection
Definition
transline_ident.h:145
TRANSLINE_IDENT::m_prms_List
std::vector< TRANSLINE_PRM * > m_prms_List
Definition
transline_ident.h:148
TRANSLINE_PRM
A class to handle one parameter of transline.
Definition
transline_ident.h:65
TRANSLINE_PRM::m_ValueCtrl
void * m_ValueCtrl
Definition
transline_ident.h:96
TRANSLINE_PRM::ToUserUnit
double ToUserUnit()
Definition
transline_ident.cpp:68
TRANSLINE_PRM::TRANSLINE_PRM
TRANSLINE_PRM(PRM_TYPE aType, PRMS_ID aId, const char *aKeywordCfg="", const wxString &aDlgLabel=wxEmptyString, const wxString &aToolTip=wxEmptyString, double aValue=0.0, bool aConvUnit=false, int aDefaultUnit=0)
Definition
transline_ident.cpp:49
TRANSLINE_PRM::m_Value
double m_Value
Definition
transline_ident.h:91
TRANSLINE_PRM::m_Id
PRMS_ID m_Id
Definition
transline_ident.h:87
TRANSLINE_PRM::m_Type
PRM_TYPE m_Type
Definition
transline_ident.h:86
TRANSLINE_PRM::m_UnitCtrl
void * m_UnitCtrl
Definition
transline_ident.h:97
TRANSLINE_PRM::m_DefaultValue
double m_DefaultValue
Definition
transline_ident.h:92
TRANSLINE_PRM::m_ConvUnit
bool m_ConvUnit
Definition
transline_ident.h:95
TRANSLINE_PRM::m_UnitSelection
int m_UnitSelection
Definition
transline_ident.h:98
TRANSLINE_PRM::m_NormalizedValue
double m_NormalizedValue
Definition
transline_ident.h:94
TRANSLINE_PRM::m_ToolTip
wxString m_ToolTip
Definition
transline_ident.h:90
TRANSLINE_PRM::m_DefaultUnit
int m_DefaultUnit
Definition
transline_ident.h:93
TRANSLINE_PRM::m_DlgLabel
wxString m_DlgLabel
Definition
transline_ident.h:89
TRANSLINE_PRM::m_KeyWord
std::string m_KeyWord
Definition
transline_ident.h:88
TRANSLINE_PRM::FromUserUnit
double FromUserUnit()
Definition
transline_ident.cpp:77
TRANSLINE
Definition
transline.h:86
transline.h
PRMS_ID
PRMS_ID
Definition
transline.h:37
PRM_TYPE
PRM_TYPE
Definition
transline_ident.h:53
PRM_TYPE_FREQUENCY
@ PRM_TYPE_FREQUENCY
Definition
transline_ident.h:57
PRM_TYPE_SUBS
@ PRM_TYPE_SUBS
Definition
transline_ident.h:54
PRM_TYPE_ELEC
@ PRM_TYPE_ELEC
Definition
transline_ident.h:56
PRM_TYPE_PHYS
@ PRM_TYPE_PHYS
Definition
transline_ident.h:55
TRANSLINE_TYPE_ID
TRANSLINE_TYPE_ID
Definition
transline_ident.h:37
RECTWAVEGUIDE_TYPE
@ RECTWAVEGUIDE_TYPE
Definition
transline_ident.h:46
MICROSTRIP_TYPE
@ MICROSTRIP_TYPE
Definition
transline_ident.h:40
CPW_TYPE
@ CPW_TYPE
Definition
transline_ident.h:44
GROUNDED_CPW_TYPE
@ GROUNDED_CPW_TYPE
Definition
transline_ident.h:45
C_MICROSTRIP_TYPE
@ C_MICROSTRIP_TYPE
Definition
transline_ident.h:41
COAX_TYPE
@ COAX_TYPE
Definition
transline_ident.h:47
TWISTEDPAIR_TYPE
@ TWISTEDPAIR_TYPE
Definition
transline_ident.h:48
END_OF_LIST_TYPE
@ END_OF_LIST_TYPE
Definition
transline_ident.h:49
STRIPLINE_TYPE
@ STRIPLINE_TYPE
Definition
transline_ident.h:42
DEFAULT_TYPE
@ DEFAULT_TYPE
Definition
transline_ident.h:39
START_OF_LIST_TYPE
@ START_OF_LIST_TYPE
Definition
transline_ident.h:38
C_STRIPLINE_TYPE
@ C_STRIPLINE_TYPE
Definition
transline_ident.h:43
src
pcb_calculator
transline_ident.h
Generated on Wed Oct 7 2026 00:06:00 for KiCad PCB EDA Suite by
1.13.2