(#395) Display case name and view name in UI for view config

This commit is contained in:
Magne Sjaastad 2015-08-28 11:48:16 +02:00
parent 7081e140fd
commit 5d576aed14
2 changed files with 47 additions and 1 deletions

View File

@ -44,6 +44,9 @@ RimManagedViewConfig::RimManagedViewConfig(void)
{
CAF_PDM_InitObject("View Config", ":/chain.png", "", "");
QString defaultName = "View Config : Empty view";
CAF_PDM_InitField(&name, "Name", defaultName, "Managed View Name", "", "", "");
CAF_PDM_InitFieldNoDefault(&managedView, "ManagedView", "Managed View", "", "", "");
managedView.uiCapability()->setUiChildrenHidden(true);
@ -75,7 +78,7 @@ QList<caf::PdmOptionItemInfo> RimManagedViewConfig::calculateValueOptions(const
for (size_t i = 0; i< views.size(); i++)
{
optionList.push_back(caf::PdmOptionItemInfo(views[i]->name(), QVariant::fromValue(caf::PdmPointer<caf::PdmObjectHandle>(views[i]))));
optionList.push_back(caf::PdmOptionItemInfo(displayNameForView(views[i]), QVariant::fromValue(caf::PdmPointer<caf::PdmObjectHandle>(views[i]))));
}
if (optionList.size() > 0)
@ -171,6 +174,8 @@ void RimManagedViewConfig::fieldChangedByUi(const caf::PdmFieldHandle* changedFi
masterView->managedViewCollection()->updateCellResult();
}
name = displayNameForView(managedView);
}
PdmObjectHandle* prevValue = oldValue.value<caf::PdmPointer<PdmObjectHandle> >().rawPtr();
@ -194,6 +199,9 @@ void RimManagedViewConfig::fieldChangedByUi(const caf::PdmFieldHandle* changedFi
rimView->managedViewCollection()->configureOverrides();
}
updateDisplayName();
name.uiCapability()->updateConnectedEditors();
}
}
@ -203,6 +211,7 @@ void RimManagedViewConfig::fieldChangedByUi(const caf::PdmFieldHandle* changedFi
void RimManagedViewConfig::initAfterRead()
{
configureOverrides();
updateDisplayName();
}
//--------------------------------------------------------------------------------------------------
@ -308,3 +317,33 @@ void RimManagedViewConfig::configureOverrides()
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QString RimManagedViewConfig::displayNameForView(RimView* view)
{
CVF_ASSERT(view);
RimCase* rimCase = NULL;
firstAnchestorOrThisOfType(rimCase);
QString displayName = rimCase->caseUserDescription() + " : " + view->name;
return displayName;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimManagedViewConfig::updateDisplayName()
{
if (managedView)
{
name = displayNameForView(managedView);
}
else
{
name = "View Config : Empty view";
}
}

View File

@ -39,6 +39,8 @@ public:
RimManagedViewConfig(void);
virtual ~RimManagedViewConfig(void);
caf::PdmField<QString> name;
caf::PdmPtrField<RimView*> managedView;
caf::PdmField<bool> syncCamera;
@ -54,6 +56,8 @@ protected:
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly);
virtual void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "");
virtual void initAfterRead();
virtual caf::PdmFieldHandle* userDescriptionField() { return &name; }
private:
void allVisibleViews(std::vector<RimView*>& views);
@ -61,4 +65,7 @@ private:
RimEclipseView* managedEclipseView();
RimGeoMechView* managedGeoView();
void updateDisplayName();
QString displayNameForView(RimView* view);
};