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_
|