X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/453c9e3b0bad19ff91fb280183c34e5df7e24011..51623cc53f350935337e57930eaaf1afe9a48c3b:/include/wx/generic/aboutdlgg.h diff --git a/include/wx/generic/aboutdlgg.h b/include/wx/generic/aboutdlgg.h index 681cc987df..9ad4a77e41 100644 --- a/include/wx/generic/aboutdlgg.h +++ b/include/wx/generic/aboutdlgg.h @@ -17,15 +17,25 @@ #include "wx/dialog.h" -class WXDLLIMPEXP_CORE wxAboutDialogInfo; -class WXDLLIMPEXP_CORE wxSizer; -class WXDLLIMPEXP_CORE wxSizerFlags; +class WXDLLIMPEXP_FWD_ADV wxAboutDialogInfo; +class WXDLLIMPEXP_FWD_CORE wxSizer; +class WXDLLIMPEXP_FWD_CORE wxSizerFlags; + +// Under GTK and OS X "About" dialogs are not supposed to be modal, unlike MSW +// and, presumably, all the other platforms. +#ifndef wxUSE_MODAL_ABOUT_DIALOG + #if defined(__WXGTK__) || defined(__WXMAC__) + #define wxUSE_MODAL_ABOUT_DIALOG 0 + #else + #define wxUSE_MODAL_ABOUT_DIALOG 1 + #endif +#endif // wxUSE_MODAL_ABOUT_DIALOG not defined // ---------------------------------------------------------------------------- // wxGenericAboutDialog: generic "About" dialog implementation // ---------------------------------------------------------------------------- -class WXDLLIMPEXP_CORE wxGenericAboutDialog : public wxDialog +class WXDLLIMPEXP_ADV wxGenericAboutDialog : public wxDialog { public: // constructors and Create() method @@ -35,15 +45,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 @@ -64,17 +74,28 @@ protected: // 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; } +#if !wxUSE_MODAL_ABOUT_DIALOG + // An explicit handler for deleting the dialog when it's closed is needed + // when we show it non-modally. + void OnCloseWindow(wxCloseEvent& event); + void OnOK(wxCommandEvent& event); +#endif // !wxUSE_MODAL_ABOUT_DIALOG 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