212 lines
		
	
	
		
			7.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			212 lines
		
	
	
		
			7.6 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
| /////////////////////////////////////////////////////////////////////////////
 | |
| // Name:        wx/richtext/richtextfontpage.h
 | |
| // Purpose:     Font page for wxRichTextFormattingDialog
 | |
| // Author:      Julian Smart
 | |
| // Modified by:
 | |
| // Created:     2006-10-02
 | |
| // Copyright:   (c) Julian Smart
 | |
| // Licence:     wxWindows licence
 | |
| /////////////////////////////////////////////////////////////////////////////
 | |
| 
 | |
| #ifndef _RICHTEXTFONTPAGE_H_
 | |
| #define _RICHTEXTFONTPAGE_H_
 | |
| 
 | |
| /*!
 | |
|  * Includes
 | |
|  */
 | |
| 
 | |
| #include "wx/richtext/richtextdialogpage.h"
 | |
| 
 | |
| ////@begin includes
 | |
| #include "wx/spinbutt.h"
 | |
| ////@end includes
 | |
| 
 | |
| /*!
 | |
|  * Forward declarations
 | |
|  */
 | |
| 
 | |
| ////@begin forward declarations
 | |
| class wxBoxSizer;
 | |
| class wxSpinButton;
 | |
| class wxRichTextFontListBox;
 | |
| class wxRichTextColourSwatchCtrl;
 | |
| class wxRichTextFontPreviewCtrl;
 | |
| ////@end forward declarations
 | |
| 
 | |
| /*!
 | |
|  * Control identifiers
 | |
|  */
 | |
| 
 | |
| ////@begin control identifiers
 | |
| #define SYMBOL_WXRICHTEXTFONTPAGE_STYLE wxTAB_TRAVERSAL
 | |
| #define SYMBOL_WXRICHTEXTFONTPAGE_TITLE wxEmptyString
 | |
| #define SYMBOL_WXRICHTEXTFONTPAGE_IDNAME ID_RICHTEXTFONTPAGE
 | |
| #define SYMBOL_WXRICHTEXTFONTPAGE_SIZE wxSize(200, 100)
 | |
| #define SYMBOL_WXRICHTEXTFONTPAGE_POSITION wxDefaultPosition
 | |
| ////@end control identifiers
 | |
| 
 | |
| /*!
 | |
|  * wxRichTextFontPage class declaration
 | |
|  */
 | |
| 
 | |
| class WXDLLIMPEXP_RICHTEXT wxRichTextFontPage: public wxRichTextDialogPage
 | |
| {
 | |
|     wxDECLARE_DYNAMIC_CLASS(wxRichTextFontPage);
 | |
|     wxDECLARE_EVENT_TABLE();
 | |
|     DECLARE_HELP_PROVISION()
 | |
| 
 | |
| public:
 | |
|     /// Constructors
 | |
|     wxRichTextFontPage( );
 | |
|     wxRichTextFontPage( wxWindow* parent, wxWindowID id = wxID_ANY, const wxPoint& pos = SYMBOL_WXRICHTEXTFONTPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTFONTPAGE_SIZE, long style = SYMBOL_WXRICHTEXTFONTPAGE_STYLE );
 | |
| 
 | |
|     /// Initialise members
 | |
|     void Init();
 | |
| 
 | |
|     /// Creation
 | |
|     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 );
 | |
| 
 | |
|     /// Creates the controls and sizers
 | |
|     void CreateControls();
 | |
| 
 | |
|     /// Transfer data from/to window
 | |
|     virtual bool TransferDataFromWindow() wxOVERRIDE;
 | |
|     virtual bool TransferDataToWindow() wxOVERRIDE;
 | |
| 
 | |
|     /// Updates the font preview
 | |
|     void UpdatePreview();
 | |
| 
 | |
|     void OnFaceListBoxSelected( wxCommandEvent& event );
 | |
|     void OnColourClicked( wxCommandEvent& event );
 | |
| 
 | |
|     /// Gets the attributes associated with the main formatting dialog
 | |
|     wxRichTextAttr* GetAttributes();
 | |
| 
 | |
|     /// Determines which text effect controls should be shown.
 | |
|     /// Currently only wxTEXT_ATTR_EFFECT_RTL and wxTEXT_ATTR_EFFECT_SUPPRESS_HYPHENATION may
 | |
