KiCad PCB EDA Suite
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 (C) 2004-2014 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
25
#ifndef TRANSLINE_IDENT_H
26
#define TRANSLINE_IDENT_H
27
28
#include <vector>
29
#include <wx/bitmap.h>
30
31
#include "
transline/transline.h
"
32
33
// An enum to handle muwave shapes:
34
enum
TRANSLINE_TYPE_ID
{
35
START_OF_LIST_TYPE
= 0,
36
DEFAULT_TYPE
=
START_OF_LIST_TYPE
,
37
MICROSTRIP_TYPE
=
DEFAULT_TYPE
,
38
CPW_TYPE
,
39
GROUNDED_CPW_TYPE
,
40
RECTWAVEGUIDE_TYPE
,
41
COAX_TYPE
,
42
C_MICROSTRIP_TYPE
,
43
STRIPLINE_TYPE
,
44
TWISTEDPAIR_TYPE
,
45
END_OF_LIST_TYPE
46
};
47
48
// A Class to handle parameters
49
enum
PRM_TYPE
{
50
PRM_TYPE_SUBS
,
51
PRM_TYPE_PHYS
,
52
PRM_TYPE_ELEC
,
53
PRM_TYPE_FREQUENCY
54
};
55
56
class
TRANSLINE_PRM
57
{
58
public
:
59
PRM_TYPE
m_Type
;
// Type of parameter: substr, physical, elect
60
PRMS_ID
m_Id
;
// Id of parameter ( link to transline functions )
61
std::string
m_KeyWord
;
// keyword for this parameter in json config file in ASCII7 only
62
wxString
m_DlgLabel
;
// name for this parameter in dialog (usually translated
63
wxString
m_ToolTip
;
// Tool tip for this parameter in dialog
64
double
m_Value
;
// Value for this parameter in dialog
65
double
m_NormalizedValue
;
// actual value for this parameter
66
bool
m_ConvUnit
;
// true if an unit selector must be used
67
void
*
m_ValueCtrl
;
// The text ctrl containing the value in dialog
68
void
*
m_UnitCtrl
;
// The UNIT_SELECTOR containing the unit in dialog
69
int
m_UnitSelection
;
// last selection for units
70
71
public
:
72
80
TRANSLINE_PRM
(
PRM_TYPE
aType,
PRMS_ID
aId,
81
const
char
* aKeywordCfg =
""
,
82
const
wxString& aDlgLabel = wxEmptyString,
83
const
wxString& aToolTip = wxEmptyString,
84
double
aValue = 0.0,
85
bool
aConvUnit =
false
);
86
87
double
ToUserUnit
();
88
double
FromUserUnit
();
89
};
90
91
92
// A class to handle the list of availlable transm. lines
93
// with messages, tooptips ...
94
class
TRANSLINE_IDENT
95
{
96
public
:
97
enum
TRANSLINE_TYPE_ID
m_Type
;
// The type of transline handled
98
wxBitmap *
m_Icon
;
// An icon to display in dialogs
99
TRANSLINE
*
m_TLine
;
// The TRANSLINE itself
100
wxArrayString
m_Messages
;
// messages for results
101
bool
m_HasPrmSelection
;
// true if selection of parameters must be enabled in dialog menu
102
103
private
:
104
std::vector <TRANSLINE_PRM*>
m_prms_List
;
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
117
TRANSLINE_PRM
*
GetPrm
(
unsigned
aIdx )
const
118
{
119
if
( aIdx <
m_prms_List
.size() )
120
return
m_prms_List
[aIdx];
121
else
122
return
NULL
;
123
}
124
125
126
unsigned
GetPrmsCount
()
const
127
{
128
return
m_prms_List
.size();
129
}
130
131
132
void
ReadConfig
();
133
void
WriteConfig
();
134
};
135
136
#endif // TRANSLINE_IDENT_H
TRANSLINE_IDENT::ReadConfig
void ReadConfig()
Definition:
transline_ident.cpp:448
COAX_TYPE
Definition:
transline_ident.h:41
TRANSLINE_IDENT::m_HasPrmSelection
bool m_HasPrmSelection
Definition:
transline_ident.h:101
GROUNDED_CPW_TYPE
Definition:
transline_ident.h:39
TRANSLINE_IDENT::m_Icon
wxBitmap * m_Icon
Definition:
transline_ident.h:98
TRANSLINE_PRM::m_UnitCtrl
void * m_UnitCtrl
Definition:
transline_ident.h:68
TRANSLINE_PRM::FromUserUnit
double FromUserUnit()
Definition:
transline_ident.cpp:89
TRANSLINE_PRM::m_NormalizedValue
double m_NormalizedValue
Definition:
transline_ident.h:65
C_MICROSTRIP_TYPE
Definition:
transline_ident.h:42
TRANSLINE_PRM::m_DlgLabel
wxString m_DlgLabel
Definition:
transline_ident.h:62
MICROSTRIP_TYPE
Definition:
transline_ident.h:37
TRANSLINE
Definition:
transline.h:79
PRM_TYPE_SUBS
Definition:
transline_ident.h:50
TRANSLINE_IDENT::AddPrm
void AddPrm(TRANSLINE_PRM *aParam)
Definition:
transline_ident.h:111
TRANSLINE_PRM
Definition:
transline_ident.h:56
TRANSLINE_IDENT::m_Messages
wxArrayString m_Messages
Definition:
transline_ident.h:100
PRM_TYPE_PHYS
Definition:
transline_ident.h:51
TRANSLINE_IDENT
Definition:
transline_ident.h:94
TRANSLINE_PRM::m_ToolTip
wxString m_ToolTip
Definition:
transline_ident.h:63
TRANSLINE_PRM::m_ConvUnit
bool m_ConvUnit
Definition:
transline_ident.h:66
PRM_TYPE_FREQUENCY
Definition:
transline_ident.h:53
START_OF_LIST_TYPE
Definition:
transline_ident.h:35
CPW_TYPE
Definition:
transline_ident.h:38
PRM_TYPE
PRM_TYPE
Definition:
transline_ident.h:49
TRANSLINE_PRM::m_Value
double m_Value
Definition:
transline_ident.h:64
TRANSLINE_PRM::m_ValueCtrl
void * m_ValueCtrl
Definition:
transline_ident.h:67
TRANSLINE_IDENT::m_Type
enum TRANSLINE_TYPE_ID m_Type
Definition:
transline_ident.h:97
PRM_TYPE_ELEC
Definition:
transline_ident.h:52
NULL
#define NULL
TRANSLINE_IDENT::m_prms_List
std::vector< TRANSLINE_PRM * > m_prms_List
Definition:
transline_ident.h:104
TRANSLINE_PRM::ToUserUnit
double ToUserUnit()
Definition:
transline_ident.cpp:80
PRMS_ID
PRMS_ID
Definition:
transline.h:37
TRANSLINE_IDENT::GetPrmsCount
unsigned GetPrmsCount() const
Definition:
transline_ident.h:126
TRANSLINE_TYPE_ID
TRANSLINE_TYPE_ID
Definition:
transline_ident.h:34
TRANSLINE_PRM::m_KeyWord
std::string m_KeyWord
Definition:
transline_ident.h:61
TRANSLINE_IDENT::GetPrm
TRANSLINE_PRM * GetPrm(unsigned aIdx) const
Definition:
transline_ident.h:117
transline.h
STRIPLINE_TYPE
Definition:
transline_ident.h:43
TRANSLINE_PRM::m_Type
PRM_TYPE m_Type
Definition:
transline_ident.h:59
TRANSLINE_PRM::m_UnitSelection
int m_UnitSelection
Definition:
transline_ident.h:69
TRANSLINE_IDENT::m_TLine
TRANSLINE * m_TLine
Definition:
transline_ident.h:99
DEFAULT_TYPE
Definition:
transline_ident.h:36
END_OF_LIST_TYPE
Definition:
transline_ident.h:45
RECTWAVEGUIDE_TYPE
Definition:
transline_ident.h:40
TWISTEDPAIR_TYPE
Definition:
transline_ident.h:44
TRANSLINE_IDENT::TRANSLINE_IDENT
TRANSLINE_IDENT(enum TRANSLINE_TYPE_ID aType)
Definition:
transline_ident.cpp:110
TRANSLINE_IDENT::~TRANSLINE_IDENT
~TRANSLINE_IDENT()
Definition:
transline_ident.cpp:436
TRANSLINE_PRM::m_Id
PRMS_ID m_Id
Definition:
transline_ident.h:60
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)
TRANSLINE_PRM ctor.
Definition:
transline_ident.cpp:59
TRANSLINE_IDENT::WriteConfig
void WriteConfig()
Definition:
transline_ident.cpp:471
pcb_calculator
transline_ident.h
Generated on Thu Apr 15 2021 04:24:51 for KiCad PCB EDA Suite by
1.8.15