(#395) Added Show All Linked Views as context menu feature of linked views

This commit is contained in:
Magne Sjaastad
2015-09-02 17:18:02 +02:00
parent e3c11f11e9
commit d80e64d81d
7 changed files with 148 additions and 15 deletions

View File

@@ -46,7 +46,7 @@ CAF_PDM_SOURCE_INIT(RimLinkedViews, "RimLinkedViews");
//--------------------------------------------------------------------------------------------------
RimLinkedViews::RimLinkedViews(void)
{
CAF_PDM_InitObject("Linked Views", "", "", "");
CAF_PDM_InitObject("Linked Views", ":/ReservoirView.png", "", "");
CAF_PDM_InitField(&m_name, "Name", QString("View Group Name"), "View Group Name", "", "", "");
m_name.uiCapability()->setUiHidden(true);
@@ -77,11 +77,7 @@ void RimLinkedViews::updateTimeStep(RimView* sourceView, int timeStep)
return;
}
if (sourceView && sourceView != m_mainView)
{
m_mainView->viewer()->setCurrentFrame(timeStep);
}
else
if (m_mainView && m_mainView->viewer() && sourceView != m_mainView)
{
m_mainView->viewer()->setCurrentFrame(timeStep);
}
@@ -296,10 +292,15 @@ QList<caf::PdmOptionItemInfo> RimLinkedViews::calculateValueOptions(const caf::P
//--------------------------------------------------------------------------------------------------
QString RimLinkedViews::displayNameForView(RimView* view)
{
RimCase* rimCase = NULL;
view->firstAnchestorOrThisOfType(rimCase);
QString displayName = "None";
QString displayName = rimCase->caseUserDescription() + " : " + view->name;
if (view)
{
RimCase* rimCase = NULL;
view->firstAnchestorOrThisOfType(rimCase);
displayName = rimCase->caseUserDescription() + " : " + view->name;
}
return displayName;
}
@@ -341,9 +342,7 @@ void RimLinkedViews::setMainView(RimView* view)
{
m_mainView = view;
m_name = displayNameForView(view);
this->uiCapability()->setUiIcon(view->uiCapability()->uiIcon());
initAfterRead();
}
//--------------------------------------------------------------------------------------------------
@@ -370,3 +369,11 @@ void RimLinkedViews::allViews(std::vector<RimView*>& views)
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimLinkedViews::initAfterRead()
{
m_name = displayNameForView(m_mainView);
}

View File

@@ -68,6 +68,7 @@ protected:
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly);
virtual caf::PdmFieldHandle* userDescriptionField() { return &m_name; }
virtual void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "");
virtual void initAfterRead();
private:
caf::PdmPtrField<RimView*> m_mainView;

View File

@@ -42,7 +42,7 @@ CAF_PDM_SOURCE_INIT(RimManagedViewConfig, "RimManagedViewConfig");
//--------------------------------------------------------------------------------------------------
RimManagedViewConfig::RimManagedViewConfig(void)
{
CAF_PDM_InitObject("View Config", ":/chain.png", "", "");
CAF_PDM_InitObject("View Config", ":/ReservoirView.png", "", "");
QString defaultName = "View Config : Empty view";
CAF_PDM_InitField(&name, "Name", defaultName, "Managed View Name", "", "", "");
@@ -249,6 +249,9 @@ void RimManagedViewConfig::configureOverrides()
this->firstAnchestorOrThisOfType(linkedViews);
RimView* masterView = linkedViews->mainView();
CVF_ASSERT(masterView);
if (!masterView) return;
if (m_managedView)
{
@@ -307,6 +310,8 @@ void RimManagedViewConfig::updateViewChanged()
CVF_ASSERT(linkedViews);
RimView* mainView = linkedViews->mainView();
CVF_ASSERT(mainView);
RimEclipseView* eclipseMasterView = dynamic_cast<RimEclipseView*>(mainView);
RimGeoMechView* geoMasterView = dynamic_cast<RimGeoMechView*>(mainView);
@@ -366,7 +371,5 @@ RimView* RimManagedViewConfig::managedView()
void RimManagedViewConfig::setManagedView(RimView* view)
{
m_managedView = view;
this->uiCapability()->setUiIcon(view->uiCapability()->uiIcon());
}

View File

@@ -752,10 +752,14 @@ void RimProject::actionsBasedOnSelection(QMenu& contextMenu)
}
else if (dynamic_cast<RimManagedViewConfig*>(uiItem))
{
commandIds << "RicShowAllLinkedViewsFeature";
commandIds << "Separator";
commandIds << "RicDeleteItemFeature";
}
else if (dynamic_cast<RimLinkedViews*>(uiItem))
{
commandIds << "RicShowAllLinkedViewsFeature";
commandIds << "Separator";
commandIds << "RicDeleteItemFeature";
}
else if (dynamic_cast<RimWellLogPlotCollection*>(uiItem))