]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/fontdlgg.h
MSVC 5 fix.
[wxWidgets.git] / include / wx / generic / fontdlgg.h
index c8a6e76c0983e4b2042236a01288d3af121014da..bc62532311e378b85032483d9fcbbfd4215227df 100644 (file)
@@ -1,5 +1,5 @@
 /////////////////////////////////////////////////////////////////////////////
-// Name:        fontdlgg.h
+// Name:        wx/generic/fontdlgg.h
 // Purpose:     wxGenericFontDialog
 // Author:      Julian Smart
 // Modified by:
@@ -9,10 +9,10 @@
 // Licence:    wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef __FONTDLGH_G__
-#define __FONTDLGH_G__
+#ifndef _WX_GENERIC_FONTDLGG_H
+#define _WX_GENERIC_FONTDLGG_H
 
-#ifdef __GNUG__
+#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA)
 #pragma interface "fontdlgg.h"
 #endif
 
 class WXDLLEXPORT wxChoice;
 class WXDLLEXPORT wxText;
 class WXDLLEXPORT wxCheckBox;
+class WXDLLEXPORT wxFontPreviewer;
 
-#define wxID_FONT_UNDERLINE 3000
-#define wxID_FONT_STYLE     3001
-#define wxID_FONT_WEIGHT    3002
-#define wxID_FONT_FAMILY    3003
-#define wxID_FONT_COLOUR    3004
-#define wxID_FONT_SIZE      3005
+enum
+{
+    wxID_FONT_UNDERLINE = 3000,
+    wxID_FONT_STYLE,
+    wxID_FONT_WEIGHT,
+    wxID_FONT_FAMILY,
+    wxID_FONT_COLOUR,
+    wxID_FONT_SIZE
+};
 
-class WXDLLEXPORT wxGenericFontDialog: public wxDialog
+class WXDLLEXPORT wxGenericFontDialog : public wxFontDialogBase
 {
- DECLARE_DYNAMIC_CLASS(wxGenericFontDialog)
- protected:
-  wxFontData fontData;
-  wxFont dialogFont;
-  wxWindow *dialogParent;
-
-  // Area reserved for font display
-  wxRectangle fontRect;
-
-  wxChoice *familyChoice;
-  wxChoice *styleChoice;
-  wxChoice *weightChoice;
-  wxChoice *colourChoice;
-  wxCheckBox *underLineCheckBox;
-  wxChoice   *pointSizeChoice;
-  bool       m_useEvents;
-
-//  static bool fontDialogCancelled;
- public:
-  wxGenericFontDialog(void);
-  wxGenericFontDialog(wxWindow *parent, wxFontData *data = (wxFontData *) NULL);
-  ~wxGenericFontDialog(void);
+public:
+    wxGenericFontDialog() { Init(); }
+    wxGenericFontDialog(wxWindow *parent, const wxFontData& data)
+        : wxFontDialogBase(parent, data) { Init(); }
+    virtual ~wxGenericFontDialog();
+
+    virtual int ShowModal();
 
-  bool Create(wxWindow *parent, wxFontData *data = (wxFontData *) NULL);
+    // deprecated, for backwards compatibility only
+    wxGenericFontDialog(wxWindow *parent, const wxFontData *data)
+        : wxFontDialogBase(parent, data) { Init(); }
 
-  int ShowModal(void);
+    // Internal functions
+    void OnCloseWindow(wxCloseEvent& event);
 
-  inline wxFontData& GetFontData(void) { return fontData; }
+    virtual void CreateWidgets();
+    virtual void InitializeFont();
 
-  // Internal functions
-  void OnPaint(wxPaintEvent& event);
+    void OnChangeFont(wxCommandEvent& event);
 
-  bool OnClose(void);
+protected:
+    // common part of all ctors
+    void Init();
 
-  virtual void CreateWidgets(void);
-  virtual void InitializeFont(void);
-  
-  virtual void PaintFontBackground(wxDC& dc);
-  virtual void PaintFont(wxDC& dc);
+    virtual bool DoCreate(wxWindow *parent);
 
-  void OnChangeFont(wxCommandEvent& event);
+    wxFont dialogFont;
 
-DECLARE_EVENT_TABLE()
+    wxChoice *familyChoice;
+    wxChoice *styleChoice;
+    wxChoice *weightChoice;
+    wxChoice *colourChoice;
+    wxCheckBox *underLineCheckBox;
+    wxChoice   *pointSizeChoice;
+
+    wxFontPreviewer *m_previewer;
+    bool       m_useEvents;
+
+    //  static bool fontDialogCancelled;
+    DECLARE_EVENT_TABLE()
+    DECLARE_DYNAMIC_CLASS(wxGenericFontDialog)
 };
 
-char* WXDLLEXPORT wxFontFamilyIntToString(int family);
-char* WXDLLEXPORT wxFontWeightIntToString(int weight);
-char* WXDLLEXPORT wxFontStyleIntToString(int style);
-int WXDLLEXPORT wxFontFamilyStringToInt(char *family);
-int WXDLLEXPORT wxFontWeightStringToInt(char *weight);
-int WXDLLEXPORT wxFontStyleStringToInt(char *style);
+WXDLLEXPORT const wxChar *wxFontFamilyIntToString(int family);
+WXDLLEXPORT const wxChar *wxFontWeightIntToString(int weight);
+WXDLLEXPORT const wxChar *wxFontStyleIntToString(int style);
+WXDLLEXPORT int wxFontFamilyStringToInt(wxChar *family);
+WXDLLEXPORT int wxFontWeightStringToInt(wxChar *weight);
+WXDLLEXPORT int wxFontStyleStringToInt(wxChar *style);
+
+#endif // _WX_GENERIC_FONTDLGG_H
 
-#endif