1/////////////////////////////////////////////////////////////////////////////// 2// Name: wx/generic/aboutdlgg.h 3// Purpose: generic wxAboutBox() implementation 4// Author: Vadim Zeitlin 5// Created: 2006-10-07 6// RCS-ID: $Id: aboutdlgg.h 49804 2007-11-10 01:09:42Z VZ $ 7// Copyright: (c) 2006 Vadim Zeitlin <vadim@wxwindows.org> 8// Licence: wxWindows licence 9/////////////////////////////////////////////////////////////////////////////// 10 11#ifndef _WX_GENERIC_ABOUTDLGG_H_ 12#define _WX_GENERIC_ABOUTDLGG_H_ 13 14#include "wx/defs.h" 15 16#if wxUSE_ABOUTDLG 17 18#include "wx/dialog.h" 19 20class WXDLLIMPEXP_FWD_ADV wxAboutDialogInfo; 21class WXDLLIMPEXP_FWD_CORE wxSizer; 22class WXDLLIMPEXP_FWD_CORE wxSizerFlags; 23 24// ---------------------------------------------------------------------------- 25// wxGenericAboutDialog: generic "About" dialog implementation 26// ---------------------------------------------------------------------------- 27 28class WXDLLIMPEXP_ADV wxGenericAboutDialog : public wxDialog 29{ 30public: 31 // constructors and Create() method 32 // -------------------------------- 33 34 // default ctor, you must use Create() to really initialize the dialog 35 wxGenericAboutDialog() { Init(); } 36 37 // ctor which fully initializes the object 38 wxGenericAboutDialog(const wxAboutDialogInfo& info) 39 { 40 Init(); 41 42 (void)Create(info); 43 } 44 45 // this method must be called if and only if the default ctor was used 46 bool Create(const wxAboutDialogInfo& info); 47 48protected: 49 // this virtual method may be overridden to add some more controls to the 50 // dialog 51 // 52 // notice that for this to work you must call Create() from the derived 53 // class ctor and not use the base class ctor directly as otherwise the 54 // virtual function of the derived class wouldn't be called 55 virtual void DoAddCustomControls() { } 56 57 // add arbitrary control to the text sizer contents with the specified 58 // flags 59 void AddControl(wxWindow *win, const wxSizerFlags& flags); 60 61 // add arbitrary control to the text sizer contents and center it 62 void AddControl(wxWindow *win); 63 64 // add the text, if it's not empty, to the text sizer contents 65 void AddText(const wxString& text); 66 67#if wxUSE_COLLPANE 68 // add a wxCollapsiblePane containing the given text 69 void AddCollapsiblePane(const wxString& title, const wxString& text); 70#endif // wxUSE_COLLPANE 71 72private: 73 // common part of all ctors 74 void Init() { m_sizerText = NULL; } 75 76 77 wxSizer *m_sizerText; 78}; 79 80// unlike wxAboutBox which can show either the native or generic about dialog, 81// this function always shows the generic one 82WXDLLIMPEXP_ADV void wxGenericAboutBox(const wxAboutDialogInfo& info); 83 84#endif // wxUSE_ABOUTDLG 85 86#endif // _WX_GENERIC_ABOUTDLGG_H_ 87 88