void BaseDialog::layoutSizers(wxSizer* controls, wxSizer* buttons, bool expandControls) { wxBoxSizer* sizerVert = new wxBoxSizer(wxVERTICAL); sizerVert->AddSpacer(styleguide().getDialogMargin(wxTOP)); if (controls) { sizerVert->Add(controls, expandControls ? 1 : 0, wxEXPAND); // make buttons align to bottom of dialog sizerVert->Add(0, styleguide().getDialogMargin(wxBOTTOM), expandControls ? 0 : 1, wxEXPAND); } sizerVert->Add(buttons, 0, wxEXPAND); sizerVert->AddSpacer(styleguide().getDialogMargin(wxBOTTOM)); wxBoxSizer* sizerHorz = new wxBoxSizer(wxHORIZONTAL); sizerHorz->AddSpacer(styleguide().getDialogMargin(wxLEFT)); sizerHorz->Add(sizerVert, 1, wxEXPAND); sizerHorz->AddSpacer(styleguide().getDialogMargin(wxRIGHT)); wxBoxSizer* sizerAll = new wxBoxSizer(wxHORIZONTAL); sizerAll->Add(sizerHorz, 1, wxEXPAND); panel_controls->SetSizer(sizerAll); sizerAll->Fit(this); sizerAll->SetSizeHints(this); }
void UserDialog::layoutControls() { int dx = styleguide().getUnrelatedControlMargin(wxHORIZONTAL) - styleguide().getControlLabelMargin(); if (dx < 0) dx = 0; // create sizer for controls wxGridBagSizer* controlsSizer = new wxGridBagSizer( styleguide().getRelatedControlMargin(wxVERTICAL), styleguide().getControlLabelMargin()); controlsSizer->Add(labelUserNameM, wxGBPosition(0, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); controlsSizer->Add(textUserNameM, wxGBPosition(0, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); controlsSizer->Add(labelFirstNameM, wxGBPosition(1, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); controlsSizer->Add(textFirstNameM, wxGBPosition(1, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); controlsSizer->Add(labelMiddleNameM, wxGBPosition(2, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); controlsSizer->Add(textMiddleNameM, wxGBPosition(2, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); controlsSizer->Add(labelLastNameM, wxGBPosition(3, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); controlsSizer->Add(textLastNameM, wxGBPosition(3, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); controlsSizer->Add(labelPasswordM, wxGBPosition(0, 2), wxDefaultSpan, wxLEFT | wxALIGN_CENTER_VERTICAL, dx); controlsSizer->Add(textPasswordM, wxGBPosition(0, 3), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); controlsSizer->Add(labelConfirmPasswordM, wxGBPosition(1, 2), wxDefaultSpan, wxLEFT | wxALIGN_CENTER_VERTICAL, dx); controlsSizer->Add(textConfirmPasswordM, wxGBPosition(1, 3), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); controlsSizer->Add(labelUserIdM, wxGBPosition(2, 2), wxDefaultSpan, wxLEFT | wxALIGN_CENTER_VERTICAL, dx); controlsSizer->Add(spinctrlUserIdM, wxGBPosition(2, 3), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); controlsSizer->Add(labelGroupIdM, wxGBPosition(3, 2), wxDefaultSpan, wxLEFT | wxALIGN_CENTER_VERTICAL, dx); controlsSizer->Add(spinctrlGroupIdM, wxGBPosition(3, 3), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); controlsSizer->AddGrowableCol(1); // create sizer for buttons -> styleguide class will align it correctly wxSizer* buttonSizer = styleguide().createButtonSizer(buttonOkM, buttonCancelM); // use method in base class to set everything up layoutSizers(controlsSizer, buttonSizer); }
void FindDialog::do_layout() { wxFlexGridSizer* sizerEdits = new wxFlexGridSizer(2, 2, styleguide().getRelatedControlMargin(wxVERTICAL), styleguide().getControlLabelMargin()); sizerEdits->Add(label_find, 0, wxALIGN_CENTER_VERTICAL); sizerEdits->Add(text_ctrl_find, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL); sizerEdits->Add(label_replace, 0, wxALIGN_CENTER_VERTICAL); sizerEdits->Add(text_ctrl_replace, 1, wxEXPAND|wxALIGN_CENTER_VERTICAL); sizerEdits->AddGrowableCol(1, 1); wxGridSizer* sizerChecks = new wxGridSizer(2, 2, styleguide().getCheckboxSpacing(), styleguide().getUnrelatedControlMargin(wxHORIZONTAL)); if (checkbox_wholeword) sizerChecks->Add(checkbox_wholeword); if (checkbox_matchcase) sizerChecks->Add(checkbox_matchcase); if (checkbox_regexp) sizerChecks->Add(checkbox_regexp); if (checkbox_convertbs) sizerChecks->Add(checkbox_convertbs); if (checkbox_wrap) sizerChecks->Add(checkbox_wrap); if (checkbox_fromtop) sizerChecks->Add(checkbox_fromtop); wxBoxSizer* sizerButtons = new wxBoxSizer(wxHORIZONTAL); sizerButtons->Add(0, 0, 1, wxEXPAND); sizerButtons->Add(button_find); sizerButtons->Add(styleguide().getBetweenButtonsMargin(wxHORIZONTAL), 0); sizerButtons->Add(button_replace); sizerButtons->Add(styleguide().getBetweenButtonsMargin(wxHORIZONTAL), 0); sizerButtons->Add(button_replace_all); sizerButtons->Add(styleguide().getBetweenButtonsMargin(wxHORIZONTAL), 0); sizerButtons->Add(button_replace_in_selection); sizerButtons->Add(styleguide().getBetweenButtonsMargin(wxHORIZONTAL), 0); sizerButtons->Add(button_close); wxBoxSizer* sizerControls = new wxBoxSizer(wxVERTICAL); sizerControls->Add(sizerEdits, 1, wxEXPAND); sizerControls->Add(0, styleguide().getUnrelatedControlMargin(wxVERTICAL)); sizerControls->Add(sizerChecks); // use method in base class to set everything up layoutSizers(sizerControls, sizerButtons); }
void ReorderFieldsDialog::layoutControls() { wxBoxSizer* sizerBtns1 = new wxBoxSizer(wxVERTICAL); sizerBtns1->Add(0, 0, 1, wxEXPAND); sizerBtns1->Add(button_first, 0, wxALIGN_CENTER_HORIZONTAL); sizerBtns1->Add(0, styleguide().getRelatedControlMargin(wxVERTICAL)); sizerBtns1->Add(button_up, 0, wxALIGN_CENTER_HORIZONTAL); sizerBtns1->Add(0, styleguide().getRelatedControlMargin(wxVERTICAL)); sizerBtns1->Add(button_down, 0, wxALIGN_CENTER_HORIZONTAL); sizerBtns1->Add(0, styleguide().getRelatedControlMargin(wxVERTICAL)); sizerBtns1->Add(button_last, 0, wxALIGN_CENTER_HORIZONTAL); sizerBtns1->Add(0, 0, 1, wxEXPAND); wxBoxSizer* sizerControls = new wxBoxSizer(wxHORIZONTAL); sizerControls->Add(list_box_fields, 1, wxALIGN_CENTER_VERTICAL|wxEXPAND); sizerControls->Add(styleguide().getUnrelatedControlMargin(wxHORIZONTAL), 0); sizerControls->Add(sizerBtns1, 0, wxEXPAND); // create sizer for buttons -> styleguide class will align it correctly wxSizer* sizerButtons = styleguide().createButtonSizer(button_ok, button_cancel); // use method in base class to set everything up layoutSizers(sizerControls, sizerButtons, true); }
void DatabaseRegistrationDialog::layoutControls() { // create sizer for controls wxGridBagSizer* sizerControls = new wxGridBagSizer(styleguide().getRelatedControlMargin(wxVERTICAL), styleguide().getControlLabelMargin()); sizerControls->Add(label_name, wxGBPosition(0, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); sizerControls->Add(text_ctrl_name, wxGBPosition(0, 1), wxGBSpan(1, 3), wxALIGN_CENTER_VERTICAL | wxEXPAND); sizerControls->Add(label_dbpath, wxGBPosition(1, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); wxBoxSizer* sizer_r1c1_3 = new wxBoxSizer(wxHORIZONTAL); sizer_r1c1_3->Add(text_ctrl_dbpath, 1, wxALIGN_CENTER_VERTICAL); sizer_r1c1_3->Add(button_browse, 0, wxLEFT | wxALIGN_CENTER_VERTICAL, styleguide().getBrowseButtonMargin()); sizerControls->Add(sizer_r1c1_3, wxGBPosition(1, 1), wxGBSpan(1, 3), wxEXPAND); sizerControls->Add(label_authentication, wxGBPosition(2, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); sizerControls->Add(choice_authentication, wxGBPosition(2, 1), wxGBSpan(1, 3), wxALIGN_CENTER_VERTICAL | wxEXPAND); int dx = styleguide().getUnrelatedControlMargin(wxHORIZONTAL) - styleguide().getControlLabelMargin(); if (dx < 0) dx = 0; sizerControls->Add(label_username, wxGBPosition(3, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); sizerControls->Add(text_ctrl_username, wxGBPosition(3, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); sizerControls->Add(label_password, wxGBPosition(3, 2), wxDefaultSpan, wxLEFT | wxALIGN_CENTER_VERTICAL, dx); sizerControls->Add(text_ctrl_password, wxGBPosition(3, 3), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); sizerControls->Add(label_charset, wxGBPosition(4, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); sizerControls->Add(combobox_charset, wxGBPosition(4, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); sizerControls->Add(label_role, wxGBPosition(4, 2), wxDefaultSpan, wxLEFT | wxALIGN_CENTER_VERTICAL, dx); sizerControls->Add(text_ctrl_role, wxGBPosition(4, 3), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); if (createM) { sizerControls->Add(label_pagesize, wxGBPosition(5, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); sizerControls->Add(choice_pagesize, wxGBPosition(5, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); sizerControls->Add(label_dialect, wxGBPosition(5, 2), wxDefaultSpan, wxLEFT | wxALIGN_CENTER_VERTICAL, dx); sizerControls->Add(choice_dialect, wxGBPosition(5, 3), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); } sizerControls->AddGrowableCol(1); sizerControls->AddGrowableCol(3); // create sizer for buttons -> styleguide class will align it correctly wxSizer* sizerButtons = styleguide().createButtonSizer(button_ok, button_cancel); // use method in base class to set everything up layoutSizers(sizerControls, sizerButtons); }
void EventWatcherFrame::layoutControls() { wxBoxSizer* sizerList = new wxBoxSizer(wxVERTICAL); sizerList->Add(static_text_monitored); sizerList->AddSpacer(styleguide().getControlLabelMargin()); sizerList->Add(listbox_monitored, 1, wxEXPAND); wxBoxSizer* sizerLog = new wxBoxSizer(wxVERTICAL); sizerLog->Add(static_text_received); sizerLog->AddSpacer(styleguide().getControlLabelMargin()); sizerLog->Add(eventlog_received, 1, wxEXPAND); wxBoxSizer* sizerTop = new wxBoxSizer(wxHORIZONTAL); sizerTop->Add(sizerList, 2, wxEXPAND); sizerTop->AddSpacer(styleguide().getUnrelatedControlMargin(wxHORIZONTAL)); sizerTop->Add(sizerLog, 3, wxEXPAND); wxBoxSizer* sizerButtons = new wxBoxSizer(wxHORIZONTAL); sizerButtons->Add(button_add); sizerButtons->AddSpacer(styleguide().getBetweenButtonsMargin(wxHORIZONTAL)); sizerButtons->Add(button_remove); sizerButtons->AddSpacer(styleguide().getUnrelatedControlMargin(wxHORIZONTAL)); sizerButtons->Add(button_load); sizerButtons->AddSpacer(styleguide().getBetweenButtonsMargin(wxHORIZONTAL)); sizerButtons->Add(button_save); sizerButtons->Add(styleguide().getUnrelatedControlMargin(wxHORIZONTAL), 0, 1, wxEXPAND); sizerButtons->Add(button_monitor); wxBoxSizer* sizerPanelV = new wxBoxSizer(wxVERTICAL); sizerPanelV->AddSpacer(styleguide().getFrameMargin(wxTOP)); sizerPanelV->Add(sizerTop, 1, wxEXPAND); sizerPanelV->AddSpacer(styleguide().getUnrelatedControlMargin(wxVERTICAL)); sizerPanelV->Add(sizerButtons, 0, wxEXPAND); sizerPanelV->AddSpacer(styleguide().getFrameMargin(wxBOTTOM)); wxBoxSizer* sizerPanelH = new wxBoxSizer(wxHORIZONTAL); sizerPanelH->AddSpacer(styleguide().getFrameMargin(wxLEFT)); sizerPanelH->Add(sizerPanelV, 1, wxEXPAND); sizerPanelH->AddSpacer(styleguide().getFrameMargin(wxRIGHT)); wxBoxSizer* sizerAll = new wxBoxSizer(wxHORIZONTAL); sizerAll->Add(sizerPanelH, 1, wxEXPAND); panel_controls->SetSizer(sizerAll); sizerAll->Fit(this); sizerAll->SetSizeHints(this); }
void FieldPropertiesDialog::layoutControls() { // create sizer for controls wxGridBagSizer* sizerTop = new wxGridBagSizer(styleguide().getRelatedControlMargin(wxVERTICAL), styleguide().getControlLabelMargin()); sizerTop->Add(label_fieldname, wxGBPosition(0, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); sizerTop->Add(textctrl_fieldname, wxGBPosition(0, 1), wxGBSpan(1, 5), wxALIGN_CENTER_VERTICAL | wxEXPAND); sizerTop->Add(label_domain, wxGBPosition(1, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); wxBoxSizer* sizerDomain = new wxBoxSizer(wxHORIZONTAL); sizerDomain->Add(choice_domain, 1, wxEXPAND); sizerDomain->Add(styleguide().getBrowseButtonMargin(), 0); sizerDomain->Add(button_edit_domain); sizerTop->Add(sizerDomain, wxGBPosition(1, 1), wxGBSpan(1, 5), wxALIGN_CENTER_VERTICAL | wxEXPAND); int dx = styleguide().getUnrelatedControlMargin(wxHORIZONTAL) - styleguide().getControlLabelMargin(); if (dx < 0) dx = 0; sizerTop->Add(label_datatype, wxGBPosition(2, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); sizerTop->Add(choice_datatype, wxGBPosition(2, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); sizerTop->Add(label_size, wxGBPosition(2, 2), wxDefaultSpan, wxLEFT | wxALIGN_CENTER_VERTICAL, dx); sizerTop->Add(textctrl_size, wxGBPosition(2, 3), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); sizerTop->Add(label_scale, wxGBPosition(2, 4), wxDefaultSpan, wxLEFT | wxALIGN_CENTER_VERTICAL, dx); sizerTop->Add(textctrl_scale, wxGBPosition(2, 5), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); sizerTop->Add(label_charset, wxGBPosition(3, 2), wxDefaultSpan, wxLEFT | wxALIGN_CENTER_VERTICAL, dx); sizerTop->Add(choice_charset, wxGBPosition(3, 3), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); sizerTop->Add(label_collate, wxGBPosition(3, 4), wxDefaultSpan, wxLEFT | wxALIGN_CENTER_VERTICAL, dx); sizerTop->Add(choice_collate, wxGBPosition(3, 5), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); sizerTop->AddGrowableCol(1); sizerTop->AddGrowableCol(3); sizerTop->AddGrowableCol(5); wxGridBagSizer* sizerGenerator = new wxGridBagSizer( styleguide().getRelatedControlMargin(wxHORIZONTAL), styleguide().getRelatedControlMargin(wxVERTICAL)); sizerGenerator->Add(radio_generator_new, wxGBPosition(0, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); sizerGenerator->Add(textctrl_generator_name, wxGBPosition(0, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); sizerGenerator->Add(radio_generator_existing, wxGBPosition(1, 0), wxDefaultSpan, wxALIGN_CENTER_VERTICAL); sizerGenerator->Add(choice_generator, wxGBPosition(1, 1), wxDefaultSpan, wxALIGN_CENTER_VERTICAL | wxEXPAND); sizerGenerator->AddGrowableCol(1); // stack everything vertically wxBoxSizer* sizerControls = new wxBoxSizer(wxVERTICAL); sizerControls->Add(sizerTop, 0, wxEXPAND); sizerControls->Add(0, styleguide().getUnrelatedControlMargin(wxVERTICAL)); sizerControls->Add(checkbox_notnull); sizerControls->Add(0, styleguide().getUnrelatedControlMargin(wxVERTICAL)); sizerControls->Add(static_line_autoinc, 0, wxEXPAND); sizerControls->Add(0, styleguide().getRelatedControlMargin(wxVERTICAL)); sizerControls->Add(label_autoinc); sizerControls->Add(0, styleguide().getRelatedControlMargin(wxVERTICAL)); sizerControls->Add(sizerGenerator, 0, wxEXPAND); sizerControls->Add(0, styleguide().getUnrelatedControlMargin(wxVERTICAL)); sizerControls->Add(checkbox_trigger); sizerControls->Add(0, styleguide().getRelatedControlMargin(wxVERTICAL)); sizerControls->Add(textctrl_sql, 1, wxEXPAND); // create sizer for buttons -> styleguide class will align it correctly wxSizer* sizerButtons = styleguide().createButtonSizer(button_ok, button_cancel); // use method in base class to set everything up layoutSizers(sizerControls, sizerButtons, true); }
StatementHistoryDialog::StatementHistoryDialog(wxWindow *parent, StatementHistory *history, const wxString& title) :BaseDialog(parent, -1, title), historyM(history), isSearchingM(false) { wxBoxSizer *innerSizer = new wxBoxSizer(wxVERTICAL); wxBoxSizer *topSizer = new wxBoxSizer(wxHORIZONTAL); m_staticText2 = new wxStaticText(getControlsPanel(), wxID_ANY, _("Search for:"), wxDefaultPosition, wxDefaultSize, 0); topSizer->Add(m_staticText2, 0, wxALIGN_CENTER_VERTICAL|wxRIGHT, styleguide().getControlLabelMargin()); textctrl_search = new wxTextCtrl(getControlsPanel(), wxID_ANY, ""); button_search = new wxButton(getControlsPanel(), ID_button_search, _("&Search")); button_delete = new wxButton(getControlsPanel(), ID_button_delete, _("&Delete Selected"), wxDefaultPosition, wxDefaultSize, 0); topSizer->Add(textctrl_search, 1, wxRIGHT|wxALIGN_CENTER_VERTICAL, styleguide().getRelatedControlMargin(wxHORIZONTAL)); topSizer->Add(button_search, 0, wxRIGHT|wxALIGN_CENTER_VERTICAL, styleguide().getUnrelatedControlMargin(wxHORIZONTAL)); topSizer->Add(button_delete, 0, wxALIGN_CENTER_VERTICAL, 0); innerSizer->Add(topSizer, 0, wxEXPAND, 5); int gaugeHeight = wxSystemSettings::GetMetric(wxSYS_HSCROLL_Y); gauge_progress = new wxGauge(getControlsPanel(), wxID_ANY, 100, wxDefaultPosition, wxSize(100, gaugeHeight), wxGA_HORIZONTAL | wxGA_SMOOTH); innerSizer->Add(gauge_progress, 0, wxTOP|wxEXPAND, styleguide().getRelatedControlMargin(wxVERTICAL)); mainSplitter = new wxSplitterWindow( getControlsPanel(), wxID_ANY, wxDefaultPosition, wxDefaultSize, wxSP_3D ); leftSplitterPanel = new wxPanel( mainSplitter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxBoxSizer* leftSplitterSizer = new wxBoxSizer( wxVERTICAL ); leftSplitterPanel->SetSizer( leftSplitterSizer ); rightSplitterPanel = new wxPanel( mainSplitter, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL ); wxBoxSizer* rightSplitterSizer = new wxBoxSizer( wxVERTICAL ); rightSplitterPanel->SetSizer( rightSplitterSizer ); mainSplitter->SplitVertically( leftSplitterPanel, rightSplitterPanel, 0 ); listbox_search = new wxListBox(leftSplitterPanel, ID_listbox_search, wxDefaultPosition, wxDefaultSize, 0, NULL, wxLB_MULTIPLE); leftSplitterSizer->Add(listbox_search, 1, wxTOP|wxEXPAND, styleguide().getRelatedControlMargin(wxVERTICAL)); dateTimeTextM = new wxStaticText(leftSplitterPanel, wxID_ANY, _("Date and time of selected item"), wxDefaultPosition, wxDefaultSize, 0); leftSplitterSizer->Add(dateTimeTextM, 0, wxTOP|wxEXPAND, styleguide().getRelatedControlMargin(wxVERTICAL)); textctrl_statement = new wxStyledTextCtrl(rightSplitterPanel, wxID_ANY, wxDefaultPosition, wxDefaultSize, wxBORDER_THEME); textctrl_statement->SetWrapMode(wxSTC_WRAP_WORD); textctrl_statement->SetMarginWidth(1, 0); // turn off the folding margin textctrl_statement->StyleSetForeground(1, *wxWHITE); textctrl_statement->StyleSetBackground(1, *wxRED); textctrl_statement->SetText(_("Selected SQL statement")); rightSplitterSizer->Add(textctrl_statement, 1, wxTOP|wxEXPAND, styleguide().getRelatedControlMargin(wxVERTICAL)); leftSplitterPanel->Layout(); leftSplitterSizer->Fit( leftSplitterPanel ); rightSplitterPanel->Layout(); rightSplitterSizer->Fit( rightSplitterPanel ); innerSizer->Add( mainSplitter, 1, wxEXPAND, 0 ); button_copy = new wxButton(getControlsPanel(), ID_button_copy, _("C&opy Selection To Editor"), wxDefaultPosition, wxDefaultSize, 0); button_cancel = new wxButton(getControlsPanel(), wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0); wxSizer* sizerButtons = styleguide().createButtonSizer( button_copy, button_cancel); // use method in base class to set everything up layoutSizers(innerSizer, sizerButtons, true); // TODO: size(32, 32) missing for HISTORY icon #include "history.xpm" wxBitmap bmp = wxBitmap(history_xpm); wxIcon icon; icon.CopyFromBitmap(bmp); SetIcon(icon); button_search->SetDefault(); button_copy->Enable(false); button_delete->Enable(false); textctrl_search->SetFocus(); // center on parent SetSize(620, 400); Centre(); }
void RestoreFrame::layoutControls() { int wh = text_ctrl_filename->GetMinHeight(); button_browse->SetSize(wh, wh); std::list<wxWindow*> controls; controls.push_back(label_filename); controls.push_back(label_pagesize); adjustControlsMinWidth(controls); controls.clear(); wxBoxSizer* sizerFilename = new wxBoxSizer(wxHORIZONTAL); sizerFilename->Add(label_filename, 0, wxALIGN_CENTER_VERTICAL); sizerFilename->Add(styleguide().getControlLabelMargin(), 0); sizerFilename->Add(text_ctrl_filename, 1, wxALIGN_CENTER_VERTICAL); sizerFilename->Add(styleguide().getBrowseButtonMargin(), 0); sizerFilename->Add(button_browse, 0, wxALIGN_CENTER_VERTICAL); wxGridSizer* sizerChecks = new wxGridSizer(3, 2, styleguide().getCheckboxSpacing(), styleguide().getUnrelatedControlMargin(wxHORIZONTAL)); sizerChecks->Add(checkbox_replace, 0, wxEXPAND); sizerChecks->Add(checkbox_deactivate, 0, wxEXPAND); sizerChecks->Add(checkbox_noshadow, 0, wxEXPAND); sizerChecks->Add(checkbox_validity, 0, wxEXPAND); sizerChecks->Add(checkbox_commit, 0, wxEXPAND); sizerChecks->Add(checkbox_space, 0, wxEXPAND); wxBoxSizer* sizerCombo = new wxBoxSizer(wxHORIZONTAL); sizerCombo->Add(label_pagesize, 0, wxALIGN_CENTER_VERTICAL); sizerCombo->Add(styleguide().getControlLabelMargin(), 0); sizerCombo->Add(choice_pagesize, 1, wxEXPAND); wxBoxSizer* sizerButtons = new wxBoxSizer(wxHORIZONTAL); sizerButtons->Add(checkbox_showlog, 0, wxALIGN_CENTER_VERTICAL); sizerButtons->Add(0, 0, 1, wxEXPAND); sizerButtons->Add(button_start); wxBoxSizer* sizerPanelV = new wxBoxSizer(wxVERTICAL); sizerPanelV->Add(0, styleguide().getFrameMargin(wxTOP)); sizerPanelV->Add(sizerFilename, 0, wxEXPAND); sizerPanelV->Add(0, styleguide().getRelatedControlMargin(wxVERTICAL)); sizerPanelV->Add(sizerChecks); sizerPanelV->Add(0, styleguide().getRelatedControlMargin(wxVERTICAL)); sizerPanelV->Add(sizerCombo); sizerPanelV->Add(0, styleguide().getUnrelatedControlMargin(wxVERTICAL)); sizerPanelV->Add(sizerButtons, 0, wxEXPAND); sizerPanelV->Add(0, styleguide().getRelatedControlMargin(wxVERTICAL)); wxBoxSizer* sizerPanelH = new wxBoxSizer(wxHORIZONTAL); sizerPanelH->Add(styleguide().getFrameMargin(wxLEFT), 0); sizerPanelH->Add(sizerPanelV, 1, wxEXPAND); sizerPanelH->Add(styleguide().getFrameMargin(wxRIGHT), 0); panel_controls->SetSizerAndFit(sizerPanelH); wxBoxSizer* sizerMain = new wxBoxSizer(wxVERTICAL); sizerMain->Add(panel_controls, 0, wxEXPAND); sizerMain->Add(text_ctrl_log, 1, wxEXPAND); // show at least 3 lines of text since it is default size too sizerMain->SetItemMinSize(text_ctrl_log, -1, 3 * text_ctrl_filename->GetSize().GetHeight()); SetSizerAndFit(sizerMain); }