]> git.saurik.com Git - wxWidgets.git/blobdiff - samples/dialogs/dialogs.cpp
offset version by 1 to avoid having compatibility_version of 0.0.0 under Darwin:...
[wxWidgets.git] / samples / dialogs / dialogs.cpp
index 7716fb588199380762bd2bcba363060b5940de13..4d5786113bc7ae53673ff551e47dac232b6b5721 100644 (file)
@@ -9,11 +9,6 @@
 // Licence:     wxWindows license
 /////////////////////////////////////////////////////////////////////////////
 
-#if defined(__GNUG__) && !defined(__APPLE__)
-#pragma implementation
-#pragma interface
-#endif
-
 // For compilers that support precompilation, includes "wx/wx.h".
 #include "wx/wxprec.h"
 
@@ -29,6 +24,7 @@
 
 #include "wx/datetime.h"
 #include "wx/image.h"
+#include "wx/bookctrl.h"
 
 #if wxUSE_COLOURDLG
     #include "wx/colordlg.h"
     #include "wx/fdrepdlg.h"
 #endif // wxUSE_FINDREPLDLG
 
+#if wxUSE_SPINCTRL
 #include "wx/spinctrl.h"
+#endif
+
 #include "wx/propdlg.h"
 
 #include "dialogs.h"
@@ -190,7 +189,10 @@ BEGIN_EVENT_TABLE(MyFrame, wxFrame)
     EVT_FIND_CLOSE(wxID_ANY, MyFrame::OnFindDialog)
 #endif // wxUSE_FINDREPLDLG
 
+#if USE_SETTINGS_DIALOG
     EVT_MENU(DIALOGS_PROPERTY_SHEET,                MyFrame::OnPropertySheet)
+#endif
+
     EVT_MENU(DIALOGS_REQUEST,                       MyFrame::OnRequestUserAttention)
 
     EVT_MENU(wxID_EXIT,                             MyFrame::OnExit)
@@ -354,7 +356,10 @@ bool MyApp::OnInit()
     file_menu->Append(wxID_ANY,_T("&Modal/Modeless"),modal_menu);
 #endif // USE_MODAL_PRESENTATION
 
+#if USE_SETTINGS_DIALOG
     file_menu->Append(DIALOGS_PROPERTY_SHEET, _T("&Property Sheet Dialog\tCtrl-P"));
+#endif
+
     file_menu->Append(DIALOGS_REQUEST, _T("&Request user attention\tCtrl-R"));
 
     file_menu->AppendSeparator();
@@ -383,7 +388,7 @@ MyFrame::MyFrame(wxWindow *parent,
        : wxFrame(parent, wxID_ANY, title)
 {
     SetIcon(sample_xpm);
-    
+
 #if USE_MODAL_PRESENTATION
     m_dialog = (MyModelessDialog *)NULL;
 #endif // USE_MODAL_PRESENTATION
@@ -407,10 +412,6 @@ MyFrame::MyFrame(wxWindow *parent,
         );
     }
 #endif // wxUSE_COLOURDLG
-
-#if wxUSE_STATUSBAR
-    CreateStatusBar();
-#endif // wxUSE_STATUSBAR
 }
 
 #if wxUSE_COLOURDLG
@@ -676,6 +677,7 @@ void MyFrame::FileOpen(wxCommandEvent& WXUNUSED(event) )
                  );
 
     dialog.SetDirectory(wxGetHomeDir());
+    dialog.CentreOnParent();
 
     if (dialog.ShowModal() == wxID_OK)
     {
@@ -965,11 +967,13 @@ void MyFrame::ShowTip(wxCommandEvent& WXUNUSED(event))
 }
 #endif // wxUSE_STARTUP_TIPS
 
+#if USE_SETTINGS_DIALOG
 void MyFrame::OnPropertySheet(wxCommandEvent& WXUNUSED(event))
 {
     SettingsDialog dialog(this);
     dialog.ShowModal();
 }
