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;
|
||||
featureUi.setViews(views);
|
||||
|
||||
caf::PdmUiPropertyViewDialog propertyDialog(NULL, &featureUi, "Link Visible Views", "");
|
||||
caf::PdmUiPropertyViewDialog propertyDialog(NULL, &featureUi, "Select Master View", "");
|
||||
propertyDialog.setWindowIcon(QIcon(":/chain.png"));
|
||||
if (propertyDialog.exec() != QDialog::Accepted) return;
|
||||
|
||||
|
@ -19,12 +19,11 @@
|
||||
|
||||
#include "RicLinkVisibleViewsFeatureUi.h"
|
||||
|
||||
#include "cafPdmUiTextEditor.h"
|
||||
#include "cafPdmObjectGroup.h"
|
||||
#include "RiaApplication.h"
|
||||
|
||||
#include "RimView.h"
|
||||
#include "RimCase.h"
|
||||
#include "RimLinkedViews.h"
|
||||
#include "cafPdmUiItem.h"
|
||||
#include "RimView.h"
|
||||
|
||||
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_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", "", "", "");
|
||||
}
|
||||
|
||||
@ -49,15 +44,19 @@ void RicLinkVisibleViewsFeatureUi::setViews(const std::vector<RimView*>& allView
|
||||
{
|
||||
m_allViews = allViews;
|
||||
|
||||
QString viewNames;
|
||||
for (int i = 0; i < m_allViews.size(); i++)
|
||||
{
|
||||
viewNames += RimLinkedViews::displayNameForView(m_allViews[i]);
|
||||
viewNames += "\n";
|
||||
}
|
||||
m_allViewsAsText = viewNames;
|
||||
RimView* activeView = RiaApplication::instance()->activeReservoirView();
|
||||
|
||||
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];
|
||||
}
|
||||
@ -82,8 +81,20 @@ QList<caf::PdmOptionItemInfo> RicLinkVisibleViewsFeatureUi::calculateValueOption
|
||||
{
|
||||
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]),
|
||||
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);
|
||||
|
||||
private:
|
||||
caf::PdmField<QString> m_allViewsAsText;
|
||||
caf::PdmPtrField<RimView*> m_masterView;
|
||||
|
||||
std::vector<RimView*> m_allViews;
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -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();
|
||||
|
@ -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);
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
|
@ -63,7 +63,7 @@ protected:
|
||||
|
||||
private:
|
||||
void configureOverridesUpdateDisplayModel();
|
||||
void updateDisplayName();
|
||||
void updateDisplayNameAndIcon();
|
||||
|
||||
RimEclipseView* managedEclipseView();
|
||||
RimGeoMechView* managedGeoView();
|
||||
|
Loading…
Reference in New Issue
Block a user