fuh you got me confused I must sayYou would.
Yes, of course. For instance like so:
Qt Code:
QHash<int, int> m_lookupIndex; // maps id to index in the list struct Item{ int id; int count; Item(){id=-1;count=0;} }; QList<Item> m_data; void Model::insert(...){ int id = getId(); Item item; item.id = id; item.count = 1; int index = m_data.count(); m_list.append(item); m_lookupIndex[id] = index; //... } if(!m_lookupIndex.contains(id)) int ind = m_lookupIndex[id]; // it'd be 2 times faster using iterators, but it's just an example, so... return index(ind, 0); }QHash<int, int> m_lookupIndex; // maps id to index in the list struct Item{ int id; int count; Item(){id=-1;count=0;} }; QList<Item> m_data; void Model::insert(...){ int id = getId(); Item item; item.id = id; item.count = 1; int index = m_data.count(); m_list.append(item); m_lookupIndex[id] = index; //... } QModelIndex Model::idToIndex(int id){ if(!m_lookupIndex.contains(id)) return QModelIndex(); int ind = m_lookupIndex[id]; // it'd be 2 times faster using iterators, but it's just an example, so... return index(ind, 0); }To copy to clipboard, switch view to plain text mode...thanks anyway
Bookmarks