CDialogWarnHistory::CDialogWarnHistory( wxWindow *parent, wxWindowID id) : wxDialog(parent,id,wxString(_T("Warning"))) { wxStaticText *pWarning = new wxStaticText( this,wxID_ANY,_T("Warning!")); wxStaticText *pHistory = new wxStaticText(this,wxID_ANY,_T( "The history setting is not set to \"current.\"\n" "Any changes will be reflected when saving the file\n" "but will not appear on the screen until the history\n" "setting is changed to \"current.\"\n\n" "Do you wish to continue?" ), wxDefaultPosition, wxDefaultSize, wxALIGN_LEFT ); mainApp::SetBoldFont(pWarning); wxSizer *pButtons = CreateButtonSizer(wxYES | wxNO); m_pCheckBox = new wxCheckBox(this,wxID_ANY,_T(" Don't show this window again")); m_pButtonNO = NULL; wxBoxSizer *pSizer = new wxBoxSizer(wxVERTICAL); pSizer->Add(pWarning, 0, (wxALL ^ wxBOTTOM) | wxALIGN_CENTRE_HORIZONTAL, ID_BORDER); pSizer->Add(pHistory, 0, (wxALL ^ wxTOP) | wxALIGN_CENTRE_HORIZONTAL, ID_BORDER); pSizer->Add(pButtons, 0,wxALL | wxALIGN_CENTRE_HORIZONTAL,ID_BORDER); pSizer->Add(m_pCheckBox,0,wxALIGN_LEFT | wxALL, ID_BORDER); SetSizer(pSizer); Layout(); Fit(); CentreOnParent(); SetEscapeId(wxID_NO); SetAffirmativeId(wxID_YES); }
/// @brief DOCME /// @param parent /// @param _local_manager /// DialogAutomation::DialogAutomation(wxWindow *parent, Automation4::ScriptManager *_local_manager) : wxDialog(parent, -1, _("Automation Manager"), wxDefaultPosition, wxDefaultSize) { // Set icon SetIcon(BitmapToIcon(GETIMAGE(automation_toolbutton_24))); local_manager = _local_manager; global_manager = wxGetApp().global_scripts; // create main controls list = new wxListView(this, Automation_List_Box, wxDefaultPosition, wxSize(600, 175), wxLC_REPORT|wxLC_SINGLE_SEL); add_button = new wxButton(this, Automation_Add_Script, _("&Add")); remove_button = new wxButton(this, Automation_Remove_Script, _("&Remove")); reload_button = new wxButton(this, Automation_Reload_Script, _("Re&load")); info_button = new wxButton(this, Automation_Show_Info, _("Show &Info")); reload_autoload_button = new wxButton(this, Automation_Reload_Autoload, _("Re&scan Autoload Dir")); close_button = new wxButton(this, wxID_CANCEL, _("&Close")); // add headers to list view list->InsertColumn(0, _T(""), wxLIST_FORMAT_CENTER, 20); list->InsertColumn(1, _("Name"), wxLIST_FORMAT_LEFT, 140); list->InsertColumn(2, _("Filename"), wxLIST_FORMAT_LEFT, 90); list->InsertColumn(3, _("Description"), wxLIST_FORMAT_LEFT, 330); // button layout wxSizer *button_box = new wxBoxSizer(wxHORIZONTAL); button_box->AddStretchSpacer(2); button_box->Add(add_button, 0); button_box->Add(remove_button, 0); button_box->AddSpacer(10); button_box->Add(reload_button, 0); button_box->Add(info_button, 0); button_box->AddSpacer(10); button_box->Add(reload_autoload_button, 0); button_box->AddSpacer(10); button_box->Add(new HelpButton(this,_T("Automation Manager")), 0); button_box->Add(close_button, 0); button_box->AddStretchSpacer(2); // main layout wxSizer *main_box = new wxBoxSizer(wxVERTICAL); main_box->Add(list, 1, wxEXPAND|wxALL, 5); main_box->Add(button_box, 0, wxEXPAND|(wxALL&~wxTOP), 5); main_box->SetSizeHints(this); SetSizer(main_box); Center(); // why doesn't this work... the button gets the "default" decoration but doesn't answer to Enter // ("esc" does work) SetDefaultItem(close_button); SetAffirmativeId(wxID_CANCEL); close_button->SetDefault(); RebuildList(); UpdateDisplay(); }
CDialogReallyQuit::CDialogReallyQuit(wxWindow *parent) : wxDialog(parent,wxID_ANY,wxString(_T("OSIRIS"))) { wxString sText(_T("Do you want to " QUIT_TEXT " OSIRIS?")); wxStaticText *pText = new wxStaticText(this,wxID_ANY,sText); wxFont fn(pText->GetFont()); fn.SetPointSize(fn.GetPointSize() + 2); fn.SetWeight(wxFONTWEIGHT_BOLD); pText->SetFont(fn); wxSizer *pButtons = CreateButtonSizer(wxYES | wxNO | wxNO_DEFAULT); m_pCheckBox = new wxCheckBox(this,wxID_ANY,_T(" Don't show this window again")); wxBoxSizer *pSizer = new wxBoxSizer(wxVERTICAL); pSizer->Add(pText,0,wxALL | wxALIGN_CENTRE,ID_BORDER << 1); pSizer->Add(pButtons,0,(wxALL ^ wxTOP) | wxALIGN_CENTRE,ID_BORDER); pSizer->Add(m_pCheckBox,0,wxALIGN_LEFT | wxALL, ID_BORDER); SetSizer(pSizer); Layout(); Fit(); CentreOnParent(); SetEscapeId(wxID_NO); SetAffirmativeId(wxID_NO); }
void wxCheatsWindow::Init_ChildControls() { // Main Notebook m_notebook_main = new wxNotebook(this, wxID_ANY); // --- Tabs --- // Cheats List Tab m_tab_cheats = new wxPanel(m_notebook_main, wxID_ANY); m_checklistbox_cheats_list = new wxCheckListBox(m_tab_cheats, wxID_ANY, wxDefaultPosition, wxSize(300, 0), 0, nullptr, wxLB_HSCROLL); m_checklistbox_cheats_list->Bind(wxEVT_LISTBOX, &wxCheatsWindow::OnEvent_CheatsList_ItemSelected, this); m_label_code_name = new wxStaticText(m_tab_cheats, wxID_ANY, _("Name: "), wxDefaultPosition, wxDefaultSize, wxST_NO_AUTORESIZE); m_groupbox_info = new wxStaticBox(m_tab_cheats, wxID_ANY, _("Code Info")); m_label_num_codes = new wxStaticText(m_tab_cheats, wxID_ANY, _("Number Of Codes: ")); m_listbox_codes_list = new wxListBox(m_tab_cheats, wxID_ANY, wxDefaultPosition, wxSize(120, 150), 0, nullptr, wxLB_HSCROLL); wxStaticBoxSizer* sGroupBoxInfo = new wxStaticBoxSizer(m_groupbox_info, wxVERTICAL); sGroupBoxInfo->Add(m_label_code_name, 0, wxEXPAND | wxALL, 5); sGroupBoxInfo->Add(m_label_num_codes, 0, wxALL, 5); sGroupBoxInfo->Add(m_listbox_codes_list, 1, wxALL, 5); wxBoxSizer* sizer_tab_cheats = new wxBoxSizer(wxHORIZONTAL); sizer_tab_cheats->Add(m_checklistbox_cheats_list, 1, wxEXPAND | wxTOP | wxBOTTOM | wxLEFT, 10); sizer_tab_cheats->Add(sGroupBoxInfo, 0, wxALIGN_LEFT | wxEXPAND | wxALL, 5); m_tab_cheats->SetSizerAndFit(sizer_tab_cheats); // Cheat Search Tab wxPanel* const tab_cheat_search = new CheatSearchTab(m_notebook_main); // Log Tab m_tab_log = new wxPanel(m_notebook_main, wxID_ANY); wxButton* const button_updatelog = new wxButton(m_tab_log, wxID_ANY, _("Update")); button_updatelog->Bind(wxEVT_BUTTON, &wxCheatsWindow::OnEvent_ButtonUpdateLog_Press, this); wxButton* const button_clearlog = new wxButton(m_tab_log, wxID_ANY, _("Clear")); button_clearlog->Bind(wxEVT_BUTTON, &wxCheatsWindow::OnClearActionReplayLog, this); m_checkbox_log_ar = new wxCheckBox(m_tab_log, wxID_ANY, _("Enable AR Logging")); m_checkbox_log_ar->Bind(wxEVT_CHECKBOX, &wxCheatsWindow::OnEvent_CheckBoxEnableLogging_StateChange, this); m_checkbox_log_ar->SetValue(ActionReplay::IsSelfLogging()); m_textctrl_log = new wxTextCtrl(m_tab_log, wxID_ANY, "", wxDefaultPosition, wxSize(100, -1), wxTE_MULTILINE | wxTE_READONLY | wxTE_DONTWRAP); wxBoxSizer *HStrip1 = new wxBoxSizer(wxHORIZONTAL); HStrip1->Add(m_checkbox_log_ar, 0, wxALL | wxALIGN_CENTER_VERTICAL, 5); HStrip1->Add(button_updatelog, 0, wxALL, 5); HStrip1->Add(button_clearlog, 0, wxALL, 5); wxBoxSizer *sTabLog = new wxBoxSizer(wxVERTICAL); sTabLog->Add(HStrip1, 0, wxALL, 5); sTabLog->Add(m_textctrl_log, 1, wxALL | wxEXPAND, 5); m_tab_log->SetSizerAndFit(sTabLog); // Add Tabs to Notebook m_notebook_main->AddPage(m_tab_cheats, _("AR Codes")); m_geckocode_panel = new Gecko::CodeConfigPanel(m_notebook_main); m_notebook_main->AddPage(m_geckocode_panel, _("Gecko Codes")); m_notebook_main->AddPage(tab_cheat_search, _("Cheat Search")); m_notebook_main->AddPage(m_tab_log, _("Logging")); Bind(wxEVT_BUTTON, &wxCheatsWindow::OnEvent_ApplyChanges_Press, this, wxID_APPLY); Bind(wxEVT_BUTTON, &wxCheatsWindow::OnEvent_ButtonClose_Press, this, wxID_CANCEL); Bind(wxEVT_CLOSE_WINDOW, &wxCheatsWindow::OnEvent_Close, this); Bind(DOLPHIN_EVT_ADD_NEW_ACTION_REPLAY_CODE, &wxCheatsWindow::OnNewARCodeCreated, this); wxStdDialogButtonSizer* const sButtons = CreateStdDialogButtonSizer(wxAPPLY | wxCANCEL); m_button_apply = sButtons->GetApplyButton(); SetEscapeId(wxID_CANCEL); SetAffirmativeId(wxID_CANCEL); wxBoxSizer* const sMain = new wxBoxSizer(wxVERTICAL); sMain->Add(m_notebook_main, 1, wxEXPAND | wxALL, 5); sMain->Add(sButtons, 0, wxRIGHT | wxBOTTOM | wxALIGN_RIGHT, 5); SetSizerAndFit(sMain); }
wxStdDialogButtonSizer *wxDialogBase::CreateStdDialogButtonSizer( long flags ) { wxStdDialogButtonSizer *sizer = new wxStdDialogButtonSizer(); wxButton *ok = NULL; wxButton *yes = NULL; wxButton *no = NULL; if (flags & wxOK) { ok = new wxButton(this, wxID_OK); sizer->AddButton(ok); } if (flags & wxCANCEL) { wxButton *cancel = new wxButton(this, wxID_CANCEL); sizer->AddButton(cancel); } if (flags & wxYES) { yes = new wxButton(this, wxID_YES); sizer->AddButton(yes); } if (flags & wxNO) { no = new wxButton(this, wxID_NO); sizer->AddButton(no); } if (flags & wxAPPLY) { wxButton *apply = new wxButton(this, wxID_APPLY); sizer->AddButton(apply); } if (flags & wxCLOSE) { wxButton *close = new wxButton(this, wxID_CLOSE); sizer->AddButton(close); } if (flags & wxHELP) { wxButton *help = new wxButton(this, wxID_HELP); sizer->AddButton(help); } if (flags & wxNO_DEFAULT) { if (no) { no->SetDefault(); no->SetFocus(); } } else { if (ok) { ok->SetDefault(); ok->SetFocus(); } else if (yes) { yes->SetDefault(); yes->SetFocus(); } } if (flags & wxOK) SetAffirmativeId(wxID_OK); else if (flags & wxYES) SetAffirmativeId(wxID_YES); else if (flags & wxCLOSE) SetAffirmativeId(wxID_CLOSE); sizer->Realize(); return sizer; }
bool FortyAboutDialog::AddControls(wxWindow* parent) { #if wxUSE_HTML wxString htmlText; wxString htmlFile = wxGetApp().GetHelpFile(); { wxTextFile file(htmlFile); if (file.Exists()) { file.Open(); for ( htmlText = file.GetFirstLine(); !file.Eof(); htmlText << file.GetNextLine() << wxT("\n") ) ; } } if (htmlText.empty()) { htmlText.Printf(wxT("<html><head><title>Warning</title></head><body><P>Sorry, could not find resource for About dialog<P></body></html>")); } // Customize the HTML htmlText.Replace(wxT("$DATE$"), wxT(__DATE__)); wxSize htmlSize(400, 290); // Note: in later versions of wxWin this will be fixed so wxRAISED_BORDER // does the right thing. Meanwhile, this is a workaround. #ifdef __WXMSW__ long borderStyle = wxDOUBLE_BORDER; #else long borderStyle = wxRAISED_BORDER; #endif wxHtmlWindow* html = new wxHtmlWindow(this, ID_ABOUT_HTML_WINDOW, wxDefaultPosition, htmlSize, borderStyle); html -> SetBorders(10); html -> SetPage(htmlText); //// Start of sizer-based control creation wxSizer *item0 = new wxBoxSizer( wxVERTICAL ); wxWindow *item1 = parent->FindWindow( ID_ABOUT_HTML_WINDOW ); wxASSERT( item1 ); item0->Add( item1, 0, wxALIGN_CENTRE|wxALL, 5 ); wxButton *item2 = new wxButton( parent, wxID_CLOSE ); item2->SetDefault(); item2->SetFocus(); SetAffirmativeId(wxID_CLOSE); item0->Add( item2, 0, wxALIGN_RIGHT|wxALL, 5 ); parent->SetSizer( item0 ); parent->Layout(); item0->Fit( parent ); item0->SetSizeHints( parent ); #endif return true; }
FbExportDlg::FbExportDlg( wxWindow* parent, const wxString & selections, int author) : FbDialog( parent, wxID_ANY, _("Export to external storage"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER ), m_selections(selections), m_author(author), m_struct(NULL), m_checkAuthor(NULL) { SetSizeHints( wxDefaultSize, wxDefaultSize ); wxBoxSizer * bSizerMain = new wxBoxSizer( wxVERTICAL ); wxFlexGridSizer * fgSizerTop = new wxFlexGridSizer( 2, 2, 0, 0 ); fgSizerTop->AddGrowableCol( 1 ); fgSizerTop->SetFlexibleDirection( wxBOTH ); fgSizerTop->SetNonFlexibleGrowMode( wxFLEX_GROWMODE_SPECIFIED ); wxStaticText * folder_info = new wxStaticText( this, wxID_ANY, _("Destination folder:")); folder_info->Wrap( -1 ); fgSizerTop->Add( folder_info, 0, wxTOP|wxLEFT|wxBOTTOM|wxALIGN_CENTER_VERTICAL, 5 ); m_folder = new FbCustomCombo(this, ID_DIR_TXT); m_folder->SetMinSize( wxSize( 300,-1 ) ); fgSizerTop->Add( m_folder, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 ); wxStaticText * format_info = new wxStaticText( this, wxID_ANY, _("Exported structure:")); format_info->Wrap( -1 ); fgSizerTop->Add( format_info, 0, wxTOP|wxLEFT|wxBOTTOM|wxALIGN_CENTER_VERTICAL, 5 ); wxString structure = FbParams(FB_FOLDER_FORMAT).Str(); m_struct = new wxComboBox( this, ID_STRUCT, structure, wxDefaultPosition, wxDefaultSize, 0, NULL, 0 ); m_folder->SetMinSize( wxSize( 300,-1 ) ); m_struct->Append( wxT("%a/%f/%s/%n %t") ); m_struct->Append( wxT("%a/%f/%t") ); m_struct->Append( wxT("%f/%s/%n %t") ); m_struct->Append( wxT("%f/%s/%t") ); m_struct->Append( wxT("%f/%m") ); fgSizerTop->Add( m_struct, 0, wxALL|wxEXPAND|wxALIGN_CENTER_VERTICAL, 5 ); bSizerMain->Add( fgSizerTop, 0, wxEXPAND, 5 ); wxBoxSizer * bSizerTrans = new wxBoxSizer( wxHORIZONTAL ); m_transDir = new wxCheckBox( this, ID_DIR, _("Transliterate folder name")); bSizerTrans->Add( m_transDir, 1, wxALL|wxEXPAND, 5 ); m_transFile = new wxCheckBox( this, ID_FILE, _("Transliterate filename")); bSizerTrans->Add( m_transFile, 1, wxALL|wxEXPAND, 5 ); bSizerMain->Add( bSizerTrans, 0, wxEXPAND, 5 ); if (author) { m_checkAuthor = new wxCheckBox( this, ID_AUTHOR, _("Use Author (without co-Authors)")); bSizerMain->Add( m_checkAuthor, 0, wxALL, 5 ); m_checkAuthor->SetValue(1); } m_books = new FbTreeViewCtrl( this, ID_BOOKS, wxDefaultPosition, wxDefaultSize, wxBORDER_SUNKEN | fbTR_VRULES); m_books->SetMinSize( wxSize( -1,250 ) ); m_books->AddColumn (0, _("File name"), -10, wxALIGN_LEFT); m_books->AddColumn (1, _("Size, Kb"), 6, wxALIGN_RIGHT); bSizerMain->Add( m_books, 1, wxALL|wxEXPAND, 5 ); wxBoxSizer* bSizerFormat; bSizerFormat = new wxBoxSizer( wxHORIZONTAL ); wxStaticText * m_staticTextFormat = new wxStaticText( this, wxID_ANY, _("Export As...")); m_staticTextFormat->Wrap( -1 ); bSizerFormat->Add( m_staticTextFormat, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); m_format = new FbChoiceInt( this, ID_FORMAT, wxDefaultPosition, wxDefaultSize); bSizerFormat->Add( m_format, 1, wxALL|wxALIGN_CENTER_VERTICAL, 5 ); bSizerMain->Add( bSizerFormat, 0, wxEXPAND, 5 ); m_folder->SetValue( FbParamItem::GetPath(FB_EXTERNAL_DIR) ); m_transDir->SetValue( FbParams(FB_TRANSLIT_FOLDER) ); m_transFile->SetValue( FbParams(FB_TRANSLIT_FILE) ); wxStdDialogButtonSizer * sdbSizerBtn = CreateStdDialogButtonSizer( wxOK | wxCANCEL ); bSizerMain->Add( sdbSizerBtn, 0, wxEXPAND|wxBOTTOM|wxLEFT|wxRIGHT, 5 ); this->SetSizer( bSizerMain ); this->Layout(); bSizerMain->Fit( this ); SetAffirmativeId(wxID_OK); SetEscapeId(wxID_CANCEL); LoadFormats(); m_books->AssignModel(CreateModel(author, structure)); }
void MapPropertiesDialog::Create(wxWindow* parent, Model::MapDocument& document) { wxDialog::Create(parent, wxID_ANY, wxT("Map Properties")); m_document = &document; const int width = 330; wxStaticBox* modBox = new wxStaticBox(this, wxID_ANY, wxT("Entity Definitions")); wxStaticText* defText = new wxStaticText(modBox, wxID_ANY, wxT("Select an entity definition file for this map.")); #if defined __APPLE__ defText->SetFont(*wxSMALL_FONT); #endif defText->Wrap(width); m_defChoice = new wxChoice(modBox, CommandIds::MapPropertiesDialog::DefChoiceId); wxStaticText* modText = new wxStaticText(modBox, wxID_ANY, wxT("Select a subdirectory within your Quake directory to search for entity models. ID1 is always searched in addition to the selected subdirectory.")); #if defined __APPLE__ modText->SetFont(*wxSMALL_FONT); #endif modText->Wrap(width); m_modChoice = new wxChoice(modBox, CommandIds::MapPropertiesDialog::ModChoiceId); wxSizer* modBoxSizer = new wxBoxSizer(wxVERTICAL); modBoxSizer->AddSpacer(LayoutConstants::StaticBoxTopMargin); modBoxSizer->Add(defText, 0, wxEXPAND | wxLEFT | wxRIGHT, LayoutConstants::StaticBoxSideMargin); modBoxSizer->AddSpacer(LayoutConstants::ControlVerticalMargin); modBoxSizer->Add(m_defChoice, 0, wxEXPAND | wxLEFT | wxRIGHT, LayoutConstants::StaticBoxSideMargin); modBoxSizer->AddSpacer(2 * LayoutConstants::ControlVerticalMargin); modBoxSizer->Add(modText, 0, wxEXPAND | wxLEFT | wxRIGHT, LayoutConstants::StaticBoxSideMargin); modBoxSizer->AddSpacer(LayoutConstants::ControlVerticalMargin); modBoxSizer->Add(m_modChoice, 0, wxEXPAND | wxLEFT | wxRIGHT, LayoutConstants::StaticBoxSideMargin); modBoxSizer->AddSpacer(LayoutConstants::StaticBoxBottomMargin); modBox->SetSizerAndFit(modBoxSizer); IO::FileManager fileManager; String resourcePath = fileManager.resourceDirectory(); wxBitmap add(fileManager.appendPath(resourcePath, "Add.png"), wxBITMAP_TYPE_PNG); wxBitmap remove(fileManager.appendPath(resourcePath, "Remove.png"), wxBITMAP_TYPE_PNG); wxBitmap up(fileManager.appendPath(resourcePath, "Up.png"), wxBITMAP_TYPE_PNG); wxBitmap down(fileManager.appendPath(resourcePath, "Down.png"), wxBITMAP_TYPE_PNG); wxStaticBox* wadBox = new wxStaticBox(this, wxID_ANY, wxT("Texture Wads")); wxStaticText* wadText = new wxStaticText(wadBox, wxID_ANY, wxT("Manage the wad files for this map. Wad files are searched from bottom to top, so textures in the lower entries override textures in the upper entries if the names of the textures are the same.")); #if defined __APPLE__ wadText->SetFont(*wxSMALL_FONT); #endif wadText->Wrap(width); m_wadList = new WadListBox(wadBox, CommandIds::MapPropertiesDialog::WadListId); m_wadList->SetMinSize(wxSize(wxDefaultSize.x, 120)); m_addWadButton = new wxBitmapButton(wadBox, CommandIds::MapPropertiesDialog::AddWadButtonId, add, wxDefaultPosition, wxDefaultSize, wxBORDER_SUNKEN); m_addWadButton->SetMinSize(wxSize(20, 20)); m_removeWadsButton = new wxBitmapButton(wadBox, CommandIds::MapPropertiesDialog::RemoveWadsButtonId, remove, wxDefaultPosition, wxDefaultSize, wxBORDER_SUNKEN); m_removeWadsButton->SetMinSize(wxSize(20, 20)); m_moveWadUpButton = new wxBitmapButton(wadBox, CommandIds::MapPropertiesDialog::MoveWadUpButtonId, up, wxDefaultPosition, wxDefaultSize, wxBORDER_SUNKEN); m_moveWadUpButton->SetMinSize(wxSize(20, 20)); m_moveWadDownButton = new wxBitmapButton(wadBox, CommandIds::MapPropertiesDialog::MoveWadDownButtonId, down, wxDefaultPosition, wxDefaultSize, wxBORDER_SUNKEN); m_moveWadDownButton->SetMinSize(wxSize(20, 20)); wxSizer* wadButtonsSizer = new wxBoxSizer(wxHORIZONTAL); wadButtonsSizer->Add(m_addWadButton); wadButtonsSizer->AddSpacer(LayoutConstants::ControlHorizontalMargin); wadButtonsSizer->Add(m_removeWadsButton); wadButtonsSizer->AddSpacer(LayoutConstants::ControlHorizontalMargin); wadButtonsSizer->Add(m_moveWadUpButton); wadButtonsSizer->AddSpacer(LayoutConstants::ControlHorizontalMargin); wadButtonsSizer->Add(m_moveWadDownButton); wxSizer* wadBoxSizer = new wxBoxSizer(wxVERTICAL); wadBoxSizer->AddSpacer(LayoutConstants::StaticBoxTopMargin); wadBoxSizer->Add(wadText, 0, wxEXPAND | wxLEFT | wxRIGHT, LayoutConstants::StaticBoxSideMargin); wadBoxSizer->AddSpacer(LayoutConstants::ControlVerticalMargin); wadBoxSizer->Add(m_wadList, 0, wxEXPAND | wxLEFT | wxRIGHT, LayoutConstants::StaticBoxSideMargin); wadBoxSizer->AddSpacer(LayoutConstants::ControlVerticalMargin); wadBoxSizer->Add(wadButtonsSizer, 0, wxEXPAND | wxLEFT | wxRIGHT | wxALIGN_LEFT, LayoutConstants::StaticBoxSideMargin); wadBoxSizer->AddSpacer(LayoutConstants::StaticBoxBottomMargin); wadBox->SetSizerAndFit(wadBoxSizer); wxStaticBox* coordBox = new wxStaticBox(this, wxID_ANY, wxT("Plane Point Coordinates")); wxStaticText* coordText = new wxStaticText(coordBox, wxID_ANY, wxT("By default, TrenchBroom stores plane point coordinates as floating point values internally and in the map file. Checking this option will force it to use integer coordinates. This improves compatibility with older compilers, but it will lead to less precision when editing vertices.")); #if defined __APPLE__ coordText->SetFont(*wxSMALL_FONT); #endif coordText->Wrap(width); m_intFacePointsCheckBox = new wxCheckBox(coordBox, CommandIds::MapPropertiesDialog::ForceIntCoordsId, wxT("Force integer plane points")); wxSizer* coordBoxSizer = new wxBoxSizer(wxVERTICAL); coordBoxSizer->AddSpacer(LayoutConstants::StaticBoxTopMargin); coordBoxSizer->Add(coordText, 0, wxEXPAND | wxLEFT | wxRIGHT, LayoutConstants::StaticBoxSideMargin); coordBoxSizer->AddSpacer(LayoutConstants::ControlVerticalMargin); coordBoxSizer->Add(m_intFacePointsCheckBox, 0, wxEXPAND | wxLEFT | wxRIGHT, LayoutConstants::StaticBoxSideMargin); coordBoxSizer->AddSpacer(LayoutConstants::StaticBoxBottomMargin); coordBox->SetSizerAndFit(coordBoxSizer); wxSizer* buttonSizer = CreateButtonSizer(wxCLOSE); SetAffirmativeId(wxCLOSE); SetEscapeId(wxCLOSE); wxSizer* outerSizer = new wxBoxSizer(wxVERTICAL); outerSizer->Add(modBox, 0, wxEXPAND | wxLEFT | wxTOP | wxRIGHT, LayoutConstants::DialogOuterMargin); outerSizer->AddSpacer(LayoutConstants::ControlVerticalMargin); outerSizer->Add(wadBox, 1, wxEXPAND | wxLEFT | wxRIGHT, LayoutConstants::DialogOuterMargin); outerSizer->AddSpacer(LayoutConstants::ControlVerticalMargin); outerSizer->Add(coordBox, 0, wxEXPAND | wxLEFT | wxRIGHT, LayoutConstants::DialogOuterMargin); outerSizer->Add(buttonSizer, 0, wxEXPAND | wxALL, LayoutConstants::DialogButtonMargin); SetSizerAndFit(outerSizer); #ifdef __APPLE__ // allow the dialog to be closed using CMD+W wxAcceleratorEntry acceleratorEntries[1]; acceleratorEntries[0].Set(wxACCEL_CMD, static_cast<int>('W'), wxID_CLOSE); wxAcceleratorTable accceleratorTable(1, acceleratorEntries); SetAcceleratorTable(accceleratorTable); #endif init(); CommandProcessor::BeginGroup(m_document->GetCommandProcessor(), "Edit map properties"); }
/*---------------------------------------------------------------------- -----------------------------------------------------------------------*/ AmayaTipDialog::AmayaTipDialog(wxWindow *parent, wxTipProvider *tipProvider, bool showAtStartup) : wxDialog(parent, wxID_ANY, TtaConvMessageToWX(TtaGetMessage(LIB, TIP_DIALOG_TITLE)), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER ) { m_tipProvider = tipProvider; // 1) create all controls in tab order wxButton *btnClose = new wxButton(this, XRCID("wxID_TIP_CLOSE"), TtaConvMessageToWX(TtaGetMessage(LIB, TIP_DIALOG_TIP_CLOSE))); SetAffirmativeId(XRCID("wxID_TIP_CLOSE")); m_checkbox = new wxCheckBox(this, wxID_ANY, TtaConvMessageToWX(TtaGetMessage(LIB, TIP_DIALOG_STARTUP))); m_checkbox->SetValue(showAtStartup); wxButton *btnNext = new wxButton(this, XRCID("wxID_TIP_NEXT"), TtaConvMessageToWX(TtaGetMessage(LIB, TIP_DIALOG_NEXT_TIP))); wxButton *btnPrevious = new wxButton(this, XRCID("wxID_TIP_PREVIOUS"), TtaConvMessageToWX(TtaGetMessage(LIB, TIP_DIALOG_PREVIOUS_TIP))); wxStaticText *text = new wxStaticText(this, wxID_ANY, TtaConvMessageToWX(TtaGetMessage(LIB, TIP_DIALOG_DID_YOU_KNOW))); wxFont font = text->GetFont(); font.SetPointSize(int(1.6 * font.GetPointSize())); font.SetWeight(wxFONTWEIGHT_BOLD); text->SetFont(font); m_text = new wxTextCtrl(this, wxID_ANY, wxEmptyString, wxDefaultPosition, wxSize(200, 160), wxTE_MULTILINE | wxTE_READONLY | wxTE_NO_VSCROLL | wxTE_RICH2 | // a hack to get rid of vert scrollbar wxDEFAULT_CONTROL_BORDER ); #if defined(__WXMSW__) m_text->SetFont(wxFont(12, wxSWISS, wxNORMAL, wxNORMAL)); #endif wxIcon icon = wxArtProvider::GetIcon(wxART_TIP, wxART_CMN_DIALOG); wxStaticBitmap *bmp = new wxStaticBitmap(this, wxID_ANY, icon); // 2) put them in boxes wxBoxSizer *topsizer = new wxBoxSizer( wxVERTICAL ); wxBoxSizer *icon_text = new wxBoxSizer( wxHORIZONTAL ); icon_text->Add( bmp, 0, wxCENTER ); icon_text->Add( text, 1, wxCENTER | wxLEFT, 20 ); topsizer->Add( icon_text, 0, wxEXPAND | wxALL, 10 ); topsizer->Add( m_text, 1, wxEXPAND | wxLEFT|wxRIGHT, 10 ); wxBoxSizer *bottom = new wxBoxSizer( wxHORIZONTAL ); bottom->Add( m_checkbox, 0, wxCENTER ); bottom->Add( 10,10,1 ); bottom->Add( btnPrevious, 0, wxCENTER | wxLEFT, 10 ); bottom->Add( btnNext, 0, wxCENTER | wxLEFT, 10 ); bottom->Add( btnClose, 0, wxCENTER | wxLEFT, 10 ); topsizer->Add( bottom, 0, wxEXPAND | wxALL, 10 ); SetTipText(); SetSizer( topsizer ); topsizer->SetSizeHints( this ); topsizer->Fit( this ); Centre(wxBOTH | wxCENTER_FRAME); }
wxStdDialogButtonSizer *wxDialogBase::CreateStdDialogButtonSizer( long flags ) { wxStdDialogButtonSizer *sizer = new wxStdDialogButtonSizer(); wxButton *ok = NULL; wxButton *yes = NULL; wxButton *no = NULL; if (flags & wxOK) { ok = new wxButton(this, wxID_OK); sizer->AddButton(ok); } if (flags & wxCANCEL) { // Avoid Cmd+C closing dialog on Mac. wxString cancelLabel(_("&Cancel")); #ifdef __WXMAC__ cancelLabel.Replace("&",wxEmptyString); #endif wxButton *cancel = new wxButton(this, wxID_CANCEL, cancelLabel); sizer->AddButton(cancel); } if (flags & wxYES) { yes = new wxButton(this, wxID_YES); sizer->AddButton(yes); } if (flags & wxNO) { no = new wxButton(this, wxID_NO); sizer->AddButton(no); } if (flags & wxAPPLY) { wxButton *apply = new wxButton(this, wxID_APPLY); sizer->AddButton(apply); } if (flags & wxCLOSE) { wxButton *close = new wxButton(this, wxID_CLOSE); sizer->AddButton(close); } if (flags & wxHELP) { wxButton *help = new wxButton(this, wxID_HELP); sizer->AddButton(help); } if (flags & wxNO_DEFAULT) { if (no) { no->SetDefault(); no->SetFocus(); } } else { if (ok) { ok->SetDefault(); ok->SetFocus(); } else if (yes) { yes->SetDefault(); yes->SetFocus(); } } if (flags & wxOK) SetAffirmativeId(wxID_OK); else if (flags & wxYES) SetAffirmativeId(wxID_YES); else if (flags & wxCLOSE) SetAffirmativeId(wxID_CLOSE); sizer->Realize(); return sizer; }