richtextfontpage.h 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name: wx/richtext/richtextfontpage.h
  3. // Purpose: Font page for wxRichTextFormattingDialog
  4. // Author: Julian Smart
  5. // Modified by:
  6. // Created: 2006-10-02
  7. // Copyright: (c) Julian Smart
  8. // Licence: wxWindows licence
  9. /////////////////////////////////////////////////////////////////////////////
  10. #ifndef _RICHTEXTFONTPAGE_H_
  11. #define _RICHTEXTFONTPAGE_H_
  12. /*!
  13. * Includes
  14. */
  15. #include "wx/richtext/richtextdialogpage.h"
  16. ////@begin includes
  17. #include "wx/spinbutt.h"
  18. ////@end includes
  19. /*!
  20. * Forward declarations
  21. */
  22. ////@begin forward declarations
  23. class wxSpinButton;
  24. class wxBoxSizer;
  25. class wxRichTextFontListBox;
  26. class wxRichTextColourSwatchCtrl;
  27. class wxRichTextFontPreviewCtrl;
  28. ////@end forward declarations
  29. /*!
  30. * Control identifiers
  31. */
  32. ////@begin control identifiers
  33. #define SYMBOL_WXRICHTEXTFONTPAGE_STYLE wxTAB_TRAVERSAL
  34. #define SYMBOL_WXRICHTEXTFONTPAGE_TITLE wxEmptyString
  35. #define SYMBOL_WXRICHTEXTFONTPAGE_IDNAME ID_RICHTEXTFONTPAGE
  36. #define SYMBOL_WXRICHTEXTFONTPAGE_SIZE wxSize(200, 100)
  37. #define SYMBOL_WXRICHTEXTFONTPAGE_POSITION wxDefaultPosition
  38. ////@end control identifiers
  39. /*!
  40. * wxRichTextFontPage class declaration
  41. */
  42. class WXDLLIMPEXP_RICHTEXT wxRichTextFontPage: public wxRichTextDialogPage
  43. {
  44. DECLARE_DYNAMIC_CLASS( wxRichTextFontPage )
  45. DECLARE_EVENT_TABLE()
  46. DECLARE_HELP_PROVISION()
  47. public:
  48. /// Constructors
  49. wxRichTextFontPage( );
  50. wxRichTextFontPage( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = SYMBOL_WXRICHTEXTFONTPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTFONTPAGE_SIZE, long style = SYMBOL_WXRICHTEXTFONTPAGE_STYLE );
  51. /// Initialise members
  52. void Init();
  53. /// Creation
  54. bool Create( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = SYMBOL_WXRICHTEXTFONTPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTFONTPAGE_SIZE, long style = SYMBOL_WXRICHTEXTFONTPAGE_STYLE );
  55. /// Creates the controls and sizers
  56. void CreateControls();
  57. /// Transfer data from/to window
  58. virtual bool TransferDataFromWindow();
  59. virtual bool TransferDataToWindow();
  60. /// Updates the font preview
  61. void UpdatePreview();
  62. void OnFaceListBoxSelected( wxCommandEvent& event );
  63. void OnColourClicked( wxCommandEvent& event );
  64. /// Gets the attributes associated with the main formatting dialog
  65. wxRichTextAttr* GetAttributes();
  66. ////@begin wxRichTextFontPage event handler declarations
  67. /// wxEVT_IDLE event handler for ID_RICHTEXTFONTPAGE
  68. void OnIdle( wxIdleEvent& event );
  69. /// wxEVT_TEXT event handler for ID_RICHTEXTFONTPAGE_FACETEXTCTRL
  70. void OnFaceTextCtrlUpdated( wxCommandEvent& event );
  71. /// wxEVT_TEXT event handler for ID_RICHTEXTFONTPAGE_SIZETEXTCTRL
  72. void OnSizeTextCtrlUpdated( wxCommandEvent& event );
  73. /// wxEVT_SCROLL_LINEUP event handler for ID_RICHTEXTFONTPAGE_SPINBUTTONS
  74. void OnRichtextfontpageSpinbuttonsUp( wxSpinEvent& event );
  75. /// wxEVT_SCROLL_LINEDOWN event handler for ID_RICHTEXTFONTPAGE_SPINBUTTONS
  76. void OnRichtextfontpageSpinbuttonsDown( wxSpinEvent& event );
  77. /// wxEVT_CHOICE event handler for ID_RICHTEXTFONTPAGE_SIZE_UNITS
  78. void OnRichtextfontpageSizeUnitsSelected( wxCommandEvent& event );
  79. /// wxEVT_LISTBOX event handler for ID_RICHTEXTFONTPAGE_SIZELISTBOX
  80. void OnSizeListBoxSelected( wxCommandEvent& event );
  81. /// wxEVT_COMBOBOX event handler for ID_RICHTEXTFONTPAGE_STYLECTRL
  82. void OnStyleCtrlSelected( wxCommandEvent& event );
  83. /// wxEVT_COMBOBOX event handler for ID_RICHTEXTFONTPAGE_WEIGHTCTRL
  84. void OnWeightCtrlSelected( wxCommandEvent& event );
  85. /// wxEVT_COMBOBOX event handler for ID_RICHTEXTFONTPAGE_UNDERLINING_CTRL
  86. void OnUnderliningCtrlSelected( wxCommandEvent& event );
  87. /// wxEVT_CHECKBOX event handler for ID_RICHTEXTFONTPAGE_STRIKETHROUGHCTRL
  88. void OnStrikethroughctrlClick( wxCommandEvent& event );
  89. /// wxEVT_CHECKBOX event handler for ID_RICHTEXTFONTPAGE_CAPSCTRL
  90. void OnCapsctrlClick( wxCommandEvent& event );
  91. /// wxEVT_CHECKBOX event handler for ID_RICHTEXTFONTPAGE_SUPERSCRIPT
  92. void OnRichtextfontpageSuperscriptClick( wxCommandEvent& event );
  93. /// wxEVT_CHECKBOX event handler for ID_RICHTEXTFONTPAGE_SUBSCRIPT
  94. void OnRichtextfontpageSubscriptClick( wxCommandEvent& event );
  95. ////@end wxRichTextFontPage event handler declarations
  96. ////@begin wxRichTextFontPage member function declarations
  97. /// Retrieves bitmap resources
  98. wxBitmap GetBitmapResource( const wxString& name );
  99. /// Retrieves icon resources
  100. wxIcon GetIconResource( const wxString& name );
  101. ////@end wxRichTextFontPage member function declarations
  102. /// Should we show tooltips?
  103. static bool ShowToolTips();
  104. ////@begin wxRichTextFontPage member variables
  105. wxTextCtrl* m_faceTextCtrl;
  106. wxTextCtrl* m_sizeTextCtrl;
  107. wxSpinButton* m_fontSizeSpinButtons;
  108. wxChoice* m_sizeUnitsCtrl;
  109. wxBoxSizer* m_fontListBoxParent;
  110. wxRichTextFontListBox* m_faceListBox;
  111. wxListBox* m_sizeListBox;
  112. wxComboBox* m_styleCtrl;
  113. wxComboBox* m_weightCtrl;
  114. wxComboBox* m_underliningCtrl;
  115. wxCheckBox* m_textColourLabel;
  116. wxRichTextColourSwatchCtrl* m_colourCtrl;
  117. wxCheckBox* m_bgColourLabel;
  118. wxRichTextColourSwatchCtrl* m_bgColourCtrl;
  119. wxCheckBox* m_strikethroughCtrl;
  120. wxCheckBox* m_capitalsCtrl;
  121. wxCheckBox* m_smallCapitalsCtrl;
  122. wxCheckBox* m_superscriptCtrl;
  123. wxCheckBox* m_subscriptCtrl;
  124. wxRichTextFontPreviewCtrl* m_previewCtrl;
  125. /// Control identifiers
  126. enum {
  127. ID_RICHTEXTFONTPAGE = 10000,
  128. ID_RICHTEXTFONTPAGE_FACETEXTCTRL = 10001,
  129. ID_RICHTEXTFONTPAGE_SIZETEXTCTRL = 10002,
  130. ID_RICHTEXTFONTPAGE_SPINBUTTONS = 10003,
  131. ID_RICHTEXTFONTPAGE_SIZE_UNITS = 10004,
  132. ID_RICHTEXTFONTPAGE_FACELISTBOX = 10005,
  133. ID_RICHTEXTFONTPAGE_SIZELISTBOX = 10006,
  134. ID_RICHTEXTFONTPAGE_STYLECTRL = 10007,
  135. ID_RICHTEXTFONTPAGE_WEIGHTCTRL = 10008,
  136. ID_RICHTEXTFONTPAGE_UNDERLINING_CTRL = 10009,
  137. ID_RICHTEXTFONTPAGE_COLOURCTRL_LABEL = 10010,
  138. ID_RICHTEXTFONTPAGE_COLOURCTRL = 10011,
  139. ID_RICHTEXTFONTPAGE_BGCOLOURCTRL_LABEL = 10012,
  140. ID_RICHTEXTFONTPAGE_BGCOLOURCTRL = 10013,
  141. ID_RICHTEXTFONTPAGE_STRIKETHROUGHCTRL = 10014,
  142. ID_RICHTEXTFONTPAGE_CAPSCTRL = 10015,
  143. ID_RICHTEXTFONTPAGE_SMALLCAPSCTRL = 10016,
  144. ID_RICHTEXTFONTPAGE_SUPERSCRIPT = 10017,
  145. ID_RICHTEXTFONTPAGE_SUBSCRIPT = 10018,
  146. ID_RICHTEXTFONTPAGE_PREVIEWCTRL = 10019
  147. };
  148. ////@end wxRichTextFontPage member variables
  149. bool m_dontUpdate;
  150. bool m_colourPresent;
  151. bool m_bgColourPresent;
  152. };
  153. #endif
  154. // _RICHTEXTFONTPAGE_H_