]> git.saurik.com Git - wxWidgets.git/blobdiff - src/osx/cocoa/preferences.mm
Add wxTimer::StartOnce().
[wxWidgets.git] / src / osx / cocoa / preferences.mm
index 28d80e3129533cfbf827e8ee4d3adc98a11c2450..14a971d7e517d3732efda68f44a5a2fdd27ba365 100644 (file)
@@ -54,8 +54,8 @@ wxBitmap wxStockPreferencesPage::GetLargeIcon() const
 class wxCocoaPrefsWindow : public wxFrame
 {
 public:
-    wxCocoaPrefsWindow()
-        : wxFrame(NULL, wxID_ANY, _("Preferences"),
+    wxCocoaPrefsWindow(const wxString& title)
+        : wxFrame(NULL, wxID_ANY, title,
                   wxDefaultPosition, wxDefaultSize,
                   wxDEFAULT_FRAME_STYLE & ~(wxRESIZE_BORDER | wxMAXIMIZE_BOX | wxMINIMIZE_BOX)),
           m_toolbarRealized(false),
@@ -129,6 +129,7 @@ private:
         {
             info->win = info->page->CreateWindow(this);
             info->win->Hide();
+            info->win->Fit();
             // fill the page with data using wxEVT_INIT_DIALOG/TransferDataToWindow:
             info->win->InitDialog();
         }
@@ -191,7 +192,8 @@ private:
 class wxCocoaPreferencesEditorImpl : public wxPreferencesEditorImpl
 {
 public:
-    wxCocoaPreferencesEditorImpl() : m_win(NULL)
+    wxCocoaPreferencesEditorImpl(const wxString& title)
+        : m_win(NULL), m_title(title)
     {
     }
 
@@ -232,17 +234,25 @@ private:
     wxCocoaPrefsWindow* GetWin()
     {
         if ( !m_win )
-            m_win = new wxCocoaPrefsWindow();
+        {
+            if ( m_title.empty() )
+                m_title = _("Preferences");
+
+            m_win = new wxCocoaPrefsWindow(m_title);
+        }
+
         return m_win;
     }
 
     wxWeakRef<wxCocoaPrefsWindow> m_win;
+
+    wxString m_title;
 };
 
 /*static*/
-wxPreferencesEditorImpl* wxPreferencesEditorImpl::Create()
+wxPreferencesEditorImpl* wxPreferencesEditorImpl::Create(const wxString& title)
 {
-    return new wxCocoaPreferencesEditorImpl();
+    return new wxCocoaPreferencesEditorImpl(title);
 }
 
 #endif // wxHAS_PREF_EDITOR_NATIVE