14DIALOG_PNS_LENGTH_TUNING_SETTINGS_BASE::DIALOG_PNS_LENGTH_TUNING_SETTINGS_BASE( wxWindow* parent, wxWindowID
id,
const wxString& title,
const wxPoint& pos,
const wxSize& size,
long style ) :
DIALOG_SHIM( parent, id, title, pos, size, style )
16 this->SetSizeHints( wxSize( -1,-1 ), wxDefaultSize );
18 wxBoxSizer* bMainSizer;
19 bMainSizer =
new wxBoxSizer( wxVERTICAL );
21 wxStaticBoxSizer* sbSizerUpper;
22 sbSizerUpper =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Length / Skew") ), wxVERTICAL );
24 wxFlexGridSizer* fgSizerLenSkew;
25 fgSizerLenSkew =
new wxFlexGridSizer( 0, 3, 0, 0 );
26 fgSizerLenSkew->AddGrowableCol( 1 );
27 fgSizerLenSkew->SetFlexibleDirection( wxBOTH );
28 fgSizerLenSkew->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
30 m_staticText4 =
new wxStaticText( sbSizerUpper->GetStaticBox(), wxID_ANY,
_(
"Tune from:"), wxDefaultPosition, wxDefaultSize, 0 );
34 fgSizerLenSkew->Add(
m_staticText4, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT|wxLEFT, 5 );
36 wxArrayString m_choicePathFromChoices;
37 m_choicePathFrom =
new wxChoice( sbSizerUpper->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choicePathFromChoices, 0 );
44 fgSizerLenSkew->Add( 0, 0, 0, 0, 5 );
46 m_staticText15 =
new wxStaticText( sbSizerUpper->GetStaticBox(), wxID_ANY,
_(
"Tune to:"), wxDefaultPosition, wxDefaultSize, 0 );
50 fgSizerLenSkew->Add(
m_staticText15, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 5 );
52 wxArrayString m_choice4Choices;
53 m_choice4 =
new wxChoice( sbSizerUpper->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choice4Choices, 0 );
57 fgSizerLenSkew->Add(
m_choice4, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
60 fgSizerLenSkew->Add( 0, 0, 0, 0, 5 );
62 m_staticText3 =
new wxStaticText( sbSizerUpper->GetStaticBox(), wxID_ANY,
_(
"Constraint:"), wxDefaultPosition, wxDefaultSize, 0 );
66 fgSizerLenSkew->Add(
m_staticText3, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT|wxLEFT, 5 );
68 wxString m_constraintSourceChoices[] = {
_(
"From Design Rules"),
_(
"Manual") };
69 int m_constraintSourceNChoices =
sizeof( m_constraintSourceChoices ) /
sizeof( wxString );
70 m_constraintSource =
new wxChoice( sbSizerUpper->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_constraintSourceNChoices, m_constraintSourceChoices, 0 );
78 fgSizerLenSkew->Add( 0, 0, 0, 0, 5 );
80 m_targetLengthLabel =
new wxStaticText( sbSizerUpper->GetStaticBox(), wxID_ANY,
_(
"Target length:"), wxDefaultPosition, wxDefaultSize, 0 );
84 m_targetLengthText =
new wxTextCtrl( sbSizerUpper->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
87 m_targetLengthUnit =
new wxStaticText( sbSizerUpper->GetStaticBox(), wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
89 fgSizerLenSkew->Add(
m_targetLengthUnit, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
92 sbSizerUpper->Add( fgSizerLenSkew, 1, wxEXPAND, 5 );
95 bMainSizer->Add( sbSizerUpper, 0, wxEXPAND|wxALL, 10 );
97 wxStaticBoxSizer* sbSizerLower;
98 sbSizerLower =
new wxStaticBoxSizer(
new wxStaticBox(
this, wxID_ANY,
_(
"Meandering") ), wxHORIZONTAL );
100 m_legend =
new wxStaticBitmap( sbSizerLower->GetStaticBox(), wxID_ANY, wxNullBitmap, wxDefaultPosition, wxDefaultSize, 0 );
101 sbSizerLower->Add(
m_legend, 0, wxALL|wxEXPAND, 5 );
103 wxFlexGridSizer* fgSizer3;
104 fgSizer3 =
new wxFlexGridSizer( 0, 3, 0, 0 );
105 fgSizer3->AddGrowableCol( 1 );
106 fgSizer3->SetFlexibleDirection( wxBOTH );
107 fgSizer3->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
109 m_minAmplLabel =
new wxStaticText( sbSizerLower->GetStaticBox(), wxID_ANY,
_(
"Min amplitude (A):"), wxDefaultPosition, wxDefaultSize, 0 );
111 fgSizer3->Add(
m_minAmplLabel, 0, wxALIGN_CENTER_VERTICAL|wxLEFT, 5 );
113 m_minAmplText =
new wxTextCtrl( sbSizerLower->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
114 fgSizer3->Add(
m_minAmplText, 0, wxEXPAND|wxRIGHT|wxLEFT, 5 );
116 m_minAmplUnit =
new wxStaticText( sbSizerLower->GetStaticBox(), wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
118 fgSizer3->Add(
m_minAmplUnit, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 );
120 m_maxAmplLabel =
new wxStaticText( sbSizerLower->GetStaticBox(), wxID_ANY,
_(
"Max amplitude (A):"), wxDefaultPosition, wxDefaultSize, 0 );
122 fgSizer3->Add(
m_maxAmplLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
124 m_maxAmplText =
new wxTextCtrl( sbSizerLower->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
125 fgSizer3->Add(
m_maxAmplText, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
127 m_maxAmplUnit =
new wxStaticText( sbSizerLower->GetStaticBox(), wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
129 fgSizer3->Add(
m_maxAmplUnit, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 );
131 m_spacingLabel =
new wxStaticText( sbSizerLower->GetStaticBox(), wxID_ANY,
_(
"Min spacing (s):"), wxDefaultPosition, wxDefaultSize, 0 );
133 fgSizer3->Add(
m_spacingLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
135 m_spacingText =
new wxTextCtrl( sbSizerLower->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
136 m_spacingText->SetToolTip(
_(
"Minimum spacing between adjacent meander segments. The resulting spacing may be greater based on design rules.") );
138 fgSizer3->Add(
m_spacingText, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
140 m_spacingUnit =
new wxStaticText( sbSizerLower->GetStaticBox(), wxID_ANY,
_(
"unit"), wxDefaultPosition, wxDefaultSize, 0 );
142 fgSizer3->Add(
m_spacingUnit, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxRIGHT, 5 );
144 m_staticText14 =
new wxStaticText( sbSizerLower->GetStaticBox(), wxID_ANY,
_(
"Miter style:"), wxDefaultPosition, wxDefaultSize, 0 );
146 fgSizer3->Add(
m_staticText14, 1, wxALIGN_CENTER_VERTICAL|wxTOP|wxLEFT, 5 );
148 wxString m_miterStyleChoices[] = {
_(
"45 degree"),
_(
"arc") };
149 int m_miterStyleNChoices =
sizeof( m_miterStyleChoices ) /
sizeof( wxString );
150 m_miterStyle =
new wxChoice( sbSizerLower->GetStaticBox(), wxID_ANY, wxDefaultPosition, wxDefaultSize, m_miterStyleNChoices, m_miterStyleChoices, 0 );
152 fgSizer3->Add(
m_miterStyle, 0, wxEXPAND|wxTOP|wxRIGHT|wxLEFT, 5 );
155 fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
158 fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
160 m_singleSidedCheck =
new wxCheckBox( sbSizerLower->GetStaticBox(), wxID_ANY,
_(
"Single-sided"), wxDefaultPosition, wxDefaultSize, 0 );
164 fgSizer3->Add( 0, 0, 1, wxEXPAND, 5 );
166 m_radiusLabel =
new wxStaticText( sbSizerLower->GetStaticBox(), wxID_ANY,
_(
"Miter radius (r):"), wxDefaultPosition, wxDefaultSize, 0 );
168 fgSizer3->Add(
m_radiusLabel, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxLEFT, 5 );
170 m_radiusText =
new TEXT_CTRL_EVAL( sbSizerLower->GetStaticBox(), wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, 0 );
173 m_radiusUnit =
new wxStaticText( sbSizerLower->GetStaticBox(), wxID_ANY,
_(
"%"), wxDefaultPosition, wxDefaultSize, 0 );
175 fgSizer3->Add(
m_radiusUnit, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
178 sbSizerLower->Add( fgSizer3, 1, wxEXPAND|wxLEFT, 5 );
181 bMainSizer->Add( sbSizerLower, 0, wxEXPAND|wxRIGHT|wxLEFT, 10 );
193 this->SetSizer( bMainSizer );
195 bMainSizer->Fit(
this );
wxStaticText * m_spacingUnit
wxStdDialogButtonSizer * m_stdButtons
wxStaticText * m_minAmplUnit
wxTextCtrl * m_spacingText
wxStaticText * m_targetLengthUnit
wxStaticText * m_maxAmplUnit
wxStaticText * m_radiusUnit
DIALOG_PNS_LENGTH_TUNING_SETTINGS_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxString &title=_("Trace Length Tuning"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
wxTextCtrl * m_maxAmplText
wxStaticText * m_staticText4
wxButton * m_stdButtonsCancel
wxStaticText * m_minAmplLabel
wxButton * m_stdButtonsOK
wxStaticText * m_targetLengthLabel
wxStaticText * m_maxAmplLabel
wxStaticText * m_spacingLabel
wxStaticBitmap * m_legend
wxChoice * m_constraintSource
wxStaticText * m_radiusLabel
wxTextCtrl * m_minAmplText
~DIALOG_PNS_LENGTH_TUNING_SETTINGS_BASE()
wxChoice * m_choicePathFrom
wxStaticText * m_staticText15
wxCheckBox * m_singleSidedCheck
wxStaticText * m_staticText3
wxTextCtrl * m_targetLengthText
TEXT_CTRL_EVAL * m_radiusText
wxStaticText * m_staticText14
Dialog helper object to sit in the inheritance tree between wxDialog and any class written by wxFormB...
wxTextCtrl wrapper to handle math expression evaluation.