]> git.saurik.com Git - wxWidgets.git/commitdiff
add parent parameter to wxAboutBox() (closes #9952)
authorVadim Zeitlin <vadim@wxwidgets.org>
Sun, 26 Apr 2009 13:41:21 +0000 (13:41 +0000)
committerVadim Zeitlin <vadim@wxwidgets.org>
Sun, 26 Apr 2009 13:41:21 +0000 (13:41 +0000)
git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@60389 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775

include/wx/aboutdlg.h
include/wx/generic/aboutdlgg.h
interface/wx/aboutdlg.h
samples/dialogs/dialogs.cpp
src/generic/aboutdlgg.cpp
src/gtk/aboutdlg.cpp
src/msw/aboutdlg.cpp
src/osx/carbon/aboutdlg.cpp

index 44e86b06f6d120bd1b9fc457750f649556fc324b..8a4ccb36a1e613460dc6c5935d8a48a626263ea3 100644 (file)
@@ -151,7 +151,7 @@ private:
 };
 
 // functions to show the about dialog box
-WXDLLIMPEXP_ADV void wxAboutBox(const wxAboutDialogInfo& info);
+WXDLLIMPEXP_ADV void wxAboutBox(const wxAboutDialogInfo& info, wxWindow* parent = NULL);
 
 #endif // wxUSE_ABOUTDLG
 
index c275ed7ba718be72a3e950ce0a96e7a67cb2c775..e45fc24d0dfad86ae9db78675ff6cb3ccd2065b7 100644 (file)
@@ -35,15 +35,15 @@ public:
     wxGenericAboutDialog() { Init(); }
 
     // ctor which fully initializes the object
-    wxGenericAboutDialog(const wxAboutDialogInfo& info)
+    wxGenericAboutDialog(const wxAboutDialogInfo& info, wxWindow* parent = NULL)
     {
         Init();
 
-        (void)Create(info);
+        (void)Create(info, parent);
     }
 
     // this method must be called if and only if the default ctor was used
-    bool Create(const wxAboutDialogInfo& info);
+    bool Create(const wxAboutDialogInfo& info, wxWindow* parent = NULL);
 
 protected:
     // this virtual method may be overridden to add some more controls to the
@@ -79,7 +79,7 @@ private:
 
 // unlike wxAboutBox which can show either the native or generic about dialog,
 // this function always shows the generic one
-WXDLLIMPEXP_ADV void wxGenericAboutBox(const wxAboutDialogInfo& info);
+WXDLLIMPEXP_ADV void wxGenericAboutBox(const wxAboutDialogInfo& info, wxWindow* parent = NULL);
 
 #endif // wxUSE_ABOUTDLG
 
index 7342a3ed0a6d2be90197b576133ad185336d5698..9d19a3f2fe455e7d9ac61917ed5a356c9e2a1b8f 100644 (file)
@@ -201,7 +201,7 @@ public:
 
     @header{wx/aboutdlg.h}
 */
-void wxAboutBox(const wxAboutDialogInfo& info);
+void wxAboutBox(const wxAboutDialogInfo& info, wxWindow* parent = NULL);
 
 /**
     This function does the same thing as wxAboutBox() except that it always uses
@@ -218,6 +218,6 @@ void wxAboutBox(const wxAboutDialogInfo& info);
 
     @header{wx/aboutdlg.h}
 */
-void wxGenericAboutBox(const wxAboutDialogInfo& info);
+void wxGenericAboutBox(const wxAboutDialogInfo& info, wxWindow* parent = NULL);
 
 //@}
index ceed79323d8f4dea7ee642e5b6449f14f355ce50..f9dbb0a3cc01fbb74bd96234e1e1ff59961870fb 100644 (file)
@@ -1741,7 +1741,7 @@ void MyFrame::ShowSimpleAboutDialog(wxCommandEvent& WXUNUSED(event))
     wxAboutDialogInfo info;
     InitAboutInfoMinimal(info);
 
-    wxAboutBox(info);
+    wxAboutBox(info, this);
 }
 
 void MyFrame::ShowFancyAboutDialog(wxCommandEvent& WXUNUSED(event))
@@ -1749,7 +1749,7 @@ void MyFrame::ShowFancyAboutDialog(wxCommandEvent& WXUNUSED(event))
     wxAboutDialogInfo info;
     InitAboutInfoWebsite(info);
 
-    wxAboutBox(info);
+    wxAboutBox(info, this);
 }
 
 void MyFrame::ShowFullAboutDialog(wxCommandEvent& WXUNUSED(event))
@@ -1757,16 +1757,16 @@ void MyFrame::ShowFullAboutDialog(wxCommandEvent& WXUNUSED(event))
     wxAboutDialogInfo info;
     InitAboutInfoAll(info);
 