|     /// be removed from the page. By default, these effects are not shown as they
 | |
|     /// have no effect in the editor.
 | |
|     static int GetAllowedTextEffects() { return sm_allowedTextEffects; }
 | |
|     
 | |
|     /// Sets the allowed text effects in the page.
 | |
|     static void SetAllowedTextEffects(int allowed) { sm_allowedTextEffects = allowed; }
 | |
| 
 | |
| ////@begin wxRichTextFontPage event handler declarations
 | |
| 
 | |
|     /// wxEVT_IDLE event handler for ID_RICHTEXTFONTPAGE
 | |
|     void OnIdle( wxIdleEvent& event );
 | |
| 
 | |
|     /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTFONTPAGE_FACETEXTCTRL
 | |
|     void OnFaceTextCtrlUpdated( wxCommandEvent& event );
 | |
| 
 | |
|     /// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTFONTPAGE_SIZETEXTCTRL
 | |
|     void OnSizeTextCtrlUpdated( wxCommandEvent& event );
 | |
| 
 | |
|     /// wxEVT_SCROLL_LINEUP event handler for ID_RICHTEXTFONTPAGE_SPINBUTTONS
 | |
|     void OnRichtextfontpageSpinbuttonsUp( wxSpinEvent& event );
 | |
| 
 | |
|     /// wxEVT_SCROLL_LINEDOWN event handler for ID_RICHTEXTFONTPAGE_SPINBUTTONS
 | |
|     void OnRichtextfontpageSpinbuttonsDown( wxSpinEvent& event );
 | |
| 
 | |
|     /// wxEVT_COMMAND_CHOICE_SELECTED event handler for ID_RICHTEXTFONTPAGE_SIZE_UNITS
 | |
|     void OnRichtextfontpageSizeUnitsSelected( wxCommandEvent& event );
 | |
| 
 | |
|     /// wxEVT_COMMAND_LISTBOX_SELECTED event handler for ID_RICHTEXTFONTPAGE_SIZELISTBOX
 | |
|     void OnSizeListBoxSelected( wxCommandEvent& event );
 | |
| 
 | |
|     /// wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTFONTPAGE_STYLECTRL
 | |
|     void OnStyleCtrlSelected( wxCommandEvent& event );
 | |
| 
 | |
|     /// wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTFONTPAGE_WEIGHTCTRL
 | |
|     void OnWeightCtrlSelected( wxCommandEvent& event );
 | |
| 
 | |
|     /// wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTFONTPAGE_UNDERLINING_CTRL
 | |
|     void OnUnderliningCtrlSelected( wxCommandEvent& event );
 | |
| 
 | |
|     /// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_RICHTEXTFONTPAGE_STRIKETHROUGHCTRL
 | |
|     void OnStrikethroughctrlClick( wxCommandEvent& event );
 | |
| 
 | |
|     /// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_RICHTEXTFONTPAGE_CAPSCTRL
 | |
|     void OnCapsctrlClick( wxCommandEvent& event );
 | |
| 
 | |
|     /// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_RICHTEXTFONTPAGE_SUPERSCRIPT
 | |
|     void OnRichtextfontpageSuperscriptClick( wxCommandEvent& event );
 | |
| 
 | |
|     /// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_RICHTEXTFONTPAGE_SUBSCRIPT
 | |
|     void OnRichtextfontpageSubscriptClick( wxCommandEvent& event );
 | |
| 
 | |
| ////@end wxRichTextFontPage event handler declarations
 | |
| 
 | |
| ////@begin wxRichTextFontPage member function declarations
 | |
| 
 | |
|     /// Retrieves bitmap resources
 | |
|     wxBitmap GetBitmapResource( const wxString& name );
 | |
| 
 | |
|     /// Retrieves icon resources
 | |
|     wxIcon GetIconResource( const wxString& name );
 | |
| ////@end wxRichTextFontPage member function declarations
 | |
| 
 | |
|     /// Should we show tooltips?
 | |
|     static bool ShowToolTips();
 | |
| 
 | |
| ////@begin wxRichTextFontPage member variables
 | |
|     wxBoxSizer* m_innerSizer;
 | |
