Define unambiguous Is{List,Text}Empty() in wxOwnerDrawnComboBox.

Like in wxComboBox itself, it's useful to provide these methods to avoid
problems with ambiguous IsEmpty(), inherited from both wxTextEntry and
wxItemContainer.

Closes #16618.

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@78015 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin 2014-10-13 12:08:10 +00:00
parent b10b027423
commit 1f6fae0f3f
3 changed files with 38 additions and 0 deletions

View File

@ -82,6 +82,7 @@ All (GUI):
- Add wxBitmap ctor from wxCursor.
- Always disable wxWizard "Back" button on the starting page (pmgrace30).
- Add wxUIActionSimulator::Select().
- Add wxOwnerDrawnComboBox::Is{List,Text}Empty() methods.
wxGTK:

View File

@ -315,6 +315,10 @@ public:
virtual void Select(int n);
virtual int GetSelection() const wxOVERRIDE;
// See wxComboBoxBase discussion of IsEmpty().
bool IsListEmpty() const { return wxItemContainer::IsEmpty(); }
bool IsTextEmpty() const { return wxTextEntry::IsEmpty(); }
// Override these just to maintain consistency with virtual methods
// between classes.
virtual void Clear() wxOVERRIDE;

View File

@ -199,6 +199,39 @@ public:
const wxString& name = wxComboBoxNameStr);
//@}
/**
IsEmpty() is not available in this class.
This method is documented here only to notice that it can't be used
with this class because of the ambiguity between the methods with the
same name inherited from wxItemContainer and wxTextEntry base classes.
Because of this, any attempt to call it results in a compilation error
and you should use either IsListEmpty() or IsTextEmpty() depending on
what exactly do you want to test.
*/
bool IsEmpty() const;
/**
Returns true if the list of combobox choices is empty.
Use this method instead of (not available in this class) IsEmpty() to
test if the list of items is empty.
@since 3.1.0
*/
bool IsListEmpty() const;
/**
Returns true if the text of the combobox is empty.
Use this method instead of (not available in this class) IsEmpty() to
test if the text currently entered into the combobox is empty.
@since 3.1.0
*/
bool IsTextEmpty() const;
/**
Returns index to the widest item in the list.
*/