X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/f8105809ef8f7cb0d1a9933f3f790b7b446c7cfa..dfc6f510c5f5efdc1f072996ddf1ae0416a4a4ad:/utils/configtool/src/settingsdialog.cpp diff --git a/utils/configtool/src/settingsdialog.cpp b/utils/configtool/src/settingsdialog.cpp index 7bcb2fb022..89f526d813 100644 --- a/utils/configtool/src/settingsdialog.cpp +++ b/utils/configtool/src/settingsdialog.cpp @@ -1,28 +1,44 @@ ///////////////////////////////////////////////////////////////////////////// // Name: settingsdialog.cpp -// Purpose: -// Author: -// Modified by: -// Created: -// RCS-ID: -// Copyright: -// Licence: +// Purpose: Settings dialog +// Author: Julian Smart +// Modified by: +// Created: 2003-06-12 +// RCS-ID: $Id$ +// Copyright: (c) Julian Smart +// Licence: ///////////////////////////////////////////////////////////////////////////// -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma implementation "settingsdialog.h" #endif -#include "wx/wx.h" -#include "wx/cshelp.h" +// For compilers that support precompilation, includes "wx/wx.h". +#include "wx/wxprec.h" + +#ifdef __BORLANDC__ +#pragma hdrstop +#endif + +#ifndef WX_PRECOMP + +#include "wx/intl.h" #include "wx/statline.h" #include "wx/splitter.h" #include "wx/scrolwin.h" #include "wx/spinctrl.h" #include "wx/spinbutt.h" -#include "wx/valgen.h" -#include "wx/notebook.h" +#include "wx/sizer.h" +#include "wx/statbox.h" +#include "wx/dirdlg.h" +#include "wx/stattext.h" +#include "wx/choice.h" + +#endif +#include "wx/cshelp.h" +#include "wx/notebook.h" +#include "wx/valgen.h" #include "wxconfigtool.h" #include "settingsdialog.h" @@ -56,11 +72,10 @@ END_EVENT_TABLE() * ctSettingsDialog constructor */ -ctSettingsDialog::ctSettingsDialog( wxWindow* parent, wxWindowID id, const wxString& caption, const wxPoint& pos, const wxSize& size, long style ) +ctSettingsDialog::ctSettingsDialog( wxWindow* parent ) { SetExtraStyle(wxDIALOG_EX_CONTEXTHELP|wxWS_EX_VALIDATE_RECURSIVELY); - wxDialog::Create( parent, id, caption, pos, size, style ); - + wxDialog::Create( parent, wxID_ANY, _("Configuration Settings")); CreateControls(); } @@ -69,41 +84,39 @@ ctSettingsDialog::ctSettingsDialog( wxWindow* parent, wxWindowID id, const wxStr */ void ctSettingsDialog::CreateControls() -{ +{ ////@begin ctSettingsDialog content construction ctSettingsDialog* item1 = this; wxBoxSizer* item2 = new wxBoxSizer(wxVERTICAL); item1->SetSizer(item2); - item1->SetAutoLayout(TRUE); - wxNotebook* item3 = new wxNotebook(item1, ID_NOTEBOOK, wxDefaultPosition, wxSize(200, 200), wxNB_TOP); - wxNotebookSizer* item3Sizer = new wxNotebookSizer(item3); - ctGeneralSettingsDialog* item4 = new ctGeneralSettingsDialog(item3, ID_GENERAL_SETTINGS_DIALOG, wxDefaultPosition, wxSize(100, 80), 0); - item3->AddPage(item4, _("General")); - ctLocationSettingsDialog* item9 = new ctLocationSettingsDialog(item3, ID_LOCATION_SETTINGS_DIALOG, wxDefaultPosition, wxSize(100, 80), 0); - item3->AddPage(item9, _("Locations")); - item2->Add(item3Sizer, 0, wxGROW|wxALL, 5); + m_notebook = new wxNotebook(item1, wxID_ANY, wxDefaultPosition, wxSize(200, 200), wxNB_TOP); + ctGeneralSettingsDialog* item4 = new ctGeneralSettingsDialog(m_notebook, ID_GENERAL_SETTINGS_DIALOG, wxDefaultPosition, wxSize(100, 80), 0); + m_notebook->AddPage(item4, _("General")); + ctLocationSettingsDialog* item11 = new ctLocationSettingsDialog(m_notebook, ID_LOCATION_SETTINGS_DIALOG, wxDefaultPosition, wxSize(100, 80), 0); + m_notebook->AddPage(item11, _("Locations")); + item2->Add(m_notebook, 0, wxGROW|wxALL, 5); - wxBoxSizer* item19 = new wxBoxSizer(wxHORIZONTAL); - item2->Add(item19, 0, wxGROW|wxALL, 5); + wxBoxSizer* item21 = new wxBoxSizer(wxHORIZONTAL); + item2->Add(item21, 0, wxGROW|wxALL, 5); - item19->Add(5, 5, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5); + item21->Add(5, 5, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxButton* item21 = new wxButton(item1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0); - item21->SetDefault(); - item19->Add(item21, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxButton* item23 = new wxButton(item1, wxID_OK); + item23->SetDefault(); + item21->Add(item23, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxButton* item22 = new wxButton(item1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0); - item19->Add(item22, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxButton* item24 = new wxButton(item1, wxID_CANCEL); + item21->Add(item24, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxButton* item23 = new wxButton(item1, wxID_HELP, _("&Help"), wxDefaultPosition, wxDefaultSize, 0); - item19->Add(item23, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxButton* item25 = new wxButton(item1, wxID_HELP); + item21->Add(item25, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); #if defined(__WXGTK__) || defined(__WXMAC__) - wxContextHelpButton* item24 = new wxContextHelpButton(item1, wxID_CONTEXT_HELP, wxDefaultPosition, wxSize(20, -1), wxBU_AUTODRAW); - item19->Add(item24, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxContextHelpButton* item26 = new wxContextHelpButton(item1, wxID_CONTEXT_HELP, wxDefaultPosition, wxSize(20, wxDefaultCoord), wxBU_AUTODRAW); + item21->Add(item26, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); #endif GetSizer()->Fit(this); @@ -136,29 +149,30 @@ void ctSettingsDialog::OnCancel( wxCommandEvent& event ) * Event handler for wxID_HELP */ -void ctSettingsDialog::OnHelp( wxCommandEvent& event ) +void ctSettingsDialog::OnHelp( wxCommandEvent& WXUNUSED(event) ) { - wxNotebook* notebook = (wxNotebook*) FindWindow(ID_NOTEBOOK); - - int sel = notebook->GetSelection(); - - wxASSERT_MSG( (sel != -1), wxT("A notebook tab should always be selected.")); - - wxWindow* page = (wxWindow*) notebook->GetPage(sel); - - wxString helpTopic; - if (page->GetId() == ID_GENERAL_SETTINGS_DIALOG) - { - helpTopic = wxT("General settings dialog"); - } - else if (page->GetId() == ID_LOCATION_SETTINGS_DIALOG) - { - helpTopic = wxT("Location dialog"); - } - - if (!helpTopic.IsEmpty()) + if(m_notebook) { - wxGetApp().GetHelpController().DisplaySection(helpTopic); + int sel = m_notebook->GetSelection(); + + wxASSERT_MSG( (sel != -1), wxT("A notebook tab should always be selected.")); + + wxWindow* page = (wxWindow*) m_notebook->GetPage(sel); + + wxString helpTopic; + if (page->GetId() == ID_GENERAL_SETTINGS_DIALOG) + { + helpTopic = wxT("General settings dialog"); + } + else if (page->GetId() == ID_LOCATION_SETTINGS_DIALOG) + { + helpTopic = wxT("Location settings dialog"); + } + + if (!helpTopic.empty()) + { + wxGetApp().GetHelpController().DisplaySection(helpTopic); + } } } @@ -168,7 +182,7 @@ void ctSettingsDialog::OnHelp( wxCommandEvent& event ) bool ctSettingsDialog::ShowToolTips() { - return TRUE; + return true; } /*! @@ -204,32 +218,58 @@ ctGeneralSettingsDialog::ctGeneralSettingsDialog( wxWindow* parent, wxWindowID i */ void ctGeneralSettingsDialog::CreateControls() -{ +{ ////@begin ctGeneralSettingsDialog content construction ctGeneralSettingsDialog* item4 = this; wxBoxSizer* item5 = new wxBoxSizer(wxVERTICAL); item4->SetSizer(item5); - item4->SetAutoLayout(TRUE); - wxStaticBox* item6Static = new wxStaticBox(item4, -1, _("General settings")); + wxStaticBox* item6Static = new wxStaticBox(item4, wxID_ANY, _("General settings")); wxStaticBoxSizer* item6 = new wxStaticBoxSizer(item6Static, wxVERTICAL); item5->Add(item6, 1, wxGROW|wxALL, 5); wxCheckBox* item7 = new wxCheckBox(item4, ID_LOAD_LAST_DOCUMENT, _("&Load last document"), wxDefaultPosition, wxDefaultSize, 0); - item7->SetValue(FALSE); + item7->SetValue(false); + item7->SetHelpText(_("Check to load the last document on startup")); +#if wxUSE_TOOLTIPS + if (ShowToolTips()) + item7->SetToolTip(_("Check to load the last document on startup")); +#endif item6->Add(item7, 0, wxALIGN_LEFT|wxALL, 5); wxCheckBox* item8 = new wxCheckBox(item4, ID_SHOW_TOOLTIPS, _("&Show tooltips"), wxDefaultPosition, wxDefaultSize, 0); - item8->SetValue(FALSE); + item8->SetValue(false); + item8->SetHelpText(_("Check to show tooltips")); +#if wxUSE_TOOLTIPS + if (ShowToolTips()) + item8->SetToolTip(_("Check to show tooltips")); +#endif item6->Add(item8, 0, wxALIGN_LEFT|wxALL, 5); + wxStaticText* item9 = new wxStaticText(item4, wxID_STATIC, _("&Default file kind to save when using the Go command:"), wxDefaultPosition, wxDefaultSize, 0); + item6->Add(item9, 0, wxALIGN_LEFT|wxLEFT|wxRIGHT|wxTOP|wxADJUST_MINSIZE, 5); + + wxString item10Strings[] = { + _("Setup file"), + _("Configure script") + }; + wxChoice* item10 = new wxChoice(item4, ID_DEFAULT_FILE_KIND, wxDefaultPosition, wxSize(200, wxDefaultCoord), 2, item10Strings, 0); + item10->SetStringSelection(_("Setup file")); + item10->SetHelpText(_("Select the default kind of file to save using Go")); +#if wxUSE_TOOLTIPS + if (ShowToolTips()) + item10->SetToolTip(_("Select the default kind of file to save using Go")); +#endif + item6->Add(item10, 0, wxGROW|wxALL, 5); + GetSizer()->Fit(this); ////@end ctGeneralSettingsDialog content construction - FindWindow(ID_LOAD_LAST_DOCUMENT)->SetValidator(wxGenericValidator(& wxGetApp().GetSettings().m_loadLastDocument)); - FindWindow(ID_SHOW_TOOLTIPS)->SetValidator(wxGenericValidator(& wxGetApp().GetSettings().m_useToolTips)); + item7->SetValidator(wxGenericValidator(& wxGetApp().GetSettings().m_loadLastDocument)); + item8->SetValidator(wxGenericValidator(& wxGetApp().GetSettings().m_useToolTips)); + item10->SetValidator(wxGenericValidator(& wxGetApp().GetSettings().m_defaultFileKind)); } /*! @@ -238,7 +278,7 @@ void ctGeneralSettingsDialog::CreateControls() bool ctGeneralSettingsDialog::ShowToolTips() { - return TRUE; + return true; } /*! @@ -279,45 +319,59 @@ ctLocationSettingsDialog::ctLocationSettingsDialog( wxWindow* parent, wxWindowID */ void ctLocationSettingsDialog::CreateControls() -{ +{ ////@begin ctLocationSettingsDialog content construction - ctLocationSettingsDialog* item9 = this; + ctLocationSettingsDialog* item11 = this; - wxBoxSizer* item10 = new wxBoxSizer(wxVERTICAL); - item9->SetSizer(item10); - item9->SetAutoLayout(TRUE); + wxBoxSizer* item12 = new wxBoxSizer(wxVERTICAL); + item11->SetSizer(item12); - wxStaticBox* item11Static = new wxStaticBox(item9, -1, _("Locations")); - wxStaticBoxSizer* item11 = new wxStaticBoxSizer(item11Static, wxVERTICAL); - item10->Add(item11, 1, wxGROW|wxALL, 5); + wxStaticBox* item13Static = new wxStaticBox(item11, wxID_ANY, _("Locations")); + wxStaticBoxSizer* item13 = new wxStaticBoxSizer(item13Static, wxVERTICAL); + item12->Add(item13, 1, wxGROW|wxALL, 5); - wxStaticText* item12 = new wxStaticText(item9, wxID_STATIC, _("&wxWindows hierarchy:"), wxDefaultPosition, wxDefaultSize, 0); - item11->Add(item12, 0, wxALIGN_LEFT|wxALL|wxADJUST_MINSIZE, 5); + wxStaticText* item14 = new wxStaticText(item11, wxID_STATIC, _("&wxWidgets hierarchy:"), wxDefaultPosition, wxDefaultSize, 0); + item13->Add(item14, 0, wxALIGN_LEFT|wxALL|wxADJUST_MINSIZE, 5); - wxBoxSizer* item13 = new wxBoxSizer(wxHORIZONTAL); - item11->Add(item13, 0, wxGROW, 5); + wxBoxSizer* item15 = new wxBoxSizer(wxHORIZONTAL); + item13->Add(item15, 0, wxGROW, 5); - wxTextCtrl* item14 = new wxTextCtrl(item9, ID_WXWIN_HIERARCHY, _(""), wxDefaultPosition, wxSize(200, -1), 0); - item13->Add(item14, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + m_wxWinHierarchy = new wxTextCtrl(item11, ID_WXWIN_HIERARCHY, wxEmptyString, wxDefaultPosition, wxSize(200, wxDefaultCoord), 0); + m_wxWinHierarchy->SetHelpText(_("Enter the root path of the wxWidgets hierarchy")); +#if wxUSE_TOOLTIPS + if (ShowToolTips()) + m_wxWinHierarchy->SetToolTip(_("Enter the root path of the wxWidgets hierarchy")); +#endif + item15->Add(m_wxWinHierarchy, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxButton* item15 = new wxButton(item9, ID_CHOOSE_WXWIN_HIERARCHY, _("&Choose..."), wxDefaultPosition, wxDefaultSize, 0); - item13->Add(item15, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + wxButton* item17 = new wxButton(item11, ID_CHOOSE_WXWIN_HIERARCHY, _("&Choose..."), wxDefaultPosition, wxDefaultSize, 0); + item17->SetHelpText(_("Click to choose the root path of the wxWidgets hierarchy\\n")); +#if wxUSE_TOOLTIPS + if (ShowToolTips()) + item17->SetToolTip(_("Click to choose the root path of the wxWidgets hierarchy\\n")); +#endif + item15->Add(item17, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxBoxSizer* item16 = new wxBoxSizer(wxHORIZONTAL); - item11->Add(item16, 0, wxGROW, 5); + wxBoxSizer* item18 = new wxBoxSizer(wxHORIZONTAL); + item13->Add(item18, 0, wxGROW, 5); - item16->Add(60, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + item18->Add(60, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); - wxCheckBox* item18 = new wxCheckBox(item9, ID_USE_WXWIN, _("&Use WXWIN environment variable"), wxDefaultPosition, wxDefaultSize, 0); - item18->SetValue(FALSE); - item16->Add(item18, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); + m_wxWinUse = new wxCheckBox(item11, ID_USE_WXWIN, _("&Use WXWIN environment variable")); + m_wxWinUse->SetValue(false); + m_wxWinUse->SetHelpText(_("Check to use the value of WXWIN instead")); +#if wxUSE_TOOLTIPS + if (ShowToolTips()) + m_wxWinUse->SetToolTip(_("Check to use the value of WXWIN instead")); +#endif + item18->Add(m_wxWinUse, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5); GetSizer()->Fit(this); ////@end ctLocationSettingsDialog content construction - FindWindow(ID_WXWIN_HIERARCHY)->SetValidator(wxGenericValidator(& wxGetApp().GetSettings().m_frameworkDir)); - FindWindow(ID_USE_WXWIN)->SetValidator(wxGenericValidator(& wxGetApp().GetSettings().m_useEnvironmentVariable)); + m_wxWinHierarchy->SetValidator(wxGenericValidator(& wxGetApp().GetSettings().m_frameworkDir)); + m_wxWinUse->SetValidator(wxGenericValidator(& wxGetApp().GetSettings().m_useEnvironmentVariable)); } /*! @@ -326,25 +380,26 @@ void ctLocationSettingsDialog::CreateControls() void ctLocationSettingsDialog::OnUpdateWxwinHierarchy( wxUpdateUIEvent& event ) { - wxCheckBox* checkbox = (wxCheckBox*) FindWindow(ID_USE_WXWIN); - event.Enable(!checkbox->GetValue()); + if(m_wxWinUse) + event.Enable(!m_wxWinUse->GetValue()); } /*! * Event handler for ID_CHOOSE_WXWIN_HIERARCHY */ -void ctLocationSettingsDialog::OnChooseWxwinHierarchy( wxCommandEvent& event ) +void ctLocationSettingsDialog::OnChooseWxwinHierarchy( wxCommandEvent& WXUNUSED(event) ) { - wxTextCtrl* textCtrl = (wxTextCtrl*) FindWindow( ID_WXWIN_HIERARCHY ); - wxASSERT( textCtrl != NULL ); - wxString defaultPath = textCtrl->GetValue(); - - wxDirDialog dialog(this, _("Choose the location of the wxWindows hierarchy"), - defaultPath); - if (dialog.ShowModal() == wxID_OK) + if (m_wxWinHierarchy) { - textCtrl->SetValue(dialog.GetPath()); + wxString defaultPath = m_wxWinHierarchy->GetValue(); + + wxDirDialog dialog(this, _("Choose the location of the wxWidgets hierarchy"), + defaultPath); + if (dialog.ShowModal() == wxID_OK) + { + m_wxWinHierarchy->SetValue(dialog.GetPath()); + } } } @@ -354,8 +409,8 @@ void ctLocationSettingsDialog::OnChooseWxwinHierarchy( wxCommandEvent& event ) void ctLocationSettingsDialog::OnUpdateChooseWxwinHierarchy( wxUpdateUIEvent& event ) { - wxCheckBox* checkbox = (wxCheckBox*) FindWindow(ID_USE_WXWIN); - event.Enable(!checkbox->GetValue()); + if (m_wxWinUse) + event.Enable(!m_wxWinUse->GetValue()); } /*!