MCPcopy Create free account
hub / github.com/GollyGang/ready / XYZFloatDialog

Method XYZFloatDialog

src/gui/dialogs.cpp:151–213  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

149// =============================================================================
150
151XYZFloatDialog::XYZFloatDialog(wxWindow* parent, const wxString& title,
152 float inx, float iny, float inz,
153 const wxPoint& pos, const wxSize& size)
154{
155 Create(parent, wxID_ANY, title, pos, size);
156
157 // create the controls
158 wxBoxSizer* vbox = new wxBoxSizer(wxVERTICAL);
159 SetSizer(vbox);
160
161 wxStaticText* promptlabel = new wxStaticText(this, wxID_STATIC, _("Enter new X, Y, Z values:"));
162
163 xbox = new wxTextCtrl(this, wxID_ANY, FormatFloat(inx), wxDefaultPosition, wxSize(50,wxDefaultCoord));
164 ybox = new wxTextCtrl(this, wxID_ANY, FormatFloat(iny), wxDefaultPosition, wxSize(50,wxDefaultCoord));
165 zbox = new wxTextCtrl(this, wxID_ANY, FormatFloat(inz), wxDefaultPosition, wxSize(50,wxDefaultCoord));
166
167 wxBoxSizer* hbox = new wxBoxSizer(wxHORIZONTAL);
168
169 hbox->AddStretchSpacer(1);
170
171 hbox->Add(new wxStaticText(this, wxID_STATIC, wxT("X = ")), 0, wxALIGN_CENTER_VERTICAL, 0);
172 hbox->Add(xbox, 0, wxALIGN_CENTER_VERTICAL, 0);
173
174 hbox->AddStretchSpacer(1);
175
176 hbox->Add(new wxStaticText(this, wxID_STATIC, wxT("Y = ")), 0, wxALIGN_CENTER_VERTICAL, 0);
177 hbox->Add(ybox, 0, wxALIGN_CENTER_VERTICAL, 0);
178
179 hbox->AddStretchSpacer(1);
180
181 hbox->Add(new wxStaticText(this, wxID_STATIC, wxT("Z = ")), 0, wxALIGN_CENTER_VERTICAL, 0);
182 hbox->Add(zbox, 0, wxALIGN_CENTER_VERTICAL, 0);
183
184 hbox->AddStretchSpacer(1);
185
186 wxSizer* stdbutts = CreateButtonSizer(wxOK | wxCANCEL);
187
188 // position the controls
189 wxBoxSizer* buttbox = new wxBoxSizer(wxHORIZONTAL);
190 buttbox->Add(stdbutts, 1, wxGROW | wxRIGHT, STDHGAP);
191 wxSize minsize = buttbox->GetMinSize();
192 if (minsize.GetWidth() < 250) {
193 minsize.SetWidth(250);
194 buttbox->SetMinSize(minsize);
195 }
196
197 vbox->AddSpacer(12);
198 vbox->Add(promptlabel, 0, wxLEFT | wxRIGHT, 10);
199 vbox->AddSpacer(10);
200 vbox->Add(hbox, 0, wxALL | wxEXPAND | wxALIGN_TOP, 0);
201 vbox->AddSpacer(12);
202 vbox->Add(buttbox, 1, wxGROW | wxTOP | wxBOTTOM, 10);
203
204 GetSizer()->Fit(this);
205 GetSizer()->SetSizeHints(this);
206
207 if (pos == wxDefaultPosition) Centre();
208 if (size != wxDefaultSize) SetSize(size);

Callers

nothing calls this directly

Calls 2

FormatFloatFunction · 0.85
AddMethod · 0.80

Tested by

no test coverage detected