Add wxWithImages helper mix-in with {Set,Get,Assign}ImageList() methods.
Avoid defining SetImageList() in several different places in wx API as not only this resulted in (trivial) code duplication but this method also had different semantics before: it didn't take ownership of the pointer passed to it in wxTreeCtrl, wxListCtrl and wxBookCtrl and derived classes but did take its ownership in wxDataViewTreeCtrl and wxRichTextFormattingDialog. Harmonize this for all the classes now: SetImageList() never takes ownership while AssignImageList() (which is now available in all classes having SetImageList()) always does. Also add convenience wxWithImages::GetImage() helper to avoid (more) code duplication in wxDataViewTreeCtrl code. git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@68809 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
|
||||
#include "wx/control.h"
|
||||
#include "wx/dynarray.h"
|
||||
#include "wx/withimages.h"
|
||||
|
||||
WX_DEFINE_EXPORTED_ARRAY_PTR(wxWindow *, wxArrayPages);
|
||||
|
||||
@@ -54,7 +55,8 @@ enum
|
||||
// wxBookCtrlBase
|
||||
// ----------------------------------------------------------------------------
|
||||
|
||||
class WXDLLIMPEXP_CORE wxBookCtrlBase : public wxControl
|
||||
class WXDLLIMPEXP_CORE wxBookCtrlBase : public wxControl,
|
||||
public wxWithImages
|
||||
{
|
||||
public:
|
||||
// construction
|
||||
@@ -85,9 +87,6 @@ public:
|
||||
long style = 0,
|
||||
const wxString& name = wxEmptyString);
|
||||
|
||||
// dtor
|
||||
virtual ~wxBookCtrlBase();
|
||||
|
||||
|
||||
// accessors
|
||||
// ---------
|
||||
@@ -117,15 +116,6 @@ public:
|
||||
// images belong to the same image list)
|
||||
// ---------------------------------------------------------------------
|
||||
|
||||
// sets the image list to use, it is *not* deleted by the control
|
||||
virtual void SetImageList(wxImageList *imageList);
|
||||
|
||||
// as SetImageList() but we will delete the image list ourselves
|
||||
void AssignImageList(wxImageList *imageList);
|
||||
|
||||
// get pointer (may be NULL) to the associated image list
|
||||
wxImageList* GetImageList() const { return m_imageList; }
|
||||
|
||||
// sets/returns item's image index in the current image list
|
||||
virtual int GetPageImage(size_t n) const = 0;
|
||||
virtual bool SetPageImage(size_t n, int imageId) = 0;
|
||||
@@ -320,12 +310,6 @@ protected:
|
||||
// the array of all pages of this control
|
||||
wxArrayPages m_pages;
|
||||
|
||||
// the associated image list or NULL
|
||||
wxImageList *m_imageList;
|
||||
|
||||
// true if we must delete m_imageList
|
||||
bool m_ownsImageList;
|
||||
|
||||
// get the page area
|
||||
virtual wxRect GetPageRect() const;
|
||||
|
||||
|
Reference in New Issue
Block a user