Use wxBitmapBundle in wxDataViewCtrl-related classes
Extend the existing use of wxIcon in wxDataViewIconText, wxDataViewCheckIconText, the corresponding renderers and wxDataViewTreeCtrl to wxBitmapBundle. As with the other classes, the existing setters have been preserved as they remain almost entirely compatible with the existing code and the return type of the existing getters was preserved, with new getters being introduced for returning wxBitmapBundle only where they're really required. Update the sample to use wxBitmapBundle with its wxDataViewTreeCtrl.
This commit is contained in:
@@ -1235,17 +1235,21 @@ class WXDLLIMPEXP_CORE wxDataViewTreeStoreNode
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxDataViewTreeStoreNode( wxDataViewTreeStoreNode *parent,
|
wxDataViewTreeStoreNode( wxDataViewTreeStoreNode *parent,
|
||||||
const wxString &text, const wxIcon &icon = wxNullIcon, wxClientData *data = NULL );
|
const wxString &text,
|
||||||
|
const wxBitmapBundle &icon = wxBitmapBundle(),
|
||||||
|
wxClientData *data = NULL );
|
||||||
virtual ~wxDataViewTreeStoreNode();
|
virtual ~wxDataViewTreeStoreNode();
|
||||||
|
|
||||||
void SetText( const wxString &text )
|
void SetText( const wxString &text )
|
||||||
{ m_text = text; }
|
{ m_text = text; }
|
||||||
wxString GetText() const
|
wxString GetText() const
|
||||||
{ return m_text; }
|
{ return m_text; }
|
||||||
void SetIcon( const wxIcon &icon )
|
void SetIcon( const wxBitmapBundle &icon )
|
||||||
{ m_icon = icon; }
|
{ m_icon = icon; }
|
||||||
const wxIcon &GetIcon() const
|
const wxBitmapBundle& GetBitmapBundle() const
|
||||||
{ return m_icon; }
|
{ return m_icon; }
|
||||||
|
wxIcon GetIcon() const
|
||||||
|
{ return m_icon.GetIcon(wxDefaultSize); }
|
||||||
void SetData( wxClientData *data )
|
void SetData( wxClientData *data )
|
||||||
{ delete m_data; m_data = data; }
|
{ delete m_data; m_data = data; }
|
||||||
wxClientData *GetData() const
|
wxClientData *GetData() const
|
||||||
@@ -1263,7 +1267,7 @@ public:
|
|||||||
private:
|
private:
|
||||||
wxDataViewTreeStoreNode *m_parent;
|
wxDataViewTreeStoreNode *m_parent;
|
||||||
wxString m_text;
|
wxString m_text;
|
||||||
wxIcon m_icon;
|
wxBitmapBundle m_icon;
|
||||||
wxClientData *m_data;
|
wxClientData *m_data;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1273,7 +1277,9 @@ class WXDLLIMPEXP_CORE wxDataViewTreeStoreContainerNode: public wxDataViewTreeSt
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxDataViewTreeStoreContainerNode( wxDataViewTreeStoreNode *parent,
|
wxDataViewTreeStoreContainerNode( wxDataViewTreeStoreNode *parent,
|
||||||
const wxString &text, const wxIcon &icon = wxNullIcon, const wxIcon &expanded = wxNullIcon,
|
const wxString &text,
|
||||||
|
const wxBitmapBundle &icon = wxBitmapBundle(),
|
||||||
|
const wxBitmapBundle &expanded = wxBitmapBundle(),
|
||||||
wxClientData *data = NULL );
|
wxClientData *data = NULL );
|
||||||
virtual ~wxDataViewTreeStoreContainerNode();
|
virtual ~wxDataViewTreeStoreContainerNode();
|
||||||
|
|
||||||
@@ -1284,10 +1290,12 @@ public:
|
|||||||
|
|
||||||
wxDataViewTreeStoreNodes::iterator FindChild(wxDataViewTreeStoreNode* node);
|
wxDataViewTreeStoreNodes::iterator FindChild(wxDataViewTreeStoreNode* node);
|
||||||
|
|
||||||
void SetExpandedIcon( const wxIcon &icon )
|
void SetExpandedIcon( const wxBitmapBundle &icon )
|
||||||
{ m_iconExpanded = icon; }
|
{ m_iconExpanded = icon; }
|
||||||
const wxIcon &GetExpandedIcon() const
|
const wxBitmapBundle& GetExpandedBitmapBundle() const
|
||||||
{ return m_iconExpanded; }
|
{ return m_iconExpanded; }
|
||||||
|
wxIcon GetExpandedIcon() const
|
||||||
|
{ return m_iconExpanded.GetIcon(wxDefaultSize); }
|
||||||
|
|
||||||
void SetExpanded( bool expanded = true )
|
void SetExpanded( bool expanded = true )
|
||||||
{ m_isExpanded = expanded; }
|
{ m_isExpanded = expanded; }
|
||||||
@@ -1301,7 +1309,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
wxDataViewTreeStoreNodes m_children;
|
wxDataViewTreeStoreNodes m_children;
|
||||||
wxIcon m_iconExpanded;
|
wxBitmapBundle m_iconExpanded;
|
||||||
bool m_isExpanded;
|
bool m_isExpanded;
|
||||||
};
|
};
|
||||||
|
|
||||||
@@ -1314,20 +1322,32 @@ public:
|
|||||||
~wxDataViewTreeStore();
|
~wxDataViewTreeStore();
|
||||||
|
|
||||||
wxDataViewItem AppendItem( const wxDataViewItem& parent,
|
wxDataViewItem AppendItem( const wxDataViewItem& parent,
|
||||||
const wxString &text, const wxIcon &icon = wxNullIcon, wxClientData *data = NULL );
|
const wxString &text,
|
||||||
|
const wxBitmapBundle &icon = wxBitmapBundle(),
|
||||||
|
wxClientData *data = NULL );
|
||||||
wxDataViewItem PrependItem( const wxDataViewItem& parent,
|
wxDataViewItem PrependItem( const wxDataViewItem& parent,
|
||||||
const wxString &text, const wxIcon &icon = wxNullIcon, wxClientData *data = NULL );
|
const wxString &text,
|
||||||
|
const wxBitmapBundle &icon = wxBitmapBundle(),
|
||||||
|
wxClientData *data = NULL );
|
||||||
wxDataViewItem InsertItem( const wxDataViewItem& parent, const wxDataViewItem& previous,
|
wxDataViewItem InsertItem( const wxDataViewItem& parent, const wxDataViewItem& previous,
|
||||||
const wxString &text, const wxIcon &icon = wxNullIcon, wxClientData *data = NULL );
|
const wxString &text,
|
||||||
|
const wxBitmapBundle &icon = wxBitmapBundle(),
|
||||||
|
wxClientData *data = NULL );
|
||||||
|
|
||||||
wxDataViewItem PrependContainer( const wxDataViewItem& parent,
|
wxDataViewItem PrependContainer( const wxDataViewItem& parent,
|
||||||
const wxString &text, const wxIcon &icon = wxNullIcon, const wxIcon &expanded = wxNullIcon,
|
const wxString &text,
|
||||||
|
const wxBitmapBundle &icon = wxBitmapBundle(),
|
||||||
|
const wxBitmapBundle &expanded = wxBitmapBundle(),
|
||||||
wxClientData *data = NULL );
|
wxClientData *data = NULL );
|
||||||
wxDataViewItem AppendContainer( const wxDataViewItem& parent,
|
wxDataViewItem AppendContainer( const wxDataViewItem& parent,
|
||||||
const wxString &text, const wxIcon &icon = wxNullIcon, const wxIcon &expanded = wxNullIcon,
|
const wxString &text,
|
||||||
|
const wxBitmapBundle &icon = wxBitmapBundle(),
|
||||||
|
const wxBitmapBundle &expanded = wxBitmapBundle(),
|
||||||
wxClientData *data = NULL );
|
wxClientData *data = NULL );
|
||||||
wxDataViewItem InsertContainer( const wxDataViewItem& parent, const wxDataViewItem& previous,
|
wxDataViewItem InsertContainer( const wxDataViewItem& parent, const wxDataViewItem& previous,
|
||||||
const wxString &text, const wxIcon &icon = wxNullIcon, const wxIcon &expanded = wxNullIcon,
|
const wxString &text,
|
||||||
|
const wxBitmapBundle &icon = wxBitmapBundle(),
|
||||||
|
const wxBitmapBundle &expanded = wxBitmapBundle(),
|
||||||
wxClientData *data = NULL );
|
wxClientData *data = NULL );
|
||||||
|
|
||||||
wxDataViewItem GetNthChild( const wxDataViewItem& parent, unsigned int pos ) const;
|
wxDataViewItem GetNthChild( const wxDataViewItem& parent, unsigned int pos ) const;
|
||||||
@@ -1335,10 +1355,12 @@ public:
|
|||||||
|
|
||||||
void SetItemText( const wxDataViewItem& item, const wxString &text );
|
void SetItemText( const wxDataViewItem& item, const wxString &text );
|
||||||
wxString GetItemText( const wxDataViewItem& item ) const;
|
wxString GetItemText( const wxDataViewItem& item ) const;
|
||||||
void SetItemIcon( const wxDataViewItem& item, const wxIcon &icon );
|
void SetItemIcon( const wxDataViewItem& item, const wxBitmapBundle &icon );
|
||||||
const wxIcon &GetItemIcon( const wxDataViewItem& item ) const;
|
wxBitmapBundle GetItemBitmapBundle( const wxDataViewItem& item ) const;
|
||||||
void SetItemExpandedIcon( const wxDataViewItem& item, const wxIcon &icon );
|
wxIcon GetItemIcon( const wxDataViewItem& item ) const;
|
||||||
const wxIcon &GetItemExpandedIcon( const wxDataViewItem& item ) const;
|
void SetItemExpandedIcon( const wxDataViewItem& item, const wxBitmapBundle &icon );
|
||||||
|
wxBitmapBundle GetItemExpandedBitmapBundle( const wxDataViewItem& item ) const;
|
||||||
|
wxIcon GetItemExpandedIcon( const wxDataViewItem& item ) const;
|
||||||
void SetItemData( const wxDataViewItem& item, wxClientData *data );
|
void SetItemData( const wxDataViewItem& item, wxClientData *data );
|
||||||
wxClientData *GetItemData( const wxDataViewItem& item ) const;
|
wxClientData *GetItemData( const wxDataViewItem& item ) const;
|
||||||
|
|
||||||
@@ -1433,11 +1455,11 @@ public:
|
|||||||
void SetItemText( const wxDataViewItem& item, const wxString &text );
|
void SetItemText( const wxDataViewItem& item, const wxString &text );
|
||||||
wxString GetItemText( const wxDataViewItem& item ) const
|
wxString GetItemText( const wxDataViewItem& item ) const
|
||||||
{ return GetStore()->GetItemText(item); }
|
{ return GetStore()->GetItemText(item); }
|
||||||
void SetItemIcon( const wxDataViewItem& item, const wxIcon &icon );
|
void SetItemIcon( const wxDataViewItem& item, const wxBitmapBundle &icon );
|
||||||
const wxIcon &GetItemIcon( const wxDataViewItem& item ) const
|
wxIcon GetItemIcon( const wxDataViewItem& item ) const
|
||||||
{ return GetStore()->GetItemIcon(item); }
|
{ return GetStore()->GetItemIcon(item); }
|
||||||
void SetItemExpandedIcon( const wxDataViewItem& item, const wxIcon &icon );
|
void SetItemExpandedIcon( const wxDataViewItem& item, const wxBitmapBundle &icon );
|
||||||
const wxIcon &GetItemExpandedIcon( const wxDataViewItem& item ) const
|
wxIcon GetItemExpandedIcon( const wxDataViewItem& item ) const
|
||||||
{ return GetStore()->GetItemExpandedIcon(item); }
|
{ return GetStore()->GetItemExpandedIcon(item); }
|
||||||
void SetItemData( const wxDataViewItem& item, wxClientData *data )
|
void SetItemData( const wxDataViewItem& item, wxClientData *data )
|
||||||
{ GetStore()->SetItemData(item,data); }
|
{ GetStore()->SetItemData(item,data); }
|
||||||
@@ -1452,6 +1474,9 @@ public:
|
|||||||
void OnCollapsed( wxDataViewEvent &event );
|
void OnCollapsed( wxDataViewEvent &event );
|
||||||
void OnSize( wxSizeEvent &event );
|
void OnSize( wxSizeEvent &event );
|
||||||
|
|
||||||
|
protected:
|
||||||
|
virtual void OnImagesChanged() wxOVERRIDE;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
wxDECLARE_EVENT_TABLE();
|
wxDECLARE_EVENT_TABLE();
|
||||||
wxDECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxDataViewTreeCtrl);
|
wxDECLARE_DYNAMIC_CLASS_NO_ASSIGN(wxDataViewTreeCtrl);
|
||||||
|
|||||||
@@ -37,19 +37,24 @@ class WXDLLIMPEXP_CORE wxDataViewIconText : public wxObject
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxDataViewIconText( const wxString &text = wxEmptyString,
|
wxDataViewIconText( const wxString &text = wxEmptyString,
|
||||||
const wxIcon& icon = wxNullIcon )
|
const wxBitmapBundle& bitmap = wxBitmapBundle() )
|
||||||
: m_text(text),
|
: m_text(text),
|
||||||
m_icon(icon)
|
m_bitmap(bitmap)
|
||||||
{ }
|
{ }
|
||||||
|
|
||||||
void SetText( const wxString &text ) { m_text = text; }
|
void SetText( const wxString &text ) { m_text = text; }
|
||||||
wxString GetText() const { return m_text; }
|
wxString GetText() const { return m_text; }
|
||||||
void SetIcon( const wxIcon &icon ) { m_icon = icon; }
|
|
||||||
const wxIcon &GetIcon() const { return m_icon; }
|
void SetBitmapBundle(const wxBitmapBundle& bitmap) { m_bitmap = bitmap; }
|
||||||
|
const wxBitmapBundle& GetBitmapBundle() const { return m_bitmap; }
|
||||||
|
|
||||||
|
// These methods exist for compatibility, prefer using the methods above.
|
||||||
|
void SetIcon( const wxIcon &icon ) { m_bitmap = wxBitmapBundle(icon); }
|
||||||
|
wxIcon GetIcon() const { return m_bitmap.GetIcon(wxDefaultSize); }
|
||||||
|
|
||||||
bool IsSameAs(const wxDataViewIconText& other) const
|
bool IsSameAs(const wxDataViewIconText& other) const
|
||||||
{
|
{
|
||||||
return m_text == other.m_text && m_icon.IsSameAs(other.m_icon);
|
return m_text == other.m_text && m_bitmap.IsSameAs(other.m_bitmap);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool operator==(const wxDataViewIconText& other) const
|
bool operator==(const wxDataViewIconText& other) const
|
||||||
@@ -64,7 +69,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
wxString m_text;
|
wxString m_text;
|
||||||
wxIcon m_icon;
|
wxBitmapBundle m_bitmap;
|
||||||
|
|
||||||
wxDECLARE_DYNAMIC_CLASS(wxDataViewIconText);
|
wxDECLARE_DYNAMIC_CLASS(wxDataViewIconText);
|
||||||
};
|
};
|
||||||
@@ -79,7 +84,7 @@ class WXDLLIMPEXP_CORE wxDataViewCheckIconText : public wxDataViewIconText
|
|||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
wxDataViewCheckIconText(const wxString& text = wxString(),
|
wxDataViewCheckIconText(const wxString& text = wxString(),
|
||||||
const wxIcon& icon = wxNullIcon,
|
const wxBitmapBundle& icon = wxBitmapBundle(),
|
||||||
wxCheckBoxState checkedState = wxCHK_UNDETERMINED)
|
wxCheckBoxState checkedState = wxCHK_UNDETERMINED)
|
||||||
: wxDataViewIconText(text, icon),
|
: wxDataViewIconText(text, icon),
|
||||||
m_checkedState(checkedState)
|
m_checkedState(checkedState)
|
||||||
|
|||||||
@@ -3294,12 +3294,12 @@ public:
|
|||||||
/**
|
/**
|
||||||
Calls the identical method from wxDataViewTreeStore.
|
Calls the identical method from wxDataViewTreeStore.
|
||||||
*/
|
*/
|
||||||
const wxIcon& GetItemExpandedIcon(const wxDataViewItem& item) const;
|
wxIcon GetItemExpandedIcon(const wxDataViewItem& item) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Calls the identical method from wxDataViewTreeStore.
|
Calls the identical method from wxDataViewTreeStore.
|
||||||
*/
|
*/
|
||||||
const wxIcon& GetItemIcon(const wxDataViewItem& item) const;
|
wxIcon GetItemIcon(const wxDataViewItem& item) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Returns the item's parent.
|
Returns the item's parent.
|
||||||
@@ -3386,12 +3386,12 @@ public:
|
|||||||
Calls the identical method from wxDataViewTreeStore.
|
Calls the identical method from wxDataViewTreeStore.
|
||||||
*/
|
*/
|
||||||
void SetItemExpandedIcon(const wxDataViewItem& item,
|
void SetItemExpandedIcon(const wxDataViewItem& item,
|
||||||
const wxIcon& icon);
|
const wxBitmapBundle& icon);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Calls the identical method from wxDataViewTreeStore.
|
Calls the identical method from wxDataViewTreeStore.
|
||||||
*/
|
*/
|
||||||
void SetItemIcon(const wxDataViewItem& item, const wxIcon& icon);
|
void SetItemIcon(const wxDataViewItem& item, const wxBitmapBundle& icon);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Calls the identical method from wxDataViewTreeStore.
|
Calls the identical method from wxDataViewTreeStore.
|
||||||
@@ -3589,8 +3589,8 @@ public:
|
|||||||
*/
|
*/
|
||||||
wxDataViewItem AppendContainer(const wxDataViewItem& parent,
|
wxDataViewItem AppendContainer(const wxDataViewItem& parent,
|
||||||
const wxString& text,
|
const wxString& text,
|
||||||
const wxIcon& icon = wxNullIcon,
|
const wxBitmapBundle& icon = wxBitmapBundle(),
|
||||||
const wxIcon& expanded = wxNullIcon,
|
const wxBitmapBundle& expanded = wxBitmapBundle(),
|
||||||
wxClientData* data = NULL);
|
wxClientData* data = NULL);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3598,7 +3598,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
wxDataViewItem AppendItem(const wxDataViewItem& parent,
|
wxDataViewItem AppendItem(const wxDataViewItem& parent,
|
||||||
const wxString& text,
|
const wxString& text,
|
||||||
const wxIcon& icon = wxNullIcon,
|
const wxBitmapBundle& icon = wxBitmapBundle(),
|
||||||
wxClientData* data = NULL);
|
wxClientData* data = NULL);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3629,12 +3629,12 @@ public:
|
|||||||
/**
|
/**
|
||||||
Returns the icon to display in expanded containers.
|
Returns the icon to display in expanded containers.
|
||||||
*/
|
*/
|
||||||
const wxIcon& GetItemExpandedIcon(const wxDataViewItem& item) const;
|
wxIcon GetItemExpandedIcon(const wxDataViewItem& item) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Returns the icon of the item.
|
Returns the icon of the item.
|
||||||
*/
|
*/
|
||||||
const wxIcon& GetItemIcon(const wxDataViewItem& item) const;
|
wxIcon GetItemIcon(const wxDataViewItem& item) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Returns the text of the item.
|
Returns the text of the item.
|
||||||
@@ -3653,8 +3653,8 @@ public:
|
|||||||
wxDataViewItem InsertContainer(const wxDataViewItem& parent,
|
wxDataViewItem InsertContainer(const wxDataViewItem& parent,
|
||||||
const wxDataViewItem& previous,
|
const wxDataViewItem& previous,
|
||||||
const wxString& text,
|
const wxString& text,
|
||||||
const wxIcon& icon = wxNullIcon,
|
const wxBitmapBundle& icon = wxBitmapBundle(),
|
||||||
const wxIcon& expanded = wxNullIcon,
|
const wxBitmapBundle& expanded = wxBitmapBundle(),
|
||||||
wxClientData* data = NULL);
|
wxClientData* data = NULL);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3663,7 +3663,7 @@ public:
|
|||||||
wxDataViewItem InsertItem(const wxDataViewItem& parent,
|
wxDataViewItem InsertItem(const wxDataViewItem& parent,
|
||||||
const wxDataViewItem& previous,
|
const wxDataViewItem& previous,
|
||||||
const wxString& text,
|
const wxString& text,
|
||||||
const wxIcon& icon = wxNullIcon,
|
const wxBitmapBundle& icon = wxBitmapBundle(),
|
||||||
wxClientData* data = NULL);
|
wxClientData* data = NULL);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3671,8 +3671,8 @@ public:
|
|||||||
*/
|
*/
|
||||||
wxDataViewItem PrependContainer(const wxDataViewItem& parent,
|
wxDataViewItem PrependContainer(const wxDataViewItem& parent,
|
||||||
const wxString& text,
|
const wxString& text,
|
||||||
const wxIcon& icon = wxNullIcon,
|
const wxBitmapBundle& icon = wxBitmapBundle(),
|
||||||
const wxIcon& expanded = wxNullIcon,
|
const wxBitmapBundle& expanded = wxBitmapBundle(),
|
||||||
wxClientData* data = NULL);
|
wxClientData* data = NULL);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3680,7 +3680,7 @@ public:
|
|||||||
*/
|
*/
|
||||||
wxDataViewItem PrependItem(const wxDataViewItem& parent,
|
wxDataViewItem PrependItem(const wxDataViewItem& parent,
|
||||||
const wxString& text,
|
const wxString& text,
|
||||||
const wxIcon& icon = wxNullIcon,
|
const wxBitmapBundle& icon = wxBitmapBundle(),
|
||||||
wxClientData* data = NULL);
|
wxClientData* data = NULL);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -3692,12 +3692,12 @@ public:
|
|||||||
Sets the expanded icon for the item.
|
Sets the expanded icon for the item.
|
||||||
*/
|
*/
|
||||||
void SetItemExpandedIcon(const wxDataViewItem& item,
|
void SetItemExpandedIcon(const wxDataViewItem& item,
|
||||||
const wxIcon& icon);
|
const wxBitmapBundle& icon);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Sets the icon for the item.
|
Sets the icon for the item.
|
||||||
*/
|
*/
|
||||||
void SetItemIcon(const wxDataViewItem& item, const wxIcon& icon);
|
void SetItemIcon(const wxDataViewItem& item, const wxBitmapBundle& icon);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
@@ -3718,22 +3718,47 @@ public:
|
|||||||
Constructor.
|
Constructor.
|
||||||
*/
|
*/
|
||||||
wxDataViewIconText(const wxString& text = wxEmptyString,
|
wxDataViewIconText(const wxString& text = wxEmptyString,
|
||||||
const wxIcon& icon = wxNullIcon);
|
const wxBitmapBundle& bitmap = wxBitmapBundle());
|
||||||
wxDataViewIconText(const wxDataViewIconText& other);
|
wxDataViewIconText(const wxDataViewIconText& other);
|
||||||
//@}
|
//@}
|
||||||
|
|
||||||
|
/**
|
||||||
|
Gets the associated image.
|
||||||
|
|
||||||
|
@since 3.1.6
|
||||||
|
*/
|
||||||
|
const wxBitmapBundle& GetBitmapBundle() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Gets the icon.
|
Gets the icon.
|
||||||
|
|
||||||
|
This function can only return the icon in the size appropriate for the
|
||||||
|
standard 100% DPI scaling, use GetBitmapBundle() to retrieve image
|
||||||
|
representation suitable for another DPI scaling value.
|
||||||
*/
|
*/
|
||||||
const wxIcon& GetIcon() const;
|
wxIcon GetIcon() const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Gets the text.
|
Gets the text.
|
||||||
*/
|
*/
|
||||||
wxString GetText() const;
|
wxString GetText() const;
|
||||||
|
|
||||||
|
/**
|
||||||
|
Sets the associated image.
|
||||||
|
|
||||||
|
This function allows to provide several representations of the same
|
||||||
|
image, so that the most appropriate one for the current DPI scaling
|
||||||
|
could be used, and so should be preferred to SetIcon().
|
||||||
|
|
||||||
|
@since 3.1.6
|
||||||
|
*/
|
||||||
|
void SetBitmapBundle(const wxBitmapBundle& bitmap);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
Set the icon.
|
Set the icon.
|
||||||
|
|
||||||
|
Use SetBitmapBundle() instead to allow specifying different image
|
||||||
|
representations for different DPI scaling values.
|
||||||
*/
|
*/
|
||||||
void SetIcon(const wxIcon& icon);
|
void SetIcon(const wxIcon& icon);
|
||||||
|
|
||||||
|
|||||||
@@ -47,8 +47,6 @@
|
|||||||
#include "../sample.xpm"
|
#include "../sample.xpm"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#include "wx_small.xpm"
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// MyApp
|
// MyApp
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -992,13 +990,13 @@ void MyFrame::BuildDataViewCtrl(wxPanel* parent, unsigned int nPanel,
|
|||||||
wxDefaultSize, style | wxDV_NO_HEADER );
|
wxDefaultSize, style | wxDV_NO_HEADER );
|
||||||
m_ctrl[Page_TreeStore] = tc;
|
m_ctrl[Page_TreeStore] = tc;
|
||||||
|
|
||||||
const bool useDefaultSize = !HasModelFlag(MODEL_USE_TALL_ROWS)
|
const wxSize size = GetIconSizeFromModelFlags(m_modelFlags[nPanel]);
|
||||||
|| HasModelFlag(MODEL_KEEP_LOGO_SMALL);
|
|
||||||
const int imageSize = useDefaultSize ? 16 : 32;
|
|
||||||
wxImageList *ilist = new wxImageList( imageSize, imageSize );
|
|
||||||
|
|
||||||
ilist->Add( wxIcon(wx_small_xpm) );
|
wxDataViewTreeCtrl::Images images;
|
||||||
tc->AssignImageList( ilist );
|
images.push_back(
|
||||||
|
wxArtProvider::GetBitmapBundle(wxART_WX_LOGO, wxART_LIST, size)
|
||||||
|
);
|
||||||
|
tc->SetImages(images);
|
||||||
|
|
||||||
const wxDataViewItem root =
|
const wxDataViewItem root =
|
||||||
tc->AppendContainer( wxDataViewItem(0), "The Root", 0 );
|
tc->AppendContainer( wxDataViewItem(0), "The Root", 0 );
|
||||||
|
|||||||
@@ -17,17 +17,10 @@
|
|||||||
#include "wx/wx.h"
|
#include "wx/wx.h"
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include "wx/artprov.h"
|
||||||
#include "wx/dataview.h"
|
#include "wx/dataview.h"
|
||||||
#include "mymodels.h"
|
#include "mymodels.h"
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
// resources
|
|
||||||
// ----------------------------------------------------------------------------
|
|
||||||
|
|
||||||
#include "null.xpm"
|
|
||||||
#include "wx_small.xpm"
|
|
||||||
|
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
// MyMusicTreeModel
|
// MyMusicTreeModel
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -378,20 +371,10 @@ MyListModel::MyListModel(int modelFlags) :
|
|||||||
m_iconColValues.assign(NUMBER_REAL_ITEMS,
|
m_iconColValues.assign(NUMBER_REAL_ITEMS,
|
||||||
useMultiLine ? multiLineText : wxString("test"));
|
useMultiLine ? multiLineText : wxString("test"));
|
||||||
|
|
||||||
m_icon[0] = wxIcon( null_xpm );
|
const wxSize size = GetIconSizeFromModelFlags(modelFlags);
|
||||||
|
|
||||||
const int newSize = m_icon[0].GetWidth() * 2;
|
m_icon[0] = wxArtProvider::GetBitmapBundle(wxART_QUESTION, wxART_LIST, size);
|
||||||
const bool useTallRows = (modelFlags & MODEL_USE_TALL_ROWS) != 0;
|
m_icon[1] = wxArtProvider::GetBitmapBundle(wxART_WX_LOGO, wxART_LIST, size);
|
||||||
|
|
||||||
if ( useTallRows )
|
|
||||||
m_icon[0].CopyFromBitmap(
|
|
||||||
wxImage(null_xpm).Rescale(newSize, newSize));
|
|
||||||
|
|
||||||
if ( !useTallRows || (modelFlags & MODEL_KEEP_LOGO_SMALL) )
|
|
||||||
m_icon[1] = wxIcon( wx_small_xpm );
|
|
||||||
else
|
|
||||||
m_icon[1].CopyFromBitmap(
|
|
||||||
wxImage(wx_small_xpm).Rescale(newSize, newSize));
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void MyListModel::Prepend( const wxString &text )
|
void MyListModel::Prepend( const wxString &text )
|
||||||
|
|||||||
@@ -253,7 +253,7 @@ private:
|
|||||||
wxArrayString m_textColValues;
|
wxArrayString m_textColValues;
|
||||||
wxArrayString m_iconColValues;
|
wxArrayString m_iconColValues;
|
||||||
IntToStringMap m_customColValues;
|
IntToStringMap m_customColValues;
|
||||||
wxIcon m_icon[2];
|
wxBitmapBundle m_icon[2];
|
||||||
};
|
};
|
||||||
|
|
||||||
// ----------------------------------------------------------------------------
|
// ----------------------------------------------------------------------------
|
||||||
@@ -317,3 +317,12 @@ enum ModelFlags
|
|||||||
MODEL_KEEP_LOGO_SMALL = 1 << 1,
|
MODEL_KEEP_LOGO_SMALL = 1 << 1,
|
||||||
MODEL_USE_MULTI_LINE_TEXT = 1 << 2
|
MODEL_USE_MULTI_LINE_TEXT = 1 << 2
|
||||||
};
|
};
|
||||||
|
|
||||||
|
inline wxSize GetIconSizeFromModelFlags(int modelFlags)
|
||||||
|
{
|
||||||
|
wxSize size(16, 16);
|
||||||
|
if ( (modelFlags & MODEL_USE_TALL_ROWS) && !(modelFlags & MODEL_KEEP_LOGO_SMALL) )
|
||||||
|
size *= 2;
|
||||||
|
|
||||||
|
return size;
|
||||||
|
}
|
||||||
|
|||||||
@@ -1,30 +0,0 @@
|
|||||||
/* XPM */
|
|
||||||
static const char *const null_xpm[] = {
|
|
||||||
"16 16 11 1",
|
|
||||||
" c None",
|
|
||||||
". c #000000",
|
|
||||||
"+ c #FFFFFF",
|
|
||||||
"@ c #FDE4E4",
|
|
||||||
"# c #F45C5C",
|
|
||||||
"$ c #EF0B0B",
|
|
||||||
"% c #F12727",
|
|
||||||
"& c #F67878",
|
|
||||||
"* c #FAAEAE",
|
|
||||||
"= c #FBC9C9",
|
|
||||||
"- c #F89393",
|
|
||||||
"................",
|
|
||||||
".++++++++++++++.",
|
|
||||||
".++++++++++++++.",
|
|
||||||
".++++@#$$%&++++.",
|
|
||||||
".+++@%$$$$$&+++.",
|
|
||||||
".+++&$$#*%$$+++.",
|
|
||||||
".+++=-#+@%$%+++.",
|
|
||||||
".++++++@%$$*+++.",
|
|
||||||
".++++++%$%@++++.",
|
|
||||||
".+++++*$$*+++++.",
|
|
||||||
".+++++@**@+++++.",
|
|
||||||
".+++++*$$*+++++.",
|
|
||||||
".+++++*$$*+++++.",
|
|
||||||
".+++++@**@+++++.",
|
|
||||||
".++++++++++++++.",
|
|
||||||
"................"};
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
/* XPM */
|
|
||||||
static const char *wx_small_xpm[] = {
|
|
||||||
/* columns rows colors chars-per-pixel */
|
|
||||||
"16 16 6 1",
|
|
||||||
". c Black",
|
|
||||||
"o c #FFFFFF",
|
|
||||||
"X c #000080",
|
|
||||||
"O c #FFFF00",
|
|
||||||
" c None",
|
|
||||||
"+ c #FF0000",
|
|
||||||
/* pixels */
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ",
|
|
||||||
" ....... ",
|
|
||||||
" .XXXXX. ",
|
|
||||||
" .oXXXX. ",
|
|
||||||
" .oXXX.......",
|
|
||||||
".....oXXX.OOOOO.",
|
|
||||||
".+++.XXXX.oOOOO.",
|
|
||||||
".o++......oOOOO.",
|
|
||||||
".o++++. .oOOOO.",
|
|
||||||
".o++++. .OOOOO.",
|
|
||||||
".+++++. .......",
|
|
||||||
"....... ",
|
|
||||||
" ",
|
|
||||||
" "
|
|
||||||
};
|
|
||||||
@@ -2217,11 +2217,11 @@ bool wxDataViewCheckIconTextRenderer::Render(wxRect cell, wxDC* dc, int state)
|
|||||||
int xoffset = sizeCheck.x + MARGIN_CHECK_ICON;
|
int xoffset = sizeCheck.x + MARGIN_CHECK_ICON;
|
||||||
|
|
||||||
wxRect rectIcon;
|
wxRect rectIcon;
|
||||||
const wxIcon& icon = m_value.GetIcon();
|
const wxBitmapBundle& bb = m_value.GetBitmapBundle();
|
||||||
const bool drawIcon = icon.IsOk();
|
const bool drawIcon = bb.IsOk();
|
||||||
if ( drawIcon )
|
if ( drawIcon )
|
||||||
{
|
{
|
||||||
const wxSize sizeIcon = icon.GetLogicalSize();
|
const wxSize sizeIcon = bb.GetPreferredSizeFor(GetView());
|
||||||
rectIcon = wxRect(cell.GetPosition(), sizeIcon);
|
rectIcon = wxRect(cell.GetPosition(), sizeIcon);
|
||||||
rectIcon.x += xoffset;
|
rectIcon.x += xoffset;
|
||||||
rectIcon = rectIcon.CentreIn(cell, wxVERTICAL);
|
rectIcon = rectIcon.CentreIn(cell, wxVERTICAL);
|
||||||
@@ -2260,7 +2260,7 @@ bool wxDataViewCheckIconTextRenderer::Render(wxRect cell, wxDC* dc, int state)
|
|||||||
|
|
||||||
// Finally draw the icon, if any.
|
// Finally draw the icon, if any.
|
||||||
if ( drawIcon )
|
if ( drawIcon )
|
||||||
dc->DrawIcon(icon, rectIcon.GetPosition());
|
dc->DrawIcon(bb.GetIconFor(GetView()), rectIcon.GetPosition());
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@@ -2583,7 +2583,7 @@ wxDataViewColumn *wxDataViewListCtrl::AppendIconTextColumn( const wxString &labe
|
|||||||
|
|
||||||
wxDataViewTreeStoreNode::wxDataViewTreeStoreNode(
|
wxDataViewTreeStoreNode::wxDataViewTreeStoreNode(
|
||||||
wxDataViewTreeStoreNode *parent,
|
wxDataViewTreeStoreNode *parent,
|
||||||
const wxString &text, const wxIcon &icon, wxClientData *data )
|
const wxString &text, const wxBitmapBundle &icon, wxClientData *data )
|
||||||
: m_text(text)
|
: m_text(text)
|
||||||
, m_icon(icon)
|
, m_icon(icon)
|
||||||
{
|
{
|
||||||
@@ -2598,7 +2598,7 @@ wxDataViewTreeStoreNode::~wxDataViewTreeStoreNode()
|
|||||||
|
|
||||||
wxDataViewTreeStoreContainerNode::wxDataViewTreeStoreContainerNode(
|
wxDataViewTreeStoreContainerNode::wxDataViewTreeStoreContainerNode(
|
||||||
wxDataViewTreeStoreNode *parent, const wxString &text,
|
wxDataViewTreeStoreNode *parent, const wxString &text,
|
||||||
const wxIcon &icon, const wxIcon &expanded, wxClientData *data )
|
const wxBitmapBundle &icon, const wxBitmapBundle &expanded, wxClientData *data )
|
||||||
: wxDataViewTreeStoreNode( parent, text, icon, data )
|
: wxDataViewTreeStoreNode( parent, text, icon, data )
|
||||||
, m_iconExpanded(expanded)
|
, m_iconExpanded(expanded)
|
||||||
{
|
{
|
||||||
@@ -2647,7 +2647,7 @@ wxDataViewTreeStore::~wxDataViewTreeStore()
|
|||||||
}
|
}
|
||||||
|
|
||||||
wxDataViewItem wxDataViewTreeStore::AppendItem( const wxDataViewItem& parent,
|
wxDataViewItem wxDataViewTreeStore::AppendItem( const wxDataViewItem& parent,
|
||||||
const wxString &text, const wxIcon &icon, wxClientData *data )
|
const wxString &text, const wxBitmapBundle &icon, wxClientData *data )
|
||||||
{
|
{
|
||||||
wxDataViewTreeStoreContainerNode *parent_node = FindContainerNode( parent );
|
wxDataViewTreeStoreContainerNode *parent_node = FindContainerNode( parent );
|
||||||
if (!parent_node) return wxDataViewItem(0);
|
if (!parent_node) return wxDataViewItem(0);
|
||||||
@@ -2660,7 +2660,7 @@ wxDataViewItem wxDataViewTreeStore::AppendItem( const wxDataViewItem& parent,
|
|||||||
}
|
}
|
||||||
|
|
||||||
wxDataViewItem wxDataViewTreeStore::PrependItem( const wxDataViewItem& parent,
|
wxDataViewItem wxDataViewTreeStore::PrependItem( const wxDataViewItem& parent,
|
||||||
const wxString &text, const wxIcon &icon, wxClientData *data )
|
const wxString &text, const wxBitmapBundle &icon, wxClientData *data )
|
||||||
{
|
{
|
||||||
wxDataViewTreeStoreContainerNode *parent_node = FindContainerNode( parent );
|
wxDataViewTreeStoreContainerNode *parent_node = FindContainerNode( parent );
|
||||||
if (!parent_node) return wxDataViewItem(0);
|
if (!parent_node) return wxDataViewItem(0);
|
||||||
@@ -2677,7 +2677,7 @@ wxDataViewItem
|
|||||||
wxDataViewTreeStore::InsertItem(const wxDataViewItem& parent,
|
wxDataViewTreeStore::InsertItem(const wxDataViewItem& parent,
|
||||||
const wxDataViewItem& previous,
|
const wxDataViewItem& previous,
|
||||||
const wxString& text,
|
const wxString& text,
|
||||||
const wxIcon& icon,
|
const wxBitmapBundle& icon,
|
||||||
wxClientData *data)
|
wxClientData *data)
|
||||||
{
|
{
|
||||||
wxDataViewTreeStoreContainerNode *parent_node = FindContainerNode( parent );
|
wxDataViewTreeStoreContainerNode *parent_node = FindContainerNode( parent );
|
||||||
@@ -2696,7 +2696,7 @@ wxDataViewTreeStore::InsertItem(const wxDataViewItem& parent,
|
|||||||
}
|
}
|
||||||
|
|
||||||
wxDataViewItem wxDataViewTreeStore::PrependContainer( const wxDataViewItem& parent,
|
wxDataViewItem wxDataViewTreeStore::PrependContainer( const wxDataViewItem& parent,
|
||||||
const wxString &text, const wxIcon &icon, const wxIcon &expanded,
|
const wxString &text, const wxBitmapBundle &icon, const wxBitmapBundle &expanded,
|
||||||
wxClientData *data )
|
wxClientData *data )
|
||||||
{
|
{
|
||||||
wxDataViewTreeStoreContainerNode *parent_node = FindContainerNode( parent );
|
wxDataViewTreeStoreContainerNode *parent_node = FindContainerNode( parent );
|
||||||
@@ -2713,8 +2713,8 @@ wxDataViewItem wxDataViewTreeStore::PrependContainer( const wxDataViewItem& pare
|
|||||||
wxDataViewItem
|
wxDataViewItem
|
||||||
wxDataViewTreeStore::AppendContainer(const wxDataViewItem& parent,
|
wxDataViewTreeStore::AppendContainer(const wxDataViewItem& parent,
|
||||||
const wxString &text,
|
const wxString &text,
|
||||||
const wxIcon& icon,
|
const wxBitmapBundle& icon,
|
||||||
const wxIcon& expanded,
|
const wxBitmapBundle& expanded,
|
||||||
wxClientData * data)
|
wxClientData * data)
|
||||||
{
|
{
|
||||||
wxDataViewTreeStoreContainerNode *parent_node = FindContainerNode( parent );
|
wxDataViewTreeStoreContainerNode *parent_node = FindContainerNode( parent );
|
||||||
@@ -2731,8 +2731,8 @@ wxDataViewItem
|
|||||||
wxDataViewTreeStore::InsertContainer(const wxDataViewItem& parent,
|
wxDataViewTreeStore::InsertContainer(const wxDataViewItem& parent,
|
||||||
const wxDataViewItem& previous,
|
const wxDataViewItem& previous,
|
||||||
const wxString& text,
|
const wxString& text,
|
||||||
const wxIcon& icon,
|
const wxBitmapBundle& icon,
|
||||||
const wxIcon& expanded,
|
const wxBitmapBundle& expanded,
|
||||||
wxClientData * data)
|
wxClientData * data)
|
||||||
{
|
{
|
||||||
wxDataViewTreeStoreContainerNode *parent_node = FindContainerNode( parent );
|
wxDataViewTreeStoreContainerNode *parent_node = FindContainerNode( parent );
|
||||||
@@ -2798,7 +2798,7 @@ wxString wxDataViewTreeStore::GetItemText( const wxDataViewItem& item ) const
|
|||||||
return node->GetText();
|
return node->GetText();
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxDataViewTreeStore::SetItemIcon( const wxDataViewItem& item, const wxIcon &icon )
|
void wxDataViewTreeStore::SetItemIcon( const wxDataViewItem& item, const wxBitmapBundle &icon )
|
||||||
{
|
{
|
||||||
wxDataViewTreeStoreNode *node = FindNode( item );
|
wxDataViewTreeStoreNode *node = FindNode( item );
|
||||||
if (!node) return;
|
if (!node) return;
|
||||||
@@ -2806,7 +2806,7 @@ void wxDataViewTreeStore::SetItemIcon( const wxDataViewItem& item, const wxIcon
|
|||||||
node->SetIcon( icon );
|
node->SetIcon( icon );
|
||||||
}
|
}
|
||||||
|
|
||||||
const wxIcon &wxDataViewTreeStore::GetItemIcon( const wxDataViewItem& item ) const
|
wxIcon wxDataViewTreeStore::GetItemIcon( const wxDataViewItem& item ) const
|
||||||
{
|
{
|
||||||
wxDataViewTreeStoreNode *node = FindNode( item );
|
wxDataViewTreeStoreNode *node = FindNode( item );
|
||||||
if (!node) return wxNullIcon;
|
if (!node) return wxNullIcon;
|
||||||
@@ -2814,7 +2814,7 @@ const wxIcon &wxDataViewTreeStore::GetItemIcon( const wxDataViewItem& item ) con
|
|||||||
return node->GetIcon();
|
return node->GetIcon();
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxDataViewTreeStore::SetItemExpandedIcon( const wxDataViewItem& item, const wxIcon &icon )
|
void wxDataViewTreeStore::SetItemExpandedIcon( const wxDataViewItem& item, const wxBitmapBundle &icon )
|
||||||
{
|
{
|
||||||
wxDataViewTreeStoreContainerNode *node = FindContainerNode( item );
|
wxDataViewTreeStoreContainerNode *node = FindContainerNode( item );
|
||||||
if (!node) return;
|
if (!node) return;
|
||||||
@@ -2822,7 +2822,7 @@ void wxDataViewTreeStore::SetItemExpandedIcon( const wxDataViewItem& item, const
|
|||||||
node->SetExpandedIcon( icon );
|
node->SetExpandedIcon( icon );
|
||||||
}
|
}
|
||||||
|
|
||||||
const wxIcon &wxDataViewTreeStore::GetItemExpandedIcon( const wxDataViewItem& item ) const
|
wxIcon wxDataViewTreeStore::GetItemExpandedIcon( const wxDataViewItem& item ) const
|
||||||
{
|
{
|
||||||
wxDataViewTreeStoreContainerNode *node = FindContainerNode( item );
|
wxDataViewTreeStoreContainerNode *node = FindContainerNode( item );
|
||||||
if (!node) return wxNullIcon;
|
if (!node) return wxNullIcon;
|
||||||
@@ -2887,15 +2887,18 @@ wxDataViewTreeStore::GetValue(wxVariant &variant,
|
|||||||
wxDataViewTreeStoreNode *node = FindNode( item );
|
wxDataViewTreeStoreNode *node = FindNode( item );
|
||||||
if (!node) return;
|
if (!node) return;
|
||||||
|
|
||||||
wxIcon icon( node->GetIcon());
|
wxBitmapBundle bb;
|
||||||
if (node->IsContainer())
|
if (node->IsContainer())
|
||||||
{
|
{
|
||||||
wxDataViewTreeStoreContainerNode *container = (wxDataViewTreeStoreContainerNode*) node;
|
wxDataViewTreeStoreContainerNode *container = (wxDataViewTreeStoreContainerNode*) node;
|
||||||
if (container->IsExpanded() && container->GetExpandedIcon().IsOk())
|
if (container->IsExpanded())
|
||||||
icon = container->GetExpandedIcon();
|
bb = container->GetExpandedBitmapBundle();
|
||||||
}
|
}
|
||||||
|
|
||||||
wxDataViewIconText data( node->GetText(), icon );
|
if (!bb.IsOk())
|
||||||
|
bb = node->GetBitmapBundle();
|
||||||
|
|
||||||
|
wxDataViewIconText data( node->GetText(), bb );
|
||||||
|
|
||||||
variant << data;
|
variant << data;
|
||||||
}
|
}
|
||||||
@@ -3045,7 +3048,7 @@ wxDataViewItem wxDataViewTreeCtrl::AppendItem( const wxDataViewItem& parent,
|
|||||||
const wxString &text, int iconIndex, wxClientData *data )
|
const wxString &text, int iconIndex, wxClientData *data )
|
||||||
{
|
{
|
||||||
wxDataViewItem res = GetStore()->
|
wxDataViewItem res = GetStore()->
|
||||||
AppendItem( parent, text, GetImage(iconIndex), data );
|
AppendItem( parent, text, GetBitmapBundle(iconIndex), data );
|
||||||
|
|
||||||
GetStore()->ItemAdded( parent, res );
|
GetStore()->ItemAdded( parent, res );
|
||||||
|
|
||||||
@@ -3056,7 +3059,7 @@ wxDataViewItem wxDataViewTreeCtrl::PrependItem( const wxDataViewItem& parent,
|
|||||||
const wxString &text, int iconIndex, wxClientData *data )
|
const wxString &text, int iconIndex, wxClientData *data )
|
||||||
{
|
{
|
||||||
wxDataViewItem res = GetStore()->
|
wxDataViewItem res = GetStore()->
|
||||||
PrependItem( parent, text, GetImage(iconIndex), data );
|
PrependItem( parent, text, GetBitmapBundle(iconIndex), data );
|
||||||
|
|
||||||
GetStore()->ItemAdded( parent, res );
|
GetStore()->ItemAdded( parent, res );
|
||||||
|
|
||||||
@@ -3067,7 +3070,7 @@ wxDataViewItem wxDataViewTreeCtrl::InsertItem( const wxDataViewItem& parent, con
|
|||||||
const wxString &text, int iconIndex, wxClientData *data )
|
const wxString &text, int iconIndex, wxClientData *data )
|
||||||
{
|
{
|
||||||
wxDataViewItem res = GetStore()->
|
wxDataViewItem res = GetStore()->
|
||||||
InsertItem( parent, previous, text, GetImage(iconIndex), data );
|
InsertItem( parent, previous, text, GetBitmapBundle(iconIndex), data );
|
||||||
|
|
||||||
GetStore()->ItemAdded( parent, res );
|
GetStore()->ItemAdded( parent, res );
|
||||||
|
|
||||||
@@ -3079,7 +3082,7 @@ wxDataViewItem wxDataViewTreeCtrl::PrependContainer( const wxDataViewItem& paren
|
|||||||
{
|
{
|
||||||
wxDataViewItem res = GetStore()->
|
wxDataViewItem res = GetStore()->
|
||||||
PrependContainer( parent, text,
|
PrependContainer( parent, text,
|
||||||
GetImage(iconIndex), GetImage(expandedIndex), data );
|
GetBitmapBundle(iconIndex), GetBitmapBundle(expandedIndex), data );
|
||||||
|
|
||||||
GetStore()->ItemAdded( parent, res );
|
GetStore()->ItemAdded( parent, res );
|
||||||
|
|
||||||
@@ -3091,7 +3094,7 @@ wxDataViewItem wxDataViewTreeCtrl::AppendContainer( const wxDataViewItem& parent
|
|||||||
{
|
{
|
||||||
wxDataViewItem res = GetStore()->
|
wxDataViewItem res = GetStore()->
|
||||||
AppendContainer( parent, text,
|
AppendContainer( parent, text,
|
||||||
GetImage(iconIndex), GetImage(expandedIndex), data );
|
GetBitmapBundle(iconIndex), GetBitmapBundle(expandedIndex), data );
|
||||||
|
|
||||||
GetStore()->ItemAdded( parent, res );
|
GetStore()->ItemAdded( parent, res );
|
||||||
|
|
||||||
@@ -3103,7 +3106,7 @@ wxDataViewItem wxDataViewTreeCtrl::InsertContainer( const wxDataViewItem& parent
|
|||||||
{
|
{
|
||||||
wxDataViewItem res = GetStore()->
|
wxDataViewItem res = GetStore()->
|
||||||
InsertContainer( parent, previous, text,
|
InsertContainer( parent, previous, text,
|
||||||
GetImage(iconIndex), GetImage(expandedIndex), data );
|
GetBitmapBundle(iconIndex), GetBitmapBundle(expandedIndex), data );
|
||||||
|
|
||||||
GetStore()->ItemAdded( parent, res );
|
GetStore()->ItemAdded( parent, res );
|
||||||
|
|
||||||
@@ -3118,7 +3121,7 @@ void wxDataViewTreeCtrl::SetItemText( const wxDataViewItem& item, const wxString
|
|||||||
GetStore()->ValueChanged( item, 0 );
|
GetStore()->ValueChanged( item, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxDataViewTreeCtrl::SetItemIcon( const wxDataViewItem& item, const wxIcon &icon )
|
void wxDataViewTreeCtrl::SetItemIcon( const wxDataViewItem& item, const wxBitmapBundle &icon )
|
||||||
{
|
{
|
||||||
GetStore()->SetItemIcon(item,icon);
|
GetStore()->SetItemIcon(item,icon);
|
||||||
|
|
||||||
@@ -3126,7 +3129,7 @@ void wxDataViewTreeCtrl::SetItemIcon( const wxDataViewItem& item, const wxIcon &
|
|||||||
GetStore()->ValueChanged( item, 0 );
|
GetStore()->ValueChanged( item, 0 );
|
||||||
}
|
}
|
||||||
|
|
||||||
void wxDataViewTreeCtrl::SetItemExpandedIcon( const wxDataViewItem& item, const wxIcon &icon )
|
void wxDataViewTreeCtrl::SetItemExpandedIcon( const wxDataViewItem& item, const wxBitmapBundle &icon )
|
||||||
{
|
{
|
||||||
GetStore()->SetItemExpandedIcon(item,icon);
|
GetStore()->SetItemExpandedIcon(item,icon);
|
||||||
|
|
||||||
@@ -3203,4 +3206,9 @@ void wxDataViewTreeCtrl::OnSize( wxSizeEvent &event )
|
|||||||
event.Skip( true );
|
event.Skip( true );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void wxDataViewTreeCtrl::OnImagesChanged()
|
||||||
|
{
|
||||||
|
Refresh();
|
||||||
|
}
|
||||||
|
|
||||||
#endif // wxUSE_DATAVIEWCTRL
|
#endif // wxUSE_DATAVIEWCTRL
|
||||||
|
|||||||
@@ -1553,11 +1553,13 @@ bool wxDataViewIconTextRenderer::Render(wxRect rect, wxDC *dc, int state)
|
|||||||
{
|
{
|
||||||
int xoffset = 0;
|
int xoffset = 0;
|
||||||
|
|
||||||
const wxIcon& icon = m_value.GetIcon();
|
const wxBitmapBundle& bb = m_value.GetBitmapBundle();
|
||||||
if ( icon.IsOk() )
|
if ( bb.IsOk() )
|
||||||
{
|
{
|
||||||
dc->DrawIcon(icon, rect.x, rect.y + (rect.height - icon.GetHeight())/2);
|
wxWindow* const dvc = GetView();
|
||||||
xoffset = icon.GetWidth() + GetView()->FromDIP(4);
|
const wxIcon& icon = bb.GetIconFor(dvc);
|
||||||
|
dc->DrawIcon(icon, rect.x, rect.y + (rect.height - icon.GetLogicalHeight())/2);
|
||||||
|
xoffset = icon.GetLogicalWidth() + dvc->FromDIP(4);
|
||||||
}
|
}
|
||||||
|
|
||||||
RenderText(m_value.GetText(), xoffset, rect, dc, state);
|
RenderText(m_value.GetText(), xoffset, rect, dc, state);
|
||||||
@@ -1573,8 +1575,9 @@ wxSize wxDataViewIconTextRenderer::GetSize() const
|
|||||||
{
|
{
|
||||||
wxSize size = GetTextExtent(m_value.GetText());
|
wxSize size = GetTextExtent(m_value.GetText());
|
||||||
|
|
||||||
if (m_value.GetIcon().IsOk())
|
const wxBitmapBundle& bb = m_value.GetBitmapBundle();
|
||||||
size.x += m_value.GetIcon().GetWidth() + dvc->FromDIP(4);
|
if (bb.IsOk())
|
||||||
|
size.x += bb.GetPreferredSizeFor(dvc).x + dvc->FromDIP(4);
|
||||||
return size;
|
return size;
|
||||||
}
|
}
|
||||||
return dvc->FromDIP(wxSize(80,20));
|
return dvc->FromDIP(wxSize(80,20));
|
||||||
@@ -1588,11 +1591,12 @@ wxWindow* wxDataViewIconTextRenderer::CreateEditorCtrl(wxWindow *parent, wxRect
|
|||||||
wxString text = iconText.GetText();
|
wxString text = iconText.GetText();
|
||||||
|
|
||||||
// adjust the label rect to take the width of the icon into account
|
// adjust the label rect to take the width of the icon into account
|
||||||
if (iconText.GetIcon().IsOk())
|
const wxBitmapBundle& bb = iconText.GetBitmapBundle();
|
||||||
|
if (bb.IsOk())
|
||||||
{
|
{
|
||||||
wxWindow* const dvc = GetView();
|
wxWindow* const dvc = GetView();
|
||||||
|
|
||||||
int w = iconText.GetIcon().GetWidth() + dvc->FromDIP(4);
|
int w = bb.GetPreferredSizeFor(dvc).x + dvc->FromDIP(4);
|
||||||
labelRect.x += w;
|
labelRect.x += w;
|
||||||
labelRect.width -= w;
|
labelRect.width -= w;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user