Multiselection and Models
This commit is contained in:
@@ -36,5 +36,41 @@ void GUDButtonListener::onButton1MouseClick(BaseButtonInstance* button)
|
||||
if(g_selectedInstances.size() > 0)
|
||||
g_usableApp->_propWindow->UpdateSelected(newinst.at(0));
|
||||
}
|
||||
else if(button->name == "Group")
|
||||
{
|
||||
GroupInstance * inst = new GroupInstance();
|
||||
for(size_t i = 0; i < g_selectedInstances.size(); i++)
|
||||
{
|
||||
if(g_selectedInstances.at(i)->canDelete)
|
||||
{
|
||||
g_selectedInstances.at(i)->setParent(inst);
|
||||
}
|
||||
/*tempinst->setPosition(Vector3(tempPos.x, tempPos.y + tempSize.y, tempPos.z));
|
||||
g_usableApp->cameraController.centerCamera(g_selectedInstances.at(0));*/
|
||||
}
|
||||
inst->setParent(g_dataModel->getWorkspace());
|
||||
g_selectedInstances.clear();
|
||||
g_selectedInstances.push_back(inst);
|
||||
if(g_selectedInstances.size() > 0)
|
||||
g_usableApp->_propWindow->UpdateSelected(g_selectedInstances.at(0));
|
||||
}
|
||||
else if(button->name == "UnGroup")
|
||||
{
|
||||
std::vector<Instance*> newinst;
|
||||
for(size_t i = 0; i < g_selectedInstances.size(); i++)
|
||||
{
|
||||
if(g_selectedInstances.at(i)->canDelete)
|
||||
{
|
||||
if(GroupInstance* model = dynamic_cast<GroupInstance*>(g_selectedInstances.at(i)))
|
||||
newinst = model->unGroup();
|
||||
}
|
||||
/*tempinst->setPosition(Vector3(tempPos.x, tempPos.y + tempSize.y, tempPos.z));
|
||||
g_usableApp->cameraController.centerCamera(g_selectedInstances.at(0));*/
|
||||
}
|
||||
g_selectedInstances.clear();
|
||||
g_selectedInstances = newinst;
|
||||
if(g_selectedInstances.size() > 0)
|
||||
g_usableApp->_propWindow->UpdateSelected(newinst.at(0));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user