]> git.saurik.com Git - wxWidgets.git/blobdiff - include/wx/generic/fontdlgg.h
restore tabg.h and tabg.cpp for wxMotif
[wxWidgets.git] / include / wx / generic / fontdlgg.h
index b02d7093b01ffd69f5c5472c34c6f24cae3e9d99..892d840008330d5414cf63c1cda2b8de1ab6fb79 100644 (file)
 /////////////////////////////////////////////////////////////////////////////
-// Name:        fontdlgg.h
+// Name:        wx/generic/fontdlgg.h
 // Purpose:     wxGenericFontDialog
 // Author:      Julian Smart
 // Modified by:
 // Created:     01/02/97
 // RCS-ID:      $Id$
-// Copyright:   (c)
-// Licence:    wxWindows licence
+// Copyright:   (c) Julian Smart
+// Licence:     wxWindows licence
 /////////////////////////////////////////////////////////////////////////////
 
-#ifndef __FONTDLGH_G__
-#define __FONTDLGH_G__
+#ifndef _WX_GENERIC_FONTDLGG_H
+#define _WX_GENERIC_FONTDLGG_H
 
-#ifdef __GNUG__
-#pragma interface "fontdlgg.h"
-#endif
-
-#include "wx/setup.h"
+#include "wx/defs.h"
 #include "wx/gdicmn.h"
 #include "wx/font.h"
 #include "wx/dialog.h"
 #include "wx/cmndata.h"
 
+#ifdef __WXWINCE__
+#define USE_SPINCTRL_FOR_POINT_SIZE 1
+class WXDLLIMPEXP_FWD_CORE wxSpinEvent;
+#else
+#define USE_SPINCTRL_FOR_POINT_SIZE 0
+#endif
+
 /*
  * FONT DIALOG
  */
-class WXDLLEXPORT wxChoice;
-class WXDLLEXPORT wxText;
-class WXDLLEXPORT wxCheckBox;
-
-#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
-
-class WXDLLEXPORT wxGenericFontDialog: public wxDialog
+
+class WXDLLIMPEXP_FWD_CORE wxChoice;
+class WXDLLIMPEXP_FWD_CORE wxText;
+class WXDLLIMPEXP_FWD_CORE wxCheckBox;
+class WXDLLIMPEXP_FWD_CORE wxFontPreviewer;
+
+enum
 {
- DECLARE_DYNAMIC_CLASS(wxGenericFontDialog)
- protected:
-  wxFontData fontData;
-  wxFont dialogFont;
-  wxWindow *dialogParent;
+    wxID_FONT_UNDERLINE = 3000,
+    wxID_FONT_STYLE,
+    wxID_FONT_WEIGHT,
+    wxID_FONT_FAMILY,
+    wxID_FONT_COLOUR,
+    wxID_FONT_SIZE
+};
 
-  // Area reserved for font display
-  wxRect fontRect;
+class WXDLLIMPEXP_CORE wxGenericFontDialog : public wxFontDialogBase
+{
+public:
+    wxGenericFontDialog() { Init(); }
+    wxGenericFontDialog(wxWindow *parent)
+        : wxFontDialogBase(parent) { Init(); }
+    wxGenericFontDialog(wxWindow *parent, const wxFontData& data)
+        : wxFontDialogBase(parent, data) { Init(); }
+    virtual ~wxGenericFontDialog();
 
-  wxChoice *familyChoice;
-  wxChoice *styleChoice;
-  wxChoice *weightChoice;
-  wxChoice *colourChoice;
-  wxCheckBox *underLineCheckBox;
-  wxChoice   *pointSizeChoice;
-  bool       m_useEvents;
+    virtual int ShowModal();
 
-//  static bool fontDialogCancelled;
- public:
-  wxGenericFontDialog(void);
-  wxGenericFontDialog(wxWindow *parent, wxFontData *data = (wxFontData *) NULL);
-  ~wxGenericFontDialog(void);
+#if WXWIN_COMPATIBILITY_2_6
+    // deprecated, for backwards compatibility only
+    wxDEPRECATED( wxGenericFontDialog(wxWindow *parent, const wxFontData *data) );
+#endif // WXWIN_COMPATIBILITY_2_6
 
-  bool Create(wxWindow *parent, wxFontData *data = (wxFontData *) NULL);
+    // Internal functions
+    void OnCloseWindow(wxCloseEvent& event);
 
-  int ShowModal(void);
+    virtual void CreateWidgets();
+    virtual void InitializeFont();
 
-  inline wxFontData& GetFontData(void) { return fontData; }
+    void OnChangeFont(wxCommandEvent& event);
 
-  // Internal functions
-  void OnPaint(wxPaintEvent& event);
+#if USE_SPINCTRL_FOR_POINT_SIZE
+    void OnChangeSize(wxSpinEvent& event);
+#endif
 
-  bool OnClose(void);
+protected:
 
-  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);
+private:
 
-DECLARE_EVENT_TABLE()
-};
+    // common part of all ctors
+    void Init();
+
+    void DoChangeFont();
 
-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);
+    wxFont m_dialogFont;
 
+    wxChoice *m_familyChoice;
+    wxChoice *m_styleChoice;
+    wxChoice *m_weightChoice;
+    wxChoice *m_colourChoice;
+    wxCheckBox *m_underLineCheckBox;
+
+#if !USE_SPINCTRL_FOR_POINT_SIZE
+    wxChoice   *m_pointSizeChoice;
 #endif
+
+    wxFontPreviewer *m_previewer;
+    bool       m_useEvents;
+
+    //  static bool fontDialogCancelled;
+    DECLARE_EVENT_TABLE()
+    DECLARE_DYNAMIC_CLASS(wxGenericFontDialog)
+};
+
+#if WXWIN_COMPATIBILITY_2_6
+    // deprecated, for backwards compatibility only
+inline wxGenericFontDialog::wxGenericFontDialog(wxWindow *parent, const wxFontData *data)
+                           :wxFontDialogBase(parent) { Init(); InitFontData(data); Create(parent); }
+#endif // WXWIN_COMPATIBILITY_2_6
+
+#endif // _WX_GENERIC_FONTDLGG_H