14DIALOG_CREATE_ARRAY_BASE::DIALOG_CREATE_ARRAY_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 );
22 bSizer7 =
new wxBoxSizer( wxHORIZONTAL );
24 m_gridTypeNotebook =
new wxNotebook(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
27 bSizer2 =
new wxBoxSizer( wxHORIZONTAL );
29 wxGridBagSizer* gbSizer1;
30 gbSizer1 =
new wxGridBagSizer( 0, 0 );
31 gbSizer1->SetFlexibleDirection( wxBOTH );
32 gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
34 m_labelNx =
new wxStaticText(
m_gridPanel, wxID_ANY,
_(
"Horizontal count:"), wxDefaultPosition, wxDefaultSize, 0 );
36 gbSizer1->Add(
m_labelNx, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL, 5 );
39 gbSizer1->Add(
m_entryNx, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
41 m_labelNy =
new wxStaticText(
m_gridPanel, wxID_ANY,
_(
"Vertical count:"), wxDefaultPosition, wxDefaultSize, 0 );
43 gbSizer1->Add(
m_labelNy, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL, 5 );
46 gbSizer1->Add(
m_entryNy, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
48 m_labelDx =
new wxStaticText(
m_gridPanel, wxID_ANY,
_(
"Horizontal spacing:"), wxDefaultPosition, wxDefaultSize, 0 );
50 gbSizer1->Add(
m_labelDx, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
53 gbSizer1->Add(
m_entryDx, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
57 gbSizer1->Add(
m_unitLabelDx, wxGBPosition( 2, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
59 m_labelDy =
new wxStaticText(
m_gridPanel, wxID_ANY,
_(
"Vertical spacing:"), wxDefaultPosition, wxDefaultSize, 0 );
61 gbSizer1->Add(
m_labelDy, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
64 gbSizer1->Add(
m_entryDy, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
68 gbSizer1->Add(
m_unitLabelDy, wxGBPosition( 3, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
72 gbSizer1->Add(
m_labelOffsetX, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
75 gbSizer1->Add(
m_entryOffsetX, wxGBPosition( 4, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
79 gbSizer1->Add(
m_unitLabelOffsetX, wxGBPosition( 4, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
83 gbSizer1->Add(
m_labelOffsetY, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
86 gbSizer1->Add(
m_entryOffsetY, wxGBPosition( 5, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
90 gbSizer1->Add(
m_unitLabelOffsetY, wxGBPosition( 5, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
94 gbSizer1->Add(
m_labelStagger, wxGBPosition( 6, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
97 gbSizer1->Add(
m_entryStagger, wxGBPosition( 6, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
99 wxString m_radioBoxGridStaggerTypeChoices[] = {
_(
"Rows"),
_(
"Columns") };
100 int m_radioBoxGridStaggerTypeNChoices =
sizeof( m_radioBoxGridStaggerTypeChoices ) /
sizeof( wxString );
101 m_radioBoxGridStaggerType =
new wxRadioBox(
m_gridPanel, wxID_ANY,
_(
"Stagger Type"), wxDefaultPosition, wxDefaultSize, m_radioBoxGridStaggerTypeNChoices, m_radioBoxGridStaggerTypeChoices, 1, wxRA_SPECIFY_COLS );
106 bSizer2->Add( gbSizer1, 1, wxEXPAND|wxTOP|wxRIGHT, 5 );
109 bSizer2->Add( 0, 0, 0, wxALL|wxEXPAND, 10 );
116 wxString m_radioBoxGridNumberingAxisChoices[] = {
_(
"Horizontal, then vertical"),
_(
"Vertical, then horizontal") };
117 int m_radioBoxGridNumberingAxisNChoices =
sizeof( m_radioBoxGridNumberingAxisChoices ) /
sizeof( wxString );
125 wxString m_rbGridStartNumberingOptChoices[] = {
_(
"Use first free number"),
_(
"From start value") };
126 int m_rbGridStartNumberingOptNChoices =
sizeof( m_rbGridStartNumberingOptChoices ) /
sizeof( wxString );
131 wxString m_radioBoxGridNumberingSchemeChoices[] = {
_(
"Continuous (1, 2, 3...)"),
_(
"Coordinate (A1, A2, ... B1, ...)") };
132 int m_radioBoxGridNumberingSchemeNChoices =
sizeof( m_radioBoxGridNumberingSchemeChoices ) /
sizeof( wxString );
141 wxArrayString m_choicePriAxisNumberingChoices;
152 wxArrayString m_choiceSecAxisNumberingChoices;
159 wxFlexGridSizer* fgSizer1;
160 fgSizer1 =
new wxFlexGridSizer( 2, 3, 0, 0 );
161 fgSizer1->AddGrowableCol( 0 );
162 fgSizer1->SetFlexibleDirection( wxBOTH );
163 fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
209 bSizer4 =
new wxBoxSizer( wxHORIZONTAL );
211 wxGridBagSizer* gbSizer2;
212 gbSizer2 =
new wxGridBagSizer( 0, 0 );
213 gbSizer2->SetFlexibleDirection( wxBOTH );
214 gbSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
218 gbSizer2->Add(
m_labelCentreX, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
221 gbSizer2->Add(
m_entryCentreX, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
225 gbSizer2->Add(
m_unitLabelCentreX, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
229 gbSizer2->Add(
m_labelCentreY, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
232 gbSizer2->Add(
m_entryCentreY, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
236 gbSizer2->Add(
m_unitLabelCentreY, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
240 gbSizer2->Add(
m_labelCircRadius, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );
244 gbSizer2->Add(
m_valueCircRadius, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
248 gbSizer2->Add(
m_unitLabelCircRadius, wxGBPosition( 2, 2 ), wxGBSpan( 1, 1 ), wxTOP|wxBOTTOM|wxRIGHT, 5 );
252 gbSizer2->Add(
m_labelCircAngle, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
255 m_entryCircAngle->SetToolTip(
_(
"Positive angles represent an anti-clockwise rotation. An angle of 0 will produce a full circle divided evenly into \"Count\" portions.") );
257 gbSizer2->Add(
m_entryCircAngle, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
261 gbSizer2->Add(
m_unitLabelCircAngle, wxGBPosition( 3, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
265 gbSizer2->Add(
m_labelCircCount, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
270 gbSizer2->Add(
m_entryCircCount, wxGBPosition( 4, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
274 gbSizer2->Add(
m_labelCircRotate, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
278 m_entryRotateItemsCb->SetToolTip(
_(
"Rotate the item as well as move it - multi-selections will be rotated together") );
283 bSizer4->Add( gbSizer2, 1, wxALL|wxEXPAND, 5 );
286 bSizer4->Add( 0, 0, 0, wxALL|wxEXPAND, 10 );
293 wxString m_rbCircStartNumberingOptChoices[] = {
_(
"Use first free number"),
_(
"From start value") };
294 int m_rbCircStartNumberingOptNChoices =
sizeof( m_rbCircStartNumberingOptChoices ) /
sizeof( wxString );
295 m_rbCircStartNumberingOpt =
new wxRadioBox(
m_circPadNumberingSizer->GetStaticBox(), wxID_ANY,
_(
"Initial Pad Number:"), wxDefaultPosition, wxDefaultSize, m_rbCircStartNumberingOptNChoices, m_rbCircStartNumberingOptChoices, 1, wxRA_SPECIFY_COLS );
303 wxArrayString m_choiceCircNumberingChoices;
308 wxFlexGridSizer* fgSizer2;
309 fgSizer2 =
new wxFlexGridSizer( 0, 2, 0, 0 );
310 fgSizer2->AddGrowableCol( 0 );
311 fgSizer2->SetFlexibleDirection( wxBOTH );
312 fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
347 bSizer8 =
new wxBoxSizer( wxVERTICAL );
349 wxStaticBoxSizer* sbSizerFootprintAnnotation;
350 sbSizerFootprintAnnotation =
new wxStaticBoxSizer(
new wxStaticBox(
m_footprintReannotatePanel, wxID_ANY,
_(
"Footprint Annotation") ), wxVERTICAL );
352 m_radioBtnKeepRefs =
new wxRadioButton( sbSizerFootprintAnnotation->GetStaticBox(), wxID_ANY,
_(
"Keep existing reference designators"), wxDefaultPosition, wxDefaultSize, 0 );
355 m_radioBtnUniqueRefs =
new wxRadioButton( sbSizerFootprintAnnotation->GetStaticBox(), wxID_ANY,
_(
"Assign unique reference designators"), wxDefaultPosition, wxDefaultSize, 0 );
357 m_radioBtnUniqueRefs->SetToolTip(
_(
"This can conflict with reference designators in the schematic that have not yet been synchronized with the board.") );
362 bSizer8->Add( sbSizerFootprintAnnotation, 0, wxEXPAND, 5 );
371 bMainSizer->Add( bSizer7, 1, wxEXPAND, 5 );
383 this->SetSizer( bMainSizer );
385 bMainSizer->Fit(
this );
wxTextCtrl * m_entryCentreX
wxRadioBox * m_radioBoxGridNumberingAxis
wxRadioBox * m_radioBoxGridNumberingScheme
wxStaticText * m_labelGridNumberingStep
wxCheckBox * m_entryRotateItemsCb
wxStaticText * m_labelCircCount
wxBoxSizer * m_gridPadNumberingSizer
wxTextCtrl * m_entryGridSecNumberingOffset
wxChoice * m_choiceSecAxisNumbering
virtual void OnClose(wxCloseEvent &event)
wxStaticText * m_unitLabelCircAngle
wxTextCtrl * m_entryOffsetX
wxRadioBox * m_radioBoxGridStaggerType
wxRadioBox * m_rbCircStartNumberingOpt
wxStaticText * m_labelOffsetY
wxNotebook * m_gridTypeNotebook
wxPanel * m_gridPadNumberingPanel
wxStaticText * m_labelCentreX
wxStaticText * m_labelCircNumStart
wxStaticText * m_unitLabelDx
wxStaticText * m_unitLabelCircRadius
wxStaticText * m_unitLabelCentreY
wxTextCtrl * m_entryOffsetY
wxTextCtrl * m_entryGridPriNumberingOffset
wxTextCtrl * m_entryGridPriNumberingStep
wxStaticText * m_labelCircNumbering
wxStaticText * m_valueCircRadius
wxPanel * m_circularPadNumberingPanel
wxStaticText * m_unitLabelOffsetY
wxRadioButton * m_radioBtnUniqueRefs
~DIALOG_CREATE_ARRAY_BASE()
TEXT_CTRL_EVAL * m_entryCircCount
TEXT_CTRL_EVAL * m_entryNx
wxTextCtrl * m_entryCentreY
wxStaticText * m_unitLabelOffsetX
wxStaticText * m_labelPriAxisNumbering
wxButton * m_stdButtonsOK
wxStaticText * m_labelOffsetX
wxTextCtrl * m_entryCircAngle
wxChoice * m_choicePriAxisNumbering
wxStaticBoxSizer * m_circPadNumberingSizer
wxPanel * m_footprintReannotatePanel
wxStaticText * m_unitLabelCentreX
wxStaticText * m_labelCircNumStep
wxStaticText * m_labelSecAxisNumbering
wxTextCtrl * m_entryCircNumberingStart
wxStaticText * m_labelCircRotate
virtual void OnParameterChanged(wxCommandEvent &event)
wxPanel * m_circularPanel
wxRadioButton * m_radioBtnKeepRefs
wxStaticText * m_labelCircAngle
DIALOG_CREATE_ARRAY_BASE(wxWindow *parent, wxWindowID id=wxID_DIALOG_CREATE_ARRAY, const wxString &title=_("Create Array"), const wxPoint &pos=wxDefaultPosition, const wxSize &size=wxSize(-1,-1), long style=wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER)
wxStaticText * m_labelGridNumberingOffset
wxButton * m_stdButtonsCancel
wxChoice * m_choiceCircNumbering
wxStaticText * m_labelCircRadius
wxCheckBox * m_checkBoxGridReverseNumbering
TEXT_CTRL_EVAL * m_entryStagger
wxTextCtrl * m_entryGridSecNumberingStep
wxRadioBox * m_rbGridStartNumberingOpt
wxStaticText * m_labelCentreY
TEXT_CTRL_EVAL * m_entryNy
wxStaticText * m_unitLabelDy
wxTextCtrl * m_entryCircNumberingStep
wxStaticText * m_labelStagger
wxStdDialogButtonSizer * m_stdButtons
Dialog helper object to sit in the inheritance tree between wxDialog and any class written by wxFormB...
wxTextCtrl wrapper to handle math expression evaluation.