+#endif // USE_SETTINGS_DIALOG
 
 void MyFrame::OnRequestUserAttention(wxCommandEvent& WXUNUSED(event))
 {
@@ -1357,6 +1361,7 @@ void MyModalDialog::OnButton(wxCommandEvent& event)
 
 #endif // USE_MODAL_PRESENTATION
 
+#if USE_SETTINGS_DIALOG
 // ----------------------------------------------------------------------------
 // SettingsDialog
 // ----------------------------------------------------------------------------
@@ -1368,9 +1373,14 @@ END_EVENT_TABLE()
 
 SettingsDialog::SettingsDialog(wxWindow* win)
 {
-    SetExtraStyle(wxDIALOG_EX_CONTEXTHELP);
+    SetExtraStyle(wxDIALOG_EX_CONTEXTHELP|wxWS_EX_VALIDATE_RECURSIVELY);
 
-    Create(win, -1, _("Preferences"), wxDefaultPosition, wxDefaultSize, wxDEFAULT_DIALOG_STYLE|wxRESIZE_BORDER);
+    Create(win, wxID_ANY, _("Preferences"), wxDefaultPosition, wxDefaultSize,
+        wxDEFAULT_DIALOG_STYLE
+#ifndef __WXWINCE__
+        |wxRESIZE_BORDER
+#endif
+    );
     CreateButtons(wxOK|wxCANCEL|wxHELP);
 
     wxBookCtrlBase* notebook = GetBookCtrl();
@@ -1405,16 +1415,21 @@ wxPanel* SettingsDialog::CreateGeneralSettingsPage(wxWindow* parent)
 
     wxBoxSizer* itemSizer12 = new wxBoxSizer( wxHORIZONTAL );
     wxCheckBox* checkBox12 = new wxCheckBox(panel, ID_AUTO_SAVE, autoSaveLabel, wxDefaultPosition, wxDefaultSize);
+
+#if wxUSE_SPINCTRL
     wxSpinCtrl* spinCtrl12 = new wxSpinCtrl(panel, ID_AUTO_SAVE_MINS, wxEmptyString,
-        wxDefaultPosition, wxSize(40, -1), wxSP_ARROW_KEYS, 1, 60, 1);
-    
+        wxDefaultPosition, wxSize(40, wxDefaultCoord), wxSP_ARROW_KEYS, 1, 60, 1);
+#endif
+
     itemSizer12->Add(checkBox12, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
+#if wxUSE_SPINCTRL
     itemSizer12->Add(spinCtrl12, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
+#endif
     itemSizer12->Add(new wxStaticText(panel, wxID_STATIC, minsLabel), 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
     item0->Add(itemSizer12, 0, wxGROW|wxALL, 0);
 
     //// TOOLTIPS
-    
+
     wxBoxSizer* itemSizer8 = new wxBoxSizer( wxHORIZONTAL );
     wxCheckBox* checkBox6 = new wxCheckBox(panel, ID_SHOW_TOOLTIPS, _("Show &tooltips"), wxDefaultPosition, wxDefaultSize);
     itemSizer8->Add(checkBox6, 0, wxALL|wxALIGN_CENTER_VERTICAL, 5);
@@ -1424,7 +1439,7 @@ wxPanel* SettingsDialog::CreateGeneralSettingsPage(wxWindow* parent)
 
     panel->SetSizer(topSizer);
     topSizer->Fit(panel);
-    
+
     return panel;
 }
 
@@ -1450,7 +1465,7 @@ wxPanel* SettingsDialog::CreateAestheticSettingsPage(wxWindow* parent)
     wxArrayString backgroundStyleChoices;
     backgroundStyleChoices.Add(wxT("Colour"));
     backgroundStyleChoices.Add(wxT("Image"));
-    wxStaticBox* staticBox3 = new wxStaticBox(panel, -1, _("Background style:"));
+    wxStaticBox* staticBox3 = new wxStaticBox(panel, wxID_ANY, _("Background style:"));
 
     wxBoxSizer* styleSizer = new wxStaticBoxSizer( staticBox3, wxVERTICAL );
     item0->Add(styleSizer, 0, wxGROW|wxALL, 5);
@@ -1465,22 +1480,26 @@ wxPanel* SettingsDialog::CreateAestheticSettingsPage(wxWindow* parent)
 
     styleSizer->Add(itemSizer2, 0, wxGROW|wxALL, 5);
 
+#if wxUSE_SPINCTRL
     //// FONT SIZE SELECTION
 
-    wxStaticBox* staticBox1 = new wxStaticBox(panel, -1, _("Tile font size:"));
+    wxStaticBox* staticBox1 = new wxStaticBox(panel, wxID_ANY, _("Tile font size:"));
     wxBoxSizer* itemSizer5 = new wxStaticBoxSizer( staticBox1, wxHORIZONTAL );
 
     wxSpinCtrl* spinCtrl = new wxSpinCtrl(panel, ID_FONT_SIZE, wxEmptyString, wxDefaultPosition,
-        wxSize(80, -1));
+        wxSize(80, wxDefaultCoord));
     itemSizer5->Add(spinCtrl, 0, wxALL|wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL, 5);
 
     item0->Add(itemSizer5, 0, wxGROW|wxLEFT|wxRIGHT, 5);
+#endif
 
     topSizer->Add( item0, 1, wxGROW|wxALIGN_CENTRE|wxALL, 5 );
+    topSizer->AddSpacer(5);
 
     panel->SetSizer(topSizer);
     topSizer->Fit(panel);
-    
+
     return panel;
 }
 
+#endif // USE_SETTINGS_DIALOG