mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-10 23:46:00 -06:00
#4490 Command Features : Use app state for toggle features
This commit is contained in:
parent
41235a2f00
commit
bdcc7c53f7
@ -19,9 +19,10 @@
|
|||||||
|
|
||||||
#include "RicToggleItemsFeatureImpl.h"
|
#include "RicToggleItemsFeatureImpl.h"
|
||||||
|
|
||||||
|
#include "RiaFeatureCommandContext.h"
|
||||||
|
#include "RiaGuiApplication.h"
|
||||||
#include "RiuMainWindow.h"
|
#include "RiuMainWindow.h"
|
||||||
#include "RiuPlotMainWindow.h"
|
#include "RiuPlotMainWindow.h"
|
||||||
#include "RiaGuiApplication.h"
|
|
||||||
|
|
||||||
#include "cafPdmUiFieldHandle.h"
|
#include "cafPdmUiFieldHandle.h"
|
||||||
#include "cafPdmUiItem.h"
|
#include "cafPdmUiItem.h"
|
||||||
@ -153,22 +154,54 @@ void RicToggleItemsFeatureImpl::setObjectToggleStateForSelection(SelectionToggle
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
///
|
||||||
|
//--------------------------------------------------------------------------------------------------
|
||||||
|
caf::PdmUiTreeView* RicToggleItemsFeatureImpl::findTreeView(const caf::PdmUiItem* uiItem)
|
||||||
|
{
|
||||||
|
{
|
||||||
|
RiaFeatureCommandContext* context = RiaFeatureCommandContext::instance();
|
||||||
|
|
||||||
|
caf::PdmUiTreeView* customActiveTreeView = dynamic_cast<caf::PdmUiTreeView*>(context->object());
|
||||||
|
if (customActiveTreeView)
|
||||||
|
{
|
||||||
|
return customActiveTreeView;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
{
|
||||||
|
QModelIndex modIndex = RiuMainWindow::instance()->projectTreeView()->findModelIndex(uiItem);
|
||||||
|
if (modIndex.isValid())
|
||||||
|
{
|
||||||
|
return RiuMainWindow::instance()->projectTreeView();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
RiuPlotMainWindow* mainPlotWindow = RiaGuiApplication::instance()->mainPlotWindow();
|
||||||
|
if (mainPlotWindow)
|
||||||
|
{
|
||||||
|
QModelIndex modIndex = mainPlotWindow->projectTreeView()->findModelIndex(uiItem);
|
||||||
|
if (modIndex.isValid())
|
||||||
|
{
|
||||||
|
return mainPlotWindow->projectTreeView();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return nullptr;
|
||||||
|
}
|
||||||
|
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
/// Finds the tree item in either the 3D main window or plot main window project tree view
|
/// Finds the tree item in either the 3D main window or plot main window project tree view
|
||||||
//--------------------------------------------------------------------------------------------------
|
//--------------------------------------------------------------------------------------------------
|
||||||
caf::PdmUiTreeOrdering* RicToggleItemsFeatureImpl::findTreeItemFromSelectedUiItem(const caf::PdmUiItem* uiItem)
|
caf::PdmUiTreeOrdering* RicToggleItemsFeatureImpl::findTreeItemFromSelectedUiItem(const caf::PdmUiItem* uiItem)
|
||||||
{
|
{
|
||||||
QModelIndex modIndex = RiuMainWindow::instance()->projectTreeView()->findModelIndex(uiItem);
|
caf::PdmUiTreeView* pdmUiTreeView = findTreeView(uiItem);
|
||||||
if(!modIndex.isValid())
|
|
||||||
|
if (pdmUiTreeView)
|
||||||
{
|
{
|
||||||
RiuPlotMainWindow* mainPlotWindow = RiaGuiApplication::instance()->mainPlotWindow();
|
QModelIndex modIndex = pdmUiTreeView->findModelIndex(uiItem);
|
||||||
if(mainPlotWindow)
|
return static_cast<caf::PdmUiTreeOrdering*>(modIndex.internalPointer());
|
||||||
{
|
|
||||||
modIndex = mainPlotWindow->projectTreeView()->findModelIndex(uiItem);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
caf::PdmUiTreeOrdering* treeItem = static_cast<caf::PdmUiTreeOrdering*>(modIndex.internalPointer());
|
return nullptr;
|
||||||
|
|
||||||
return treeItem;
|
|
||||||
}
|
}
|
||||||
|
@ -23,6 +23,7 @@ namespace caf
|
|||||||
{
|
{
|
||||||
class PdmUiItem;
|
class PdmUiItem;
|
||||||
class PdmUiTreeOrdering;
|
class PdmUiTreeOrdering;
|
||||||
|
class PdmUiTreeView;
|
||||||
};
|
};
|
||||||
|
|
||||||
//==================================================================================================
|
//==================================================================================================
|
||||||
@ -45,6 +46,7 @@ public:
|
|||||||
static void setObjectToggleStateForSelection(SelectionToggleType state);
|
static void setObjectToggleStateForSelection(SelectionToggleType state);
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
static caf::PdmUiTreeView* findTreeView(const caf::PdmUiItem* uiItem);
|
||||||
static caf::PdmUiTreeOrdering* findTreeItemFromSelectedUiItem(const caf::PdmUiItem* uiItem);
|
static caf::PdmUiTreeOrdering* findTreeItemFromSelectedUiItem(const caf::PdmUiItem* uiItem);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user