void HeeksObjDlg::AddControlsAndCreate() { m_ignore_event_functions = true; wxBoxSizer *sizerMain = new wxBoxSizer(wxHORIZONTAL); // add left sizer wxBoxSizer *sizerLeft = new wxBoxSizer(wxVERTICAL); sizerMain->Add( sizerLeft, 0, wxALL, control_border ); // add left controls for(std::list<HControl>::iterator It = leftControls.begin(); It != leftControls.end(); It++) { HControl c = *It; c.AddToSizer(sizerLeft); } // add right sizer wxBoxSizer *sizerRight = new wxBoxSizer(wxVERTICAL); sizerMain->Add( sizerRight, 0, wxALL, control_border ); // add OK and Cancel to right side rightControls.push_back(MakeOkAndCancel(wxHORIZONTAL)); // add right controls for(std::list<HControl>::iterator It = rightControls.begin(); It != rightControls.end(); It++) { HControl c = *It; c.AddToSizer(sizerRight); } SetFromData(m_object); SetSizer( sizerMain ); sizerMain->SetSizeHints(this); sizerMain->Fit(this); m_ignore_event_functions = false; HeeksObjDlg::SetPicture(); }
CToolDlg::CToolDlg(wxWindow *parent, CTool* object) : HDialog(parent, wxID_ANY, wxString(_T("Tool Definition"))) { m_ignore_event_functions = true; wxBoxSizer *sizerMain = new wxBoxSizer(wxHORIZONTAL); // add left sizer wxBoxSizer *sizerLeft = new wxBoxSizer(wxVERTICAL); sizerMain->Add( sizerLeft, 0, wxALL, control_border ); // add right sizer wxBoxSizer *sizerRight = new wxBoxSizer(wxVERTICAL); sizerMain->Add( sizerRight, 0, wxALL, control_border ); // add picture to right side m_picture = new PictureWindow(this, wxSize(300, 200)); wxBoxSizer *pictureSizer = new wxBoxSizer(wxVERTICAL); pictureSizer->Add(m_picture, 1, wxGROW); sizerRight->Add( pictureSizer, 0, wxALL, control_border ); // add some of the controls to the right side // The following are for extrusion and should be hidden for all others wxString extrusionmaterials[] = {_("ABS Plastic"),_("PLA Plastic"),_("HDPE Plastic"),_("Other") }; AddLabelAndControl(sizerRight, _("Extrusion Material"),m_cmbExtrusionMaterial = new wxComboBox(this, ID_EXTRUSIONMATERIAL, _T(""), wxDefaultPosition, wxDefaultSize, 4, extrusionmaterials)); AddLabelAndControl(sizerRight, _("Feed Rate"),m_dblFeedRate = new CDoubleCtrl(this, ID_MAX_ADVANCE_PER_REVOLUTION)); AddLabelAndControl(sizerRight, _("Layer Height"),m_dblLayerHeight = new CDoubleCtrl(this, ID_MAX_ADVANCE_PER_REVOLUTION)); AddLabelAndControl(sizerRight, _("Width Over Thickness ratio"),m_dblWidthOverThickness = new CDoubleCtrl(this, ID_MAX_ADVANCE_PER_REVOLUTION)); AddLabelAndControl(sizerRight, _("Temperature"),m_dblTemperature = new CDoubleCtrl(this, ID_MAX_ADVANCE_PER_REVOLUTION)); AddLabelAndControl(sizerRight, _("Flow Rate"),m_dblFlowrate = new CDoubleCtrl(this, ID_MAX_ADVANCE_PER_REVOLUTION)); AddLabelAndControl(sizerRight, _("Filament Diameter"),m_dblFilamentDiameter = new CDoubleCtrl(this, ID_MAX_ADVANCE_PER_REVOLUTION)); AddLabelAndControl(sizerRight, _("Title"), m_txtTitle = new wxTextCtrl(this, ID_TITLE)); sizerRight->Add( m_chkVisible = new wxCheckBox( this, ID_VISIBLE, _("Visible") ), 0, wxALL, control_border ); // The following are for taps and should be hidden for all others AddLabelAndControl(sizerRight, _("Pitch"),m_dblPitch = new CDoubleCtrl(this, ID_PITCH)); wxString tapdirections[] = {_("right hand"),_("left hand") }; AddLabelAndControl(sizerRight, _("Tap direction"),m_cmbDirection = new wxComboBox(this, ID_DIRECTION, _T(""), wxDefaultPosition, wxDefaultSize, 2, tapdirections)); // add OK and Cancel to right side wxBoxSizer *sizerOKCancel = MakeOkAndCancel(wxHORIZONTAL); sizerRight->Add( sizerOKCancel, 0, wxALL | wxALIGN_RIGHT | wxALIGN_BOTTOM, control_border ); // add all the controls to the left side wxString title_choices[] = {_("Leave manually assigned title"), _("Automatically Generate Title")}; AddLabelAndControl(sizerLeft, _("Title Type"), m_cmbTitleType = new wxComboBox(this, ID_TITLE_TYPE, _T(""), wxDefaultPosition, wxDefaultSize, 2, title_choices)); wxString materials[] = {_("High Speed Steel"),_("Carbide") }; AddLabelAndControl(sizerLeft, _("Tool Material"), m_cmbMaterial = new wxComboBox(this, ID_MATERIAL, _T(""), wxDefaultPosition, wxDefaultSize, 2, materials)); wxString tool_types[] = {_("Drill Bit"), _("Centre Drill Bit"), _("End Mill"), _("Slot Cutter"), _("Ball End Mill"), _("Chamfer"), _("Turning Tool"), _("Touch Probe"), _("Tool Length Switch"), _("Extrusion"),_("Tap Tool")}; AddLabelAndControl(sizerLeft, _("Tool Type"), m_cmbToolType = new wxComboBox(this, ID_TOOL_TYPE, _T(""), wxDefaultPosition, wxDefaultSize, 11, tool_types)); AddLabelAndControl(sizerLeft, _("Max advance per revolution"), m_dblMaxAdvancePerRevolution = new CDoubleCtrl(this, ID_MAX_ADVANCE_PER_REVOLUTION)); AddLabelAndControl(sizerLeft, _("Diameter"), m_dblDiameter = new CDoubleCtrl(this, ID_DIAMETER)); AddLabelAndControl(sizerLeft, _("Tool length offset"), m_dblToolLengthOffset = new CDoubleCtrl(this, ID_TOOL_LENGTH_OFFSET)); AddLabelAndControl(sizerLeft, _("Flat radius"), m_dblFlatRadius = new CDoubleCtrl(this, ID_FLAT_RADIUS)); AddLabelAndControl(sizerLeft, _("Corner radius"), m_dblCornerRadius = new CDoubleCtrl(this, ID_CORNER_RADIUS)); AddLabelAndControl(sizerLeft, _("Cutting edge angle"), m_dblCuttingEdgeAngle = new CDoubleCtrl(this, ID_CUTTING_EDGE_ANGLE)); AddLabelAndControl(sizerLeft, _("Cutting edge height"), m_dblCuttingEdgeHeight = new CDoubleCtrl(this, ID_CUTTING_EDGE_HEIGHT)); AddLabelAndControl(sizerLeft, _("gradient"), m_dblGradient = new CDoubleCtrl(this, ID_GRADIENT)); // The following are all for lathe tools and should be hidden for all others AddLabelAndControl(sizerLeft, _("X Offset"),m_dblXOffset = new CDoubleCtrl(this, ID_MAX_ADVANCE_PER_REVOLUTION)); AddLabelAndControl(sizerLeft, _("Front Angle"),m_dblFrontAngle = new CDoubleCtrl(this, ID_MAX_ADVANCE_PER_REVOLUTION)); AddLabelAndControl(sizerLeft, _("Tool Angle"),m_dblToolAngle = new CDoubleCtrl(this, ID_MAX_ADVANCE_PER_REVOLUTION)); AddLabelAndControl(sizerLeft, _("Back Angle"),m_dblBackAngle = new CDoubleCtrl(this, ID_MAX_ADVANCE_PER_REVOLUTION)); AddLabelAndControl(sizerLeft, _("Orientation"),m_lgthorientation = new CLengthCtrl(this, ID_MAX_ADVANCE_PER_REVOLUTION)); // The following are for probe tools and should be hidden for all others AddLabelAndControl(sizerLeft, _("Probe Offset X"),m_dblProbeOffsetX = new CDoubleCtrl(this, ID_MAX_ADVANCE_PER_REVOLUTION)); AddLabelAndControl(sizerLeft, _("Probe Offset Y"),m_dblProbeOffsetY = new CDoubleCtrl(this, ID_MAX_ADVANCE_PER_REVOLUTION)); SetFromData(object); SetSizer( sizerMain ); sizerMain->SetSizeHints(this); sizerMain->Fit(this); m_cmbTitleType->SetFocus(); m_ignore_event_functions = false; SetPicture(); }