(#416) Improved Linked views

Removed list of available views
Renamed dialog to "Select Master View"
Use case icons for master view and linked views
This commit is contained in:
Magne Sjaastad
2015-09-07 12:14:50 +02:00
parent 2807a8d2f8
commit 64bda31cfb
7 changed files with 56 additions and 52 deletions

View File

@@ -47,7 +47,7 @@ CAF_PDM_SOURCE_INIT(RimLinkedViews, "RimLinkedViews");
//--------------------------------------------------------------------------------------------------
RimLinkedViews::RimLinkedViews(void)
{
CAF_PDM_InitObject("Linked Views", ":/ReservoirView.png", "", "");
CAF_PDM_InitObject("Linked Views", ":/Reservoir1View.png", "", "");
CAF_PDM_InitField(&m_name, "Name", QString("View Group Name"), "View Group Name", "", "", "");
m_name.uiCapability()->setUiHidden(true);
@@ -267,33 +267,6 @@ void RimLinkedViews::applyAllOperations()
updateScaleZ(m_mainView, m_mainView->scaleZ());
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
QList<caf::PdmOptionItemInfo> RimLinkedViews::calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly)
{
QList<caf::PdmOptionItemInfo> optionList;
if (fieldNeedingOptions == &m_mainView)
{
RimProject* proj = RiaApplication::instance()->project();
std::vector<RimView*> views;
proj->allVisibleViews(views);
for (size_t i = 0; i < views.size(); i++)
{
optionList.push_back(caf::PdmOptionItemInfo(displayNameForView(views[i]), QVariant::fromValue(caf::PdmPointer<caf::PdmObjectHandle>(views[i]))));
}
if (optionList.size() > 0)
{
optionList.push_front(caf::PdmOptionItemInfo("None", QVariant::fromValue(caf::PdmPointer<caf::PdmObjectHandle>(NULL))));
}
}
return optionList;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
@@ -382,6 +355,17 @@ void RimLinkedViews::allViews(std::vector<RimView*>& views)
void RimLinkedViews::initAfterRead()
{
m_name = displayNameForView(m_mainView);
QIcon icon;
if (m_mainView)
{
RimCase* rimCase = NULL;
m_mainView->firstAnchestorOrThisOfType(rimCase);
icon = rimCase->uiCapability()->uiIcon();
}
this->setUiIcon(icon);
}
//--------------------------------------------------------------------------------------------------

View File

@@ -66,7 +66,6 @@ public:
RimManagedViewConfig* viewConfigForView(RimView* view);
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();

View File

@@ -186,7 +186,7 @@ void RimManagedViewConfig::fieldChangedByUi(const caf::PdmFieldHandle* changedFi
}
updateViewChanged();
updateDisplayName();
updateDisplayNameAndIcon();
name.uiCapability()->updateConnectedEditors();
}
@@ -198,7 +198,7 @@ void RimManagedViewConfig::fieldChangedByUi(const caf::PdmFieldHandle* changedFi
void RimManagedViewConfig::initAfterRead()
{
configureOverrides();
updateDisplayName();
updateDisplayNameAndIcon();
updateViewChanged();
}
@@ -352,7 +352,7 @@ void RimManagedViewConfig::updateViewChanged()
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimManagedViewConfig::updateDisplayName()
void RimManagedViewConfig::updateDisplayNameAndIcon()
{
if (m_managedView)
{
@@ -362,6 +362,17 @@ void RimManagedViewConfig::updateDisplayName()
{
name = "View Config : Empty view";
}
QIcon icon;
if (m_managedView)
{
RimCase* rimCase = NULL;
m_managedView->firstAnchestorOrThisOfType(rimCase);
icon = rimCase->uiCapability()->uiIcon();
}
this->setUiIcon(icon);
}
//--------------------------------------------------------------------------------------------------

View File

@@ -63,7 +63,7 @@ protected:
private:
void configureOverridesUpdateDisplayModel();
void updateDisplayName();
void updateDisplayNameAndIcon();
RimEclipseView* managedEclipseView();
RimGeoMechView* managedGeoView();