MCPcopy Create free account
hub / github.com/SpartanJ/eepp / mapToSource

Method mapToSource

src/eepp/ui/models/sortingproxymodel.cpp:56–74  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

54}
55
56ModelIndex SortingProxyModel::mapToSource( const ModelIndex& proxyIndex ) const {
57 if ( !proxyIndex.isValid() )
58 return {};
59
60 eeASSERT( proxyIndex.model() == this );
61 eeASSERT( proxyIndex.internalData() );
62
63 auto& indexMapping = *static_cast<Mapping*>( proxyIndex.internalData() );
64 auto it = mMappings.find( indexMapping.sourceParent );
65 eeASSERT( it != mMappings.end() );
66
67 auto& mapping = *it->second;
68 if ( static_cast<size_t>( proxyIndex.row() ) >= mapping.sourceRows.size() ||
69 proxyIndex.column() >= (Int64)columnCount() )
70 return {};
71 int sourceRow = mapping.sourceRows[proxyIndex.row()];
72 int sourceColumn = proxyIndex.column();
73 return source().index( sourceRow, sourceColumn, it->first );
74}
75
76SortingProxyModel::InternalMapIterator
77SortingProxyModel::buildMapping( const ModelIndex& sourceParent ) {

Callers 1

Calls 9

columnCountFunction · 0.85
internalDataMethod · 0.80
rowMethod · 0.80
columnMethod · 0.80
isValidMethod · 0.45
findMethod · 0.45
endMethod · 0.45
sizeMethod · 0.45
indexMethod · 0.45

Tested by

no test coverage detected