| 32 | } |
| 33 | |
| 34 | Variant StackModel::data( const ModelIndex& modelIndex, ModelRole role ) const { |
| 35 | Lock l( mResourceLock ); |
| 36 | if ( role == ModelRole::Display ) { |
| 37 | switch ( modelIndex.column() ) { |
| 38 | case Columns::ID: |
| 39 | return Variant( String::toString( mStack.stackFrames[modelIndex.row()].id ) ); |
| 40 | case Columns::Name: |
| 41 | return Variant( mStack.stackFrames[modelIndex.row()].name.c_str() ); |
| 42 | case Columns::SourceName: |
| 43 | return mStack.stackFrames[modelIndex.row()].source |
| 44 | ? Variant( mStack.stackFrames[modelIndex.row()].source->name ) |
| 45 | : Variant(); |
| 46 | case Columns::SourcePath: |
| 47 | return mStack.stackFrames[modelIndex.row()].source |
| 48 | ? Variant( mStack.stackFrames[modelIndex.row()].source->path ) |
| 49 | : Variant(); |
| 50 | case Columns::Line: |
| 51 | return Variant( String::toString( mStack.stackFrames[modelIndex.row()].line ) ); |
| 52 | case Columns::Column: |
| 53 | return Variant( String::toString( mStack.stackFrames[modelIndex.row()].column ) ); |
| 54 | } |
| 55 | } else if ( role == ModelRole::Icon && modelIndex.column() == Columns::Name && |
| 56 | mCurrentScopeId == mStack.stackFrames[modelIndex.row()].id ) { |
| 57 | static UIIcon* circleFilled = mSceneNode->findIcon( "circle-filled" ); |
| 58 | return Variant( circleFilled ); |
| 59 | } |
| 60 | return {}; |
| 61 | } |
| 62 | |
| 63 | void StackModel::setStack( StackTraceInfo&& stack ) { |
| 64 | { |
no test coverage detected