Added grouping action

This commit is contained in:
Jaime van Kessel 2015-07-14 10:25:08 +02:00
parent c6f5ceaf56
commit 2683fa0958
3 changed files with 27 additions and 0 deletions

View File

@ -22,6 +22,7 @@ from UM.Math.Polygon import Polygon
from UM.Scene.BoxRenderer import BoxRenderer from UM.Scene.BoxRenderer import BoxRenderer
from UM.Scene.Selection import Selection from UM.Scene.Selection import Selection
from UM.Scene.GroupDecorator import GroupDecorator
from UM.Operations.AddSceneNodeOperation import AddSceneNodeOperation from UM.Operations.AddSceneNodeOperation import AddSceneNodeOperation
from UM.Operations.RemoveSceneNodeOperation import RemoveSceneNodeOperation from UM.Operations.RemoveSceneNodeOperation import RemoveSceneNodeOperation
@ -416,6 +417,17 @@ class CuraApplication(QtApplication):
return return
self.getActiveMachine().setSettingValueByKey(key, value) self.getActiveMachine().setSettingValueByKey(key, value)
@pyqtSlot()
def groupSelected(self):
group_node = SceneNode()
group_decorator = GroupDecorator()
group_node.addDecorator(group_decorator)
group_node.setParent(self.getController().getScene().getRoot())
for node in Selection.getAllSelectedObjects():
node.setParent(group_node)
## Add an output device that can be written to. ## Add an output device that can be written to.
# #

View File

@ -3,6 +3,7 @@
import QtQuick 2.2 import QtQuick 2.2
import QtQuick.Controls 1.1 import QtQuick.Controls 1.1
import UM 1.0 as UM
Item { Item {
property alias open: openAction; property alias open: openAction;
@ -16,6 +17,7 @@ Item {
property alias deleteObject: deleteObjectAction; property alias deleteObject: deleteObjectAction;
property alias centerObject: centerObjectAction; property alias centerObject: centerObjectAction;
property alias groupObjects: groupObjectsAction;
property alias multiplyObject: multiplyObjectAction; property alias multiplyObject: multiplyObjectAction;
property alias splitObject: splitObjectAction; property alias splitObject: splitObjectAction;
@ -120,6 +122,13 @@ Item {
//: Center object action //: Center object action
text: qsTr("Center Object on Platform"); text: qsTr("Center Object on Platform");
} }
Action
{
id: groupObjectsAction
text: qsTr("Group objects");
enabled: UM.Scene.numObjectsSelected > 1 ? true: false
}
Action { Action {
id: multiplyObjectAction; id: multiplyObjectAction;

View File

@ -347,6 +347,11 @@ UM.MainWindow {
objectContextMenu.objectId = 0; objectContextMenu.objectId = 0;
} }
} }
groupObjects.onTriggered:
{
Printer.groupSelected()
}
deleteAll.onTriggered: Printer.deleteAll() deleteAll.onTriggered: Printer.deleteAll()
resetAllTranslation.onTriggered: Printer.resetAllTranslation() resetAllTranslation.onTriggered: Printer.resetAllTranslation()
@ -373,6 +378,7 @@ UM.MainWindow {
MenuItem { action: actions.deleteObject; } MenuItem { action: actions.deleteObject; }
MenuItem { action: actions.multiplyObject; } MenuItem { action: actions.multiplyObject; }
MenuItem { action: actions.splitObject; } MenuItem { action: actions.splitObject; }
MenuItem { action: actions.groupObjects;}
MenuSeparator { } MenuSeparator { }
MenuItem { action: actions.deleteAll; } MenuItem { action: actions.deleteAll; }
MenuItem { action: actions.reloadAll; } MenuItem { action: actions.reloadAll; }