14 DIALOG_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 );
21 m_gridTypeNotebook =
new wxNotebook(
this, wxID_ANY, wxDefaultPosition, wxDefaultSize, 0 );
24 bSizer2 =
new wxBoxSizer( wxHORIZONTAL );
26 wxGridBagSizer* gbSizer1;
27 gbSizer1 =
new wxGridBagSizer( 0, 0 );
28 gbSizer1->SetFlexibleDirection( wxBOTH );
29 gbSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
31 m_labelNx =
new wxStaticText(
m_gridPanel, wxID_ANY,
_(
"Horizontal count:"), wxDefaultPosition, wxDefaultSize, 0 );
33 gbSizer1->Add(
m_labelNx, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL, 5 );
36 gbSizer1->Add(
m_entryNx, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
38 m_labelNy =
new wxStaticText(
m_gridPanel, wxID_ANY,
_(
"Vertical count:"), wxDefaultPosition, wxDefaultSize, 0 );
40 gbSizer1->Add(
m_labelNy, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALIGN_RIGHT|wxALL|wxALIGN_CENTER_VERTICAL, 5 );
43 gbSizer1->Add(
m_entryNy, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
45 m_labelDx =
new wxStaticText(
m_gridPanel, wxID_ANY,
_(
"Horizontal spacing:"), wxDefaultPosition, wxDefaultSize, 0 );
47 gbSizer1->Add(
m_labelDx, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
50 gbSizer1->Add(
m_entryDx, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
54 gbSizer1->Add(
m_unitLabelDx, wxGBPosition( 2, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
56 m_labelDy =
new wxStaticText(
m_gridPanel, wxID_ANY,
_(
"Vertical spacing:"), wxDefaultPosition, wxDefaultSize, 0 );
58 gbSizer1->Add(
m_labelDy, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
61 gbSizer1->Add(
m_entryDy, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
65 gbSizer1->Add(
m_unitLabelDy, wxGBPosition( 3, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
69 gbSizer1->Add(
m_labelOffsetX, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
72 gbSizer1->Add(
m_entryOffsetX, wxGBPosition( 4, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
76 gbSizer1->Add(
m_unitLabelOffsetX, wxGBPosition( 4, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
80 gbSizer1->Add(
m_labelOffsetY, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
83 gbSizer1->Add(
m_entryOffsetY, wxGBPosition( 5, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
87 gbSizer1->Add(
m_unitLabelOffsetY, wxGBPosition( 5, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
91 gbSizer1->Add(
m_labelStagger, wxGBPosition( 6, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_RIGHT|wxALIGN_CENTER_VERTICAL, 5 );
94 gbSizer1->Add(
m_entryStagger, wxGBPosition( 6, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
96 wxString m_radioBoxGridStaggerTypeChoices[] = {
_(
"Rows"),
_(
"Columns") };
97 int m_radioBoxGridStaggerTypeNChoices =
sizeof( m_radioBoxGridStaggerTypeChoices ) /
sizeof( wxString );
98 m_radioBoxGridStaggerType =
new wxRadioBox(
m_gridPanel, wxID_ANY,
_(
"Stagger Type"), wxDefaultPosition, wxDefaultSize, m_radioBoxGridStaggerTypeNChoices, m_radioBoxGridStaggerTypeChoices, 1, wxRA_SPECIFY_COLS );
103 bSizer2->Add( gbSizer1, 1, wxEXPAND|wxTOP|wxRIGHT, 5 );
106 bSizer2->Add( 0, 0, 0, wxALL|wxEXPAND, 10 );
110 wxString m_radioBoxGridNumberingAxisChoices[] = {
_(
"Horizontal, then vertical"),
_(
"Vertical, then horizontal") };
111 int m_radioBoxGridNumberingAxisNChoices =
sizeof( m_radioBoxGridNumberingAxisChoices ) /
sizeof( wxString );
112 m_radioBoxGridNumberingAxis =
new wxRadioBox(
m_gridPanel, wxID_ANY,
_(
"Numbering Direction"), wxDefaultPosition, wxDefaultSize, m_radioBoxGridNumberingAxisNChoices, m_radioBoxGridNumberingAxisChoices, 1, wxRA_SPECIFY_COLS );
119 wxString m_rbGridStartNumberingOptChoices[] = {
_(
"Use first free number"),
_(
"From start value") };
120 int m_rbGridStartNumberingOptNChoices =
sizeof( m_rbGridStartNumberingOptChoices ) /
sizeof( wxString );
121 m_rbGridStartNumberingOpt =
new wxRadioBox(
m_gridPanel, wxID_ANY,
_(
"Initial Pad Number"), wxDefaultPosition, wxDefaultSize, m_rbGridStartNumberingOptNChoices, m_rbGridStartNumberingOptChoices, 1, wxRA_SPECIFY_COLS );
125 wxString m_radioBoxGridNumberingSchemeChoices[] = {
_(
"Continuous (1, 2, 3...)"),
_(
"Coordinate (A1, A2, ... B1, ...)") };
126 int m_radioBoxGridNumberingSchemeNChoices =
sizeof( m_radioBoxGridNumberingSchemeChoices ) /
sizeof( wxString );
127 m_radioBoxGridNumberingScheme =
new wxRadioBox(
m_gridPanel, wxID_ANY,
_(
"Pad Numbering Scheme"), wxDefaultPosition, wxDefaultSize, m_radioBoxGridNumberingSchemeNChoices, m_radioBoxGridNumberingSchemeChoices, 1, wxRA_SPECIFY_COLS );
135 wxArrayString m_choicePriAxisNumberingChoices;
146 wxArrayString m_choiceSecAxisNumberingChoices;
153 wxFlexGridSizer* fgSizer1;
154 fgSizer1 =
new wxFlexGridSizer( 2, 3, 0, 0 );
155 fgSizer1->AddGrowableCol( 0 );
156 fgSizer1->SetFlexibleDirection( wxBOTH );
157 fgSizer1->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
200 bSizer4 =
new wxBoxSizer( wxHORIZONTAL );
202 wxGridBagSizer* gbSizer2;
203 gbSizer2 =
new wxGridBagSizer( 0, 0 );
204 gbSizer2->SetFlexibleDirection( wxBOTH );
205 gbSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
209 gbSizer2->Add(
m_labelCentreX, wxGBPosition( 0, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
212 gbSizer2->Add(
m_entryCentreX, wxGBPosition( 0, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
216 gbSizer2->Add(
m_unitLabelCentreX, wxGBPosition( 0, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
220 gbSizer2->Add(
m_labelCentreY, wxGBPosition( 1, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
223 gbSizer2->Add(
m_entryCentreY, wxGBPosition( 1, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
227 gbSizer2->Add(
m_unitLabelCentreY, wxGBPosition( 1, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
231 gbSizer2->Add(
m_labelCircRadius, wxGBPosition( 2, 0 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT|wxALL, 5 );
235 gbSizer2->Add(
m_valueCircRadius, wxGBPosition( 2, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
239 gbSizer2->Add(
m_unitLabelCircRadius, wxGBPosition( 2, 2 ), wxGBSpan( 1, 1 ), wxTOP|wxBOTTOM|wxRIGHT, 5 );
243 gbSizer2->Add(
m_labelCircAngle, wxGBPosition( 3, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
246 m_entryCircAngle->SetToolTip(
_(
"Positive angles represent an anti-clockwise rotation. An angle of 0 will produce a full circle divided evenly into \"Count\" portions.") );
248 gbSizer2->Add(
m_entryCircAngle, wxGBPosition( 3, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
252 gbSizer2->Add(
m_unitLabelCircAngle, wxGBPosition( 3, 2 ), wxGBSpan( 1, 1 ), wxALIGN_CENTER_VERTICAL|wxTOP|wxBOTTOM|wxRIGHT, 5 );
256 gbSizer2->Add(
m_labelCircCount, wxGBPosition( 4, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
261 gbSizer2->Add(
m_entryCircCount, wxGBPosition( 4, 1 ), wxGBSpan( 1, 1 ), wxALL, 5 );
265 gbSizer2->Add(
m_labelCircRotate, wxGBPosition( 5, 0 ), wxGBSpan( 1, 1 ), wxALL|wxALIGN_CENTER_VERTICAL|wxALIGN_RIGHT, 5 );
269 m_entryRotateItemsCb->SetToolTip(
_(
"Rotate the item as well as move it - multi-selections will be rotated together") );
274 bSizer4->Add( gbSizer2, 1, wxALL|wxEXPAND, 5 );
277 bSizer4->Add( 0, 0, 0, wxALL|wxEXPAND, 10 );
281 wxString m_rbCircStartNumberingOptChoices[] = {
_(
"Use first free number"),
_(
"From start value") };
282 int m_rbCircStartNumberingOptNChoices =
sizeof( m_rbCircStartNumberingOptChoices ) /
sizeof( wxString );
283 m_rbCircStartNumberingOpt =
new wxRadioBox(
m_circPadNumberingSizer->GetStaticBox(), wxID_ANY,
_(
"Initial Pad Number:"), wxDefaultPosition, wxDefaultSize, m_rbCircStartNumberingOptNChoices, m_rbCircStartNumberingOptChoices, 1, wxRA_SPECIFY_COLS );
291 wxArrayString m_choiceCircNumberingChoices;
296 wxFlexGridSizer* fgSizer2;
297 fgSizer2 =
new wxFlexGridSizer( 0, 2, 0, 0 );
298 fgSizer2->AddGrowableCol( 0 );
299 fgSizer2->SetFlexibleDirection( wxBOTH );
300 fgSizer2->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED );
340 this->SetSizer( bMainSizer );
342 bMainSizer->Fit(
this );
wxStaticText * m_labelCircNumStart
wxTextCtrl * m_entryGridPriNumberingOffset
virtual void OnClose(wxCloseEvent &event)
wxStaticText * m_labelGridNumberingStep
wxTextCtrl * m_entryCentreX
wxStaticText * m_labelOffsetX
wxStaticText * m_labelCentreX
wxStaticText * m_labelOffsetY
wxStaticText * m_unitLabelCentreY
wxRadioBox * m_radioBoxGridStaggerType
wxCheckBox * m_entryRotateItemsCb
wxTextCtrl * m_entryCentreY
wxStaticText * m_labelGridNumberingOffset
wxPanel * m_circularPanel
Dialog helper object to sit in the inheritance tree between wxDialog and any class written by wxFormB...
wxStaticText * m_unitLabelOffsetY
wxRadioBox * m_rbGridStartNumberingOpt
TEXT_CTRL_EVAL * m_entryStagger
wxStaticText * m_unitLabelDx
wxTextCtrl * m_entryCircNumberingStep
wxStaticText * m_labelPriAxisNumbering
wxStaticText * m_unitLabelCircAngle
wxStaticText * m_unitLabelOffsetX
wxCheckBox * m_checkBoxGridReverseNumbering
wxButton * m_stdButtonsCancel
wxChoice * m_choiceCircNumbering
wxStaticBoxSizer * m_circPadNumberingSizer
TEXT_CTRL_EVAL * m_entryNy
wxRadioBox * m_rbCircStartNumberingOpt
wxStaticText * m_labelCircAngle
wxTextCtrl * m_entryCircNumberingStart
wxRadioBox * m_radioBoxGridNumberingScheme
wxTextCtrl * m_entryOffsetY
wxStaticText * m_labelCentreY
wxStaticText * m_unitLabelDy
wxStaticText * m_labelSecAxisNumbering
wxButton * m_stdButtonsOK
TEXT_CTRL_EVAL * m_entryNx
wxStaticText * m_labelCircRotate
wxStaticText * m_unitLabelCentreX
wxChoice * m_choiceSecAxisNumbering
wxStaticText * m_labelCircNumbering
wxTextCtrl * m_entryGridSecNumberingStep
wxTextCtrl * m_entryOffsetX
wxStaticText * m_labelCircCount
wxStaticText * m_unitLabelCircRadius
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)
wxTextCtrl wrapper to handle math expression evaluation.
wxNotebook * m_gridTypeNotebook
TEXT_CTRL_EVAL * m_entryCircCount
wxRadioBox * m_radioBoxGridNumberingAxis
wxTextCtrl * m_entryGridSecNumberingOffset
~DIALOG_CREATE_ARRAY_BASE()
wxTextCtrl * m_entryGridPriNumberingStep
wxStaticText * m_labelCircRadius
wxStaticText * m_labelStagger
wxStaticText * m_valueCircRadius
wxBoxSizer * m_gridPadNumberingSizer
wxStdDialogButtonSizer * m_stdButtons
wxChoice * m_choicePriAxisNumbering
wxStaticText * m_labelCircNumStep
virtual void OnParameterChanged(wxCommandEvent &event)
wxTextCtrl * m_entryCircAngle