mirror of
https://github.com/OPM/ResInsight.git
synced 2025-02-25 18:55:39 -06:00
#6106 Apply clang-format on AppFwk
This commit is contained in:
@@ -44,36 +44,35 @@
|
||||
|
||||
namespace caf
|
||||
{
|
||||
|
||||
CAF_CMD_SOURCE_INIT(ToggleItemsFeature, "cafToggleItemsFeature");
|
||||
CAF_CMD_SOURCE_INIT( ToggleItemsFeature, "cafToggleItemsFeature" );
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool ToggleItemsFeature::isCommandEnabled()
|
||||
bool ToggleItemsFeature::isCommandEnabled()
|
||||
{
|
||||
return ToggleItemsFeatureImpl::isToggleCommandsAvailable();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void ToggleItemsFeature::onActionTriggered(bool isChecked)
|
||||
void ToggleItemsFeature::onActionTriggered( bool isChecked )
|
||||
{
|
||||
ToggleItemsFeatureImpl::setObjectToggleStateForSelection(ToggleItemsFeatureImpl::TOGGLE_SUBITEMS);
|
||||
ToggleItemsFeatureImpl::setObjectToggleStateForSelection( ToggleItemsFeatureImpl::TOGGLE_SUBITEMS );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void ToggleItemsFeature::setupActionLook(QAction* actionToSetup)
|
||||
void ToggleItemsFeature::setupActionLook( QAction* actionToSetup )
|
||||
{
|
||||
if (ToggleItemsFeatureImpl::isToggleCommandsForSubItems())
|
||||
actionToSetup->setText("Toggle Sub Items");
|
||||
if ( ToggleItemsFeatureImpl::isToggleCommandsForSubItems() )
|
||||
actionToSetup->setText( "Toggle Sub Items" );
|
||||
else
|
||||
actionToSetup->setText("Toggle");
|
||||
actionToSetup->setText( "Toggle" );
|
||||
|
||||
actionToSetup->setIcon(QIcon(":/cafCommandFeatures/ToggleOnOffL16x16.png"));
|
||||
actionToSetup->setIcon( QIcon( ":/cafCommandFeatures/ToggleOnOffL16x16.png" ) );
|
||||
}
|
||||
|
||||
}
|
||||
} // namespace caf
|
||||
@@ -41,17 +41,17 @@
|
||||
namespace caf
|
||||
{
|
||||
//==================================================================================================
|
||||
///
|
||||
///
|
||||
//==================================================================================================
|
||||
class ToggleItemsFeature : public caf::CmdFeature
|
||||
{
|
||||
CAF_CMD_HEADER_INIT;
|
||||
protected:
|
||||
|
||||
protected:
|
||||
// Overrides
|
||||
bool isCommandEnabled() override;
|
||||
void onActionTriggered( bool isChecked ) override;
|
||||
void setupActionLook( QAction* actionToSetup ) override;
|
||||
};
|
||||
|
||||
}
|
||||
} // namespace caf
|
||||
@@ -50,38 +50,36 @@
|
||||
|
||||
#include <QModelIndex>
|
||||
|
||||
#include <vector>
|
||||
#include "cafCmdFeatureManager.h"
|
||||
#include <vector>
|
||||
|
||||
namespace caf
|
||||
{
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool ToggleItemsFeatureImpl::isToggleCommandsAvailable()
|
||||
{
|
||||
std::vector<caf::PdmUiItem*> selectedItems;
|
||||
caf::SelectionManager::instance()->selectedItems(selectedItems);
|
||||
caf::SelectionManager::instance()->selectedItems( selectedItems );
|
||||
|
||||
if (selectedItems.size() == 1)
|
||||
if ( selectedItems.size() == 1 )
|
||||
{
|
||||
caf::PdmUiTreeOrdering* treeItem = findTreeItemFromSelectedUiItem(selectedItems[0]);
|
||||
caf::PdmUiTreeOrdering* treeItem = findTreeItemFromSelectedUiItem( selectedItems[0] );
|
||||
|
||||
if (!treeItem) return false;
|
||||
if ( !treeItem ) return false;
|
||||
|
||||
for (int cIdx = 0; cIdx < treeItem->childCount(); ++ cIdx)
|
||||
for ( int cIdx = 0; cIdx < treeItem->childCount(); ++cIdx )
|
||||
{
|
||||
caf::PdmUiTreeOrdering* child = treeItem->child(cIdx);
|
||||
if (!child) continue;
|
||||
if (!child->isRepresentingObject()) continue;
|
||||
caf::PdmUiTreeOrdering* child = treeItem->child( cIdx );
|
||||
if ( !child ) continue;
|
||||
if ( !child->isRepresentingObject() ) continue;
|
||||
|
||||
caf::PdmObjectHandle* childObj = child->object();
|
||||
caf::PdmUiObjectHandle* uiObjectHandleChild = uiObj(childObj);
|
||||
caf::PdmObjectHandle* childObj = child->object();
|
||||
caf::PdmUiObjectHandle* uiObjectHandleChild = uiObj( childObj );
|
||||
|
||||
if (uiObjectHandleChild &&
|
||||
uiObjectHandleChild->objectToggleField() &&
|
||||
!uiObjectHandleChild->objectToggleField()->uiCapability()->isUiReadOnly())
|
||||
if ( uiObjectHandleChild && uiObjectHandleChild->objectToggleField() &&
|
||||
!uiObjectHandleChild->objectToggleField()->uiCapability()->isUiReadOnly() )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@@ -89,11 +87,11 @@ bool ToggleItemsFeatureImpl::isToggleCommandsAvailable()
|
||||
}
|
||||
else
|
||||
{
|
||||
for (size_t i = 0; i < selectedItems.size(); ++i)
|
||||
for ( size_t i = 0; i < selectedItems.size(); ++i )
|
||||
{
|
||||
caf::PdmUiObjectHandle* uiObjectHandle = dynamic_cast<caf::PdmUiObjectHandle*>(selectedItems[i]);
|
||||
caf::PdmUiObjectHandle* uiObjectHandle = dynamic_cast<caf::PdmUiObjectHandle*>( selectedItems[i] );
|
||||
|
||||
if (uiObjectHandle && uiObjectHandle->objectToggleField())
|
||||
if ( uiObjectHandle && uiObjectHandle->objectToggleField() )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
@@ -104,73 +102,73 @@ bool ToggleItemsFeatureImpl::isToggleCommandsAvailable()
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool ToggleItemsFeatureImpl::isToggleCommandsForSubItems()
|
||||
{
|
||||
std::vector<caf::PdmUiItem*> selectedItems;
|
||||
caf::SelectionManager::instance()->selectedItems(selectedItems);
|
||||
if (isToggleCommandsAvailable() && selectedItems.size() == 1)
|
||||
{
|
||||
caf::SelectionManager::instance()->selectedItems( selectedItems );
|
||||
if ( isToggleCommandsAvailable() && selectedItems.size() == 1 )
|
||||
{
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
/// Set toggle state for list of model indices.
|
||||
/// Set toggle state for list of model indices.
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void ToggleItemsFeatureImpl::setObjectToggleStateForSelection(SelectionToggleType state)
|
||||
void ToggleItemsFeatureImpl::setObjectToggleStateForSelection( SelectionToggleType state )
|
||||
{
|
||||
std::vector<caf::PdmUiItem*> selectedItems;
|
||||
caf::SelectionManager::instance()->selectedItems(selectedItems);
|
||||
if (state != TOGGLE && selectedItems.size() == 1)
|
||||
caf::SelectionManager::instance()->selectedItems( selectedItems );
|
||||
if ( state != TOGGLE && selectedItems.size() == 1 )
|
||||
{
|
||||
// If only one item is selected, loop over its children, and toggle them instead of the
|
||||
// If only one item is selected, loop over its children, and toggle them instead of the
|
||||
// selected item directly
|
||||
|
||||
// We need to get the children through the tree view, because that is where the actually shown children is
|
||||
|
||||
caf::PdmUiTreeOrdering* treeItem = findTreeItemFromSelectedUiItem(selectedItems[0]);
|
||||
|
||||
if (!treeItem) return;
|
||||
// We need to get the children through the tree view, because that is where the actually shown children is
|
||||
|
||||
for (int cIdx = 0; cIdx < treeItem->childCount(); ++ cIdx)
|
||||
caf::PdmUiTreeOrdering* treeItem = findTreeItemFromSelectedUiItem( selectedItems[0] );
|
||||
|
||||
if ( !treeItem ) return;
|
||||
|
||||
for ( int cIdx = 0; cIdx < treeItem->childCount(); ++cIdx )
|
||||
{
|
||||
caf::PdmUiTreeOrdering* child = treeItem->child(cIdx);
|
||||
if (!child) continue;
|
||||
if (!child->isRepresentingObject()) continue;
|
||||
caf::PdmUiTreeOrdering* child = treeItem->child( cIdx );
|
||||
if ( !child ) continue;
|
||||
if ( !child->isRepresentingObject() ) continue;
|
||||
|
||||
caf::PdmObjectHandle* childObj = child->object();
|
||||
caf::PdmUiObjectHandle* uiObjectHandleChild = uiObj(childObj);
|
||||
caf::PdmObjectHandle* childObj = child->object();
|
||||
caf::PdmUiObjectHandle* uiObjectHandleChild = uiObj( childObj );
|
||||
|
||||
if (uiObjectHandleChild && uiObjectHandleChild->objectToggleField())
|
||||
if ( uiObjectHandleChild && uiObjectHandleChild->objectToggleField() )
|
||||
{
|
||||
caf::PdmField<bool>* field = dynamic_cast<caf::PdmField<bool>*>(uiObjectHandleChild->objectToggleField());
|
||||
caf::PdmField<bool>* field = dynamic_cast<caf::PdmField<bool>*>( uiObjectHandleChild->objectToggleField() );
|
||||
|
||||
if (state == TOGGLE_ON) field->setValueWithFieldChanged(true);
|
||||
if (state == TOGGLE_OFF) field->setValueWithFieldChanged(false);
|
||||
if (state == TOGGLE_SUBITEMS) field->setValueWithFieldChanged(!(field->v()));
|
||||
if ( state == TOGGLE_ON ) field->setValueWithFieldChanged( true );
|
||||
if ( state == TOGGLE_OFF ) field->setValueWithFieldChanged( false );
|
||||
if ( state == TOGGLE_SUBITEMS ) field->setValueWithFieldChanged( !( field->v() ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (size_t i = 0; i < selectedItems.size(); ++i)
|
||||
for ( size_t i = 0; i < selectedItems.size(); ++i )
|
||||
{
|
||||
caf::PdmUiObjectHandle* uiObjectHandle = dynamic_cast< caf::PdmUiObjectHandle*>(selectedItems[i]);
|
||||
caf::PdmUiObjectHandle* uiObjectHandle = dynamic_cast<caf::PdmUiObjectHandle*>( selectedItems[i] );
|
||||
|
||||
if (uiObjectHandle && uiObjectHandle->objectToggleField())
|
||||
if ( uiObjectHandle && uiObjectHandle->objectToggleField() )
|
||||
{
|
||||
caf::PdmField<bool>* field = dynamic_cast<caf::PdmField<bool>* >(uiObjectHandle->objectToggleField());
|
||||
caf::PdmField<bool>* field = dynamic_cast<caf::PdmField<bool>*>( uiObjectHandle->objectToggleField() );
|
||||
|
||||
if (state == TOGGLE_ON) field->setValueWithFieldChanged(true);
|
||||
if (state == TOGGLE_OFF) field->setValueWithFieldChanged(false);
|
||||
if (state == TOGGLE_SUBITEMS || state == TOGGLE)
|
||||
if ( state == TOGGLE_ON ) field->setValueWithFieldChanged( true );
|
||||
if ( state == TOGGLE_OFF ) field->setValueWithFieldChanged( false );
|
||||
if ( state == TOGGLE_SUBITEMS || state == TOGGLE )
|
||||
{
|
||||
field->setValueWithFieldChanged(!(field->v()));
|
||||
field->setValueWithFieldChanged( !( field->v() ) );
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -178,27 +176,28 @@ void ToggleItemsFeatureImpl::setObjectToggleStateForSelection(SelectionToggleTyp
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
caf::PdmUiTreeView* ToggleItemsFeatureImpl::findTreeView(const caf::PdmUiItem* uiItem)
|
||||
caf::PdmUiTreeView* ToggleItemsFeatureImpl::findTreeView( const caf::PdmUiItem* uiItem )
|
||||
{
|
||||
caf::PdmUiTreeView* customActiveTreeView = dynamic_cast<caf::PdmUiTreeView*>(CmdFeatureManager::instance()->currentContextMenuTargetWidget());
|
||||
|
||||
caf::PdmUiTreeView* customActiveTreeView =
|
||||
dynamic_cast<caf::PdmUiTreeView*>( CmdFeatureManager::instance()->currentContextMenuTargetWidget() );
|
||||
|
||||
return customActiveTreeView;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
/// Finds the tree item in either the 3D main window or plot main window project tree view
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
caf::PdmUiTreeOrdering* ToggleItemsFeatureImpl::findTreeItemFromSelectedUiItem(const caf::PdmUiItem* uiItem)
|
||||
caf::PdmUiTreeOrdering* ToggleItemsFeatureImpl::findTreeItemFromSelectedUiItem( const caf::PdmUiItem* uiItem )
|
||||
{
|
||||
caf::PdmUiTreeView* pdmUiTreeView = findTreeView(uiItem);
|
||||
caf::PdmUiTreeView* pdmUiTreeView = findTreeView( uiItem );
|
||||
|
||||
if (pdmUiTreeView)
|
||||
if ( pdmUiTreeView )
|
||||
{
|
||||
QModelIndex modIndex = pdmUiTreeView->findModelIndex(uiItem);
|
||||
return static_cast<caf::PdmUiTreeOrdering*>(modIndex.internalPointer());
|
||||
QModelIndex modIndex = pdmUiTreeView->findModelIndex( uiItem );
|
||||
return static_cast<caf::PdmUiTreeOrdering*>( modIndex.internalPointer() );
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
}
|
||||
} // namespace caf
|
||||
@@ -38,33 +38,32 @@
|
||||
|
||||
namespace caf
|
||||
{
|
||||
class PdmUiItem;
|
||||
class PdmUiTreeOrdering;
|
||||
class PdmUiTreeView;
|
||||
|
||||
class PdmUiItem;
|
||||
class PdmUiTreeOrdering;
|
||||
class PdmUiTreeView;
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
///
|
||||
//==================================================================================================
|
||||
class ToggleItemsFeatureImpl
|
||||
class ToggleItemsFeatureImpl
|
||||
{
|
||||
public:
|
||||
enum SelectionToggleType
|
||||
{
|
||||
TOGGLE_ON,
|
||||
TOGGLE_OFF,
|
||||
TOGGLE_SUBITEMS,
|
||||
TOGGLE,
|
||||
TOGGLE_UNDEFINED
|
||||
};
|
||||
enum SelectionToggleType
|
||||
{
|
||||
TOGGLE_ON,
|
||||
TOGGLE_OFF,
|
||||
TOGGLE_SUBITEMS,
|
||||
TOGGLE,
|
||||
TOGGLE_UNDEFINED
|
||||
};
|
||||
|
||||
static bool isToggleCommandsAvailable();
|
||||
static bool isToggleCommandsForSubItems();
|
||||
static void setObjectToggleStateForSelection(SelectionToggleType state);
|
||||
static bool isToggleCommandsAvailable();
|
||||
static bool isToggleCommandsForSubItems();
|
||||
static void setObjectToggleStateForSelection( SelectionToggleType state );
|
||||
|
||||
private:
|
||||
static caf::PdmUiTreeView* findTreeView(const caf::PdmUiItem* uiItem);
|
||||
static caf::PdmUiTreeOrdering* findTreeItemFromSelectedUiItem(const caf::PdmUiItem* uiItem);
|
||||
static caf::PdmUiTreeView* findTreeView( const caf::PdmUiItem* uiItem );
|
||||
static caf::PdmUiTreeOrdering* findTreeItemFromSelectedUiItem( const caf::PdmUiItem* uiItem );
|
||||
};
|
||||
|
||||
};
|
||||
}; // namespace caf
|
||||
|
||||
@@ -44,37 +44,35 @@
|
||||
|
||||
namespace caf
|
||||
{
|
||||
|
||||
CAF_CMD_SOURCE_INIT(ToggleItemsOffFeature, "cafToggleItemsOffFeature");
|
||||
CAF_CMD_SOURCE_INIT( ToggleItemsOffFeature, "cafToggleItemsOffFeature" );
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool ToggleItemsOffFeature::isCommandEnabled()
|
||||
bool ToggleItemsOffFeature::isCommandEnabled()
|
||||
{
|
||||
return ToggleItemsFeatureImpl::isToggleCommandsAvailable();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void ToggleItemsOffFeature::onActionTriggered(bool isChecked)
|
||||
void ToggleItemsOffFeature::onActionTriggered( bool isChecked )
|
||||
{
|
||||
ToggleItemsFeatureImpl::setObjectToggleStateForSelection(ToggleItemsFeatureImpl::TOGGLE_OFF);
|
||||
ToggleItemsFeatureImpl::setObjectToggleStateForSelection( ToggleItemsFeatureImpl::TOGGLE_OFF );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void ToggleItemsOffFeature::setupActionLook(QAction* actionToSetup)
|
||||
void ToggleItemsOffFeature::setupActionLook( QAction* actionToSetup )
|
||||
{
|
||||
if (ToggleItemsFeatureImpl::isToggleCommandsForSubItems())
|
||||
actionToSetup->setText("Sub Items Off");
|
||||
if ( ToggleItemsFeatureImpl::isToggleCommandsForSubItems() )
|
||||
actionToSetup->setText( "Sub Items Off" );
|
||||
else
|
||||
actionToSetup->setText("Off");
|
||||
|
||||
actionToSetup->setIcon(QIcon(":/cafCommandFeatures/ToggleOffL16x16.png"));
|
||||
actionToSetup->setText( "Off" );
|
||||
|
||||
actionToSetup->setIcon( QIcon( ":/cafCommandFeatures/ToggleOffL16x16.png" ) );
|
||||
}
|
||||
|
||||
}
|
||||
} // namespace caf
|
||||
@@ -41,17 +41,17 @@
|
||||
namespace caf
|
||||
{
|
||||
//==================================================================================================
|
||||
///
|
||||
///
|
||||
//==================================================================================================
|
||||
class ToggleItemsOffFeature : public caf::CmdFeature
|
||||
{
|
||||
CAF_CMD_HEADER_INIT;
|
||||
protected:
|
||||
|
||||
protected:
|
||||
// Overrides
|
||||
bool isCommandEnabled() override;
|
||||
void onActionTriggered( bool isChecked ) override;
|
||||
void setupActionLook( QAction* actionToSetup ) override;
|
||||
};
|
||||
|
||||
}
|
||||
} // namespace caf
|
||||
@@ -44,37 +44,35 @@
|
||||
|
||||
namespace caf
|
||||
{
|
||||
|
||||
CAF_CMD_SOURCE_INIT(ToggleItemsOnFeature, "cafToggleItemsOnFeature");
|
||||
CAF_CMD_SOURCE_INIT( ToggleItemsOnFeature, "cafToggleItemsOnFeature" );
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool ToggleItemsOnFeature::isCommandEnabled()
|
||||
bool ToggleItemsOnFeature::isCommandEnabled()
|
||||
{
|
||||
return ToggleItemsFeatureImpl::isToggleCommandsAvailable();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void ToggleItemsOnFeature::onActionTriggered(bool isChecked)
|
||||
void ToggleItemsOnFeature::onActionTriggered( bool isChecked )
|
||||
{
|
||||
ToggleItemsFeatureImpl::setObjectToggleStateForSelection(ToggleItemsFeatureImpl::TOGGLE_ON);
|
||||
ToggleItemsFeatureImpl::setObjectToggleStateForSelection( ToggleItemsFeatureImpl::TOGGLE_ON );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void ToggleItemsOnFeature::setupActionLook(QAction* actionToSetup)
|
||||
void ToggleItemsOnFeature::setupActionLook( QAction* actionToSetup )
|
||||
{
|
||||
if (ToggleItemsFeatureImpl::isToggleCommandsForSubItems())
|
||||
actionToSetup->setText("Sub Items On");
|
||||
if ( ToggleItemsFeatureImpl::isToggleCommandsForSubItems() )
|
||||
actionToSetup->setText( "Sub Items On" );
|
||||
else
|
||||
actionToSetup->setText("On");
|
||||
|
||||
actionToSetup->setIcon(QIcon(":/cafCommandFeatures/ToggleOnL16x16.png"));
|
||||
actionToSetup->setText( "On" );
|
||||
|
||||
actionToSetup->setIcon( QIcon( ":/cafCommandFeatures/ToggleOnL16x16.png" ) );
|
||||
}
|
||||
|
||||
}
|
||||
} // namespace caf
|
||||
@@ -40,19 +40,18 @@
|
||||
|
||||
namespace caf
|
||||
{
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
///
|
||||
//==================================================================================================
|
||||
class ToggleItemsOnFeature : public caf::CmdFeature
|
||||
{
|
||||
CAF_CMD_HEADER_INIT;
|
||||
protected:
|
||||
|
||||
protected:
|
||||
// Overrides
|
||||
bool isCommandEnabled() override;
|
||||
void onActionTriggered( bool isChecked ) override;
|
||||
void setupActionLook( QAction* actionToSetup ) override;
|
||||
};
|
||||
|
||||
}
|
||||
} // namespace caf
|
||||
@@ -40,79 +40,76 @@
|
||||
|
||||
#include "cafSelectionManager.h"
|
||||
|
||||
#include <QAction>
|
||||
#include "cafPdmObjectHandle.h"
|
||||
#include "cafPdmObject.h"
|
||||
#include "cafPdmObjectHandle.h"
|
||||
#include "cafPdmUiItem.h"
|
||||
#include <QAction>
|
||||
|
||||
namespace caf
|
||||
{
|
||||
|
||||
CAF_CMD_SOURCE_INIT(ToggleItemsOnOthersOffFeature, "cafToggleItemsOnOthersOffFeature");
|
||||
CAF_CMD_SOURCE_INIT( ToggleItemsOnOthersOffFeature, "cafToggleItemsOnOthersOffFeature" );
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
bool ToggleItemsOnOthersOffFeature::isCommandEnabled()
|
||||
bool ToggleItemsOnOthersOffFeature::isCommandEnabled()
|
||||
{
|
||||
std::vector<caf::PdmObject*> selectedObjects;
|
||||
caf::SelectionManager::instance()->objectsByType(&selectedObjects);
|
||||
caf::SelectionManager::instance()->objectsByType( &selectedObjects );
|
||||
|
||||
caf::PdmFieldHandle* commonParent = verifySameParentForSelection(selectedObjects);
|
||||
std::vector<caf::PdmObjectHandle*> children = childObjects(commonParent);
|
||||
caf::PdmFieldHandle* commonParent = verifySameParentForSelection( selectedObjects );
|
||||
std::vector<caf::PdmObjectHandle*> children = childObjects( commonParent );
|
||||
|
||||
return commonParent != nullptr
|
||||
&& children.size() > 0
|
||||
&& objectToggleField(children.front())
|
||||
&& children.size() > selectedObjects.size();
|
||||
return commonParent != nullptr && children.size() > 0 && objectToggleField( children.front() ) &&
|
||||
children.size() > selectedObjects.size();
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void ToggleItemsOnOthersOffFeature::onActionTriggered(bool isChecked)
|
||||
void ToggleItemsOnOthersOffFeature::onActionTriggered( bool isChecked )
|
||||
{
|
||||
std::vector<caf::PdmObject*> selectedObjects;
|
||||
caf::SelectionManager::instance()->objectsByType(&selectedObjects);
|
||||
caf::SelectionManager::instance()->objectsByType( &selectedObjects );
|
||||
|
||||
// First toggle off all siblings
|
||||
|
||||
caf::PdmFieldHandle* commonParent = verifySameParentForSelection(selectedObjects);
|
||||
caf::PdmFieldHandle* commonParent = verifySameParentForSelection( selectedObjects );
|
||||
|
||||
for (caf::PdmObjectHandle* child : childObjects(commonParent))
|
||||
for ( caf::PdmObjectHandle* child : childObjects( commonParent ) )
|
||||
{
|
||||
caf::PdmField<bool>* field = objectToggleField(child);
|
||||
caf::PdmField<bool>* field = objectToggleField( child );
|
||||
|
||||
if (field)
|
||||
if ( field )
|
||||
{
|
||||
field->setValueWithFieldChanged(false);
|
||||
field->setValueWithFieldChanged( false );
|
||||
}
|
||||
}
|
||||
|
||||
// Then toggle on the selected item(s)
|
||||
for (caf::PdmObject* selectedObject : selectedObjects)
|
||||
for ( caf::PdmObject* selectedObject : selectedObjects )
|
||||
{
|
||||
caf::PdmField<bool>* field = dynamic_cast<caf::PdmField<bool>*>(selectedObject->objectToggleField());
|
||||
caf::PdmField<bool>* field = dynamic_cast<caf::PdmField<bool>*>( selectedObject->objectToggleField() );
|
||||
|
||||
field->setValueWithFieldChanged(true);
|
||||
field->setValueWithFieldChanged( true );
|
||||
}
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
void ToggleItemsOnOthersOffFeature::setupActionLook(QAction* actionToSetup)
|
||||
void ToggleItemsOnOthersOffFeature::setupActionLook( QAction* actionToSetup )
|
||||
{
|
||||
actionToSetup->setText("On - Others Off");
|
||||
|
||||
actionToSetup->setIcon(QIcon(":/cafCommandFeatures/ToggleOnOthersOffL16x16.png"));
|
||||
actionToSetup->setText( "On - Others Off" );
|
||||
|
||||
actionToSetup->setIcon( QIcon( ":/cafCommandFeatures/ToggleOnOthersOffL16x16.png" ) );
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
caf::PdmFieldHandle* ToggleItemsOnOthersOffFeature::verifySameParentForSelection(const std::vector<caf::PdmObject*>& selection)
|
||||
caf::PdmFieldHandle*
|
||||
ToggleItemsOnOthersOffFeature::verifySameParentForSelection( const std::vector<caf::PdmObject*>& selection )
|
||||
{
|
||||
caf::PdmFieldHandle* sameParent = nullptr;
|
||||
|
||||
@@ -137,29 +134,29 @@ caf::PdmFieldHandle* ToggleItemsOnOthersOffFeature::verifySameParentForSelection
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
std::vector<caf::PdmObjectHandle*> ToggleItemsOnOthersOffFeature::childObjects(caf::PdmFieldHandle* parent)
|
||||
std::vector<caf::PdmObjectHandle*> ToggleItemsOnOthersOffFeature::childObjects( caf::PdmFieldHandle* parent )
|
||||
{
|
||||
std::vector<caf::PdmObjectHandle*> children;
|
||||
if ( parent )
|
||||
{
|
||||
parent->childObjects(&children);
|
||||
parent->childObjects( &children );
|
||||
}
|
||||
return children;
|
||||
}
|
||||
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
///
|
||||
///
|
||||
//--------------------------------------------------------------------------------------------------
|
||||
caf::PdmField<bool>* ToggleItemsOnOthersOffFeature::objectToggleField(caf::PdmObjectHandle* objectHandle)
|
||||
caf::PdmField<bool>* ToggleItemsOnOthersOffFeature::objectToggleField( caf::PdmObjectHandle* objectHandle )
|
||||
{
|
||||
caf::PdmUiObjectHandle* childUiObject = uiObj(objectHandle);
|
||||
caf::PdmUiObjectHandle* childUiObject = uiObj( objectHandle );
|
||||
if ( childUiObject && childUiObject->objectToggleField() )
|
||||
{
|
||||
return dynamic_cast<caf::PdmField<bool>*>(childUiObject->objectToggleField());
|
||||
return dynamic_cast<caf::PdmField<bool>*>( childUiObject->objectToggleField() );
|
||||
}
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
}
|
||||
} // namespace caf
|
||||
@@ -41,28 +41,27 @@
|
||||
|
||||
namespace caf
|
||||
{
|
||||
class PdmFieldHandle;
|
||||
class PdmObject;
|
||||
class PdmObjectHandle;
|
||||
|
||||
class PdmFieldHandle;
|
||||
class PdmObject;
|
||||
class PdmObjectHandle;
|
||||
|
||||
//==================================================================================================
|
||||
///
|
||||
///
|
||||
//==================================================================================================
|
||||
class ToggleItemsOnOthersOffFeature : public caf::CmdFeature
|
||||
{
|
||||
CAF_CMD_HEADER_INIT;
|
||||
protected:
|
||||
|
||||
protected:
|
||||
// Overrides
|
||||
bool isCommandEnabled() override;
|
||||
void onActionTriggered( bool isChecked ) override;
|
||||
void setupActionLook( QAction* actionToSetup ) override;
|
||||
|
||||
private:
|
||||
caf::PdmFieldHandle* verifySameParentForSelection(const std::vector<caf::PdmObject*>& selectedObjects);
|
||||
std::vector<caf::PdmObjectHandle*> childObjects(caf::PdmFieldHandle* parent);
|
||||
caf::PdmField<bool>* objectToggleField(caf::PdmObjectHandle* objectHandle);
|
||||
caf::PdmFieldHandle* verifySameParentForSelection( const std::vector<caf::PdmObject*>& selectedObjects );
|
||||
std::vector<caf::PdmObjectHandle*> childObjects( caf::PdmFieldHandle* parent );
|
||||
caf::PdmField<bool>* objectToggleField( caf::PdmObjectHandle* objectHandle );
|
||||
};
|
||||
|
||||
}
|
||||
} // namespace caf
|
||||
Reference in New Issue
Block a user