]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/aboutdlgg.h
Simplify and correct MSW selection of background brush for children painting.
[wxWidgets.git] / include / wx / generic / aboutdlgg.h
index d5bf6f8b69e598fdda4fe1ed73336675acc295b9..e45fc24d0dfad86ae9db78675ff6cb3ccd2065b7 100644 (file)
@@ -1,6 +1,6 @@
 ///////////////////////////////////////////////////////////////////////////////
 // Name:        wx/generic/aboutdlgg.h
-// Purpose:     generic wxAboutDialog implementation
+// Purpose:     generic wxAboutBox() implementation
 // Author:      Vadim Zeitlin
 // Created:     2006-10-07
 // RCS-ID:      $Id$
 
 #include "wx/dialog.h"
 
-class WXDLLIMPEXP_CORE wxAboutDialogInfo;
-class WXDLLIMPEXP_CORE wxSizer;
+class WXDLLIMPEXP_FWD_ADV wxAboutDialogInfo;
+class WXDLLIMPEXP_FWD_CORE wxSizer;
+class WXDLLIMPEXP_FWD_CORE wxSizerFlags;
 
 // ----------------------------------------------------------------------------
-// wxAboutDialog: generic "About" dialog implementation
+// wxGenericAboutDialog: generic "About" dialog implementation
 // ----------------------------------------------------------------------------
 
-class WXDLLIMPEXP_CORE wxAboutDialog : public wxDialog
+class WXDLLIMPEXP_ADV wxGenericAboutDialog : public wxDialog
 {
 public:
     // constructors and Create() method
     // --------------------------------
 
     // default ctor, you must use Create() to really initialize the dialog
-    wxAboutDialog() { Init(); }
+    wxGenericAboutDialog() { Init(); }
 
     // ctor which fully initializes the object
-    wxAboutDialog(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:
-    // common part of all ctors
-    void Init() { m_sizerText = NULL; }
-
-    // add arbitrary control to the text sizer contents
+    // this virtual method may be overridden to add some more controls to the
+    // dialog
+    //
+    // notice that for this to work you must call Create() from the derived
+    // class ctor and not use the base class ctor directly as otherwise the
+    // virtual function of the derived class wouldn't be called
+    virtual void DoAddCustomControls() { }
+
+    // add arbitrary control to the text sizer contents with the specified
+    // flags
+    void AddControl(wxWindow *win, const wxSizerFlags& flags);
+
+    // add arbitrary control to the text sizer contents and center it
     void AddControl(wxWindow *win);
 
     // add the text, if it's not empty, to the text sizer contents
     void AddText(const wxString& text);
 
+#if wxUSE_COLLPANE
+    // add a wxCollapsiblePane containing the given text
+    void AddCollapsiblePane(const wxString& title, const wxString& text);
+#endif // wxUSE_COLLPANE
+
+private:
+    // common part of all ctors
+    void Init() { m_sizerText = NULL; }
+
 
     wxSizer *m_sizerText;
 };
 
 // unlike wxAboutBox which can show either the native or generic about dialog,
 // this function always shows the generic one
-WXDLLIMPEXP_CORE void wxGenericAboutBox(const wxAboutDialogInfo& info);
+WXDLLIMPEXP_ADV void wxGenericAboutBox(const wxAboutDialogInfo& info, wxWindow* parent = NULL);
 
 #endif // wxUSE_ABOUTDLG