X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FXGUI%2FXGUI_PartDataModel.cpp;h=bbf0ef9fcc1afa8f45ece496083184ab2d82692b;hb=52a2aa0728f8694d5774a20bd1eeba8e5e2f8b27;hp=567ad5677e050e0d4923001afdbc3a23f2a75709;hpb=38afbd899a8645c83e17f2c24a17a2b7414911b4;p=modules%2Fshaper.git diff --git a/src/XGUI/XGUI_PartDataModel.cpp b/src/XGUI/XGUI_PartDataModel.cpp index 567ad5677..bbf0ef9fc 100644 --- a/src/XGUI/XGUI_PartDataModel.cpp +++ b/src/XGUI/XGUI_PartDataModel.cpp @@ -12,9 +12,10 @@ #include #include #include -#include +#include #include #include +#include #include #include @@ -46,9 +47,14 @@ QVariant XGUI_TopDataModel::data(const QModelIndex& theIndex, int theRole) const return tr("Parameters") + QString(" (%1)").arg(rowCount(theIndex)); case ParamObject: { DocumentPtr aRootDoc = ModelAPI_Session::get()->moduleDocument(); - ObjectPtr aObject = aRootDoc->object(ModelAPI_ResultParameters::group(), theIndex.row()); - if (aObject) - return aObject->data()->name().c_str(); + ObjectPtr aObject = aRootDoc->object(ModelAPI_ResultParameter::group(), theIndex.row()); + if (aObject) { + ResultParameterPtr aParam = std::dynamic_pointer_cast(aObject); + AttributeDoublePtr aValueAttribute = aParam->data()->real(ModelAPI_ResultParameter::VALUE()); + QString aVal = QString::number(aValueAttribute->value()); + QString aTitle = QString(aObject->data()->name().c_str()); + return aTitle + " = " + aVal; + } } break; case ConstructFolder: @@ -112,7 +118,7 @@ int XGUI_TopDataModel::rowCount(const QModelIndex& theParent) const DocumentPtr aRootDoc = ModelAPI_Session::get()->moduleDocument(); if (theParent.internalId() == ParamsFolder) - return aRootDoc->size(ModelAPI_ResultParameters::group()); + return aRootDoc->size(ModelAPI_ResultParameter::group()); if (theParent.internalId() == ConstructFolder) return aRootDoc->size(ModelAPI_ResultConstruction::group()); @@ -183,7 +189,7 @@ ObjectPtr XGUI_TopDataModel::object(const QModelIndex& theIndex) const return ObjectPtr(); case ParamObject: { DocumentPtr aRootDoc = ModelAPI_Session::get()->moduleDocument(); - return aRootDoc->object(ModelAPI_ResultParameters::group(), theIndex.row()); + return aRootDoc->object(ModelAPI_ResultParameter::group(), theIndex.row()); } case ConstructObject: { DocumentPtr aRootDoc = ModelAPI_Session::get()->moduleDocument(); @@ -204,7 +210,7 @@ QModelIndex XGUI_TopDataModel::findParent(const ObjectPtr& theObject) const QModelIndex XGUI_TopDataModel::findGroup(const std::string& theGroup) const { - if (theGroup == ModelAPI_ResultParameters::group()) + if (theGroup == ModelAPI_ResultParameter::group()) return createIndex(0, 0, (qint32) ParamsFolder); if (theGroup == ModelAPI_ResultConstruction::group()) return createIndex(1, 0, (qint32) ConstructFolder); @@ -228,7 +234,7 @@ QModelIndex XGUI_TopDataModel::objectIndex(const ObjectPtr& theObject) const } } if (aRow != -1) { - if (aGroup == ModelAPI_ResultParameters::group()) + if (aGroup == ModelAPI_ResultParameter::group()) return createIndex(aRow, 0, (qint32) ParamObject); if (aGroup == ModelAPI_ResultConstruction::group()) return createIndex(aRow, 0, (qint32) ConstructObject); @@ -272,10 +278,15 @@ QVariant XGUI_PartDataModel::data(const QModelIndex& theIndex, int theRole) cons case GroupsFolder: return tr("Groups") + QString(" (%1)").arg(rowCount(theIndex)); case ParamObject: { - ObjectPtr aObject = partDocument()->object(ModelAPI_ResultParameters::group(), + ObjectPtr aObject = partDocument()->object(ModelAPI_ResultParameter::group(), theIndex.row()); - if (aObject) - return std::dynamic_pointer_cast(aObject)->data()->name().c_str(); + if (aObject) { + ResultParameterPtr aParam = std::dynamic_pointer_cast(aObject); + AttributeDoublePtr aValueAttribute = aParam->data()->real(ModelAPI_ResultParameter::VALUE()); + QString aVal = QString::number(aValueAttribute->value()); + QString aTitle = QString(aObject->data()->name().c_str()); + return aTitle + " = " + aVal; + } } break; case ConstructObject: { @@ -369,7 +380,7 @@ int XGUI_PartDataModel::rowCount(const QModelIndex& parent) const return 0; } case ParamsFolder: - return partDocument()->size(ModelAPI_ResultParameters::group()); + return partDocument()->size(ModelAPI_ResultParameter::group()); case ConstructFolder: return partDocument()->size(ModelAPI_ResultConstruction::group()); case BodiesFolder: @@ -476,7 +487,7 @@ ObjectPtr XGUI_PartDataModel::object(const QModelIndex& theIndex) const return ObjectPtr(); case ParamObject: - return partDocument()->object(ModelAPI_ResultParameters::group(), theIndex.row()); + return partDocument()->object(ModelAPI_ResultParameter::group(), theIndex.row()); case ConstructObject: return partDocument()->object(ModelAPI_ResultConstruction::group(), theIndex.row()); case BodiesObject: @@ -501,7 +512,7 @@ QModelIndex XGUI_PartDataModel::findParent(const ObjectPtr& theObject) const QModelIndex XGUI_PartDataModel::findGroup(const std::string& theGroup) const { - if (theGroup == ModelAPI_ResultParameters::group()) + if (theGroup == ModelAPI_ResultParameter::group()) return createIndex(0, 0, (qint32) ParamsFolder); if (theGroup == ModelAPI_ResultConstruction::group()) return createIndex(1, 0, (qint32) ConstructFolder); @@ -538,7 +549,7 @@ QModelIndex XGUI_PartDataModel::objectIndex(const ObjectPtr& theObject) const } if (aRow == -1) return aIndex; - if (aGroup == ModelAPI_ResultParameters::group()) + if (aGroup == ModelAPI_ResultParameter::group()) return createIndex(aRow, 0, (qint32) ParamObject); else if (aGroup == ModelAPI_ResultConstruction::group()) return createIndex(aRow, 0, (qint32) ConstructObject);