home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wxos2240.zip / wxWindows-2.4.0 / include / wx / fontdlg.h < prev    next >
C/C++ Source or Header  |  2002-05-13  |  3KB  |  92 lines

  1. ///////////////////////////////////////////////////////////////////////////////
  2. // Name:        wx/fontdlg.h
  3. // Purpose:     common interface for different wxFontDialog classes
  4. // Author:      Vadim Zeitlin
  5. // Modified by:
  6. // Created:     12.05.02
  7. // RCS-ID:      $Id: fontdlg.h,v 1.15 2002/05/12 22:26:01 VZ Exp $
  8. // Copyright:   (c) 1997-2002 wxWindows team
  9. // Licence:     wxWindows license
  10. ///////////////////////////////////////////////////////////////////////////////
  11.  
  12. #ifndef _WX_FONTDLG_H_BASE_
  13. #define _WX_FONTDLG_H_BASE_
  14.  
  15. #include "wx/defs.h"            // for wxUSE_FONTDLG
  16.  
  17. #if wxUSE_FONTDLG
  18.  
  19. #include "wx/dialog.h"          // the base class
  20. #include "wx/cmndata.h"         // wxFontData
  21.  
  22. // ----------------------------------------------------------------------------
  23. // wxFontDialog interface
  24. // ----------------------------------------------------------------------------
  25.  
  26. class WXDLLEXPORT wxFontDialogBase : public wxDialog
  27. {
  28. public:
  29.     // create the font dialog
  30.     wxFontDialogBase() { }
  31.     wxFontDialogBase(wxWindow *parent) { m_parent = parent; }
  32.     wxFontDialogBase(wxWindow *parent, const wxFontData& data)
  33.         { m_parent = parent; InitFontData(&data); }
  34.  
  35.     bool Create(wxWindow *parent)
  36.         { return DoCreate(parent); }
  37.     bool Create(wxWindow *parent, const wxFontData& data)
  38.         { InitFontData(&data); return Create(parent); }
  39.  
  40.     virtual ~wxFontDialogBase();
  41.  
  42.     // retrieve the font data
  43.     const wxFontData& GetFontData() const { return m_fontData; }
  44.     wxFontData& GetFontData() { return m_fontData; }
  45.  
  46.     // deprecated interface, for compatibility only, don't use
  47.     wxFontDialogBase(wxWindow *parent, const wxFontData *data)
  48.         { m_parent = parent; InitFontData(data); }
  49.  
  50.     bool Create(wxWindow *parent, const wxFontData *data)
  51.         { InitFontData(data); return Create(parent); }
  52.  
  53. protected:
  54.     virtual bool DoCreate(wxWindow *parent) { m_parent = parent; return TRUE; }
  55.  
  56.     void InitFontData(const wxFontData *data = NULL)
  57.         { if ( data ) m_fontData = *data; }
  58.  
  59.     wxFontData m_fontData;
  60. };
  61.  
  62. // ----------------------------------------------------------------------------
  63. // platform-specific wxFontDialog implementation
  64. // ----------------------------------------------------------------------------
  65.  
  66. #if defined(__WXUNIVERSAL__) || defined(__WXMOTIF__) || defined(__WXMAC__)
  67.     #include "wx/generic/fontdlgg.h"
  68.     #define wxFontDialog wxGenericFontDialog
  69.     #define sm_classwxFontDialog sm_classwxGenericFontDialog
  70. #elif defined(__WXMSW__)
  71.     #include "wx/msw/fontdlg.h"
  72. #elif defined(__WXGTK__)
  73.     #include "wx/gtk/fontdlg.h"
  74. #elif defined(__WXPM__)
  75.     #include "wx/os2/fontdlg.h"
  76. #endif
  77.  
  78. // ----------------------------------------------------------------------------
  79. // global public functions
  80. // ----------------------------------------------------------------------------
  81.  
  82. // get the font from user and return it, returns wxNullFont if the dialog was
  83. // cancelled
  84. wxFont WXDLLEXPORT
  85. wxGetFontFromUser(wxWindow *parent = (wxWindow *)NULL,
  86.                   const wxFont& fontInit = wxNullFont);
  87.  
  88. #endif // wxUSE_FONTDLG
  89.  
  90. #endif
  91.     // _WX_FONTDLG_H_BASE_
  92.