Files
wxWidgets/interface/wx/withimages.h
Vadim Zeitlin 0df49f0a54 Add wxWithImages::GetImageCount() and HasImages() helpers
These functions allow avoiding using wxImageList explicitly in a couple
of places.

No real changes, this just prepares for adding new API not based on
wxImageList.
2021-10-31 17:34:44 +01:00

78 lines
1.8 KiB
C++

///////////////////////////////////////////////////////////////////////////////
// Name: withimages.h
// Purpose: Interface of wxWithImages class.
// Licence: wxWindows licence
///////////////////////////////////////////////////////////////////////////////
/**
A mixin class to be used with other classes that use a wxImageList.
*/
class wxWithImages
{
public:
enum
{
NO_IMAGE = -1
};
wxWithImages();
virtual ~wxWithImages();
/**
Return the number of images in this control.
The returned value may be 0 if there are no images associated with the
control.
@see HasImages()
@since 3.1.6
*/
int GetImageCount() const;
/**
Return true if the control has any images associated with it.
@see GetImageCount()
@since 3.1.6
*/
bool HasImages() const;
/**
Sets the image list for the page control and takes ownership of the list.
@see wxImageList, SetImageList()
*/
void AssignImageList(wxImageList* imageList);
/**
Sets the image list to use. It does not take ownership of the image
list, you must delete it yourself.
@see wxImageList, AssignImageList()
*/
virtual void SetImageList(wxImageList* imageList);
/**
Returns the associated image list, may be NULL.
@see wxImageList, SetImageList()
*/
wxImageList* GetImageList() const;
protected:
/**
Return true if we have a valid image list.
*/
bool HasImageList() const;
/**
Return the image with the given index from the image list.
If there is no image list or if index == NO_IMAGE, silently returns
wxNullIcon.
*/
wxIcon GetImage(int iconIndex) const;
};