added wxTextCtrl::IsEmpty()

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41740 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2006-10-08 17:52:39 +00:00
parent f6519b40fe
commit 28fdd8db44
6 changed files with 24 additions and 3 deletions

View File

@@ -69,6 +69,7 @@ All (GUI):
- Added wxAboutBox() function for displaying the standard about dialog
- Added wxID_PAGE_SETUP standard id.
- Added wxSize::IncBy() and DecBy() methods.
- Added wxTextCtrl::IsEmpty()
- Added file type parameter to wxTextCtrl::LoadFile, wxTextCtrl::SaveFile for
consistency with wxRichTextCtrl.
- wxRichTextCtrl: fixed range out-by-one bug to be consistent with wxTextCtrl API,

View File

@@ -43,8 +43,8 @@ public:
// ----------------------------------
virtual wxString GetValue() const;
virtual bool IsEmpty() const;
virtual void SetValue(const wxString& value) { DoSetValue(value, SetValue_SendEvent); }
virtual void ChangeValue(const wxString& value) { DoSetValue(value); }
virtual int GetLineLength(long lineNo) const;

View File

@@ -45,6 +45,7 @@ public:
// ----------------------------------
virtual wxString GetValue() const;
virtual bool IsEmpty() const;
virtual void SetValue(const wxString& value) { DoSetValue(value, SetValue_SendEvent); }
virtual void ChangeValue(const wxString& value) { DoSetValue(value); }

View File

@@ -300,6 +300,8 @@ public:
virtual wxString GetValue() const = 0;
virtual void SetValue(const wxString& value) = 0;
virtual bool IsEmpty() const { return GetValue().empty(); }
virtual void ChangeValue(const wxString &value) = 0;
virtual wxString GetRange(long from, long to) const;

View File

@@ -821,6 +821,14 @@ wxFontEncoding wxTextCtrl::GetTextEncoding() const
return enc;
}
bool wxTextCtrl::IsEmpty() const
{
if ( IsMultiLine() )
return gtk_text_buffer_get_char_count(m_buffer) != 0;
return wxTextCtrlBase::IsEmpty();
}
void wxTextCtrl::DoSetValue( const wxString &value, int flags )
{
wxCHECK_RET( m_text != NULL, wxT("invalid text ctrl") );

View File

@@ -662,6 +662,15 @@ void wxTextCtrl::SetWindowStyleFlag(long style)
// set/get the controls text
// ----------------------------------------------------------------------------
bool wxTextCtrl::IsEmpty() const
{
// this is an optimization for multiline controls containing a lot of text
if ( IsMultiLine() && GetNumberOfLines() != 1 )
return false;
return wxTextCtrlBase::IsEmpty();
}
wxString wxTextCtrl::GetValue() const
{
// range 0..-1 is special for GetRange() and means to retrieve all text