1 /////////////////////////////////////////////////////////////////////////////// 2 // Name: src/msw/aboutdlg.cpp 3 // Purpose: implementation of wxAboutBox() for wxMSW 4 // Author: Vadim Zeitlin 5 // Created: 2006-10-07 6 // Copyright: (c) 2006 Vadim Zeitlin <vadim@wxwindows.org> 7 // Licence: wxWindows licence 8 /////////////////////////////////////////////////////////////////////////////// 9 10 // ============================================================================ 11 // declarations 12 // ============================================================================ 13 14 // ---------------------------------------------------------------------------- 15 // headers 16 // ---------------------------------------------------------------------------- 17 18 // for compilers that support precompilation, includes "wx.h". 19 #include "wx/wxprec.h" 20 21 #ifdef __BORLANDC__ 22 #pragma hdrstop 23 #endif 24 25 #if wxUSE_ABOUTDLG 26 27 #ifndef WX_PRECOMP 28 #include "wx/msgdlg.h" 29 #endif //WX_PRECOMP 30 31 #include "wx/aboutdlg.h" 32 #include "wx/generic/aboutdlgg.h" 33 34 // ============================================================================ 35 // implementation 36 // ============================================================================ 37 38 // our public entry point wxAboutBox(const wxAboutDialogInfo & info,wxWindow * parent)39void wxAboutBox(const wxAboutDialogInfo& info, wxWindow* parent) 40 { 41 // we prefer to show a simple message box if we don't have any fields which 42 // can't be shown in it because as much as there is a standard about box 43 // under MSW at all, this is it 44 if ( info.IsSimple() ) 45 { 46 // build the text to show in the box 47 const wxString name = info.GetName(); 48 wxString msg; 49 msg << name; 50 if ( info.HasVersion() ) 51 { 52 msg << wxT('\n'); 53 msg << info.GetLongVersion(); 54 } 55 56 msg << wxT("\n\n"); 57 58 if ( info.HasCopyright() ) 59 msg << info.GetCopyrightToDisplay() << wxT('\n'); 60 61 // add everything remaining 62 msg << info.GetDescriptionAndCredits(); 63 64 wxMessageBox(msg, wxString::Format(_("About %s"), name), wxOK | wxCENTRE, parent); 65 } 66 else // simple "native" version is not enough 67 { 68 // we need to use the full-blown generic version 69 wxGenericAboutBox(info, parent); 70 } 71 } 72 73 #endif // wxUSE_ABOUTDLG 74