1. changed wxIconBundle to use m_refData and COW to make copying icon bundles

fast (which was needed for 2)
2. make it possible to return wxIconBundles from wxArtProvider
3. implement Mac-specific wxArtProvider doing (2)

(modified patch 1581960)


git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@45309 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Vadim Zeitlin
2007-04-07 19:59:51 +00:00
parent 0597e7f977
commit 527343602e
21 changed files with 629 additions and 160 deletions

View File

@@ -61,7 +61,7 @@ public:
TreeCtrlIcon_FolderOpened
};
MyTreeCtrl() { }
MyTreeCtrl() { m_alternateImages = false; }
MyTreeCtrl(wxWindow *parent, const wxWindowID id,
const wxPoint& pos, const wxSize& size,
long style);
@@ -111,6 +111,9 @@ public:
void SetLastItem(wxTreeItemId id) { m_lastItem = id; }
void SetAlternateImages(bool show) { m_alternateImages = show; }
bool AlternateImages() const { return m_alternateImages; }
protected:
virtual int OnCompareItems(const wxTreeItemId& i1, const wxTreeItemId& i2);
@@ -133,6 +136,7 @@ private:
bool m_reverseSort; // flag for OnCompareItems
wxTreeItemId m_lastItem, // for OnEnsureVisible()
m_draggedItem; // item being dragged right now
bool m_alternateImages;
// NB: due to an ugly wxMSW hack you _must_ use DECLARE_DYNAMIC_CLASS()
// if you want your overloaded OnCompareItems() to be called.
@@ -193,6 +197,7 @@ public:
void OnRecreate(wxCommandEvent& event);
void OnToggleButtons(wxCommandEvent& event);
void OnToggleImages(wxCommandEvent& event);
void OnToggleAlternateImages(wxCommandEvent& event);
void OnSetImageSize(wxCommandEvent& event);
void OnCollapseAndReset(wxCommandEvent& event);
@@ -274,6 +279,7 @@ enum
TreeTest_DeleteAll,
TreeTest_Recreate,
TreeTest_ToggleImages,
TreeTest_ToggleAlternateImages,
TreeTest_ToggleButtons,
TreeTest_SetImageSize,
TreeTest_ToggleSel,