Removed obsolete code
Added some more event types Added back GetStyleForRange git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@43469 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -70,10 +70,6 @@
|
|||||||
#include "wx/dataobj.h"
|
#include "wx/dataobj.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Experimental dynamic styles to avoid user-specific character styles from being
|
|
||||||
// overwritten by paragraph styles.
|
|
||||||
#define wxRICHTEXT_USE_DYNAMIC_STYLES 1
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
* File types
|
* File types
|
||||||
*/
|
*/
|
||||||
|
@@ -184,11 +184,10 @@ public:
|
|||||||
virtual bool GetStyle(long position, wxTextAttrEx& style);
|
virtual bool GetStyle(long position, wxTextAttrEx& style);
|
||||||
virtual bool GetStyle(long position, wxRichTextAttr& style);
|
virtual bool GetStyle(long position, wxRichTextAttr& style);
|
||||||
|
|
||||||
/*
|
|
||||||
// get the common set of styles for the range
|
// get the common set of styles for the range
|
||||||
bool GetStyleForRange(const wxRichTextRange& range, wxRichTextAttr& style);
|
virtual bool GetStyleForRange(const wxRichTextRange& range, wxRichTextAttr& style);
|
||||||
bool GetStyleForRange(const wxRichTextRange& range, wxTextAttrEx& style);
|
virtual bool GetStyleForRange(const wxRichTextRange& range, wxTextAttrEx& style);
|
||||||
*/
|
|
||||||
// extended style setting operation with flags including:
|
// extended style setting operation with flags including:
|
||||||
// wxRICHTEXT_SETSTYLE_WITH_UNDO, wxRICHTEXT_SETSTYLE_OPTIMIZE, wxRICHTEXT_SETSTYLE_PARAGRAPHS_ONLY, wxRICHTEXT_SETSTYLE_CHARACTERS_ONLY
|
// wxRICHTEXT_SETSTYLE_WITH_UNDO, wxRICHTEXT_SETSTYLE_OPTIMIZE, wxRICHTEXT_SETSTYLE_PARAGRAPHS_ONLY, wxRICHTEXT_SETSTYLE_CHARACTERS_ONLY
|
||||||
// see richtextbuffer.h for more details.
|
// see richtextbuffer.h for more details.
|
||||||
@@ -854,17 +853,19 @@ class WXDLLIMPEXP_RICHTEXT wxRichTextEvent : public wxNotifyEvent
|
|||||||
public:
|
public:
|
||||||
wxRichTextEvent(wxEventType commandType = wxEVT_NULL, int winid = 0)
|
wxRichTextEvent(wxEventType commandType = wxEVT_NULL, int winid = 0)
|
||||||
: wxNotifyEvent(commandType, winid),
|
: wxNotifyEvent(commandType, winid),
|
||||||
m_itemIndex(-1), m_flags(0), m_oldStyleSheet(NULL), m_newStyleSheet(NULL)
|
m_flags(0), m_position(-1), m_oldStyleSheet(NULL), m_newStyleSheet(NULL),
|
||||||
|
m_char((wxChar) 0)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
wxRichTextEvent(const wxRichTextEvent& event)
|
wxRichTextEvent(const wxRichTextEvent& event)
|
||||||
: wxNotifyEvent(event),
|
: wxNotifyEvent(event),
|
||||||
m_itemIndex(event.m_itemIndex), m_flags(event.m_flags),
|
m_flags(event.m_flags), m_position(-1),
|
||||||
m_oldStyleSheet(event.m_oldStyleSheet), m_newStyleSheet(event.m_newStyleSheet)
|
m_oldStyleSheet(event.m_oldStyleSheet), m_newStyleSheet(event.m_newStyleSheet),
|
||||||
|
m_char((wxChar) 0)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
int GetIndex() const { return m_itemIndex; }
|
long GetPosition() const { return m_position; }
|
||||||
void SetIndex(int n) { m_itemIndex = n; }
|
void SetPosition(long pos) { m_position = pos; }
|
||||||
|
|
||||||
int GetFlags() const { return m_flags; }
|
int GetFlags() const { return m_flags; }
|
||||||
void SetFlags(int flags) { m_flags = flags; }
|
void SetFlags(int flags) { m_flags = flags; }
|
||||||
@@ -875,13 +876,21 @@ public:
|
|||||||
wxRichTextStyleSheet* GetNewStyleSheet() const { return m_newStyleSheet; }
|
wxRichTextStyleSheet* GetNewStyleSheet() const { return m_newStyleSheet; }
|
||||||
void SetNewStyleSheet(wxRichTextStyleSheet* sheet) { m_newStyleSheet = sheet; }
|
void SetNewStyleSheet(wxRichTextStyleSheet* sheet) { m_newStyleSheet = sheet; }
|
||||||
|
|
||||||
|
const wxRichTextRange& GetRange() const { return m_range; }
|
||||||
|
void SetRange(const wxRichTextRange& range) { m_range = range; }
|
||||||
|
|
||||||
|
wxChar GetCharacter() const { return m_char; }
|
||||||
|
void SetCharacter(wxChar ch) { m_char = ch; }
|
||||||
|
|
||||||
virtual wxEvent *Clone() const { return new wxRichTextEvent(*this); }
|
virtual wxEvent *Clone() const { return new wxRichTextEvent(*this); }
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
int m_itemIndex;
|
|
||||||
int m_flags;
|
int m_flags;
|
||||||
|
long m_position;
|
||||||
wxRichTextStyleSheet* m_oldStyleSheet;
|
wxRichTextStyleSheet* m_oldStyleSheet;
|
||||||
wxRichTextStyleSheet* m_newStyleSheet;
|
wxRichTextStyleSheet* m_newStyleSheet;
|
||||||
|
wxRichTextRange m_range;
|
||||||
|
wxChar m_char;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxRichTextEvent)
|
DECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxRichTextEvent)
|
||||||
@@ -892,35 +901,45 @@ private:
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
BEGIN_DECLARE_EVENT_TYPES()
|
BEGIN_DECLARE_EVENT_TYPES()
|
||||||
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_ITEM_SELECTED, 2600)
|
|
||||||
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_ITEM_DESELECTED, 2601)
|
|
||||||
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_LEFT_CLICK, 2602)
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_LEFT_CLICK, 2602)
|
||||||
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_RIGHT_CLICK, 2603)
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_RIGHT_CLICK, 2603)
|
||||||
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_MIDDLE_CLICK, 2604)
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_MIDDLE_CLICK, 2604)
|
||||||
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_LEFT_DCLICK, 2605)
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_LEFT_DCLICK, 2605)
|
||||||
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_RETURN, 2606)
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_RETURN, 2606)
|
||||||
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_CHARACTER, 2607)
|
||||||
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_DELETE, 2608)
|
||||||
|
|
||||||
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGING, 2607)
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGING, 2609)
|
||||||
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGED, 2608)
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGED, 2610)
|
||||||
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_STYLESHEET_REPLACING, 2609)
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_STYLESHEET_REPLACING, 2611)
|
||||||
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_STYLESHEET_REPLACED, 2610)
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_STYLESHEET_REPLACED, 2612)
|
||||||
|
|
||||||
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_CONTENT_INSERTED, 2613)
|
||||||
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_CONTENT_DELETED, 2614)
|
||||||
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_STYLE_CHANGED, 2615)
|
||||||
|
DECLARE_EXPORTED_EVENT_TYPE(WXDLLIMPEXP_RICHTEXT, wxEVT_COMMAND_RICHTEXT_SELECTION_CHANGED, 2616)
|
||||||
END_DECLARE_EVENT_TYPES()
|
END_DECLARE_EVENT_TYPES()
|
||||||
|
|
||||||
typedef void (wxEvtHandler::*wxRichTextEventFunction)(wxRichTextEvent&);
|
typedef void (wxEvtHandler::*wxRichTextEventFunction)(wxRichTextEvent&);
|
||||||
|
|
||||||
#define EVT_RICHTEXT_ITEM_SELECTED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_ITEM_SELECTED, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
|
||||||
#define EVT_RICHTEXT_ITEM_DESELECTED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_ITEM_DESELECTED, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
|
||||||
#define EVT_RICHTEXT_LEFT_CLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_LEFT_CLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
#define EVT_RICHTEXT_LEFT_CLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_LEFT_CLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
||||||
#define EVT_RICHTEXT_RIGHT_CLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_RIGHT_CLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
#define EVT_RICHTEXT_RIGHT_CLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_RIGHT_CLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
||||||
#define EVT_RICHTEXT_MIDDLE_CLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_MIDDLE_CLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
#define EVT_RICHTEXT_MIDDLE_CLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_MIDDLE_CLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
||||||
#define EVT_RICHTEXT_LEFT_DCLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_LEFT_DCLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
#define EVT_RICHTEXT_LEFT_DCLICK(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_LEFT_DCLICK, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
||||||
#define EVT_RICHTEXT_RETURN(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_RETURN, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
#define EVT_RICHTEXT_RETURN(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_RETURN, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
||||||
|
#define EVT_RICHTEXT_CHARACTER(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_CHARACTER, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
||||||
|
#define EVT_RICHTEXT_DELETE(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_DELETE, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
||||||
|
|
||||||
#define EVT_RICHTEXT_STYLESHEET_CHANGING(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGING, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
#define EVT_RICHTEXT_STYLESHEET_CHANGING(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGING, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
||||||
#define EVT_RICHTEXT_STYLESHEET_CHANGED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
#define EVT_RICHTEXT_STYLESHEET_CHANGED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
||||||
#define EVT_RICHTEXT_STYLESHEET_REPLACING(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_STYLESHEET_REPLACING, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
#define EVT_RICHTEXT_STYLESHEET_REPLACING(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_STYLESHEET_REPLACING, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
||||||
#define EVT_RICHTEXT_STYLESHEET_REPLACED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_STYLESHEET_REPLACED, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
#define EVT_RICHTEXT_STYLESHEET_REPLACED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_STYLESHEET_REPLACED, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
||||||
|
|
||||||
|
#define EVT_RICHTEXT_CONTENT_INSERTED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_CONTENT_INSERTED, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
||||||
|
#define EVT_RICHTEXT_CONTENT_DELETED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_CONTENT_DELETED, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
||||||
|
#define EVT_RICHTEXT_STYLE_CHANGED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_STYLE_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
||||||
|
#define EVT_RICHTEXT_SELECTION_CHANGED(id, fn) DECLARE_EVENT_TABLE_ENTRY( wxEVT_COMMAND_RICHTEXT_SELECTION_CHANGED, id, -1, (wxObjectEventFunction) (wxEventFunction) wxStaticCastEvent( wxRichTextEventFunction, & fn ), NULL ),
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
// wxUSE_RICHTEXT
|
// wxUSE_RICHTEXT
|
||||||
|
|
||||||
|
@@ -85,12 +85,6 @@ void wxRichTextObject::Copy(const wxRichTextObject& obj)
|
|||||||
m_range = obj.m_range;
|
m_range = obj.m_range;
|
||||||
m_attributes = obj.m_attributes;
|
m_attributes = obj.m_attributes;
|
||||||
m_descent = obj.m_descent;
|
m_descent = obj.m_descent;
|
||||||
/*
|
|
||||||
if (!m_attributes.GetFont().Ok())
|
|
||||||
wxLogDebug(wxT("No font!"));
|
|
||||||
if (!obj.m_attributes.GetFont().Ok())
|
|
||||||
wxLogDebug(wxT("Parent has no font!"));
|
|
||||||
*/
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxRichTextObject::SetMargins(int margin)
|
void wxRichTextObject::SetMargins(int margin)
|
||||||
@@ -907,25 +901,14 @@ wxSize wxRichTextParagraphLayoutBox::GetLineSizeAtPosition(long pos, bool caretP
|
|||||||
/// Convenience function to add a paragraph of text
|
/// Convenience function to add a paragraph of text
|
||||||
wxRichTextRange wxRichTextParagraphLayoutBox::AddParagraph(const wxString& text, wxTextAttrEx* paraStyle)
|
wxRichTextRange wxRichTextParagraphLayoutBox::AddParagraph(const wxString& text, wxTextAttrEx* paraStyle)
|
||||||
{
|
{
|
||||||
#if wxRICHTEXT_USE_DYNAMIC_STYLES
|
|
||||||
// Don't use the base style, just the default style, and the base style will
|
// Don't use the base style, just the default style, and the base style will
|
||||||
// be combined at display time.
|
// be combined at display time.
|
||||||
// Divide into paragraph and character styles.
|
// Divide into paragraph and character styles.
|
||||||
|
|
||||||
wxTextAttrEx defaultCharStyle;
|
wxTextAttrEx defaultCharStyle;
|
||||||
wxTextAttrEx defaultParaStyle;
|
wxTextAttrEx defaultParaStyle;
|
||||||
|
|
||||||
wxRichTextSplitParaCharStyles(GetDefaultStyle(), defaultParaStyle, defaultCharStyle);
|
wxRichTextSplitParaCharStyles(GetDefaultStyle(), defaultParaStyle, defaultCharStyle);
|
||||||
#else
|
|
||||||
wxTextAttrEx style(GetAttributes());
|
|
||||||
|
|
||||||
// Apply default style. If the style has no attributes set,
|
|
||||||
// then the attributes will remain the 'basic style' (i.e. the
|
|
||||||
// layout box's style).
|
|
||||||
wxRichTextApplyStyle(style, GetDefaultStyle());
|
|
||||||
|
|
||||||
wxTextAttrEx defaultCharStyle = style;
|
|
||||||
wxTextAttrEx defaultParaStyle = style;
|
|
||||||
#endif
|
|
||||||
wxTextAttrEx* pStyle = paraStyle ? paraStyle : (wxTextAttrEx*) & defaultParaStyle;
|
wxTextAttrEx* pStyle = paraStyle ? paraStyle : (wxTextAttrEx*) & defaultParaStyle;
|
||||||
wxTextAttrEx* cStyle = & defaultCharStyle;
|
wxTextAttrEx* cStyle = & defaultCharStyle;
|
||||||
|
|
||||||
@@ -942,7 +925,6 @@ wxRichTextRange wxRichTextParagraphLayoutBox::AddParagraph(const wxString& text,
|
|||||||
/// Adds multiple paragraphs, based on newlines.
|
/// Adds multiple paragraphs, based on newlines.
|
||||||
wxRichTextRange wxRichTextParagraphLayoutBox::AddParagraphs(const wxString& text, wxTextAttrEx* paraStyle)
|
wxRichTextRange wxRichTextParagraphLayoutBox::AddParagraphs(const wxString& text, wxTextAttrEx* paraStyle)
|
||||||
{
|
{
|
||||||
#if wxRICHTEXT_USE_DYNAMIC_STYLES
|
|
||||||
// Don't use the base style, just the default style, and the base style will
|
// Don't use the base style, just the default style, and the base style will
|
||||||
// be combined at display time.
|
// be combined at display time.
|
||||||
// Divide into paragraph and character styles.
|
// Divide into paragraph and character styles.
|
||||||
@@ -950,17 +932,6 @@ wxRichTextRange wxRichTextParagraphLayoutBox::AddParagraphs(const wxString& text
|
|||||||
wxTextAttrEx defaultCharStyle;
|
wxTextAttrEx defaultCharStyle;
|
||||||
wxTextAttrEx defaultParaStyle;
|
wxTextAttrEx defaultParaStyle;
|
||||||
wxRichTextSplitParaCharStyles(GetDefaultStyle(), defaultParaStyle, defaultCharStyle);
|
wxRichTextSplitParaCharStyles(GetDefaultStyle(), defaultParaStyle, defaultCharStyle);
|
||||||
#else
|
|
||||||
wxTextAttrEx style(GetAttributes());
|
|
||||||
|
|
||||||
// Apply default style. If the style has no attributes set,
|
|
||||||
// then the attributes will remain the 'basic style' (i.e. the
|
|
||||||
// layout box's style).
|
|
||||||
wxRichTextApplyStyle(style, GetDefaultStyle());
|
|
||||||
|
|
||||||
wxTextAttrEx defaultCharStyle = style;
|
|
||||||
wxTextAttrEx defaultParaStyle = style;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
wxTextAttrEx* pStyle = paraStyle ? paraStyle : (wxTextAttrEx*) & defaultParaStyle;
|
wxTextAttrEx* pStyle = paraStyle ? paraStyle : (wxTextAttrEx*) & defaultParaStyle;
|
||||||
wxTextAttrEx* cStyle = & defaultCharStyle;
|
wxTextAttrEx* cStyle = & defaultCharStyle;
|
||||||
@@ -1017,7 +988,6 @@ wxRichTextRange wxRichTextParagraphLayoutBox::AddParagraphs(const wxString& text
|
|||||||
/// Convenience function to add an image
|
/// Convenience function to add an image
|
||||||
wxRichTextRange wxRichTextParagraphLayoutBox::AddImage(const wxImage& image, wxTextAttrEx* paraStyle)
|
wxRichTextRange wxRichTextParagraphLayoutBox::AddImage(const wxImage& image, wxTextAttrEx* paraStyle)
|
||||||
{
|
{
|
||||||
#if wxRICHTEXT_USE_DYNAMIC_STYLES
|
|
||||||
// Don't use the base style, just the default style, and the base style will
|
// Don't use the base style, just the default style, and the base style will
|
||||||
// be combined at display time.
|
// be combined at display time.
|
||||||
// Divide into paragraph and character styles.
|
// Divide into paragraph and character styles.
|
||||||
@@ -1025,17 +995,6 @@ wxRichTextRange wxRichTextParagraphLayoutBox::AddImage(const wxImage& image, wxT
|
|||||||
wxTextAttrEx defaultCharStyle;
|
wxTextAttrEx defaultCharStyle;
|
||||||
wxTextAttrEx defaultParaStyle;
|
wxTextAttrEx defaultParaStyle;
|
||||||
wxRichTextSplitParaCharStyles(GetDefaultStyle(), defaultParaStyle, defaultCharStyle);
|
wxRichTextSplitParaCharStyles(GetDefaultStyle(), defaultParaStyle, defaultCharStyle);
|
||||||
#else
|
|
||||||
wxTextAttrEx style(GetAttributes());
|
|
||||||
|
|
||||||
// Apply default style. If the style has no attributes set,
|
|
||||||
// then the attributes will remain the 'basic style' (i.e. the
|
|
||||||
// layout box's style).
|
|
||||||
wxRichTextApplyStyle(style, GetDefaultStyle());
|
|
||||||
|
|
||||||
wxTextAttrEx defaultCharStyle = style;
|
|
||||||
wxTextAttrEx defaultParaStyle = style;
|
|
||||||
#endif
|
|
||||||
|
|
||||||
wxTextAttrEx* pStyle = paraStyle ? paraStyle : (wxTextAttrEx*) & defaultParaStyle;
|
wxTextAttrEx* pStyle = paraStyle ? paraStyle : (wxTextAttrEx*) & defaultParaStyle;
|
||||||
wxTextAttrEx* cStyle = & defaultCharStyle;
|
wxTextAttrEx* cStyle = & defaultCharStyle;
|
||||||
@@ -1685,8 +1644,7 @@ bool wxRichTextParagraphLayoutBox::SetStyle(const wxRichTextRange& range, const
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
#if wxRICHTEXT_USE_DYNAMIC_STYLES
|
// When applying paragraph styles dynamically, don't change the text objects' attributes
|
||||||
// If applying paragraph styles dynamically, don't change the text objects' attributes
|
|
||||||
// since they will computed as needed. Only apply the character styling if it's _only_
|
// since they will computed as needed. Only apply the character styling if it's _only_
|
||||||
// character styling. This policy is subject to change and might be put under user control.
|
// character styling. This policy is subject to change and might be put under user control.
|
||||||
|
|
||||||
@@ -1698,9 +1656,6 @@ bool wxRichTextParagraphLayoutBox::SetStyle(const wxRichTextRange& range, const
|
|||||||
|
|
||||||
// if (!paragraphStyle && characterStyle && range.GetStart() != newPara->GetRange().GetEnd())
|
// if (!paragraphStyle && characterStyle && range.GetStart() != newPara->GetRange().GetEnd())
|
||||||
if (!parasOnly && characterStyle && range.GetStart() != newPara->GetRange().GetEnd())
|
if (!parasOnly && characterStyle && range.GetStart() != newPara->GetRange().GetEnd())
|
||||||
#else
|
|
||||||
if (characterStyle && range.GetStart() != newPara->GetRange().GetEnd())
|
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
wxRichTextRange childRange(range);
|
wxRichTextRange childRange(range);
|
||||||
childRange.LimitTo(newPara->GetRange());
|
childRange.LimitTo(newPara->GetRange());
|
||||||
@@ -1837,7 +1792,6 @@ bool wxRichTextParagraphLayoutBox::DoGetStyle(long position, wxTextAttrEx& style
|
|||||||
obj = GetParagraphAtPosition(position);
|
obj = GetParagraphAtPosition(position);
|
||||||
if (obj)
|
if (obj)
|
||||||
{
|
{
|
||||||
#if wxRICHTEXT_USE_DYNAMIC_STYLES
|
|
||||||
if (combineStyles)
|
if (combineStyles)
|
||||||
{
|
{
|
||||||
// Start with the base style
|
// Start with the base style
|
||||||
@@ -1848,9 +1802,7 @@ bool wxRichTextParagraphLayoutBox::DoGetStyle(long position, wxTextAttrEx& style
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
style = obj->GetAttributes();
|
style = obj->GetAttributes();
|
||||||
#else
|
|
||||||
style = obj->GetAttributes();
|
|
||||||
#endif
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -1859,7 +1811,6 @@ bool wxRichTextParagraphLayoutBox::DoGetStyle(long position, wxTextAttrEx& style
|
|||||||
obj = GetLeafObjectAtPosition(position);
|
obj = GetLeafObjectAtPosition(position);
|
||||||
if (obj)
|
if (obj)
|
||||||
{
|
{
|
||||||
#if wxRICHTEXT_USE_DYNAMIC_STYLES
|
|
||||||
if (combineStyles)
|
if (combineStyles)
|
||||||
{
|
{
|
||||||
wxRichTextParagraph* para = wxDynamicCast(obj->GetParent(), wxRichTextParagraph);
|
wxRichTextParagraph* para = wxDynamicCast(obj->GetParent(), wxRichTextParagraph);
|
||||||
@@ -1867,9 +1818,7 @@ bool wxRichTextParagraphLayoutBox::DoGetStyle(long position, wxTextAttrEx& style
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
style = obj->GetAttributes();
|
style = obj->GetAttributes();
|
||||||
#else
|
|
||||||
style = obj->GetAttributes();
|
|
||||||
#endif
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2405,11 +2354,8 @@ bool wxRichTextParagraphLayoutBox::HasCharacterAttributes(const wxRichTextRange&
|
|||||||
if (!child->GetRange().IsOutside(range) && child->IsKindOf(CLASSINFO(wxRichTextPlainText)))
|
if (!child->GetRange().IsOutside(range) && child->IsKindOf(CLASSINFO(wxRichTextPlainText)))
|
||||||
{
|
{
|
||||||
foundCount ++;
|
foundCount ++;
|
||||||
#if wxRICHTEXT_USE_DYNAMIC_STYLES
|
|
||||||
wxTextAttrEx textAttr = para->GetCombinedAttributes(child->GetAttributes());
|
wxTextAttrEx textAttr = para->GetCombinedAttributes(child->GetAttributes());
|
||||||
#else
|
|
||||||
const wxTextAttrEx& textAttr = child->GetAttributes();
|
|
||||||
#endif
|
|
||||||
if (wxTextAttrEqPartial(textAttr, style, style.GetFlags()))
|
if (wxTextAttrEqPartial(textAttr, style, style.GetFlags()))
|
||||||
matchingCount ++;
|
matchingCount ++;
|
||||||
}
|
}
|
||||||
@@ -2454,14 +2400,10 @@ bool wxRichTextParagraphLayoutBox::HasParagraphAttributes(const wxRichTextRange&
|
|||||||
|
|
||||||
if (!para->GetRange().IsOutside(range))
|
if (!para->GetRange().IsOutside(range))
|
||||||
{
|
{
|
||||||
#if wxRICHTEXT_USE_DYNAMIC_STYLES
|
|
||||||
wxTextAttrEx textAttr = GetAttributes();
|
wxTextAttrEx textAttr = GetAttributes();
|
||||||
// Apply the paragraph style
|
// Apply the paragraph style
|
||||||
wxRichTextApplyStyle(textAttr, para->GetAttributes());
|
wxRichTextApplyStyle(textAttr, para->GetAttributes());
|
||||||
|
|
||||||
#else
|
|
||||||
const wxTextAttrEx& textAttr = para->GetAttributes();
|
|
||||||
#endif
|
|
||||||
foundCount ++;
|
foundCount ++;
|
||||||
if (wxTextAttrEqPartial(textAttr, style, style.GetFlags()))
|
if (wxTextAttrEqPartial(textAttr, style, style.GetFlags()))
|
||||||
matchingCount ++;
|
matchingCount ++;
|
||||||
@@ -3060,11 +3002,7 @@ wxRichTextParagraph::~wxRichTextParagraph()
|
|||||||
/// Draw the item
|
/// Draw the item
|
||||||
bool wxRichTextParagraph::Draw(wxDC& dc, const wxRichTextRange& range, const wxRichTextRange& selectionRange, const wxRect& WXUNUSED(rect), int WXUNUSED(descent), int style)
|
bool wxRichTextParagraph::Draw(wxDC& dc, const wxRichTextRange& range, const wxRichTextRange& selectionRange, const wxRect& WXUNUSED(rect), int WXUNUSED(descent), int style)
|
||||||
{
|
{
|
||||||
#if wxRICHTEXT_USE_DYNAMIC_STYLES
|
|
||||||
wxTextAttrEx attr = GetCombinedAttributes();
|
wxTextAttrEx attr = GetCombinedAttributes();
|
||||||
#else
|
|
||||||
const wxTextAttrEx& attr = GetAttributes();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Draw the bullet, if any
|
// Draw the bullet, if any
|
||||||
if (attr.GetBulletStyle() != wxTEXT_ATTR_BULLET_STYLE_NONE)
|
if (attr.GetBulletStyle() != wxTEXT_ATTR_BULLET_STYLE_NONE)
|
||||||
@@ -3176,11 +3114,7 @@ bool wxRichTextParagraph::Draw(wxDC& dc, const wxRichTextRange& range, const wxR
|
|||||||
/// Lay the item out
|
/// Lay the item out
|
||||||
bool wxRichTextParagraph::Layout(wxDC& dc, const wxRect& rect, int style)
|
bool wxRichTextParagraph::Layout(wxDC& dc, const wxRect& rect, int style)
|
||||||
{
|
{
|
||||||
#if wxRICHTEXT_USE_DYNAMIC_STYLES
|
|
||||||
wxTextAttrEx attr = GetCombinedAttributes();
|
wxTextAttrEx attr = GetCombinedAttributes();
|
||||||
#else
|
|
||||||
const wxTextAttrEx& attr = GetAttributes();
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// ClearLines();
|
// ClearLines();
|
||||||
|
|
||||||
@@ -4166,14 +4100,10 @@ wxRichTextPlainText::wxRichTextPlainText(const wxString& text, wxRichTextObject*
|
|||||||
/// Draw the item
|
/// Draw the item
|
||||||
bool wxRichTextPlainText::Draw(wxDC& dc, const wxRichTextRange& range, const wxRichTextRange& selectionRange, const wxRect& rect, int descent, int WXUNUSED(style))
|
bool wxRichTextPlainText::Draw(wxDC& dc, const wxRichTextRange& range, const wxRichTextRange& selectionRange, const wxRect& rect, int descent, int WXUNUSED(style))
|
||||||
{
|
{
|
||||||
#if wxRICHTEXT_USE_DYNAMIC_STYLES
|
|
||||||
wxRichTextParagraph* para = wxDynamicCast(GetParent(), wxRichTextParagraph);
|
wxRichTextParagraph* para = wxDynamicCast(GetParent(), wxRichTextParagraph);
|
||||||
wxASSERT (para != NULL);
|
wxASSERT (para != NULL);
|
||||||
|
|
||||||
wxTextAttrEx textAttr(para ? para->GetCombinedAttributes(GetAttributes()) : GetAttributes());
|
wxTextAttrEx textAttr(para ? para->GetCombinedAttributes(GetAttributes()) : GetAttributes());
|
||||||
#else
|
|
||||||
wxTextAttrEx textAttr(GetAttributes());
|
|
||||||
#endif
|
|
||||||
|
|
||||||
int offset = GetRange().GetStart();
|
int offset = GetRange().GetStart();
|
||||||
|
|
||||||
@@ -4395,14 +4325,10 @@ bool wxRichTextPlainText::DrawTabbedString(wxDC& dc, const wxTextAttrEx& attr, c
|
|||||||
/// Lay the item out
|
/// Lay the item out
|
||||||
bool wxRichTextPlainText::Layout(wxDC& dc, const wxRect& WXUNUSED(rect), int WXUNUSED(style))
|
bool wxRichTextPlainText::Layout(wxDC& dc, const wxRect& WXUNUSED(rect), int WXUNUSED(style))
|
||||||
{
|
{
|
||||||
#if wxRICHTEXT_USE_DYNAMIC_STYLES
|
|
||||||
wxRichTextParagraph* para = wxDynamicCast(GetParent(), wxRichTextParagraph);
|
wxRichTextParagraph* para = wxDynamicCast(GetParent(), wxRichTextParagraph);
|
||||||
wxASSERT (para != NULL);
|
wxASSERT (para != NULL);
|
||||||
|
|
||||||
wxTextAttrEx textAttr(para ? para->GetCombinedAttributes(GetAttributes()) : GetAttributes());
|
wxTextAttrEx textAttr(para ? para->GetCombinedAttributes(GetAttributes()) : GetAttributes());
|
||||||
#else
|
|
||||||
wxTextAttrEx textAttr(GetAttributes());
|
|
||||||
#endif
|
|
||||||
|
|
||||||
if (textAttr.GetFont().Ok())
|
if (textAttr.GetFont().Ok())
|
||||||
dc.SetFont(textAttr.GetFont());
|
dc.SetFont(textAttr.GetFont());
|
||||||
@@ -4433,14 +4359,10 @@ bool wxRichTextPlainText::GetRangeSize(const wxRichTextRange& range, wxSize& siz
|
|||||||
if (!range.IsWithin(GetRange()))
|
if (!range.IsWithin(GetRange()))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
#if wxRICHTEXT_USE_DYNAMIC_STYLES
|
|
||||||
wxRichTextParagraph* para = wxDynamicCast(GetParent(), wxRichTextParagraph);
|
wxRichTextParagraph* para = wxDynamicCast(GetParent(), wxRichTextParagraph);
|
||||||
wxASSERT (para != NULL);
|
wxASSERT (para != NULL);
|
||||||
|
|
||||||
wxTextAttrEx textAttr(para ? para->GetCombinedAttributes(GetAttributes()) : GetAttributes());
|
wxTextAttrEx textAttr(para ? para->GetCombinedAttributes(GetAttributes()) : GetAttributes());
|
||||||
#else
|
|
||||||
wxTextAttrEx textAttr(GetAttributes());
|
|
||||||
#endif
|
|
||||||
|
|
||||||
// Always assume unformatted text, since at this level we have no knowledge
|
// Always assume unformatted text, since at this level we have no knowledge
|
||||||
// of line breaks - and we don't need it, since we'll calculate size within
|
// of line breaks - and we don't need it, since we'll calculate size within
|
||||||
@@ -4685,12 +4607,7 @@ bool wxRichTextBuffer::InsertParagraphsWithUndo(long pos, const wxRichTextParagr
|
|||||||
{
|
{
|
||||||
wxRichTextAction* action = new wxRichTextAction(NULL, _("Insert Text"), wxRICHTEXT_INSERT, this, ctrl, false);
|
wxRichTextAction* action = new wxRichTextAction(NULL, _("Insert Text"), wxRICHTEXT_INSERT, this, ctrl, false);
|
||||||
|
|
||||||
#if wxRICHTEXT_USE_DYNAMIC_STYLES
|
|
||||||
wxTextAttrEx attr(GetDefaultStyle());
|
wxTextAttrEx attr(GetDefaultStyle());
|
||||||
#else
|
|
||||||
wxTextAttrEx attr(GetBasicStyle());
|
|
||||||
wxRichTextApplyStyle(attr, GetDefaultStyle());
|
|
||||||
#endif
|
|
||||||
|
|
||||||
wxTextAttrEx* p = NULL;
|
wxTextAttrEx* p = NULL;
|
||||||
wxTextAttrEx paraAttr;
|
wxTextAttrEx paraAttr;
|
||||||
@@ -4775,12 +4692,7 @@ bool wxRichTextBuffer::InsertNewlineWithUndo(long pos, wxRichTextCtrl* ctrl, int
|
|||||||
p = & paraAttr;
|
p = & paraAttr;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if wxRICHTEXT_USE_DYNAMIC_STYLES
|
|
||||||
wxTextAttrEx attr(GetDefaultStyle());
|
wxTextAttrEx attr(GetDefaultStyle());
|
||||||
#else
|
|
||||||
wxTextAttrEx attr(GetBasicStyle());
|
|
||||||
wxRichTextApplyStyle(attr, GetDefaultStyle());
|
|
||||||
#endif
|
|
||||||
|
|
||||||
wxRichTextParagraph* newPara = new wxRichTextParagraph(wxEmptyString, this, & attr);
|
wxRichTextParagraph* newPara = new wxRichTextParagraph(wxEmptyString, this, & attr);
|
||||||
action->GetNewParagraphs().AppendChild(newPara);
|
action->GetNewParagraphs().AppendChild(newPara);
|
||||||
@@ -4813,12 +4725,7 @@ bool wxRichTextBuffer::InsertImageWithUndo(long pos, const wxRichTextImageBlock&
|
|||||||
p = & paraAttr;
|
p = & paraAttr;
|
||||||
}
|
}
|
||||||
|
|
||||||
#if wxRICHTEXT_USE_DYNAMIC_STYLES
|
|
||||||
wxTextAttrEx attr(GetDefaultStyle());
|
wxTextAttrEx attr(GetDefaultStyle());
|
||||||
#else
|
|
||||||
wxTextAttrEx attr(GetBasicStyle());
|
|
||||||
wxRichTextApplyStyle(attr, GetDefaultStyle());
|
|
||||||
#endif
|
|
||||||
|
|
||||||
wxRichTextParagraph* newPara = new wxRichTextParagraph(this, & attr);
|
wxRichTextParagraph* newPara = new wxRichTextParagraph(this, & attr);
|
||||||
if (p)
|
if (p)
|
||||||
@@ -6056,12 +5963,20 @@ bool wxRichTextAction::Do()
|
|||||||
|
|
||||||
newCaretPosition = wxMin(newCaretPosition, (m_buffer->GetRange().GetEnd()-1));
|
newCaretPosition = wxMin(newCaretPosition, (m_buffer->GetRange().GetEnd()-1));
|
||||||
|
|
||||||
|
|
||||||
if (optimizationLineCharPositions.GetCount() > 0)
|
if (optimizationLineCharPositions.GetCount() > 0)
|
||||||
UpdateAppearance(newCaretPosition, true /* send update event */, & optimizationLineCharPositions, & optimizationLineYPositions);
|
UpdateAppearance(newCaretPosition, true /* send update event */, & optimizationLineCharPositions, & optimizationLineYPositions);
|
||||||
else
|
else
|
||||||
UpdateAppearance(newCaretPosition, true /* send update event */);
|
UpdateAppearance(newCaretPosition, true /* send update event */);
|
||||||
|
|
||||||
|
wxRichTextEvent cmdEvent(
|
||||||
|
wxEVT_COMMAND_RICHTEXT_CONTENT_INSERTED,
|
||||||
|
m_ctrl ? m_ctrl->GetId() : -1);
|
||||||
|
cmdEvent.SetEventObject(m_ctrl ? (wxObject*) m_ctrl : (wxObject*) m_buffer);
|
||||||
|
cmdEvent.SetRange(GetRange());
|
||||||
|
cmdEvent.SetPosition(GetRange().GetStart());
|
||||||
|
|
||||||
|
m_buffer->SendEvent(cmdEvent);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case wxRICHTEXT_DELETE:
|
case wxRICHTEXT_DELETE:
|
||||||
@@ -6072,6 +5987,15 @@ bool wxRichTextAction::Do()
|
|||||||
|
|
||||||
UpdateAppearance(GetRange().GetStart()-1, true /* send update event */);
|
UpdateAppearance(GetRange().GetStart()-1, true /* send update event */);
|
||||||
|
|
||||||
|
wxRichTextEvent cmdEvent(
|
||||||
|
wxEVT_COMMAND_RICHTEXT_CONTENT_DELETED,
|
||||||
|
m_ctrl ? m_ctrl->GetId() : -1);
|
||||||
|
cmdEvent.SetEventObject(m_ctrl ? (wxObject*) m_ctrl : (wxObject*) m_buffer);
|
||||||
|
cmdEvent.SetRange(GetRange());
|
||||||
|
cmdEvent.SetPosition(GetRange().GetStart());
|
||||||
|
|
||||||
|
m_buffer->SendEvent(cmdEvent);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case wxRICHTEXT_CHANGE_STYLE:
|
case wxRICHTEXT_CHANGE_STYLE:
|
||||||
@@ -6081,6 +6005,15 @@ bool wxRichTextAction::Do()
|
|||||||
|
|
||||||
UpdateAppearance(GetPosition());
|
UpdateAppearance(GetPosition());
|
||||||
|
|
||||||
|
wxRichTextEvent cmdEvent(
|
||||||
|
wxEVT_COMMAND_RICHTEXT_STYLE_CHANGED,
|
||||||
|
m_ctrl ? m_ctrl->GetId() : -1);
|
||||||
|
cmdEvent.SetEventObject(m_ctrl ? (wxObject*) m_ctrl : (wxObject*) m_buffer);
|
||||||
|
cmdEvent.SetRange(GetRange());
|
||||||
|
cmdEvent.SetPosition(GetRange().GetStart());
|
||||||
|
|
||||||
|
m_buffer->SendEvent(cmdEvent);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
@@ -6103,11 +6036,18 @@ bool wxRichTextAction::Undo()
|
|||||||
m_buffer->Invalidate(wxRichTextRange(GetRange().GetStart(), GetRange().GetStart()));
|
m_buffer->Invalidate(wxRichTextRange(GetRange().GetStart(), GetRange().GetStart()));
|
||||||
|
|
||||||
long newCaretPosition = GetPosition() - 1;
|
long newCaretPosition = GetPosition() - 1;
|
||||||
// if (m_newParagraphs.GetPartialParagraph())
|
|
||||||
// newCaretPosition --;
|
|
||||||
|
|
||||||
UpdateAppearance(newCaretPosition, true /* send update event */);
|
UpdateAppearance(newCaretPosition, true /* send update event */);
|
||||||
|
|
||||||
|
wxRichTextEvent cmdEvent(
|
||||||
|
wxEVT_COMMAND_RICHTEXT_CONTENT_DELETED,
|
||||||
|
m_ctrl ? m_ctrl->GetId() : -1);
|
||||||
|
cmdEvent.SetEventObject(m_ctrl ? (wxObject*) m_ctrl : (wxObject*) m_buffer);
|
||||||
|
cmdEvent.SetRange(GetRange());
|
||||||
|
cmdEvent.SetPosition(GetRange().GetStart());
|
||||||
|
|
||||||
|
m_buffer->SendEvent(cmdEvent);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case wxRICHTEXT_DELETE:
|
case wxRICHTEXT_DELETE:
|
||||||
@@ -6118,6 +6058,15 @@ bool wxRichTextAction::Undo()
|
|||||||
|
|
||||||
UpdateAppearance(GetPosition(), true /* send update event */);
|
UpdateAppearance(GetPosition(), true /* send update event */);
|
||||||
|
|
||||||
|
wxRichTextEvent cmdEvent(
|
||||||
|
wxEVT_COMMAND_RICHTEXT_CONTENT_INSERTED,
|
||||||
|
m_ctrl ? m_ctrl->GetId() : -1);
|
||||||
|
cmdEvent.SetEventObject(m_ctrl ? (wxObject*) m_ctrl : (wxObject*) m_buffer);
|
||||||
|
cmdEvent.SetRange(GetRange());
|
||||||
|
cmdEvent.SetPosition(GetRange().GetStart());
|
||||||
|
|
||||||
|
m_buffer->SendEvent(cmdEvent);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case wxRICHTEXT_CHANGE_STYLE:
|
case wxRICHTEXT_CHANGE_STYLE:
|
||||||
@@ -6127,6 +6076,15 @@ bool wxRichTextAction::Undo()
|
|||||||
|
|
||||||
UpdateAppearance(GetPosition());
|
UpdateAppearance(GetPosition());
|
||||||
|
|
||||||
|
wxRichTextEvent cmdEvent(
|
||||||
|
wxEVT_COMMAND_RICHTEXT_STYLE_CHANGED,
|
||||||
|
m_ctrl ? m_ctrl->GetId() : -1);
|
||||||
|
cmdEvent.SetEventObject(m_ctrl ? (wxObject*) m_ctrl : (wxObject*) m_buffer);
|
||||||
|
cmdEvent.SetRange(GetRange());
|
||||||
|
cmdEvent.SetPosition(GetRange().GetStart());
|
||||||
|
|
||||||
|
m_buffer->SendEvent(cmdEvent);
|
||||||
|
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
default:
|
default:
|
||||||
|
@@ -37,18 +37,24 @@
|
|||||||
#include "wx/app.h"
|
#include "wx/app.h"
|
||||||
WX_CHECK_BUILD_OPTIONS("wxRichTextCtrl")
|
WX_CHECK_BUILD_OPTIONS("wxRichTextCtrl")
|
||||||
|
|
||||||
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_ITEM_SELECTED)
|
|
||||||
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_ITEM_DESELECTED)
|
|
||||||
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_LEFT_CLICK)
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_LEFT_CLICK)
|
||||||
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_MIDDLE_CLICK)
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_MIDDLE_CLICK)
|
||||||
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_RIGHT_CLICK)
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_RIGHT_CLICK)
|
||||||
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_LEFT_DCLICK)
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_LEFT_DCLICK)
|
||||||
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_RETURN)
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_RETURN)
|
||||||
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_CHARACTER)
|
||||||
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_DELETE)
|
||||||
|
|
||||||
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_STYLESHEET_REPLACING)
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_STYLESHEET_REPLACING)
|
||||||
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_STYLESHEET_REPLACED)
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_STYLESHEET_REPLACED)
|
||||||
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGING)
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGING)
|
||||||
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGED)
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_STYLESHEET_CHANGED)
|
||||||
|
|
||||||
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_CONTENT_INSERTED)
|
||||||
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_CONTENT_DELETED)
|
||||||
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_STYLE_CHANGED)
|
||||||
|
DEFINE_EVENT_TYPE(wxEVT_COMMAND_RICHTEXT_SELECTION_CHANGED)
|
||||||
|
|
||||||
IMPLEMENT_CLASS( wxRichTextCtrl, wxControl )
|
IMPLEMENT_CLASS( wxRichTextCtrl, wxControl )
|
||||||
|
|
||||||
IMPLEMENT_CLASS( wxRichTextEvent, wxNotifyEvent )
|
IMPLEMENT_CLASS( wxRichTextEvent, wxNotifyEvent )
|
||||||
@@ -561,6 +567,8 @@ void wxRichTextCtrl::OnChar(wxKeyEvent& event)
|
|||||||
GetId());
|
GetId());
|
||||||
cmdEvent.SetEventObject(this);
|
cmdEvent.SetEventObject(this);
|
||||||
cmdEvent.SetFlags(flags);
|
cmdEvent.SetFlags(flags);
|
||||||
|
cmdEvent.SetPosition(newPos+1);
|
||||||
|
|
||||||
if (!GetEventHandler()->ProcessEvent(cmdEvent))
|
if (!GetEventHandler()->ProcessEvent(cmdEvent))
|
||||||
{
|
{
|
||||||
// Generate conventional event
|
// Generate conventional event
|
||||||
@@ -599,6 +607,15 @@ void wxRichTextCtrl::OnChar(wxKeyEvent& event)
|
|||||||
}
|
}
|
||||||
|
|
||||||
ScrollIntoView(m_caretPosition, WXK_LEFT);
|
ScrollIntoView(m_caretPosition, WXK_LEFT);
|
||||||
|
|
||||||
|
wxRichTextEvent cmdEvent(
|
||||||
|
wxEVT_COMMAND_RICHTEXT_DELETE,
|
||||||
|
GetId());
|
||||||
|
cmdEvent.SetEventObject(this);
|
||||||
|
cmdEvent.SetFlags(flags);
|
||||||
|
cmdEvent.SetPosition(m_caretPosition+1);
|
||||||
|
GetEventHandler()->ProcessEvent(cmdEvent);
|
||||||
|
|
||||||
Update();
|
Update();
|
||||||
}
|
}
|
||||||
else if (event.GetKeyCode() == WXK_DELETE)
|
else if (event.GetKeyCode() == WXK_DELETE)
|
||||||
@@ -626,6 +643,15 @@ void wxRichTextCtrl::OnChar(wxKeyEvent& event)
|
|||||||
PositionCaret();
|
PositionCaret();
|
||||||
SetDefaultStyleToCursorStyle();
|
SetDefaultStyleToCursorStyle();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxRichTextEvent cmdEvent(
|
||||||
|
wxEVT_COMMAND_RICHTEXT_DELETE,
|
||||||
|
GetId());
|
||||||
|
cmdEvent.SetEventObject(this);
|
||||||
|
cmdEvent.SetFlags(flags);
|
||||||
|
cmdEvent.SetPosition(m_caretPosition+1);
|
||||||
|
GetEventHandler()->ProcessEvent(cmdEvent);
|
||||||
|
|
||||||
Update();
|
Update();
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@@ -741,6 +767,14 @@ void wxRichTextCtrl::OnChar(wxKeyEvent& event)
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wxRichTextEvent cmdEvent(
|
||||||
|
wxEVT_COMMAND_RICHTEXT_CHARACTER,
|
||||||
|
GetId());
|
||||||
|
cmdEvent.SetEventObject(this);
|
||||||
|
cmdEvent.SetFlags(flags);
|
||||||
|
cmdEvent.SetCharacter((wxChar) keycode);
|
||||||
|
cmdEvent.SetPosition(m_caretPosition+1);
|
||||||
|
|
||||||
if (keycode == wxT('\t'))
|
if (keycode == wxT('\t'))
|
||||||
{
|
{
|
||||||
// See if we need to promote or demote the selection or paragraph at the cursor
|
// See if we need to promote or demote the selection or paragraph at the cursor
|
||||||
@@ -759,6 +793,8 @@ void wxRichTextCtrl::OnChar(wxKeyEvent& event)
|
|||||||
|
|
||||||
PromoteList(promoteBy, range, NULL);
|
PromoteList(promoteBy, range, NULL);
|
||||||
|
|
||||||
|
GetEventHandler()->ProcessEvent(cmdEvent);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -775,6 +811,9 @@ void wxRichTextCtrl::OnChar(wxKeyEvent& event)
|
|||||||
|
|
||||||
SetDefaultStyleToCursorStyle();
|
SetDefaultStyleToCursorStyle();
|
||||||
ScrollIntoView(m_caretPosition, WXK_RIGHT);
|
ScrollIntoView(m_caretPosition, WXK_RIGHT);
|
||||||
|
|
||||||
|
GetEventHandler()->ProcessEvent(cmdEvent);
|
||||||
|
|
||||||
Update();
|
Update();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -2525,7 +2564,6 @@ bool wxRichTextCtrl::GetStyle(long position, wxRichTextAttr& style)
|
|||||||
return GetBuffer().GetStyle(position, style);
|
return GetBuffer().GetStyle(position, style);
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
// get the common set of styles for the range
|
// get the common set of styles for the range
|
||||||
bool wxRichTextCtrl::GetStyleForRange(const wxRichTextRange& range, wxRichTextAttr& style)
|
bool wxRichTextCtrl::GetStyleForRange(const wxRichTextRange& range, wxRichTextAttr& style)
|
||||||
{
|
{
|
||||||
@@ -2543,7 +2581,6 @@ bool wxRichTextCtrl::GetStyleForRange(const wxRichTextRange& range, wxTextAttrEx
|
|||||||
{
|
{
|
||||||
return GetBuffer().GetStyleForRange(range.ToInternal(), style);
|
return GetBuffer().GetStyleForRange(range.ToInternal(), style);
|
||||||
}
|
}
|
||||||
*/
|
|
||||||
|
|
||||||
/// Get the content (uncombined) attributes for this position.
|
/// Get the content (uncombined) attributes for this position.
|
||||||
|
|
||||||
@@ -2957,11 +2994,7 @@ bool wxRichTextCtrl::SetDefaultStyleToCursorStyle()
|
|||||||
// If at the start of a paragraph, use the next position.
|
// If at the start of a paragraph, use the next position.
|
||||||
long pos = GetAdjustedCaretPosition(GetCaretPosition());
|
long pos = GetAdjustedCaretPosition(GetCaretPosition());
|
||||||
|
|
||||||
#if wxRICHTEXT_USE_DYNAMIC_STYLES
|
|
||||||
if (GetUncombinedStyle(pos, attr))
|
if (GetUncombinedStyle(pos, attr))
|
||||||
#else
|
|
||||||
if (GetStyle(pos, attr))
|
|
||||||
#endif
|
|
||||||
{
|
{
|
||||||
SetDefaultStyle(attr);
|
SetDefaultStyle(attr);
|
||||||
return true;
|
return true;
|
||||||
|
Reference in New Issue
Block a user