]> git.saurik.com Git - wxWidgets.git/blobdiff - utils/configtool/src/settingsdialog.cpp
Fix for MGL link error
[wxWidgets.git] / utils / configtool / src / settingsdialog.cpp
index 4d8a7ef4f8ceb781b254ca65a5d308bf7c67f309..89f526d81303fb5df6acfa6b20fd0a50f87b3644 100644 (file)
@@ -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:
 /////////////////////////////////////////////////////////////////////////////
 
 #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();
 }
 
@@ -77,31 +92,30 @@ void ctSettingsDialog::CreateControls()
     wxBoxSizer* item2 = new wxBoxSizer(wxVERTICAL);
     item1->SetSizer(item2);
 
-    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* item11 = new ctLocationSettingsDialog(item3, ID_LOCATION_SETTINGS_DIALOG, wxDefaultPosition, wxSize(100, 80), 0);
-    item3->AddPage(item11, _("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* item21 = new wxBoxSizer(wxHORIZONTAL);
     item2->Add(item21, 0, wxGROW|wxALL, 5);
 
     item21->Add(5, 5, 1, wxALIGN_CENTER_VERTICAL|wxALL, 5);
 
-    wxButton* item23 = new wxButton(item1, wxID_OK, _("&OK"), wxDefaultPosition, wxDefaultSize, 0);
+    wxButton* item23 = new wxButton(item1, wxID_OK);
     item23->SetDefault();
     item21->Add(item23, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
 
-    wxButton* item24 = new wxButton(item1, wxID_CANCEL, _("&Cancel"), wxDefaultPosition, wxDefaultSize, 0);
+    wxButton* item24 = new wxButton(item1, wxID_CANCEL);
     item21->Add(item24, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
 
-    wxButton* item25 = new wxButton(item1, wxID_HELP, _("&Help"), wxDefaultPosition, wxDefaultSize, 0);
+    wxButton* item25 = new wxButton(item1, wxID_HELP);
     item21->Add(item25, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
 
 #if defined(__WXGTK__) || defined(__WXMAC__)
-    wxContextHelpButton* item26 = new wxContextHelpButton(item1, wxID_CONTEXT_HELP, wxDefaultPosition, wxSize(20, wxDefaultSize.y), wxBU_AUTODRAW);
+    wxContextHelpButton* item26 = new wxContextHelpButton(item1, wxID_CONTEXT_HELP, wxDefaultPosition, wxSize(20, wxDefaultCoord), wxBU_AUTODRAW);
     item21->Add(item26, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
 #endif
 
@@ -137,27 +151,28 @@ void ctSettingsDialog::OnCancel( 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)
+    if(m_notebook)
     {
-        helpTopic = wxT("General settings dialog");
-    }
-    else if (page->GetId() == ID_LOCATION_SETTINGS_DIALOG)
-    {
-        helpTopic = wxT("Location settings dialog");
-    }
-
-    if (!helpTopic.IsEmpty())
-    {
-        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);
+        }
     }
 }
 
@@ -240,7 +255,7 @@ void ctGeneralSettingsDialog::CreateControls()
         _("Setup file"),
         _("Configure script")
     };
-    wxChoice* item10 = new wxChoice(item4, ID_DEFAULT_FILE_KIND, wxDefaultPosition, wxSize(200, wxDefaultSize.y), 2, item10Strings, 0);
+    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
@@ -252,9 +267,9 @@ void ctGeneralSettingsDialog::CreateControls()
     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));
-    FindWindow(ID_DEFAULT_FILE_KIND)->SetValidator(wxGenericValidator(& wxGetApp().GetSettings().m_defaultFileKind));
+    item7->SetValidator(wxGenericValidator(& wxGetApp().GetSettings().m_loadLastDocument));
+    item8->SetValidator(wxGenericValidator(& wxGetApp().GetSettings().m_useToolTips));
+    item10->SetValidator(wxGenericValidator(& wxGetApp().GetSettings().m_defaultFileKind));
 }
 
 /*!
@@ -322,13 +337,13 @@ void ctLocationSettingsDialog::CreateControls()
     wxBoxSizer* item15 = new wxBoxSizer(wxHORIZONTAL);
     item13->Add(item15, 0, wxGROW, 5);
 
-    wxTextCtrl* item16 = new wxTextCtrl(item11, ID_WXWIN_HIERARCHY, wxEmptyString, wxDefaultPosition, wxSize(200, wxDefaultSize.y), 0);
-    item16->SetHelpText(_("Enter the root path of the wxWidgets hierarchy"));
+    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())
-        item16->SetToolTip(_("Enter the root path of the wxWidgets hierarchy"));
+        m_wxWinHierarchy->SetToolTip(_("Enter the root path of the wxWidgets hierarchy"));
 #endif
-    item15->Add(item16, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
+    item15->Add(m_wxWinHierarchy, 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"));
@@ -343,20 +358,20 @@ void ctLocationSettingsDialog::CreateControls()
 
     item18->Add(60, 5, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
 
-    wxCheckBox* item20 = new wxCheckBox(item11, ID_USE_WXWIN, _("&Use WXWIN environment variable"), wxDefaultPosition, wxDefaultSize, 0);
-    item20->SetValue(false);
-    item20->SetHelpText(_("Check to use the value of WXWIN instead"));
+    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())
-        item20->SetToolTip(_("Check to use the value of WXWIN instead"));
+        m_wxWinUse->SetToolTip(_("Check to use the value of WXWIN instead"));
 #endif
-    item18->Add(item20, 0, wxALIGN_CENTER_VERTICAL|wxALL, 5);
+    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));
 }
 
 /*!
@@ -365,8 +380,8 @@ 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());
 }
 
 /*!
@@ -375,15 +390,16 @@ void ctLocationSettingsDialog::OnUpdateWxwinHierarchy( wxUpdateUIEvent& 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 wxWidgets 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());
+        }
     }
 }
 
@@ -393,8 +409,8 @@ void ctLocationSettingsDialog::OnChooseWxwinHierarchy( wxCommandEvent& WXUNUSED(
 
 void ctLocationSettingsDialog::OnUpdateChooseWxwinHierarchy( wxUpdateUIEvent& event )
 {
-    wxCheckBox* checkbox = (wxCheckBox*) FindWindow(ID_USE_WXWIN);
-    event.Enable(!checkbox->GetValue());
+    if (m_wxWinUse)
+        event.Enable(!m_wxWinUse->GetValue());
 }
 
 /*!