-    wxAboutBox(info);
+    wxAboutBox(info, this);
 }
 
 // a trivial example of a custom dialog class
 class MyAboutDialog : public wxGenericAboutDialog
 {
 public:
-    MyAboutDialog(const wxAboutDialogInfo& info)
+    MyAboutDialog(const wxAboutDialogInfo& info, wxWindow* parent)
     {
-        Create(info);
+        Create(info, parent);
     }
 
     // add some custom controls
@@ -1783,7 +1783,7 @@ void MyFrame::ShowCustomAboutDialog(wxCommandEvent& WXUNUSED(event))
     wxAboutDialogInfo info;
     InitAboutInfoAll(info);
 
-    MyAboutDialog dlg(info);
+    MyAboutDialog dlg(info, this);
     dlg.ShowModal();
 }
 
index 1992228b6db1c6cde445b6dfe149cc2990c17bb8..a30e6130706ffa9a3b1de622ac9bc54da33389fd 100644 (file)
@@ -113,10 +113,9 @@ wxString wxAboutDialogInfo::GetCopyrightToDisplay() const
 // wxGenericAboutDialog
 // ----------------------------------------------------------------------------
 
-bool wxGenericAboutDialog::Create(const wxAboutDialogInfo& info)
+bool wxGenericAboutDialog::Create(const wxAboutDialogInfo& info, wxWindow* parent)
 {
-    // this is a modal dialog thus we'll use GetParentForModalDialog:
-    if ( !wxDialog::Create(GetParentForModalDialog(), wxID_ANY, _("About ") + info.GetName(),
+    if ( !wxDialog::Create(parent, wxID_ANY, _("About ") + info.GetName(),
                            wxDefaultPosition, wxDefaultSize, wxRESIZE_BORDER|wxDEFAULT_DIALOG_STYLE) )
         return false;
 
@@ -196,7 +195,7 @@ bool wxGenericAboutDialog::Create(const wxAboutDialogInfo& info)
 
     SetSizerAndFit(sizerTop);
 
-    CentreOnScreen();
+    CentreOnParent();
 
     return true;
 }
@@ -240,10 +239,10 @@ void wxGenericAboutDialog::AddCollapsiblePane(const wxString& title,
 // public functions
 // ----------------------------------------------------------------------------
 
-void wxGenericAboutBox(const wxAboutDialogInfo& info)
+void wxGenericAboutBox(const wxAboutDialogInfo& info, wxWindow* parent)
 {
 #if !defined(__WXGTK__) && !defined(__WXMAC__)
-    wxGenericAboutDialog dlg(info);
+    wxGenericAboutDialog dlg(info, parent);
     dlg.ShowModal();
 #else
     wxGenericAboutDialog* dlg = new wxGenericAboutDialog(info);
@@ -255,9 +254,9 @@ void wxGenericAboutBox(const wxAboutDialogInfo& info)
 // the others we provide a generic fallback here
 #if !defined(__WXMSW__) && !defined(__WXMAC__) && !defined(__WXGTK26__)
 
-void wxAboutBox(const wxAboutDialogInfo& info)
+void wxAboutBox(const wxAboutDialogInfo& info, wxWindow* parent)
 {
-    wxGenericAboutBox(info);
+    wxGenericAboutBox(info, parent);
 }
 
 #endif // platforms without native about dialog
index 1094233cd85fc180bbce633556dbbd854d5a55be..a6fc079e05039e2afd1ac09bfdb52906faabfb4c 100644 (file)
@@ -109,7 +109,7 @@ wxGtkAboutDialogOnLink(GtkAboutDialog * WXUNUSED(about),
     wxLaunchDefaultBrowser(wxGTK_CONV_BACK_SYS(link));
 }
 
-void wxAboutBox(const wxAboutDialogInfo& info)
+void wxAboutBox(const wxAboutDialogInfo& info, wxWindow* WXUNUSED(parent))
 {
     if ( !gtk_check_version(2,6,0) )
     {
index 5f556453fe5a4f6b472777cfec969e692eef9f5e..123e9823e03f2edcd20306826d37d72243906285 100644 (file)
@@ -37,7 +37,7 @@
 // ============================================================================
 
 // our public entry point
-void wxAboutBox(const wxAboutDialogInfo& info)
+void wxAboutBox(const wxAboutDialogInfo& info, wxWindow* parent)
 {
     // we prefer to show a simple message box if we don't have any fields which
     // can't be shown in it because as much as there is a standard about box
@@ -62,12 +62,12 @@ void wxAboutBox(const wxAboutDialogInfo& info)
         // add everything remaining
         msg << info.GetDescriptionAndCredits();
 
-        wxMessageBox(msg, wxString::Format(_("About %s"), name));
+        wxMessageBox(msg, wxString::Format(_("About %s"), name, wxOK | wxCENTRE, parent));
     }
     else // simple "native" version is not enough
     {
         // we need to use the full-blown generic version
-        wxGenericAboutBox(info);
+        wxGenericAboutBox(info, parent);
     }
 }
 
index 9188a221c71aab70d60e18aecc88922969683086..81cff671e58e9e3584ba1e207dfa9f25bec2ef56 100644 (file)
@@ -56,7 +56,7 @@ public:
 // implementation
 // ============================================================================
 
-void wxAboutBox(const wxAboutDialogInfo& info)
+void wxAboutBox(const wxAboutDialogInfo& info, wxWindow* WXUNUSED(parent))
 {
     // Mac native about box currently can show only name, version, copyright
     // and description fields and we also shoehorn the credits text into the