|     wxTextCtrl* m_faceTextCtrl;
 | |
|     wxTextCtrl* m_sizeTextCtrl;
 | |
|     wxSpinButton* m_fontSizeSpinButtons;
 | |
|     wxChoice* m_sizeUnitsCtrl;
 | |
|     wxBoxSizer* m_fontListBoxParent;
 | |
|     wxRichTextFontListBox* m_faceListBox;
 | |
|     wxListBox* m_sizeListBox;
 | |
|     wxComboBox* m_styleCtrl;
 | |
|     wxComboBox* m_weightCtrl;
 | |
|     wxComboBox* m_underliningCtrl;
 | |
|     wxCheckBox* m_textColourLabel;
 | |
|     wxRichTextColourSwatchCtrl* m_colourCtrl;
 | |
|     wxCheckBox* m_bgColourLabel;
 | |
|     wxRichTextColourSwatchCtrl* m_bgColourCtrl;
 | |
|     wxCheckBox* m_strikethroughCtrl;
 | |
|     wxCheckBox* m_capitalsCtrl;
 | |
|     wxCheckBox* m_smallCapitalsCtrl;
 | |
|     wxCheckBox* m_superscriptCtrl;
 | |
|     wxCheckBox* m_subscriptCtrl;
 | |
|     wxBoxSizer* m_rtlParentSizer;
 | |
|     wxCheckBox* m_rtlCtrl;
 | |
|     wxCheckBox* m_suppressHyphenationCtrl;
 | |
|     wxRichTextFontPreviewCtrl* m_previewCtrl;
 | |
|     /// Control identifiers
 | |
|     enum {
 | |
|         ID_RICHTEXTFONTPAGE = 10000,
 | |
|         ID_RICHTEXTFONTPAGE_FACETEXTCTRL = 10001,
 | |
|         ID_RICHTEXTFONTPAGE_SIZETEXTCTRL = 10002,
 | |
|         ID_RICHTEXTFONTPAGE_SPINBUTTONS = 10003,
 | |
|         ID_RICHTEXTFONTPAGE_SIZE_UNITS = 10004,
 | |
|         ID_RICHTEXTFONTPAGE_FACELISTBOX = 10005,
 | |
|         ID_RICHTEXTFONTPAGE_SIZELISTBOX = 10006,
 | |
|         ID_RICHTEXTFONTPAGE_STYLECTRL = 10007,
 | |
|         ID_RICHTEXTFONTPAGE_WEIGHTCTRL = 10008,
 | |
|         ID_RICHTEXTFONTPAGE_UNDERLINING_CTRL = 10009,
 | |
|         ID_RICHTEXTFONTPAGE_COLOURCTRL_LABEL = 10010,
 | |
|         ID_RICHTEXTFONTPAGE_COLOURCTRL = 10011,
 | |
|         ID_RICHTEXTFONTPAGE_BGCOLOURCTRL_LABEL = 10012,
 | |
|         ID_RICHTEXTFONTPAGE_BGCOLOURCTRL = 10013,
 | |
|         ID_RICHTEXTFONTPAGE_STRIKETHROUGHCTRL = 10014,
 | |
|         ID_RICHTEXTFONTPAGE_CAPSCTRL = 10015,
 | |
|         ID_RICHTEXTFONTPAGE_SMALLCAPSCTRL = 10016,
 | |
|         ID_RICHTEXTFONTPAGE_SUPERSCRIPT = 10017,
 | |
|         ID_RICHTEXTFONTPAGE_SUBSCRIPT = 10018,
 | |
|         ID_RICHTEXTFONTPAGE_RIGHT_TO_LEFT = 10020,
 | |
|         ID_RICHTEXTFONTPAGE_SUBSCRIPT_SUPPRESS_HYPHENATION = 10021,
 | |
|         ID_RICHTEXTFONTPAGE_PREVIEWCTRL = 10019
 | |
|     };
 | |
| ////@end wxRichTextFontPage member variables
 | |
| 
 | |
|     bool m_dontUpdate;
 | |
|     bool m_colourPresent;
 | |
|     bool m_bgColourPresent;
 | |
|     static int sm_allowedTextEffects;
 | |
| };
 | |
| 
 | |
| #endif
 | |
|     // _RICHTEXTFONTPAGE_H_
 |