Refactored property filter commands, moved code to helper class

This commit is contained in:
Pål Hagen 2015-08-10 17:00:12 +02:00
parent b36ce378d7
commit c4ab24db9c
4 changed files with 29 additions and 71 deletions

View File

@ -20,9 +20,10 @@
#include "RicEclipsePropertyFilterDelete.h" #include "RicEclipsePropertyFilterDelete.h"
#include "RicEclipsePropertyFilterDeleteExec.h" #include "RicEclipsePropertyFilterDeleteExec.h"
#include "RicEclipsePropertyFilter.h"
#include "RimEclipsePropertyFilter.h" #include "RimEclipsePropertyFilter.h"
#include "cafSelectionManager.h"
#include "cafCmdExecCommandManager.h" #include "cafCmdExecCommandManager.h"
#include <QAction> #include <QAction>
@ -36,10 +37,8 @@ CAF_CMD_SOURCE_INIT(RicEclipsePropertyFilterDelete, "RicEclipsePropertyFilterDel
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
bool RicEclipsePropertyFilterDelete::isCommandEnabled() bool RicEclipsePropertyFilterDelete::isCommandEnabled()
{ {
std::vector<RimEclipsePropertyFilter*> selectedPropertyFilter; std::vector<RimEclipsePropertyFilter*> propertyFilters = RicEclipsePropertyFilter::selectedPropertyFilters();
caf::SelectionManager::instance()->objectsByType(&selectedPropertyFilter); return propertyFilters.size() == 1;
return selectedPropertyFilter.size() == 1;
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -47,12 +46,10 @@ bool RicEclipsePropertyFilterDelete::isCommandEnabled()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RicEclipsePropertyFilterDelete::onActionTriggered(bool isChecked) void RicEclipsePropertyFilterDelete::onActionTriggered(bool isChecked)
{ {
std::vector<RimEclipsePropertyFilter*> selectedPropertyFilter; std::vector<RimEclipsePropertyFilter*> propertyFilters = RicEclipsePropertyFilter::selectedPropertyFilters();
caf::SelectionManager::instance()->objectsByType(&selectedPropertyFilter); if (propertyFilters.size() == 1)
if (selectedPropertyFilter.size() == 1)
{ {
RicEclipsePropertyFilterDeleteExec* filterExec = new RicEclipsePropertyFilterDeleteExec(selectedPropertyFilter[0]); RicEclipsePropertyFilterDeleteExec* filterExec = new RicEclipsePropertyFilterDeleteExec(propertyFilters[0]);
caf::CmdExecCommandManager::instance()->processExecuteCommand(filterExec); caf::CmdExecCommandManager::instance()->processExecuteCommand(filterExec);
} }
} }

View File

@ -19,9 +19,12 @@
#include "RicEclipsePropertyFilterInsert.h" #include "RicEclipsePropertyFilterInsert.h"
#include "RicEclipsePropertyFilterInsertExec.h"
#include "RicEclipsePropertyFilter.h"
#include "RimEclipsePropertyFilter.h" #include "RimEclipsePropertyFilter.h"
#include "cafSelectionManager.h" #include "cafCmdExecCommandManager.h"
#include <QAction> #include <QAction>
@ -34,10 +37,8 @@ CAF_CMD_SOURCE_INIT(RicEclipsePropertyFilterInsert, "RicEclipsePropertyFilterIns
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
bool RicEclipsePropertyFilterInsert::isCommandEnabled() bool RicEclipsePropertyFilterInsert::isCommandEnabled()
{ {
std::vector<RimEclipsePropertyFilter*> selectedPropertyFilter; std::vector<RimEclipsePropertyFilter*> propertyFilters = RicEclipsePropertyFilter::selectedPropertyFilters();
caf::SelectionManager::instance()->objectsByType(&selectedPropertyFilter); return propertyFilters.size() == 1;
return selectedPropertyFilter.size() == 1;
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -45,7 +46,12 @@ bool RicEclipsePropertyFilterInsert::isCommandEnabled()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RicEclipsePropertyFilterInsert::onActionTriggered(bool isChecked) void RicEclipsePropertyFilterInsert::onActionTriggered(bool isChecked)
{ {
// TODO std::vector<RimEclipsePropertyFilter*> propertyFilters = RicEclipsePropertyFilter::selectedPropertyFilters();
if (propertyFilters.size() == 1)
{
RicEclipsePropertyFilterInsertExec* filterExec = new RicEclipsePropertyFilterInsertExec(propertyFilters[0]);
caf::CmdExecCommandManager::instance()->processExecuteCommand(filterExec);
}
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------

View File

@ -20,10 +20,11 @@
#include "RicEclipsePropertyFilterNew.h" #include "RicEclipsePropertyFilterNew.h"
#include "RicEclipsePropertyFilterNewExec.h" #include "RicEclipsePropertyFilterNewExec.h"
#include "RicEclipsePropertyFilter.h"
#include "RimEclipsePropertyFilter.h" #include "RimEclipsePropertyFilter.h"
#include "RimEclipsePropertyFilterCollection.h" #include "RimEclipsePropertyFilterCollection.h"
#include "cafSelectionManager.h"
#include "cafCmdExecCommandManager.h" #include "cafCmdExecCommandManager.h"
#include <QAction> #include <QAction>
@ -35,20 +36,8 @@ CAF_CMD_SOURCE_INIT(RicEclipsePropertyFilterNew, "RicEclipsePropertyFilterNew");
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
bool RicEclipsePropertyFilterNew::isCommandEnabled() bool RicEclipsePropertyFilterNew::isCommandEnabled()
{ {
std::vector<RimEclipsePropertyFilter*> selectedPropertyFilter; std::vector<RimEclipsePropertyFilterCollection*> filterCollections = RicEclipsePropertyFilter::selectedPropertyFilterCollections();
caf::SelectionManager::instance()->objectsByType(&selectedPropertyFilter); return filterCollections.size() == 1;
std::vector<RimEclipsePropertyFilterCollection*> selectedPropertyFilterCollection;
caf::SelectionManager::instance()->objectsByType(&selectedPropertyFilterCollection);
if (selectedPropertyFilter.size() > 0 || selectedPropertyFilterCollection.size() > 0)
{
return true;
}
else
{
return false;
}
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -56,25 +45,10 @@ bool RicEclipsePropertyFilterNew::isCommandEnabled()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RicEclipsePropertyFilterNew::onActionTriggered(bool isChecked) void RicEclipsePropertyFilterNew::onActionTriggered(bool isChecked)
{ {
RimEclipsePropertyFilterCollection* propertyFilterCollection = NULL; std::vector<RimEclipsePropertyFilterCollection*> filterCollections = RicEclipsePropertyFilter::selectedPropertyFilterCollections();
if (filterCollections.size() == 1)
std::vector<RimEclipsePropertyFilter*> selectedPropertyFilter;
caf::SelectionManager::instance()->objectsByType(&selectedPropertyFilter);
std::vector<RimEclipsePropertyFilterCollection*> selectedPropertyFilterCollection;
caf::SelectionManager::instance()->objectsByType(&selectedPropertyFilterCollection);
if (selectedPropertyFilterCollection.size() == 1)
{ {
propertyFilterCollection = selectedPropertyFilterCollection[0]; RicEclipsePropertyFilterNewExec* filterExec = new RicEclipsePropertyFilterNewExec(filterCollections[0]);
}
else if (selectedPropertyFilter.size() > 0)
{
propertyFilterCollection = dynamic_cast<RimEclipsePropertyFilterCollection*>(selectedPropertyFilter[0]->owner());
}
if (propertyFilterCollection)
{
RicEclipsePropertyFilterNewExec* filterExec = new RicEclipsePropertyFilterNewExec(propertyFilterCollection);
caf::CmdExecCommandManager::instance()->processExecuteCommand(filterExec); caf::CmdExecCommandManager::instance()->processExecuteCommand(filterExec);
} }
} }

View File

@ -19,11 +19,10 @@
#include "RicEclipsePropertyFilterNewExec.h" #include "RicEclipsePropertyFilterNewExec.h"
#include "RicEclipsePropertyFilter.h"
#include "RimEclipsePropertyFilter.h" #include "RimEclipsePropertyFilter.h"
#include "RimEclipsePropertyFilterCollection.h" #include "RimEclipsePropertyFilterCollection.h"
#include "RimEclipseView.h"
#include "RimEclipseResultDefinition.h"
#include "RimEclipseCellColors.h"
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
@ -56,25 +55,7 @@ QString RicEclipsePropertyFilterNewExec::name()
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------
void RicEclipsePropertyFilterNewExec::redo() void RicEclipsePropertyFilterNewExec::redo()
{ {
RimEclipsePropertyFilter* propertyFilter = new RimEclipsePropertyFilter(); RicEclipsePropertyFilter::addPropertyFilter(m_propertyFilterCollection);
propertyFilter->setParentContainer(m_propertyFilterCollection);
RimEclipseView* reservoirView = m_propertyFilterCollection->reservoirView();
assert(reservoirView);
propertyFilter->resultDefinition->setReservoirView(reservoirView);
propertyFilter->resultDefinition->setResultVariable(reservoirView->cellResult->resultVariable());
propertyFilter->resultDefinition->setPorosityModel(reservoirView->cellResult->porosityModel());
propertyFilter->resultDefinition->setResultType(reservoirView->cellResult->resultType());
propertyFilter->resultDefinition->loadResult();
propertyFilter->setToDefaultValues();
propertyFilter->updateFilterName();
m_propertyFilterCollection->propertyFilters.push_back(propertyFilter);
m_propertyFilterCollection->reservoirView()->scheduleGeometryRegen(PROPERTY_FILTERED);
caf::PdmUiFieldHandle::updateConnectedUiEditors(m_propertyFilterCollection->parentField());
caf::PdmUiFieldHandle::updateConnectedUiEditors(&m_propertyFilterCollection->propertyFilters);
} }
//-------------------------------------------------------------------------------------------------- //--------------------------------------------------------------------------------------------------