mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
(#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:
parent
2807a8d2f8
commit
64bda31cfb
@ -73,7 +73,7 @@ void RicLinkVisibleViewsFeature::onActionTriggered(bool isChecked)
|
|||||||
RicLinkVisibleViewsFeatureUi featureUi;
|
RicLinkVisibleViewsFeatureUi featureUi;
|
||||||
featureUi.setViews(views);
|
featureUi.setViews(views);
|
||||||
|
|
||||||
caf::PdmUiPropertyViewDialog propertyDialog(NULL, &featureUi, "Link Visible Views", "");
|
caf::PdmUiPropertyViewDialog propertyDialog(NULL, &featureUi, "Select Master View", "");
|
||||||
propertyDialog.setWindowIcon(QIcon(":/chain.png"));
|
propertyDialog.setWindowIcon(QIcon(":/chain.png"));
|
||||||
if (propertyDialog.exec() != QDialog::Accepted) return;
|
if (propertyDialog.exec() != QDialog::Accepted) return;
|
||||||
|
|
||||||
|
@ -19,12 +19,11 @@
|
|||||||
|
|
||||||
#include "RicLinkVisibleViewsFeatureUi.h"
|
#include "RicLinkVisibleViewsFeatureUi.h"
|
||||||
|
|
||||||
#include "cafPdmUiTextEditor.h"
|
#include "RiaApplication.h"
|
||||||
#include "cafPdmObjectGroup.h"
|
|
||||||
|
|
||||||
#include "RimView.h"
|
#include "RimCase.h"
|
||||||
#include "RimLinkedViews.h"
|
#include "RimLinkedViews.h"
|
||||||
#include "cafPdmUiItem.h"
|
#include "RimView.h"
|
||||||
|
|
||||||
CAF_PDM_SOURCE_INIT(RicLinkVisibleViewsFeatureUi, "RicLinkVisibleViewsFeatureUi");
|
CAF_PDM_SOURCE_INIT(RicLinkVisibleViewsFeatureUi, "RicLinkVisibleViewsFeatureUi");
|
||||||
|
|
||||||
@ -35,10 +34,6 @@ RicLinkVisibleViewsFeatureUi::RicLinkVisibleViewsFeatureUi(void)
|
|||||||
{
|
{
|
||||||
CAF_PDM_InitObject("Link Visible Views Feature UI", ":/chain.png", "", "");
|
CAF_PDM_InitObject("Link Visible Views Feature UI", ":/chain.png", "", "");
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault(&m_allViewsAsText, "VisibleViews", "Visible Views (Case name : View Name)", "", "", "");
|
|
||||||
m_allViewsAsText.uiCapability()->setUiEditorTypeName(caf::PdmUiTextEditor::uiEditorTypeName());
|
|
||||||
m_allViewsAsText.uiCapability()->setUiLabelPosition(caf::PdmUiItemInfo::TOP);
|
|
||||||
|
|
||||||
CAF_PDM_InitFieldNoDefault(&m_masterView, "MasterView", "Master View", "", "", "");
|
CAF_PDM_InitFieldNoDefault(&m_masterView, "MasterView", "Master View", "", "", "");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -49,15 +44,19 @@ void RicLinkVisibleViewsFeatureUi::setViews(const std::vector<RimView*>& allView
|
|||||||
{
|
{
|
||||||
m_allViews = allViews;
|
m_allViews = allViews;
|
||||||
|
|
||||||
QString viewNames;
|
RimView* activeView = RiaApplication::instance()->activeReservoirView();
|
||||||
for (int i = 0; i < m_allViews.size(); i++)
|
|
||||||
{
|
|
||||||
viewNames += RimLinkedViews::displayNameForView(m_allViews[i]);
|
|
||||||
viewNames += "\n";
|
|
||||||
}
|
|
||||||
m_allViewsAsText = viewNames;
|
|
||||||
|
|
||||||
if (allViews.size() > 0)
|
// Set Active view as master view
|
||||||
|
for (size_t i = 0; i < allViews.size(); i++)
|
||||||
|
{
|
||||||
|
if (activeView == allViews[i])
|
||||||
|
{
|
||||||
|
m_masterView = allViews[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fallback to use first view if no active view is present
|
||||||
|
if (!m_masterView && allViews.size() > 0)
|
||||||
{
|
{
|
||||||
m_masterView = allViews[0];
|
m_masterView = allViews[0];
|
||||||
}
|
}
|
||||||
@ -82,8 +81,20 @@ QList<caf::PdmOptionItemInfo> RicLinkVisibleViewsFeatureUi::calculateValueOption
|
|||||||
{
|
{
|
||||||
for (int i = 0; i < m_allViews.size(); i++)
|
for (int i = 0; i < m_allViews.size(); i++)
|
||||||
{
|
{
|
||||||
|
RimCase* rimCase = NULL;
|
||||||
|
m_allViews[i]->firstAnchestorOrThisOfType(rimCase);
|
||||||
|
|
||||||
|
QIcon icon;
|
||||||
|
if (rimCase)
|
||||||
|
{
|
||||||
|
icon = rimCase->uiCapability()->uiIcon();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
optionList.push_back(caf::PdmOptionItemInfo(RimLinkedViews::displayNameForView(m_allViews[i]),
|
optionList.push_back(caf::PdmOptionItemInfo(RimLinkedViews::displayNameForView(m_allViews[i]),
|
||||||
QVariant::fromValue(caf::PdmPointer<PdmObjectHandle>(m_allViews[i]))));
|
QVariant::fromValue(caf::PdmPointer<PdmObjectHandle>(m_allViews[i])),
|
||||||
|
false,
|
||||||
|
icon));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -44,7 +44,6 @@ protected:
|
|||||||
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly);
|
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
caf::PdmField<QString> m_allViewsAsText;
|
|
||||||
caf::PdmPtrField<RimView*> m_masterView;
|
caf::PdmPtrField<RimView*> m_masterView;
|
||||||
|
|
||||||
std::vector<RimView*> m_allViews;
|
std::vector<RimView*> m_allViews;
|
||||||
|
@ -47,7 +47,7 @@ CAF_PDM_SOURCE_INIT(RimLinkedViews, "RimLinkedViews");
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
RimLinkedViews::RimLinkedViews(void)
|
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", "", "", "");
|
CAF_PDM_InitField(&m_name, "Name", QString("View Group Name"), "View Group Name", "", "", "");
|
||||||
m_name.uiCapability()->setUiHidden(true);
|
m_name.uiCapability()->setUiHidden(true);
|
||||||
@ -267,33 +267,6 @@ void RimLinkedViews::applyAllOperations()
|
|||||||
updateScaleZ(m_mainView, m_mainView->scaleZ());
|
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()
|
void RimLinkedViews::initAfterRead()
|
||||||
{
|
{
|
||||||
m_name = displayNameForView(m_mainView);
|
m_name = displayNameForView(m_mainView);
|
||||||
|
|
||||||
|
QIcon icon;
|
||||||
|
if (m_mainView)
|
||||||
|
{
|
||||||
|
RimCase* rimCase = NULL;
|
||||||
|
m_mainView->firstAnchestorOrThisOfType(rimCase);
|
||||||
|
|
||||||
|
icon = rimCase->uiCapability()->uiIcon();
|
||||||
|
}
|
||||||
|
|
||||||
|
this->setUiIcon(icon);
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -66,7 +66,6 @@ public:
|
|||||||
RimManagedViewConfig* viewConfigForView(RimView* view);
|
RimManagedViewConfig* viewConfigForView(RimView* view);
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
virtual QList<caf::PdmOptionItemInfo> calculateValueOptions(const caf::PdmFieldHandle* fieldNeedingOptions, bool * useOptionsOnly);
|
|
||||||
virtual caf::PdmFieldHandle* userDescriptionField() { return &m_name; }
|
virtual caf::PdmFieldHandle* userDescriptionField() { return &m_name; }
|
||||||
virtual void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "");
|
virtual void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "");
|
||||||
virtual void initAfterRead();
|
virtual void initAfterRead();
|
||||||
|
@ -186,7 +186,7 @@ void RimManagedViewConfig::fieldChangedByUi(const caf::PdmFieldHandle* changedFi
|
|||||||
}
|
}
|
||||||
|
|
||||||
updateViewChanged();
|
updateViewChanged();
|
||||||
updateDisplayName();
|
updateDisplayNameAndIcon();
|
||||||
|
|
||||||
name.uiCapability()->updateConnectedEditors();
|
name.uiCapability()->updateConnectedEditors();
|
||||||
}
|
}
|
||||||
@ -198,7 +198,7 @@ void RimManagedViewConfig::fieldChangedByUi(const caf::PdmFieldHandle* changedFi
|
|||||||
void RimManagedViewConfig::initAfterRead()
|
void RimManagedViewConfig::initAfterRead()
|
||||||
{
|
{
|
||||||
configureOverrides();
|
configureOverrides();
|
||||||
updateDisplayName();
|
updateDisplayNameAndIcon();
|
||||||
updateViewChanged();
|
updateViewChanged();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -352,7 +352,7 @@ void RimManagedViewConfig::updateViewChanged()
|
|||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
///
|
///
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
void RimManagedViewConfig::updateDisplayName()
|
void RimManagedViewConfig::updateDisplayNameAndIcon()
|
||||||
{
|
{
|
||||||
if (m_managedView)
|
if (m_managedView)
|
||||||
{
|
{
|
||||||
@ -362,6 +362,17 @@ void RimManagedViewConfig::updateDisplayName()
|
|||||||
{
|
{
|
||||||
name = "View Config : Empty view";
|
name = "View Config : Empty view";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
QIcon icon;
|
||||||
|
if (m_managedView)
|
||||||
|
{
|
||||||
|
RimCase* rimCase = NULL;
|
||||||
|
m_managedView->firstAnchestorOrThisOfType(rimCase);
|
||||||
|
|
||||||
|
icon = rimCase->uiCapability()->uiIcon();
|
||||||
|
}
|
||||||
|
|
||||||
|
this->setUiIcon(icon);
|
||||||
}
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
@ -63,7 +63,7 @@ protected:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
void configureOverridesUpdateDisplayModel();
|
void configureOverridesUpdateDisplayModel();
|
||||||
void updateDisplayName();
|
void updateDisplayNameAndIcon();
|
||||||
|
|
||||||
RimEclipseView* managedEclipseView();
|
RimEclipseView* managedEclipseView();
|
||||||
RimGeoMechView* managedGeoView();
|
RimGeoMechView* managedGeoView();
|
||||||
|
Loading…
Reference in New Issue
Block a user