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 along
18
* with this program. If not, see <http://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
:
73
TRANSLINE_PRM
(
PRM_TYPE
aType,
PRMS_ID
aId,
const
char
* aKeywordCfg =
""
,
const
wxString& aDlgLabel = wxEmptyString,
74
const
wxString& aToolTip = wxEmptyString,
double
aValue = 0.0,
bool
aConvUnit =
false
,
75
int
aDefaultUnit = 0 );
76
77
double
ToUserUnit
();
78
double
FromUserUnit
();
79
80
PRM_TYPE
m_Type
;
// Type of parameter: substr, physical, elect
81
PRMS_ID
m_Id
;
// Id of parameter ( link to transline functions )
82
std::string
m_KeyWord
;
// keyword for this parameter in json config file in ASCII7 only
83
wxString
m_DlgLabel
;
// name for this parameter in dialog (usually translated
84
wxString
m_ToolTip
;
// Tool tip for this parameter in dialog
85
double
m_Value
;
// Value for this parameter in dialog
86
double
m_DefaultValue
;
// Default value for this parameter from CTOR build
87
int
m_DefaultUnit
;
// Default unit selection for this parameter
88
double
m_NormalizedValue
;
// actual value for this parameter
89
bool
m_ConvUnit
;
// true if an unit selector must be used
90
void
*
m_ValueCtrl
;
// The text ctrl containing the value in dialog
91
void
*
m_UnitCtrl
;
// The UNIT_SELECTOR containing the unit in dialog
92
int
m_UnitSelection
;
// last selection for units
93
};
94
95
104
class
TRANSLINE_IDENT
105
{
106
public
:
107
TRANSLINE_IDENT
(
enum
TRANSLINE_TYPE_ID
aType );
108
~TRANSLINE_IDENT
();
109
110
// Add a new param in list
111
void
AddPrm
(
TRANSLINE_PRM
* aParam )
112
{
113
m_prms_List
.push_back( aParam );
114
}
115
116
TRANSLINE_PRM
*
GetPrm
(
unsigned
aIdx )
const
117
{
118
if
( aIdx <
m_prms_List
.size() )
119
return
m_prms_List
[aIdx];
120
else
121
return
nullptr
;
122
}
123
124
unsigned
GetPrmsCount
()
const
125
{
126
return
m_prms_List
.size();
127
}
128
129
void
ReadConfig
();
130
void
WriteConfig
();
131
132
public
:
133
enum
TRANSLINE_TYPE_ID
m_Type
;
// The type of transline handled
134
BITMAPS
m_BitmapName
;
// The name of the bitmap to display in dialogs
135
TRANSLINE
*
m_TLine
;
// The TRANSLINE itself
136
wxArrayString
m_Messages
;
// messages for results
137
138
// true if selection of parameters must be enabled in dialog menu.
139
bool
m_HasPrmSelection
;
140
141
private
:
142
std::vector<TRANSLINE_PRM*>
m_prms_List
;
143
};
144
145
#endif
// TRANSLINE_IDENT_H
BITMAPS
BITMAPS
A list of all bitmap identifiers.
Definition
bitmaps_list.h:33
TRANSLINE_IDENT::m_TLine
TRANSLINE * m_TLine
Definition
transline_ident.h:135
TRANSLINE_IDENT::ReadConfig
void ReadConfig()
Definition
transline_ident.cpp:473
TRANSLINE_IDENT::m_BitmapName
BITMAPS m_BitmapName
Definition
transline_ident.h:134
TRANSLINE_IDENT::m_Type
enum TRANSLINE_TYPE_ID m_Type
Definition
transline_ident.h:133
TRANSLINE_IDENT::GetPrmsCount
unsigned GetPrmsCount() const
Definition
transline_ident.h:124
TRANSLINE_IDENT::~TRANSLINE_IDENT
~TRANSLINE_IDENT()
Definition
transline_ident.cpp:462
TRANSLINE_IDENT::GetPrm
TRANSLINE_PRM * GetPrm(unsigned aIdx) const
Definition
transline_ident.h:116
TRANSLINE_IDENT::AddPrm
void AddPrm(TRANSLINE_PRM *aParam)
Definition
transline_ident.h:111
TRANSLINE_IDENT::TRANSLINE_IDENT
TRANSLINE_IDENT(enum TRANSLINE_TYPE_ID aType)
Definition
transline_ident.cpp:83
TRANSLINE_IDENT::WriteConfig
void WriteConfig()
Definition
transline_ident.cpp:496
TRANSLINE_IDENT::m_Messages
wxArrayString m_Messages
Definition
transline_ident.h:136
TRANSLINE_IDENT::m_HasPrmSelection
bool m_HasPrmSelection
Definition
transline_ident.h:139
TRANSLINE_IDENT::m_prms_List
std::vector< TRANSLINE_PRM * > m_prms_List
Definition
transline_ident.h:142
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:90
TRANSLINE_PRM::ToUserUnit
double ToUserUnit()
Definition
transline_ident.cpp:65
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:46
TRANSLINE_PRM::m_Value
double m_Value
Definition
transline_ident.h:85
TRANSLINE_PRM::m_Id
PRMS_ID m_Id
Definition
transline_ident.h:81
TRANSLINE_PRM::m_Type
PRM_TYPE m_Type
Definition
transline_ident.h:80
TRANSLINE_PRM::m_UnitCtrl
void * m_UnitCtrl
Definition
transline_ident.h:91
TRANSLINE_PRM::m_DefaultValue
double m_DefaultValue
Definition
transline_ident.h:86
TRANSLINE_PRM::m_ConvUnit
bool m_ConvUnit
Definition
transline_ident.h:89
TRANSLINE_PRM::m_UnitSelection
int m_UnitSelection
Definition
transline_ident.h:92
TRANSLINE_PRM::m_NormalizedValue
double m_NormalizedValue
Definition
transline_ident.h:88
TRANSLINE_PRM::m_ToolTip
wxString m_ToolTip
Definition
transline_ident.h:84
TRANSLINE_PRM::m_DefaultUnit
int m_DefaultUnit
Definition
transline_ident.h:87
TRANSLINE_PRM::m_DlgLabel
wxString m_DlgLabel
Definition
transline_ident.h:83
TRANSLINE_PRM::m_KeyWord
std::string m_KeyWord
Definition
transline_ident.h:82
TRANSLINE_PRM::FromUserUnit
double FromUserUnit()
Definition
transline_ident.cpp:74
TRANSLINE
Definition
transline.h:81
transline.h
PRMS_ID
PRMS_ID
Definition
transline.h:39
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 Sun Sep 21 2025 01:05:27 for KiCad PCB EDA Suite by
1.13.2