(#417) Added togglebutton control to Linked View Group

This commit is contained in:
Magne Sjaastad 2015-09-07 14:54:54 +02:00
parent f26fa65d98
commit 3ca5406bb4
2 changed files with 26 additions and 0 deletions

View File

@ -49,6 +49,9 @@ RimViewLinker::RimViewLinker(void)
{
CAF_PDM_InitObject("Linked Views", ":/Reservoir1View.png", "", "");
CAF_PDM_InitField(&m_isActive, "Active", true, "Active", "", "", "");
m_isActive.uiCapability()->setUiHidden(true);
CAF_PDM_InitField(&m_name, "Name", QString("View Group Name"), "View Group Name", "", "", "");
m_name.uiCapability()->setUiHidden(true);
@ -72,6 +75,8 @@ RimViewLinker::~RimViewLinker(void)
//--------------------------------------------------------------------------------------------------
void RimViewLinker::updateTimeStep(RimView* sourceView, int timeStep)
{
if (!isActive()) return;
RimLinkedView* sourceLinkedView = linkedViewFromView(sourceView);
if (sourceLinkedView && !sourceLinkedView->syncTimeStep())
{
@ -103,6 +108,8 @@ void RimViewLinker::updateTimeStep(RimView* sourceView, int timeStep)
//--------------------------------------------------------------------------------------------------
void RimViewLinker::updateCellResult()
{
if (!isActive()) return;
RimView* rimView = m_mainView;
RimEclipseView* masterEclipseView = dynamic_cast<RimEclipseView*>(rimView);
if (masterEclipseView && masterEclipseView->cellResult())
@ -159,6 +166,8 @@ void RimViewLinker::updateCellResult()
//--------------------------------------------------------------------------------------------------
void RimViewLinker::updateRangeFilters()
{
if (!isActive()) return;
for (size_t i = 0; i < linkedViews.size(); i++)
{
RimLinkedView* managedViewConfig = linkedViews[i];
@ -194,6 +203,8 @@ void RimViewLinker::updateRangeFilters()
//--------------------------------------------------------------------------------------------------
void RimViewLinker::updatePropertyFilters()
{
if (!isActive()) return;
for (size_t i = 0; i < linkedViews.size(); i++)
{
RimLinkedView* managedViewConfig = linkedViews[i];
@ -239,6 +250,8 @@ void RimViewLinker::configureOverrides()
//--------------------------------------------------------------------------------------------------
void RimViewLinker::allViewsForCameraSync(RimView* source, std::vector<RimView*>& views)
{
if (!isActive()) return;
if (source != m_mainView())
{
views.push_back(m_mainView());
@ -383,3 +396,11 @@ void RimViewLinker::updateScaleZ(RimView* source, double scaleZ)
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RimViewLinker::isActive()
{
return m_isActive;
}

View File

@ -67,10 +67,15 @@ public:
protected:
virtual caf::PdmFieldHandle* userDescriptionField() { return &m_name; }
virtual caf::PdmFieldHandle* objectToggleField() { return &m_active; }
virtual void defineUiTreeOrdering(caf::PdmUiTreeOrdering& uiTreeOrdering, QString uiConfigName = "");
virtual void initAfterRead();
private:
bool isActive();
private:
caf::PdmField<bool> m_active;
caf::PdmPtrField<RimView*> m_mainView;
caf::PdmField<QString> m_name;
};