Added "select connected" action to CSceneViewport context menu

This commit is contained in:
parax0
2016-03-19 21:02:23 -06:00
parent 99a64342e9
commit 1921fbf5de
4 changed files with 89 additions and 1 deletions

View File

@@ -135,6 +135,28 @@ void INodeEditor::SelectNode(CSceneNode *pNode)
}
}
void INodeEditor::BatchSelectNodes(QList<CSceneNode*> Nodes)
{
if (!mSelectionLocked)
{
foreach (CSceneNode *pNode, Nodes)
{
if (pNode->IsSelected())
Nodes.removeOne(pNode);
}
if (Nodes.size() > 0)
{
mUndoStack.beginMacro("Select");
foreach (CSceneNode *pNode, Nodes)
SelectNode(pNode);
mUndoStack.endMacro();
}
}
}
void INodeEditor::DeselectNode(CSceneNode *pNode)
{
if (!mSelectionLocked)
@@ -144,6 +166,28 @@ void INodeEditor::DeselectNode(CSceneNode *pNode)
}
}
void INodeEditor::BatchDeselectNodes(QList<CSceneNode*> Nodes)
{
if (!mSelectionLocked)
{
foreach (CSceneNode *pNode, Nodes)
{
if (!pNode->IsSelected())
Nodes.removeOne(pNode);
}
if (Nodes.size() > 0)
{
mUndoStack.beginMacro("Deselect");
foreach (CSceneNode *pNode, Nodes)
DeselectNode(pNode);
mUndoStack.endMacro();
}
}
}
void INodeEditor::ClearSelection()
{
if (!mSelectionLocked)