Added command features for "insert" and "delete" for property filters

Made sure that only "new" is available for property filter collections,
while "insert" and "delete" are available for property filters in the
tree view. TODO: Implement execution for insert and delete
This commit is contained in:
Pål Hagen 2015-08-10 13:35:57 +02:00
parent 8f29553b27
commit 9ab60b1477
6 changed files with 202 additions and 2 deletions

View File

@ -13,6 +13,8 @@ ${CEE_CURRENT_LIST_DIR}RicEclipseCaseNewView.h
${CEE_CURRENT_LIST_DIR}RicEclipseCasePaste.h
${CEE_CURRENT_LIST_DIR}RicEclipseCellResultSave.h
${CEE_CURRENT_LIST_DIR}RicEclipseFaultResultSave.h
${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterDelete.h
${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterInsert.h
${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterNew.h
${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterNewExec.h
${CEE_CURRENT_LIST_DIR}RicEclipseViewCopy.h
@ -42,6 +44,8 @@ ${CEE_CURRENT_LIST_DIR}RicEclipseCaseNewView.cpp
${CEE_CURRENT_LIST_DIR}RicEclipseCasePaste.cpp
${CEE_CURRENT_LIST_DIR}RicEclipseCellResultSave.cpp
${CEE_CURRENT_LIST_DIR}RicEclipseFaultResultSave.cpp
${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterDelete.cpp
${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterInsert.cpp
${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterNew.cpp
${CEE_CURRENT_LIST_DIR}RicEclipsePropertyFilterNewExec.cpp
${CEE_CURRENT_LIST_DIR}RicEclipseViewCopy.cpp

View File

@ -0,0 +1,57 @@
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2015- Statoil ASA
// Copyright (C) 2015- Ceetron Solutions AS
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
#include "RicEclipsePropertyFilterDelete.h"
#include "RimEclipsePropertyFilter.h"
#include "cafSelectionManager.h"
#include <QAction>
#include <vector>
CAF_CMD_SOURCE_INIT(RicEclipsePropertyFilterDelete, "RicEclipsePropertyFilterDelete");
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RicEclipsePropertyFilterDelete::isCommandEnabled()
{
std::vector<RimEclipsePropertyFilter*> selectedPropertyFilter;
caf::SelectionManager::instance()->objectsByType(&selectedPropertyFilter);
return selectedPropertyFilter.size() == 1;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicEclipsePropertyFilterDelete::onActionTriggered(bool isChecked)
{
// TODO
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicEclipsePropertyFilterDelete::setupActionLook(QAction* actionToSetup)
{
actionToSetup->setText("Delete");
}

View File

@ -0,0 +1,39 @@
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2015- Statoil ASA
// Copyright (C) 2015- Ceetron Solutions AS
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
#pragma once
#include "cafCmdFeature.h"
//==================================================================================================
///
//==================================================================================================
class RicEclipsePropertyFilterDelete : public caf::CmdFeature
{
CAF_CMD_HEADER_INIT;
protected:
// Overrides
virtual bool isCommandEnabled();
virtual void onActionTriggered( bool isChecked );
virtual void setupActionLook( QAction* actionToSetup );
};

View File

@ -0,0 +1,57 @@
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2015- Statoil ASA
// Copyright (C) 2015- Ceetron Solutions AS
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
#include "RicEclipsePropertyFilterInsert.h"
#include "RimEclipsePropertyFilter.h"
#include "cafSelectionManager.h"
#include <QAction>
#include <vector>
CAF_CMD_SOURCE_INIT(RicEclipsePropertyFilterInsert, "RicEclipsePropertyFilterInsert");
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
bool RicEclipsePropertyFilterInsert::isCommandEnabled()
{
std::vector<RimEclipsePropertyFilter*> selectedPropertyFilter;
caf::SelectionManager::instance()->objectsByType(&selectedPropertyFilter);
return selectedPropertyFilter.size() == 1;
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicEclipsePropertyFilterInsert::onActionTriggered(bool isChecked)
{
// TODO
}
//--------------------------------------------------------------------------------------------------
///
//--------------------------------------------------------------------------------------------------
void RicEclipsePropertyFilterInsert::setupActionLook(QAction* actionToSetup)
{
actionToSetup->setText("Insert");
}

View File

@ -0,0 +1,39 @@
/////////////////////////////////////////////////////////////////////////////////
//
// Copyright (C) 2015- Statoil ASA
// Copyright (C) 2015- Ceetron Solutions AS
//
// ResInsight is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// ResInsight is distributed in the hope that it will be useful, but WITHOUT ANY
// WARRANTY; without even the implied warranty of MERCHANTABILITY or
// FITNESS FOR A PARTICULAR PURPOSE.
//
// See the GNU General Public License at <http://www.gnu.org/licenses/gpl.html>
// for more details.
//
/////////////////////////////////////////////////////////////////////////////////
#pragma once
#include "cafCmdFeature.h"
//==================================================================================================
///
//==================================================================================================
class RicEclipsePropertyFilterInsert : public caf::CmdFeature
{
CAF_CMD_HEADER_INIT;
protected:
// Overrides
virtual bool isCommandEnabled();
virtual void onActionTriggered( bool isChecked );
virtual void setupActionLook( QAction* actionToSetup );
};

View File

@ -577,11 +577,15 @@ void RimProject::actionsBasedOnSelection(std::vector<QAction*>& actions)
actions.push_back(commandManager->action("RicRangeFilterNewSliceK"));
actions.push_back(commandManager->action("RicRangeFilterDelete"));
}
else if (dynamic_cast<RimEclipsePropertyFilterCollection*>(uiItems[0])
|| dynamic_cast<RimEclipsePropertyFilter*>(uiItems[0]))
else if (dynamic_cast<RimEclipsePropertyFilterCollection*>(uiItems[0]))
{
actions.push_back(commandManager->action("RicEclipsePropertyFilterNew"));
}
else if (dynamic_cast<RimEclipsePropertyFilter*>(uiItems[0]))
{
actions.push_back(commandManager->action("RicEclipsePropertyFilterInsert"));
actions.push_back(commandManager->action("RicEclipsePropertyFilterDelete"));
}
}