| 3945 | } |
| 3946 | |
| 3947 | QVariant StructuredDataItemModel::data(const QModelIndex &index, int role) const |
| 3948 | { |
| 3949 | if(role != Qt::DisplayRole || index.column() >= columnCount()) |
| 3950 | return QVariant(); |
| 3951 | |
| 3952 | Index decodedIdx = decodeIndex(index); |
| 3953 | SDObject *obj = NULL; |
| 3954 | |
| 3955 | if(decodedIdx.tag == PageNode) |
| 3956 | { |
| 3957 | if(m_ColumnValues[index.column()] == Name) |
| 3958 | { |
| 3959 | size_t pageBase = decodedIdx.indexInArray; |
| 3960 | size_t pageCount = qMin(ArrayPageSize, int(decodedIdx.obj->NumChildren() - pageBase)); |
| 3961 | |
| 3962 | return QFormatStr("[%1..%2]").arg(pageBase).arg(pageBase + pageCount - 1); |
| 3963 | } |
| 3964 | return QVariant(); |
| 3965 | } |
| 3966 | else if(decodedIdx.tag == ArrayMember) |
| 3967 | { |
| 3968 | obj = decodedIdx.obj->GetChild(decodedIdx.indexInArray); |
| 3969 | } |
| 3970 | else |
| 3971 | { |
| 3972 | obj = decodedIdx.obj; |
| 3973 | } |
| 3974 | |
| 3975 | if(obj) |
| 3976 | { |
| 3977 | switch(m_ColumnValues[index.column()]) |
| 3978 | { |
| 3979 | case Name: |
| 3980 | if(decodedIdx.tag == ArrayMember) |
| 3981 | return QFormatStr("[%1]").arg(decodedIdx.indexInArray); |
| 3982 | else if(obj->GetParent() && obj->GetParent()->type.basetype == SDBasic::Array) |
| 3983 | return QFormatStr("[%1]").arg(index.row()); |
| 3984 | else |
| 3985 | return obj->name; |
| 3986 | case Value: |
| 3987 | { |
| 3988 | QVariant v = SDObject2Variant(obj, obj->GetParent() ? false : true); |
| 3989 | RichResourceTextInitialise(v, NULL); |
| 3990 | return v; |
| 3991 | } |
| 3992 | case Type: return obj->type.name; |
| 3993 | } |
| 3994 | } |
| 3995 | |
| 3996 | return QVariant(); |
| 3997 | } |
| 3998 | |
| 3999 | QRClickToolButton::QRClickToolButton(QWidget *parent) : QToolButton(parent) |
| 4000 | { |
no test coverage detected