X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/3c8766f7dc479a87384ef0c1864528b515293e95..b81885a6b6dcec3ad84ddd164b674e6de8937472:/src/richtext/richtextbuffer.cpp diff --git a/src/richtext/richtextbuffer.cpp b/src/richtext/richtextbuffer.cpp index ac3e1c4399..64633cab6f 100644 --- a/src/richtext/richtextbuffer.cpp +++ b/src/richtext/richtextbuffer.cpp @@ -2419,6 +2419,15 @@ void wxRichTextParagraphLayoutBox::Reset() { Clear(); + wxRichTextBuffer* buffer = wxDynamicCast(this, wxRichTextBuffer); + if (buffer && GetRichTextCtrl()) + { + wxRichTextEvent event(wxEVT_COMMAND_RICHTEXT_BUFFER_RESET, GetRichTextCtrl()->GetId()); + event.SetEventObject(GetRichTextCtrl()); + + buffer->SendEvent(event, true); + } + AddParagraph(wxEmptyString); Invalidate(wxRICHTEXT_ALL); @@ -2474,6 +2483,29 @@ bool wxRichTextParagraphLayoutBox::ApplyStyleSheet(wxRichTextStyleSheet* styleSh int foundCount = 0; + wxRichTextAttr attr(GetBasicStyle()); + if (GetBasicStyle().HasParagraphStyleName()) + { + wxRichTextParagraphStyleDefinition* paraDef = styleSheet->FindParagraphStyle(GetBasicStyle().GetParagraphStyleName()); + if (paraDef) + { + attr.Apply(paraDef->GetStyleMergedWithBase(styleSheet)); + SetBasicStyle(attr); + foundCount ++; + } + } + + if (GetBasicStyle().HasCharacterStyleName()) + { + wxRichTextCharacterStyleDefinition* charDef = styleSheet->FindCharacterStyle(GetBasicStyle().GetCharacterStyleName()); + if (charDef) + { + attr.Apply(charDef->GetStyleMergedWithBase(styleSheet)); + SetBasicStyle(attr); + foundCount ++; + } + } + wxRichTextObjectList::compatibility_iterator node = m_children.GetFirst(); while (node) { @@ -7177,7 +7209,6 @@ IMPLEMENT_DYNAMIC_CLASS(wxRichTextFontTable, wxObject) wxRichTextFontTable::wxRichTextFontTable() { m_refData = new wxRichTextFontTableData; - m_refData->IncRef(); } wxRichTextFontTable::wxRichTextFontTable(const wxRichTextFontTable& table)