Corrected a clearing bug

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42559 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Julian Smart
2006-10-28 09:29:07 +00:00
parent d2b23e51e3
commit 85d8909ba3
4 changed files with 10 additions and 19 deletions

View File

@@ -1588,11 +1588,8 @@ public:
/// Initialisation
void Init();
/// Clears the buffer and resets the command processor
virtual void Clear();
/// The same as Clear, and adds an empty paragraph.
virtual void Reset();
/// Clears the buffer, adds an empty paragraph, and clears the command processor.
virtual void ResetAndClearCommands();
/// Load a file
virtual bool LoadFile(const wxString& filename, int type = wxRICHTEXT_TYPE_ANY);

View File

@@ -2420,6 +2420,8 @@ void wxRichTextParagraphLayoutBox::Reset()
Clear();
AddParagraph(wxEmptyString);
Invalidate(wxRICHTEXT_ALL);
}
/// Invalidate the buffer. With no argument, invalidates whole buffer.
@@ -4545,19 +4547,12 @@ wxRichTextBuffer::~wxRichTextBuffer()
ClearEventHandlers();
}
void wxRichTextBuffer::Clear()
void wxRichTextBuffer::ResetAndClearCommands()
{
DeleteChildren();
GetCommandProcessor()->ClearCommands();
Modify(false);
Invalidate(wxRICHTEXT_ALL);
}
Reset();
void wxRichTextBuffer::Reset()
{
DeleteChildren();
AddParagraph(wxEmptyString);
GetCommandProcessor()->ClearCommands();
Modify(false);
Invalidate(wxRICHTEXT_ALL);
}

View File

@@ -128,6 +128,7 @@ bool wxRichTextCtrl::Create( wxWindow* parent, wxWindowID id, const wxString& va
SetFont(wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT));
}
GetBuffer().Reset();
GetBuffer().SetRichTextCtrl(this);
if (style & wxTE_READONLY)
@@ -220,7 +221,7 @@ void wxRichTextCtrl::Thaw()
/// Clear all text
void wxRichTextCtrl::Clear()
{
m_buffer.Reset();
m_buffer.ResetAndClearCommands();
m_buffer.SetDirty(true);
m_caretPosition = -1;
m_caretPositionForDefaultStyle = -2;
@@ -572,7 +573,6 @@ void wxRichTextCtrl::OnChar(wxKeyEvent& event)
EndBatchUndo();
// Shouldn't this be in Do()?
if (GetLastPosition() == -1)
{
GetBuffer().Reset();
@@ -601,7 +601,6 @@ void wxRichTextCtrl::OnChar(wxKeyEvent& event)
EndBatchUndo();
// Shouldn't this be in Do()?
if (GetLastPosition() == -1)
{
GetBuffer().Reset();

View File

@@ -41,7 +41,7 @@ bool wxRichTextXMLHandler::DoLoadFile(wxRichTextBuffer *buffer, wxInputStream& s
if (!stream.IsOk())
return false;
buffer->Clear();
buffer->ResetAndClearCommands();
wxXmlDocument* xmlDoc = new wxXmlDocument;
bool success = true;