Added a list style editor page to the formatting dialog.
Added a style organiser dialog, which can be used to browse for and apply styles and can be limited to show one of the three style types, or all three. Added a font name cache since it's an expensive operation that's used frequently by the rich text dialogs. Added ability to switch off tooltips for new dialogs (off by default). Improved the previews. Pressing tab or shift-tab at the start of a list item now demotes or promotes the item. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42116 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
245
include/wx/richtext/richtextliststylepage.h
Normal file
245
include/wx/richtext/richtextliststylepage.h
Normal file
@@ -0,0 +1,245 @@
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
// Name: richtextliststylepage.h
|
||||
// Purpose:
|
||||
// Author: Julian Smart
|
||||
// Modified by:
|
||||
// Created: 10/18/2006 11:36:37 AM
|
||||
// RCS-ID:
|
||||
// Copyright: (c) Julian Smart
|
||||
// Licence:
|
||||
/////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
#ifndef _RICHTEXTLISTSTYLEPAGE_H_
|
||||
#define _RICHTEXTLISTSTYLEPAGE_H_
|
||||
|
||||
/*!
|
||||
* Includes
|
||||
*/
|
||||
|
||||
////@begin includes
|
||||
#include "wx/spinctrl.h"
|
||||
#include "wx/notebook.h"
|
||||
#include "wx/statline.h"
|
||||
////@end includes
|
||||
|
||||
/*!
|
||||
* Control identifiers
|
||||
*/
|
||||
|
||||
////@begin control identifiers
|
||||
#define SYMBOL_WXRICHTEXTLISTSTYLEPAGE_STYLE wxRESIZE_BORDER|wxTAB_TRAVERSAL
|
||||
#define SYMBOL_WXRICHTEXTLISTSTYLEPAGE_TITLE _("wxRichTextListStylePage")
|
||||
#define SYMBOL_WXRICHTEXTLISTSTYLEPAGE_IDNAME ID_RICHTEXTLISTSTYLEPAGE
|
||||
#define SYMBOL_WXRICHTEXTLISTSTYLEPAGE_SIZE wxSize(400, 300)
|
||||
#define SYMBOL_WXRICHTEXTLISTSTYLEPAGE_POSITION wxDefaultPosition
|
||||
////@end control identifiers
|
||||
|
||||
/*!
|
||||
* wxRichTextListStylePage class declaration
|
||||
*/
|
||||
|
||||
class wxRichTextListStylePage: public wxPanel
|
||||
{
|
||||
DECLARE_DYNAMIC_CLASS( wxRichTextListStylePage )
|
||||
DECLARE_EVENT_TABLE()
|
||||
|
||||
public:
|
||||
/// Constructors
|
||||
wxRichTextListStylePage( );
|
||||
wxRichTextListStylePage( wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTLISTSTYLEPAGE_IDNAME, const wxPoint& pos = SYMBOL_WXRICHTEXTLISTSTYLEPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTLISTSTYLEPAGE_SIZE, long style = SYMBOL_WXRICHTEXTLISTSTYLEPAGE_STYLE );
|
||||
|
||||
/// Creation
|
||||
bool Create( wxWindow* parent, wxWindowID id = SYMBOL_WXRICHTEXTLISTSTYLEPAGE_IDNAME, const wxPoint& pos = SYMBOL_WXRICHTEXTLISTSTYLEPAGE_POSITION, const wxSize& size = SYMBOL_WXRICHTEXTLISTSTYLEPAGE_SIZE, long style = SYMBOL_WXRICHTEXTLISTSTYLEPAGE_STYLE );
|
||||
|
||||
/// Initialises member variables
|
||||
void Init();
|
||||
|
||||
/// Creates the controls and sizers
|
||||
void CreateControls();
|
||||
|
||||
/// Updates the bullets preview
|
||||
void UpdatePreview();
|
||||
|
||||
/// Transfer data from/to window
|
||||
virtual bool TransferDataFromWindow();
|
||||
virtual bool TransferDataToWindow();
|
||||
|
||||
/// Get attributes for selected level
|
||||
wxTextAttrEx* GetAttributesForSelection();
|
||||
|
||||
/// Update for symbol-related controls
|
||||
void OnSymbolUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// Update for number-related controls
|
||||
void OnNumberUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// Just transfer to the window
|
||||
void DoTransferDataToWindow();
|
||||
|
||||
/// Transfer from the window and preview
|
||||
void TransferAndPreview();
|
||||
|
||||
////@begin wxRichTextListStylePage event handler declarations
|
||||
|
||||
/// wxEVT_COMMAND_SPINCTRL_UPDATED event handler for ID_RICHTEXTLISTSTYLEPAGE_LEVEL
|
||||
void OnLevelUpdated( wxSpinEvent& event );
|
||||
|
||||
/// wxEVT_SCROLL_LINEUP event handler for ID_RICHTEXTLISTSTYLEPAGE_LEVEL
|
||||
void OnLevelUp( wxSpinEvent& event );
|
||||
|
||||
/// wxEVT_SCROLL_LINEDOWN event handler for ID_RICHTEXTLISTSTYLEPAGE_LEVEL
|
||||
void OnLevelDown( wxSpinEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTLISTSTYLEPAGE_LEVEL
|
||||
void OnLevelTextUpdated( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_LEVEL
|
||||
void OnLevelUIUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXTLISTSTYLEPAGE_CHOOSE_FONT
|
||||
void OnChooseFontClick( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_LISTBOX_SELECTED event handler for ID_RICHTEXTLISTSTYLEPAGE_STYLELISTBOX
|
||||
void OnStylelistboxSelected( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_SYMBOLSTATIC
|
||||
void OnSymbolstaticUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
|
||||
void OnSymbolctrlSelected( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
|
||||
void OnSymbolctrlUpdated( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL
|
||||
void OnSymbolctrlUIUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_BUTTON_CLICKED event handler for ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL
|
||||
void OnChooseSymbolClick( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL
|
||||
void OnChooseSymbolUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTLISTSTYLEPAGE_SYMBOLFONTCTRL
|
||||
void OnSymbolfontctrlSelected( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTLISTSTYLEPAGE_SYMBOLFONTCTRL
|
||||
void OnSymbolfontctrlUpdated( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_SYMBOLFONTCTRL
|
||||
void OnSymbolfontctrlUIUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_RICHTEXTLISTSTYLEPAGE_PARENTHESESCTRL
|
||||
void OnParenthesesctrlClick( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_PARENTHESESCTRL
|
||||
void OnParenthesesctrlUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_RICHTEXTLISTSTYLEPAGE_PERIODCTRL
|
||||
void OnPeriodctrlClick( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_UPDATE_UI event handler for ID_RICHTEXTLISTSTYLEPAGE_PERIODCTRL
|
||||
void OnPeriodctrlUpdate( wxUpdateUIEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RICHTEXTLISTSTYLEPAGE_ALIGNLEFT
|
||||
void OnRichtextliststylepageAlignleftSelected( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RICHTEXTLISTSTYLEPAGE_ALIGNRIGHT
|
||||
void OnRichtextliststylepageAlignrightSelected( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RICHTEXTLISTSTYLEPAGE_JUSTIFIED
|
||||
void OnRichtextliststylepageJustifiedSelected( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RICHTEXTLISTSTYLEPAGE_CENTERED
|
||||
void OnRichtextliststylepageCenteredSelected( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_RADIOBUTTON_SELECTED event handler for ID_RICHTEXTLISTSTYLEPAGE_ALIGNINDETERMINATE
|
||||
void OnRichtextliststylepageAlignindeterminateSelected( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTLISTSTYLEPAGE_INDENTLEFT
|
||||
void OnIndentLeftUpdated( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTLISTSTYLEPAGE_INDENTFIRSTLINE
|
||||
void OnIndentFirstLineUpdated( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTLISTSTYLEPAGE_INDENTRIGHT
|
||||
void OnIndentRightUpdated( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTLISTSTYLEPAGE_SPACINGBEFORE
|
||||
void OnSpacingBeforeUpdated( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_TEXT_UPDATED event handler for ID_RICHTEXTLISTSTYLEPAGE_SPACINGAFTER
|
||||
void OnSpacingAfterUpdated( wxCommandEvent& event );
|
||||
|
||||
/// wxEVT_COMMAND_COMBOBOX_SELECTED event handler for ID_RICHTEXTLISTSTYLEPAGE_LINESPACING
|
||||
void OnLineSpacingSelected( wxCommandEvent& event );
|
||||
|
||||
////@end wxRichTextListStylePage event handler declarations
|
||||
|
||||
////@begin wxRichTextListStylePage member function declarations
|
||||
|
||||
/// Retrieves bitmap resources
|
||||
wxBitmap GetBitmapResource( const wxString& name );
|
||||
|
||||
/// Retrieves icon resources
|
||||
wxIcon GetIconResource( const wxString& name );
|
||||
////@end wxRichTextListStylePage member function declarations
|
||||
|
||||
/// Should we show tooltips?
|
||||
static bool ShowToolTips();
|
||||
|
||||
////@begin wxRichTextListStylePage member variables
|
||||
wxSpinCtrl* m_levelCtrl;
|
||||
wxListBox* m_styleListBox;
|
||||
wxComboBox* m_symbolCtrl;
|
||||
wxComboBox* m_symbolFontCtrl;
|
||||
wxCheckBox* m_parenthesesCtrl;
|
||||
wxCheckBox* m_periodCtrl;
|
||||
wxRadioButton* m_alignmentLeft;
|
||||
wxRadioButton* m_alignmentRight;
|
||||
wxRadioButton* m_alignmentJustified;
|
||||
wxRadioButton* m_alignmentCentred;
|
||||
wxRadioButton* m_alignmentIndeterminate;
|
||||
wxTextCtrl* m_indentLeft;
|
||||
wxTextCtrl* m_indentLeftFirst;
|
||||
wxTextCtrl* m_indentRight;
|
||||
wxTextCtrl* m_spacingBefore;
|
||||
wxTextCtrl* m_spacingAfter;
|
||||
wxComboBox* m_spacingLine;
|
||||
wxRichTextCtrl* m_previewCtrl;
|
||||
/// Control identifiers
|
||||
enum {
|
||||
ID_RICHTEXTLISTSTYLEPAGE = 10616,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_LEVEL = 10617,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_CHOOSE_FONT = 10604,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_NOTEBOOK = 10618,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_BULLETS = 10619,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_STYLELISTBOX = 10620,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_SYMBOLSTATIC = 10621,
|
||||
ID_RICHTEXTBULLETSPAGE_SYMBOLCTRL = 10622,
|
||||
ID_RICHTEXTBULLETSPAGE_CHOOSE_SYMBOL = 10623,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_SYMBOLFONTCTRL = 10625,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_PARENTHESESCTRL = 10626,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_PERIODCTRL = 10627,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_SPACING = 10628,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_ALIGNLEFT = 10629,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_ALIGNRIGHT = 10630,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_JUSTIFIED = 10631,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_CENTERED = 10632,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_ALIGNINDETERMINATE = 10633,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_INDENTLEFT = 10634,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_INDENTFIRSTLINE = 10635,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_INDENTRIGHT = 10636,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_SPACINGBEFORE = 10637,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_SPACINGAFTER = 10638,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_LINESPACING = 10639,
|
||||
ID_RICHTEXTLISTSTYLEPAGE_RICHTEXTCTRL = 10640
|
||||
};
|
||||
////@end wxRichTextListStylePage member variables
|
||||
|
||||
bool m_dontUpdate;
|
||||
int m_currentLevel;
|
||||
};
|
||||
|
||||
#endif
|
||||
// _RICHTEXTLISTSTYLEPAGE_H_
|
Reference in New Issue
Block a user