Use showWindow as objectToggleField for reservoir views

p4#: 21336
This commit is contained in:
Magne Sjaastad
2013-04-19 07:43:37 +02:00
parent cd24e77557
commit acbe59d9c1
4 changed files with 27 additions and 30 deletions

View File

@@ -356,11 +356,23 @@ void RimReservoirView::fieldChangedByUi(const caf::PdmFieldHandle* changedField,
} }
else if (changedField == &showWindow ) else if (changedField == &showWindow )
{ {
bool generateDisplayModel = (viewer() == NULL); if (showWindow)
updateViewerWidget();
if (generateDisplayModel)
{ {
createDisplayModelAndRedraw(); bool generateDisplayModel = (viewer() == NULL);
updateViewerWidget();
if (generateDisplayModel)
{
createDisplayModelAndRedraw();
}
}
else
{
if (m_viewer)
{
RiuMainWindow::instance()->removeViewer(m_viewer);
delete m_viewer;
m_viewer = NULL;
}
} }
} }
else if (changedField == &backgroundColor ) else if (changedField == &backgroundColor )
@@ -1377,3 +1389,11 @@ void RimReservoirView::setShowFaultsOnly(bool showFaults)
updateDisplayModelVisibility(); updateDisplayModelVisibility();
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
caf::PdmFieldHandle* RimReservoirView::objectToggleField()
{
return &showWindow;
}

View File

@@ -131,7 +131,7 @@ public:
void endAnimation(); void endAnimation();
// 3D Viewer // 3D Viewer
RiuViewer* viewer(); RiuViewer* viewer();
void updateViewerWidget(); void updateViewerWidget();
void updateViewerWidgetWindowTitle(); void updateViewerWidgetWindowTitle();
void setDefaultView(); void setDefaultView();
@@ -174,7 +174,8 @@ private:
// Overridden PDM methods: // Overridden PDM methods:
public: public:
virtual caf::PdmFieldHandle* userDescriptionField() { return &name;} virtual caf::PdmFieldHandle* userDescriptionField() { return &name; }
virtual caf::PdmFieldHandle* objectToggleField();
virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue); virtual void fieldChangedByUi(const caf::PdmFieldHandle* changedField, const QVariant& oldValue, const QVariant& newValue);
protected: protected:
virtual void initAfterRead(); virtual void initAfterRead();

View File

@@ -84,7 +84,6 @@ void RimUiTreeView::contextMenuEvent(QContextMenuEvent* event)
if (dynamic_cast<RimReservoirView*>(uiItem->dataObject().p())) if (dynamic_cast<RimReservoirView*>(uiItem->dataObject().p()))
{ {
QMenu menu; QMenu menu;
menu.addAction(QString("Show 3D Window"), this, SLOT(slotShowWindow()));
menu.addAction(QString("New View"), this, SLOT(slotAddView())); menu.addAction(QString("New View"), this, SLOT(slotAddView()));
menu.addAction(QString("Delete"), this, SLOT(slotDeleteView())); menu.addAction(QString("Delete"), this, SLOT(slotDeleteView()));
menu.exec(event->globalPos()); menu.exec(event->globalPos());
@@ -250,28 +249,6 @@ void RimUiTreeView::slotDeleteItem()
return; return;
} }
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimUiTreeView::slotShowWindow()
{
QModelIndex index = currentIndex();
RimUiTreeModelPdm* myModel = dynamic_cast<RimUiTreeModelPdm*>(model());
caf::PdmUiTreeItem* uiItem = myModel->getTreeItemFromIndex(currentIndex());
RimReservoirView * riv = NULL;
if (riv = dynamic_cast<RimReservoirView*>(uiItem->dataObject().p()))
{
riv->showWindow = true;
bool generateDisplayModel = (riv->viewer() == NULL);
riv->updateViewerWidget();
if (generateDisplayModel)
{
riv->createDisplayModelAndRedraw();
}
}
}
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
/// ///
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@@ -49,7 +49,6 @@ protected:
private slots: private slots:
void slotAddChildItem(); void slotAddChildItem();
void slotDeleteItem(); void slotDeleteItem();
void slotShowWindow();
void slotAddRangeFilter(); void slotAddRangeFilter();
void slotAddSliceFilterI(); void slotAddSliceFilterI();