richtextbulletspage.h 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220
  1. /////////////////////////////////////////////////////////////////////////////
  2. // Name: wx/richtext/richtextbulletspage.h
  3. // Purpose:
  4. // Author: Julian Smart
  5. // Modified by:
  6. // Created: 10/4/2006 10:32:31 AM
  7. // Copyright: (c) Julian Smart
  8. // Licence: wxWindows licence
  9. /////////////////////////////////////////////////////////////////////////////
  10. #ifndef _RICHTEXTBULLETSPAGE_H_
  11. #define _RICHTEXTBULLETSPAGE_H_
  12. /*!
  13. * Includes
  14. */
  15. #include "wx/richtext/richtextdialogpage.h"
  16. #include "wx/spinbutt.h" // for wxSpinEvent
  17. /*!
  18. * Forward declarations
  19. */
  20. ////@begin forward declarations
  21. class wxSpinCtrl;
  22. class wxRichTextCtrl;
  23. ////@end forward declarations
  24. /*!
  25. * Control identifiers
  26. */
  27. ////@begin control identifiers
  28. #define SYMBOL_WXRICHTEXTBULLETSPAGE_STYLE wxRESIZE_BORDER|wxTAB_TRAVERSAL
  29. #define SYMBOL_WXRICHTEXTBULLETSPAGE_TITLE wxEmptyString
  30. #define SYMBOL_WXRICHTEXTBULLETSPAGE_IDNAME ID_RICHTEXTBULLETSPAGE
  31. #define SYMBOL_WXRICHTEXTBULLETSPAGE_SIZE wxSize(400, 300)
  32. #define SYMBOL_WXRICHTEXTBULLETSPAGE_POSITION wxDefaultPosition
  33. ////@end control identifiers
  34. /*!
  35. * wxRichTextBulletsPage class declaration
  36. */
  37. class WXDLLIMPEXP_RICHTEXT wxRichTextBulletsPage: public wxRichTextDialogPage
  38. {
  39. DECLARE_DYNAMIC_CLASS( wxRichTextBulletsPage )
  40. DECLARE_EVENT_TABLE()
  41. DECLARE_HELP_PROVISION()
  42. public:
  43. /// Constructors
  44. wxRichTextBulletsPage( );
  45. wxRichTextBulletsPage( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = SYMBOL_WXRICHTEXTBULLETSPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTBULLETSPAGE_SIZE, long style = SYMBOL_WXRICHTEXTBULLETSPAGE_STYLE );
  46. /// Creation
  47. bool Create( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = SYMBOL_WXRICHTEXTBULLETSPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTBULLETSPAGE_SIZE, long style = SYMBOL_WXRICHTEXTBULLETSPAGE_STYLE );
  48. /// Initialise members
  49. void Init();
  50. /// Creates the controls and sizers
  51. void CreateControls();
  52. /// Updates the bullets preview
  53. void UpdatePreview();
  54. /// Transfer data from/to window
  55. virtual bool TransferDataFromWindow();
  56. virtual bool TransferDataToWindow();
  57. /// Gets the attributes associated with the main formatting dialog
  58. wxRichTextAttr* GetAttributes();
  59. /// Update for symbol-related controls
  60. void OnSymbolUpdate( wxUpdateUIEvent& event );
  61. /// Update for number-related controls
  62. void OnNumberUpdate( wxUpdateUIEvent& event );
  63. /// Update for standard bullet-related controls
  64. void OnStandardBulletUpdate( wxUpdateUIEvent& event );
  65. ////@begin wxRichTextBulletsPage event handler declarations
  66. /// wxEVT_LISTBOX event handler for ID_RICHTEXTBULLETSPAGE_STYLELISTBOX
  67. void OnStylelistboxSelected( wxCommandEvent& event );
  68. /// wxEVT_CHECKBOX event handler for ID_RICHTEXTBULLETSPAGE_PERIODCTRL
  69. void OnPeriodctrlClick( wxCommandEvent& event );
  70. /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_PERIODCTRL
  71. void OnPeriodctrlUpdate( wxUpdateUIEvent& event );
  72. /// wxEVT_CHECKBOX event handler for ID_RICHTEXTBULLETSPAGE_PARENTHESESCTRL
  73. void OnParenthesesctrlClick( wxCommandEvent& event );
  74. /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_PARENTHESESCTRL
  75. void OnParenthesesctrlUpdate( wxUpdateUIEvent& event );
  76. /// wxEVT_CHECKBOX event handler for ID_RICHTEXTBULLETSPAGE_RIGHTPARENTHESISCTRL
  77. void OnRightParenthesisCtrlClick( wxCommandEvent& event );
  78. /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_RIGHTPARENTHESISCTRL
  79. void OnRightParenthesisCtrlUpdate( wxUpdateUIEvent& event );
  80. /// wxEVT_COMBOBOX event handler for ID_RICHTEXTBULLETSPAGE_BULLETALIGNMENTCTRL
  81. void OnBulletAlignmentCtrlSelected( wxCommandEvent& event );
  82. /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLSTATIC
  83. void OnSymbolstaticUpdate( wxUpdateUIEvent& event );
  84. /// wxEVT_COMBOBOX event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
  85. void OnSymbolctrlSelected( wxCommandEvent& event );
  86. /// wxEVT_TEXT event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
  87. void OnSymbolctrlUpdated( wxCommandEvent& event );
  88. /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
  89. void OnSymbolctrlUpdate( wxUpdateUIEvent& event );
  90. /// wxEVT_BUTTON event handler for ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL
  91. void OnChooseSymbolClick( wxCommandEvent& event );
  92. /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL
  93. void OnChooseSymbolUpdate( wxUpdateUIEvent& event );
  94. /// wxEVT_COMBOBOX event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL
  95. void OnSymbolfontctrlSelected( wxCommandEvent& event );
  96. /// wxEVT_TEXT event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL
  97. void OnSymbolfontctrlUpdated( wxCommandEvent& event );
  98. /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL
  99. void OnSymbolfontctrlUIUpdate( wxUpdateUIEvent& event );
  100. /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_NAMESTATIC
  101. void OnNamestaticUpdate( wxUpdateUIEvent& event );
  102. /// wxEVT_COMBOBOX event handler for ID_RICHTEXTBULLETSPAGE_NAMECTRL
  103. void OnNamectrlSelected( wxCommandEvent& event );
  104. /// wxEVT_TEXT event handler for ID_RICHTEXTBULLETSPAGE_NAMECTRL
  105. void OnNamectrlUpdated( wxCommandEvent& event );
  106. /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_NAMECTRL
  107. void OnNamectrlUIUpdate( wxUpdateUIEvent& event );
  108. /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_NUMBERSTATIC
  109. void OnNumberstaticUpdate( wxUpdateUIEvent& event );
  110. /// wxEVT_SPINCTRL event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
  111. void OnNumberctrlUpdated( wxSpinEvent& event );
  112. /// wxEVT_SCROLL_LINEUP event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
  113. void OnNumberctrlUp( wxSpinEvent& event );
  114. /// wxEVT_SCROLL_LINEDOWN event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
  115. void OnNumberctrlDown( wxSpinEvent& event );
  116. /// wxEVT_TEXT event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
  117. void OnNumberctrlTextUpdated( wxCommandEvent& event );
  118. /// wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_NUMBERCTRL
  119. void OnNumberctrlUpdate( wxUpdateUIEvent& event );
  120. ////@end wxRichTextBulletsPage event handler declarations
  121. ////@begin wxRichTextBulletsPage member function declarations
  122. /// Retrieves bitmap resources
  123. wxBitmap GetBitmapResource( const wxString& name );
  124. /// Retrieves icon resources
  125. wxIcon GetIconResource( const wxString& name );
  126. ////@end wxRichTextBulletsPage member function declarations
  127. /// Should we show tooltips?
  128. static bool ShowToolTips();
  129. ////@begin wxRichTextBulletsPage member variables
  130. wxListBox* m_styleListBox;
  131. wxCheckBox* m_periodCtrl;
  132. wxCheckBox* m_parenthesesCtrl;
  133. wxCheckBox* m_rightParenthesisCtrl;
  134. wxComboBox* m_bulletAlignmentCtrl;
  135. wxComboBox* m_symbolCtrl;
  136. wxComboBox* m_symbolFontCtrl;
  137. wxComboBox* m_bulletNameCtrl;
  138. wxSpinCtrl* m_numberCtrl;
  139. wxRichTextCtrl* m_previewCtrl;
  140. /// Control identifiers
  141. enum {
  142. ID_RICHTEXTBULLETSPAGE = 10300,
  143. ID_RICHTEXTBULLETSPAGE_STYLELISTBOX = 10305,
  144. ID_RICHTEXTBULLETSPAGE_PERIODCTRL = 10313,
  145. ID_RICHTEXTBULLETSPAGE_PARENTHESESCTRL = 10311,
  146. ID_RICHTEXTBULLETSPAGE_RIGHTPARENTHESISCTRL = 10306,
  147. ID_RICHTEXTBULLETSPAGE_BULLETALIGNMENTCTRL = 10315,
  148. ID_RICHTEXTBULLETSPAGE_SYMBOLSTATIC = 10301,
  149. ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL = 10307,
  150. ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL = 10308,
  151. ID_RICHTEXTBULLETSPAGE_SYMBOLFONTCTRL = 10309,
  152. ID_RICHTEXTBULLETSPAGE_NAMESTATIC = 10303,
  153. ID_RICHTEXTBULLETSPAGE_NAMECTRL = 10304,
  154. ID_RICHTEXTBULLETSPAGE_NUMBERSTATIC = 10302,
  155. ID_RICHTEXTBULLETSPAGE_NUMBERCTRL = 10310,
  156. ID_RICHTEXTBULLETSPAGE_PREVIEW_CTRL = 10314
  157. };
  158. ////@end wxRichTextBulletsPage member variables
  159. bool m_hasBulletStyle;
  160. bool m_hasBulletNumber;
  161. bool m_hasBulletSymbol;
  162. bool m_dontUpdate;
  163. };
  164. #endif
  165. // _RICHTEXTBULLETSPAGE_H_