X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/2a648479df44228ca01da2cbffb389034c037d65..b39badac119fe944152cd1408a90b82e710ea598:/src/common/datavcmn.cpp diff --git a/src/common/datavcmn.cpp b/src/common/datavcmn.cpp index 611d3b1d5a..b7ee97b28e 100644 --- a/src/common/datavcmn.cpp +++ b/src/common/datavcmn.cpp @@ -387,7 +387,7 @@ wxDataViewIndexListModel::wxDataViewIndexListModel( unsigned int initial_size ) // build initial index unsigned int i; for (i = 1; i < initial_size+1; i++) - m_hash.Add( wxUIntToPtr(i) ); + m_hash.Add( wxDataViewItem(wxUIntToPtr(i)) ); m_nextFreeID = initial_size + 1; } @@ -403,7 +403,7 @@ void wxDataViewIndexListModel::Reset( unsigned int new_size ) // build initial index unsigned int i; for (i = 1; i < new_size+1; i++) - m_hash.Add( wxUIntToPtr(i) ); + m_hash.Add( wxDataViewItem(wxUIntToPtr(i)) ); m_nextFreeID = new_size + 1; @@ -417,8 +417,8 @@ void wxDataViewIndexListModel::RowPrepended() unsigned int id = m_nextFreeID; m_nextFreeID++; - m_hash.Insert( wxUIntToPtr(id), 0 ); wxDataViewItem item( wxUIntToPtr(id) ); + m_hash.Insert( item, 0 ); ItemAdded( wxDataViewItem(0), item ); } @@ -430,8 +430,8 @@ void wxDataViewIndexListModel::RowInserted( unsigned int before ) unsigned int id = m_nextFreeID; m_nextFreeID++; - m_hash.Insert( wxUIntToPtr(id), before ); wxDataViewItem item( wxUIntToPtr(id) ); + m_hash.Insert( item, before ); ItemAdded( wxDataViewItem(0), item ); } @@ -440,8 +440,8 @@ void wxDataViewIndexListModel::RowAppended() unsigned int id = m_nextFreeID; m_nextFreeID++; - m_hash.Add( wxUIntToPtr(id) ); wxDataViewItem item( wxUIntToPtr(id) ); + m_hash.Add( item ); ItemAdded( wxDataViewItem(0), item ); } @@ -490,7 +490,7 @@ unsigned int wxDataViewIndexListModel::GetRow( const wxDataViewItem &item ) cons return wxPtrToUInt(item.GetID())-1; // assert for not found - return (unsigned int) m_hash.Index( item.GetID() ); + return (unsigned int) m_hash.Index( item ); } wxDataViewItem wxDataViewIndexListModel::GetItem( unsigned int row ) const @@ -673,7 +673,7 @@ wxDataViewRendererBase::~wxDataViewRendererBase() { } -const wxDataViewCtrl* wxDataViewRendererBase::GetView() const +wxDataViewCtrl* wxDataViewRendererBase::GetView() const { return const_cast(this)->GetOwner()->GetOwner(); } @@ -1094,6 +1094,16 @@ void wxDataViewCtrlBase::SetCurrentItem(const wxDataViewItem& item) Select(item); } +wxDataViewItem wxDataViewCtrlBase::GetSelection() const +{ + if ( GetSelectedItemsCount() != 1 ) + return wxDataViewItem(); + + wxDataViewItemArray selections; + GetSelections(selections); + return selections[0]; +} + wxDataViewColumn * wxDataViewCtrlBase::AppendTextColumn( const wxString &label, unsigned int model_column, wxDataViewCellMode mode, int width, wxAlignment align, int flags ) @@ -2005,7 +2015,7 @@ wxDataViewItem wxDataViewTreeStore::GetNthChild( const wxDataViewItem& parent, u wxDataViewTreeStoreNodeList::compatibility_iterator node = parent_node->GetChildren().Item( pos ); if (node) - return node->GetData(); + return wxDataViewItem(node->GetData()); return wxDataViewItem(0); } @@ -2111,7 +2121,7 @@ void wxDataViewTreeStore::DeleteChildren( const wxDataViewItem& item ) void wxDataViewTreeStore::DeleteAllItems() { - DeleteChildren(m_root); + DeleteChildren(wxDataViewItem(m_root)); } void @@ -2248,11 +2258,6 @@ BEGIN_EVENT_TABLE(wxDataViewTreeCtrl,wxDataViewCtrl) EVT_SIZE( wxDataViewTreeCtrl::OnSize ) END_EVENT_TABLE() -wxDataViewTreeCtrl::~wxDataViewTreeCtrl() -{ - delete m_imageList; -} - bool wxDataViewTreeCtrl::Create( wxWindow *parent, wxWindowID id, const wxPoint& pos, const wxSize& size, long style, const wxValidator& validator ) { @@ -2277,21 +2282,11 @@ bool wxDataViewTreeCtrl::Create( wxWindow *parent, wxWindowID id, return true; } -void wxDataViewTreeCtrl::SetImageList( wxImageList *imagelist ) -{ - delete m_imageList; - - m_imageList = imagelist; -} - wxDataViewItem wxDataViewTreeCtrl::AppendItem( const wxDataViewItem& parent, const wxString &text, int iconIndex, wxClientData *data ) { - wxIcon icon = wxNullIcon; - if (m_imageList && (iconIndex != -1)) - icon = m_imageList->GetIcon( iconIndex ); - - wxDataViewItem res = GetStore()->AppendItem( parent, text, icon, data ); + wxDataViewItem res = GetStore()-> + AppendItem( parent, text, GetImage(iconIndex), data ); GetStore()->ItemAdded( parent, res ); @@ -2301,11 +2296,8 @@ wxDataViewItem wxDataViewTreeCtrl::AppendItem( const wxDataViewItem& parent, wxDataViewItem wxDataViewTreeCtrl::PrependItem( const wxDataViewItem& parent, const wxString &text, int iconIndex, wxClientData *data ) { - wxIcon icon = wxNullIcon; - if (m_imageList && (iconIndex != -1)) - icon = m_imageList->GetIcon( iconIndex ); - - wxDataViewItem res = GetStore()->PrependItem( parent, text, icon, data ); + wxDataViewItem res = GetStore()-> + PrependItem( parent, text, GetImage(iconIndex), data ); GetStore()->ItemAdded( parent, res ); @@ -2315,11 +2307,8 @@ wxDataViewItem wxDataViewTreeCtrl::PrependItem( const wxDataViewItem& parent, wxDataViewItem wxDataViewTreeCtrl::InsertItem( const wxDataViewItem& parent, const wxDataViewItem& previous, const wxString &text, int iconIndex, wxClientData *data ) { - wxIcon icon = wxNullIcon; - if (m_imageList && (iconIndex != -1)) - icon = m_imageList->GetIcon( iconIndex ); - - wxDataViewItem res = GetStore()->InsertItem( parent, previous, text, icon, data ); + wxDataViewItem res = GetStore()-> + InsertItem( parent, previous, text, GetImage(iconIndex), data ); GetStore()->ItemAdded( parent, res ); @@ -2329,15 +2318,9 @@ wxDataViewItem wxDataViewTreeCtrl::InsertItem( const wxDataViewItem& parent, con wxDataViewItem wxDataViewTreeCtrl::PrependContainer( const wxDataViewItem& parent, const wxString &text, int iconIndex, int expandedIndex, wxClientData *data ) { - wxIcon icon = wxNullIcon; - if (m_imageList && (iconIndex != -1)) - icon = m_imageList->GetIcon( iconIndex ); - - wxIcon expanded = wxNullIcon; - if (m_imageList && (expandedIndex != -1)) - expanded = m_imageList->GetIcon( expandedIndex ); - - wxDataViewItem res = GetStore()->PrependContainer( parent, text, icon, expanded, data ); + wxDataViewItem res = GetStore()-> + PrependContainer( parent, text, + GetImage(iconIndex), GetImage(expandedIndex), data ); GetStore()->ItemAdded( parent, res ); @@ -2347,15 +2330,9 @@ wxDataViewItem wxDataViewTreeCtrl::PrependContainer( const wxDataViewItem& paren wxDataViewItem wxDataViewTreeCtrl::AppendContainer( const wxDataViewItem& parent, const wxString &text, int iconIndex, int expandedIndex, wxClientData *data ) { - wxIcon icon = wxNullIcon; - if (m_imageList && (iconIndex != -1)) - icon = m_imageList->GetIcon( iconIndex ); - - wxIcon expanded = wxNullIcon; - if (m_imageList && (expandedIndex != -1)) - expanded = m_imageList->GetIcon( expandedIndex ); - - wxDataViewItem res = GetStore()->AppendContainer( parent, text, icon, expanded, data ); + wxDataViewItem res = GetStore()-> + AppendContainer( parent, text, + GetImage(iconIndex), GetImage(expandedIndex), data ); GetStore()->ItemAdded( parent, res ); @@ -2365,15 +2342,9 @@ wxDataViewItem wxDataViewTreeCtrl::AppendContainer( const wxDataViewItem& parent wxDataViewItem wxDataViewTreeCtrl::InsertContainer( const wxDataViewItem& parent, const wxDataViewItem& previous, const wxString &text, int iconIndex, int expandedIndex, wxClientData *data ) { - wxIcon icon = wxNullIcon; - if (m_imageList && (iconIndex != -1)) - icon = m_imageList->GetIcon( iconIndex ); - - wxIcon expanded = wxNullIcon; - if (m_imageList && (expandedIndex != -1)) - expanded = m_imageList->GetIcon( expandedIndex ); - - wxDataViewItem res = GetStore()->InsertContainer( parent, previous, text, icon, expanded, data ); + wxDataViewItem res = GetStore()-> + InsertContainer( parent, previous, text, + GetImage(iconIndex), GetImage(expandedIndex), data ); GetStore()->ItemAdded( parent, res ); @@ -2442,7 +2413,7 @@ void wxDataViewTreeCtrl::DeleteAllItems() void wxDataViewTreeCtrl::OnExpanded( wxDataViewEvent &event ) { - if (m_imageList) return; + if (HasImageList()) return; wxDataViewTreeStoreContainerNode* container = GetStore()->FindContainerNode( event.GetItem() ); if (!container) return; @@ -2454,7 +2425,7 @@ void wxDataViewTreeCtrl::OnExpanded( wxDataViewEvent &event ) void wxDataViewTreeCtrl::OnCollapsed( wxDataViewEvent &event ) { - if (m_imageList) return; + if (HasImageList()) return; wxDataViewTreeStoreContainerNode* container = GetStore()->FindContainerNode( event.GetItem() ); if (!container) return;