Added context menu items for adding new statistical case

p4#: 20523
This commit is contained in:
Magne Sjaastad
2013-02-15 08:44:45 +01:00
parent 67cab9448e
commit c92e822f3f
8 changed files with 226 additions and 0 deletions

View File

@@ -31,6 +31,7 @@
#include "RimInputReservoir.h"
#include "RimBinaryExportSettings.h"
#include "RigReservoirCellResults.h"
#include "RimStatisticalCalculation.h"
//--------------------------------------------------------------------------------------------------
///
@@ -143,6 +144,19 @@ void RimUiTreeView::contextMenuEvent(QContextMenuEvent* event)
menu.addAction(QString("Save Property To File"), this, SLOT(slotWriteBinaryResultAsInputProperty()));
menu.exec(event->globalPos());
}
else if (dynamic_cast<RimIdenticalGridCaseGroup*>(uiItem->dataObject().p()))
{
QMenu menu;
menu.addAction(QString("New Statistical Case"), this, SLOT(slotNewStatisticalCase()));
menu.exec(event->globalPos());
}
else if (dynamic_cast<RimStatisticalCalculation*>(uiItem->dataObject().p()))
{
QMenu menu;
menu.addAction(QString("Compute"), this, SLOT(slotComputeStatisticalCases()));
menu.addAction(QString("Close"), this, SLOT(slotCloseCase()));
menu.exec(event->globalPos());
}
else if (dynamic_cast<RimReservoir*>(uiItem->dataObject().p()))
{
QMenu menu;
@@ -750,3 +764,32 @@ void RimUiTreeView::slotCloseCase()
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimUiTreeView::slotNewStatisticalCase()
{
RimUiTreeModelPdm* myModel = dynamic_cast<RimUiTreeModelPdm*>(model());
if (myModel)
{
QModelIndex insertedIndex;
RimStatisticalCalculation* newObject = myModel->addStatisticalCalculation(currentIndex(), insertedIndex);
setCurrentIndex(insertedIndex);
}
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RimUiTreeView::slotComputeStatisticalCases()
{
QModelIndex index = currentIndex();
RimUiTreeModelPdm* myModel = dynamic_cast<RimUiTreeModelPdm*>(model());
caf::PdmUiTreeItem* uiItem = myModel->getTreeItemFromIndex(currentIndex());
RimStatisticalCalculation* statisticalObject = dynamic_cast<RimStatisticalCalculation*>(uiItem->dataObject().p());
if (!statisticalObject) return;
statisticalObject->computeStatistics();
}