Move EmptyUndoBuffer() from wxTextEntry to wxTextCtrl

It seems unlikely that we're ever going to need this function in any
other classes inheriting from wxTextEntry (i.e. wxComboBox) and both
existing implementations are for wxTextCtrl only, so define this
function there.

If really necessary, we can always lower it to wxTextEntry later, while
moving it in the other direction wouldn't be easily possible due to
compatibility concerns.

This commit is best viewed with git --color-moved option.
This commit is contained in:
Vadim Zeitlin
2021-08-20 16:42:01 +01:00
parent 1799922d0e
commit adacb5c07e
8 changed files with 22 additions and 22 deletions

View File

@@ -74,6 +74,8 @@ public:
virtual void MarkDirty() wxOVERRIDE; virtual void MarkDirty() wxOVERRIDE;
virtual void DiscardEdits() wxOVERRIDE; virtual void DiscardEdits() wxOVERRIDE;
virtual void EmptyUndoBuffer() wxOVERRIDE;
// text control under some platforms supports the text styles: these // text control under some platforms supports the text styles: these
// methods apply the given text style to the given selection or to // methods apply the given text style to the given selection or to
// set/get the style which will be used for all appended text // set/get the style which will be used for all appended text

View File

@@ -72,8 +72,6 @@ public:
virtual bool CanUndo() const wxOVERRIDE; virtual bool CanUndo() const wxOVERRIDE;
virtual bool CanRedo() const wxOVERRIDE; virtual bool CanRedo() const wxOVERRIDE;
virtual void EmptyUndoBuffer() wxOVERRIDE;
// Insertion point // Insertion point
virtual void SetInsertionPoint(long pos) wxOVERRIDE; virtual void SetInsertionPoint(long pos) wxOVERRIDE;
virtual void SetInsertionPointEnd() wxOVERRIDE; virtual void SetInsertionPointEnd() wxOVERRIDE;

View File

@@ -574,6 +574,8 @@ public:
DiscardEdits(); DiscardEdits();
} }
virtual void EmptyUndoBuffer() { }
// styles handling // styles handling
// --------------- // ---------------

View File

@@ -81,8 +81,6 @@ public:
virtual bool CanUndo() const = 0; virtual bool CanUndo() const = 0;
virtual bool CanRedo() const = 0; virtual bool CanRedo() const = 0;
virtual void EmptyUndoBuffer() { }
// insertion point // insertion point
// --------------- // ---------------

View File

@@ -1312,6 +1312,17 @@ public:
*/ */
virtual void DiscardEdits(); virtual void DiscardEdits();
/**
Delete the undo history.
Currently only implemented in wxMSW (for controls using wxTE_RICH2
style only) and wxOSX (for multiline text controls only), does nothing
in the other ports or for the controls not using the appropriate styles.
@since 3.1.6
*/
virtual void EmptyUndoBuffer();
/** /**
This function inserts into the control the character which would have This function inserts into the control the character which would have
been inserted if the given key event had occurred in the text control. been inserted if the given key event had occurred in the text control.

View File

@@ -165,17 +165,6 @@ public:
*/ */
virtual bool CanUndo() const; virtual bool CanUndo() const;
/**
Delete the undo history.
Currently only implemented in wxMSW (for controls using wxTE_RICH2
style only) and wxOSX (for multiline text controls only), does nothing
in the other ports or for the controls not using the appropriate styles.
@since 3.1.6
*/
virtual void EmptyUndoBuffer();
/** /**
Sets the new text control value. Sets the new text control value.

View File

@@ -259,6 +259,13 @@ void wxTextCtrl::DiscardEdits()
m_dirty = false; m_dirty = false;
} }
void wxTextCtrl::EmptyUndoBuffer()
{
wxCHECK_RET( GetTextPeer(), "Must create the control first" );
GetTextPeer()->EmptyUndoBuffer() ;
}
int wxTextCtrl::GetNumberOfLines() const int wxTextCtrl::GetNumberOfLines() const
{ {
return GetTextPeer()->GetNumberOfLines() ; return GetTextPeer()->GetNumberOfLines() ;

View File

@@ -293,13 +293,6 @@ bool wxTextEntry::CanRedo() const
return GetTextPeer()->CanRedo() ; return GetTextPeer()->CanRedo() ;
} }
void wxTextEntry::EmptyUndoBuffer()
{
wxCHECK_RET( GetTextPeer(), "Must create the control first" );
return GetTextPeer()->EmptyUndoBuffer() ;
}
wxTextWidgetImpl * wxTextEntry::GetTextPeer() const wxTextWidgetImpl * wxTextEntry::GetTextPeer() const
{ {
wxWindow * const win = const_cast<wxTextEntry *>(this)->GetEditableWindow(); wxWindow * const win = const_cast<wxTextEntry *>(this)->GetEditableWindow();