14PANEL_SETUP_BOARD_STACKUP_BASE::PANEL_SETUP_BOARD_STACKUP_BASE( wxWindow* parent, wxWindowID
id,
const wxPoint& pos,
const wxSize& size,
long style,
const wxString&
name ) : wxPanel( parent, id, pos, size, style,
name )
16 wxBoxSizer* bMainSizer;
17 bMainSizer =
new wxBoxSizer( wxVERTICAL );
19 wxBoxSizer* bTopSizer;
20 bTopSizer =
new wxBoxSizer( wxHORIZONTAL );
22 m_lblCopperLayers =
new wxStaticText(
this, wxID_ANY,
_(
"Copper layers:"), wxDefaultPosition, wxDefaultSize, 0 );
24 m_lblCopperLayers->SetToolTip(
_(
"Select the number of copper layers in the stackup") );
26 bTopSizer->Add(
m_lblCopperLayers, 0, wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM, 5 );
28 wxString m_choiceCopperLayersChoices[] = {
_(
"2"),
_(
"4"),
_(
"6"),
_(
"8"),
_(
"10"),
_(
"12"),
_(
"14"),
_(
"16"),
_(
"18"),
_(
"20"),
_(
"22"),
_(
"24"),
_(
"26"),
_(
"28"),
_(
"30"),
_(
"32") };
29 int m_choiceCopperLayersNChoices =
sizeof( m_choiceCopperLayersChoices ) /
sizeof( wxString );
30 m_choiceCopperLayers =
new wxChoice(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, m_choiceCopperLayersNChoices, m_choiceCopperLayersChoices, 0 );
37 bTopSizer->Add( 40, 0, 1, wxEXPAND, 5 );
39 m_impedanceControlled =
new wxCheckBox(
this, wxID_ANY,
_(
"Impedance controlled"), wxDefaultPosition, wxDefaultSize, 0 );
40 m_impedanceControlled->SetToolTip(
_(
"If Impedance Controlled option is set,\nLoss tangent and EpsilonR will be added to constraints.") );
45 bTopSizer->Add( 40, 0, 1, wxEXPAND, 5 );
54 bMainSizer->Add( bTopSizer, 0, wxEXPAND|wxALL, 5 );
56 wxBoxSizer* m_sizerStackup;
57 m_sizerStackup =
new wxBoxSizer( wxVERTICAL );
59 m_panel1 =
new WX_PANEL(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL );
61 bSizer6 =
new wxBoxSizer( wxVERTICAL );
64 bSizer6->Add( 0, 1, 0, wxEXPAND, 5 );
66 m_scGridWin =
new wxScrolledWindow(
m_panel1, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_NONE|wxHSCROLL|wxVSCROLL );
69 bMargins =
new wxBoxSizer( wxVERTICAL );
73 m_fgGridSizer->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
111 bMargins->Add(
m_fgGridSizer, 1, wxEXPAND|wxTOP|wxBOTTOM|wxLEFT, 5 );
117 bSizer6->Add(
m_scGridWin, 1, wxEXPAND|wxBOTTOM, 2 );
123 m_sizerStackup->Add(
m_panel1, 1, wxEXPAND, 5 );
126 bMainSizer->Add( m_sizerStackup, 3, wxEXPAND|wxBOTTOM, 5 );
128 wxBoxSizer* bBottomSizer;
129 bBottomSizer =
new wxBoxSizer( wxHORIZONTAL );
131 m_staticTextCT =
new wxStaticText(
this, wxID_ANY,
_(
"Board thickness from stackup:"), wxDefaultPosition, wxDefaultSize, wxALIGN_RIGHT );
133 bBottomSizer->Add(
m_staticTextCT, 0, wxALIGN_CENTER_VERTICAL, 5 );
135 m_tcCTValue =
new wxTextCtrl(
this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxDefaultSize, wxTE_READONLY );
136 bBottomSizer->Add(
m_tcCTValue, 0, wxALL|wxALIGN_CENTER_VERTICAL, 2 );
139 bBottomSizer->Add( 10, 0, 0, wxEXPAND, 5 );
141 m_buttonAdjust =
new wxButton(
this, wxID_ANY,
_(
"Adjust Dielectric Thickness"), wxDefaultPosition, wxDefaultSize, 0 );
142 bBottomSizer->Add(
m_buttonAdjust, 0, wxALL|wxALIGN_CENTER_VERTICAL, 2 );
145 bBottomSizer->Add( 0, 0, 1, wxEXPAND, 5 );
147 m_buttonExport =
new wxButton(
this, wxID_ANY,
_(
"Export to Clipboard"), wxDefaultPosition, wxDefaultSize, 0 );
148 bBottomSizer->Add(
m_buttonExport, 0, wxTOP|wxBOTTOM|wxRIGHT|wxALIGN_CENTER_VERTICAL, 2 );
151 bMainSizer->Add( bBottomSizer, 0, wxEXPAND|wxBOTTOM|wxRIGHT|wxLEFT, 5 );
154 this->SetSizer( bMainSizer );
156 bMainSizer->Fit(
this );
wxScrolledWindow * m_scGridWin
wxButton * m_buttonAddDielectricLayer
wxStaticText * m_staticTextLayer
virtual void onAdjustDielectricThickness(wxCommandEvent &event)
wxStaticText * m_staticTextMaterial
~PANEL_SETUP_BOARD_STACKUP_BASE()
virtual void onExportToClipboard(wxCommandEvent &event)
virtual void onRemoveDielectricLayer(wxCommandEvent &event)
wxStaticText * m_staticTextLayerId
virtual void onRemoveDielUI(wxUpdateUIEvent &event)
wxStaticBitmap * m_bitmapLockThickness
wxStaticText * m_staticTextColor
wxCheckBox * m_impedanceControlled
wxButton * m_buttonAdjust
virtual void onCopperLayersSelCount(wxCommandEvent &event)
virtual void onAddDielectricLayer(wxCommandEvent &event)
wxStaticText * m_staticTextCT
wxStaticText * m_staticTextType
wxButton * m_buttonRemoveDielectricLayer
wxStaticText * m_staticTextThickness
wxFlexGridSizer * m_fgGridSizer
wxStaticText * m_staticTextLossTg
wxStaticText * m_lblCopperLayers
PANEL_SETUP_BOARD_STACKUP_BASE(wxWindow *parent, wxWindowID id=wxID_ANY, const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxTAB_TRAVERSAL, const wxString &name=wxEmptyString)
wxButton * m_buttonExport
wxStaticText * m_staticTextEpsilonR
wxChoice * m_choiceCopperLayers