| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173 |
- /////////////////////////////////////////////////////////////////////////////
- // Name: wx/osx/fontdlg.h
- // Purpose: wxFontDialog class using fonts window services (10.2+).
- // Author: Ryan Norton
- // Modified by:
- // Created: 2004-09-25
- // Copyright: (c) Ryan Norton
- // Licence: wxWindows licence
- /////////////////////////////////////////////////////////////////////////////
- #ifndef _WX_FONTDLG_H_
- #define _WX_FONTDLG_H_
- #include "wx/dialog.h"
- /*
- * Font dialog
- */
- /*
- * support old notation
- */
- #ifdef wxMAC_USE_EXPERIMENTAL_FONTDIALOG
- #define wxOSX_USE_EXPERIMENTAL_FONTDIALOG wxMAC_USE_EXPERIMENTAL_FONTDIALOG
- #endif
- #ifndef wxOSX_USE_EXPERIMENTAL_FONTDIALOG
- #define wxOSX_USE_EXPERIMENTAL_FONTDIALOG 1
- #endif
- #if wxOSX_USE_EXPERIMENTAL_FONTDIALOG
- class WXDLLIMPEXP_CORE wxFontDialog : public wxDialog
- {
- public:
- wxFontDialog();
- wxFontDialog(wxWindow *parent);
- wxFontDialog(wxWindow *parent, const wxFontData& data);
- virtual ~wxFontDialog();
- bool Create(wxWindow *parent);
- bool Create(wxWindow *parent, const wxFontData& data);
- int ShowModal();
- wxFontData& GetFontData() { return m_fontData; }
- protected:
- wxFontData m_fontData;
- DECLARE_DYNAMIC_CLASS_NO_COPY(wxFontDialog)
- };
- extern "C" int RunMixedFontDialog(wxFontDialog* dialog) ;
- #else // wxOSX_USE_EXPERIMENTAL_FONTDIALOG
- #if !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
- /*!
- * Forward declarations
- */
- class wxFontColourSwatchCtrl;
- class wxFontPreviewCtrl;
- class WXDLLIMPEXP_FWD_CORE wxSpinCtrl;
- class WXDLLIMPEXP_FWD_CORE wxSpinEvent;
- class WXDLLIMPEXP_FWD_CORE wxListBox;
- class WXDLLIMPEXP_FWD_CORE wxChoice;
- class WXDLLIMPEXP_FWD_CORE wxButton;
- class WXDLLIMPEXP_FWD_CORE wxStaticText;
- class WXDLLIMPEXP_FWD_CORE wxCheckBox;
- /*!
- * Control identifiers
- */
- #define wxID_FONTDIALOG_FACENAME 20001
- #define wxID_FONTDIALOG_FONTSIZE 20002
- #define wxID_FONTDIALOG_BOLD 20003
- #define wxID_FONTDIALOG_ITALIC 20004
- #define wxID_FONTDIALOG_UNDERLINED 20005
- #define wxID_FONTDIALOG_COLOUR 20006
- #define wxID_FONTDIALOG_PREVIEW 20007
- #endif
- // !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
- class WXDLLIMPEXP_CORE wxFontDialog: public wxDialog
- {
- DECLARE_DYNAMIC_CLASS(wxFontDialog)
- #if !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
- DECLARE_EVENT_TABLE()
- #endif
- public:
- wxFontDialog();
- wxFontDialog(wxWindow *parent, const wxFontData& data);
- virtual ~wxFontDialog();
- bool Create(wxWindow *parent, const wxFontData& data);
- int ShowModal();
- wxFontData& GetFontData() { return m_fontData; }
- bool IsShown() const;
- void OnPanelClose();
- void SetData(const wxFontData& data);
- #if !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
- /// Creates the controls and sizers
- void CreateControls();
- /// Initialize font
- void InitializeFont();
- /// Set controls according to current font
- void InitializeControls();
- /// Respond to font change
- void ChangeFont();
- /// Respond to colour change
- void OnColourChanged(wxCommandEvent& event);
- /// wxEVT_LISTBOX event handler for wxID_FONTDIALOG_FACENAME
- void OnFontdialogFacenameSelected( wxCommandEvent& event );
- /// wxEVT_SPINCTRL event handler for wxID_FONTDIALOG_FONTSIZE
- void OnFontdialogFontsizeUpdated( wxSpinEvent& event );
- /// wxEVT_TEXT event handler for wxID_FONTDIALOG_FONTSIZE
- void OnFontdialogFontsizeTextUpdated( wxCommandEvent& event );
- /// wxEVT_CHECKBOX event handler for wxID_FONTDIALOG_BOLD
- void OnFontdialogBoldClick( wxCommandEvent& event );
- /// wxEVT_CHECKBOX event handler for wxID_FONTDIALOG_ITALIC
- void OnFontdialogItalicClick( wxCommandEvent& event );
- /// wxEVT_CHECKBOX event handler for wxID_FONTDIALOG_UNDERLINED
- void OnFontdialogUnderlinedClick( wxCommandEvent& event );
- /// wxEVT_BUTTON event handler for wxID_OK
- void OnOkClick( wxCommandEvent& event );
- /// Should we show tooltips?
- static bool ShowToolTips();
- wxListBox* m_facenameCtrl;
- wxSpinCtrl* m_sizeCtrl;
- wxCheckBox* m_boldCtrl;
- wxCheckBox* m_italicCtrl;
- wxCheckBox* m_underlinedCtrl;
- wxFontColourSwatchCtrl* m_colourCtrl;
- wxFontPreviewCtrl* m_previewCtrl;
- wxFont m_dialogFont;
- bool m_suppressUpdates;
- #endif
- // !USE_NATIVE_FONT_DIALOG_FOR_MACOSX
- protected:
- wxWindow* m_dialogParent;
- wxFontData m_fontData;
- void* m_pEventHandlerRef;
- };
- #endif
- #endif
- // _WX_FONTDLG_H_
|