| 158 | size_t columnCount( const ModelIndex& ) const override { return 1; } |
| 159 | |
| 160 | Variant data( const ModelIndex& index, ModelRole role ) const override { |
| 161 | if ( index.row() >= (Int64)mLocs.size() ) |
| 162 | return {}; |
| 163 | if ( role == ModelRole::Display ) { |
| 164 | return Variant( mLocs[index.row()].display.c_str() ); |
| 165 | } else if ( role == ModelRole::Custom ) { |
| 166 | if ( index.column() == CustomInfo::URI ) { |
| 167 | return Variant( mLocs[index.row()].loc.uri.toString() ); |
| 168 | } else if ( index.column() == CustomInfo::TextRange ) { |
| 169 | return Variant( mLocs[index.row()].loc.range.toString() ); |
| 170 | } |
| 171 | } |
| 172 | return {}; |
| 173 | } |
| 174 | |
| 175 | protected: |
| 176 | struct Location { |