bool TupCommandExecutor::insertSymbolIntoFrame(TupLibraryResponse *response) { #ifdef K_DEBUG tFatal() << "TupCommandExecutor::insertSymbolIntoFrame() - Adding symbol to project: " << response->arg().toString(); #endif if (m_project->scenesTotal() > 0) { if (m_project->insertSymbolIntoFrame(response->spaceMode(), response->arg().toString(), response->sceneIndex(), response->layerIndex(), response->frameIndex())) { TupScene *scene = m_project->scene(response->sceneIndex()); if (scene) { TupLayer *layer = scene->layer(response->layerIndex()); if (layer) { TupFrame *frame = layer->frame(response->frameIndex()); if (frame) response->setFrameState(frame->isEmpty()); } } emit responsed(response); return true; } } else { #ifdef K_DEBUG tError() << "TupCommandExecutor::insertSymbolIntoFrame() - No scenes available!"; #endif } return false; }
bool TupCommandExecutor::removeFrame(TupFrameResponse *response) { int scenePos = response->sceneIndex(); int layerPos = response->layerIndex(); int position = response->frameIndex(); int realPosition = response->arg().toInt(); TupScene *scene = m_project->scene(scenePos); if (scene) { scene->removeStoryBoardScene(position); TupLayer *layer = scene->layer(layerPos); if (layer) { TupFrame *frame = layer->frame(position); if (frame) { QDomDocument doc; doc.appendChild(frame->toXml(doc)); response->setArg(frame->frameName()); scene->removeTweensFromFrame(realPosition); if (layer->removeFrame(position)) { response->setState(doc.toString(0)); emit responsed(response); return true; } } } } return false; }
bool TupCommandExecutor::removeSymbolFromFrame(TupLibraryResponse *response) { #ifdef K_DEBUG T_FUNCINFO; #endif if (m_project->scenesTotal() > 0) { if (m_project->removeSymbolFromFrame(response->arg().toString(), response->symbolType())) { TupScene *scene = m_project->scene(response->sceneIndex()); if (scene) { TupLayer *layer = scene->layer(response->layerIndex()); if (layer) { TupFrame *frame = layer->frame(response->frameIndex()); if (frame) response->setFrameState(frame->isEmpty()); } } emit responsed(response); return true; } else { #ifdef K_DEBUG tError() << "TupCommandExecutor::removeSymbolFromFrame() - Error: Symbol can't be removed from project!"; #endif } } else { #ifdef K_DEBUG tError() << "TupCommandExecutor::removeSymbolFromFrame() - No scenes available!"; #endif } return false; }
bool TupCommandExecutor::createFrame(TupFrameResponse *response) { #ifdef K_DEBUG #ifdef Q_OS_WIN32 qDebug() << "[TupCommandExecutor::createFrame()]"; #else T_FUNCINFO; #endif #endif int scenePosition = response->sceneIndex(); int layerPosition = response->layerIndex(); int position = response->frameIndex(); QString name = response->arg().toString(); // QString state = response->state(); TupScene *scene = m_project->scene(scenePosition); if (!scene) return false; scene->insertStoryBoardScene(position); TupLayer *layer = scene->layer(layerPosition); if (layer) { TupFrame *frame = layer->createFrame(name, position); if (!frame) return false; /* if (!name.isEmpty()) { #ifdef K_DEBUG tDebug("items") << name; #endif frame->setFrameName(name); } else { response->setArg(frame->frameName()); } */ response->setArg(frame->frameName()); response->setFrameIndex(layer->visualIndexOf(frame)); emit responsed(response); /* SQA: Check if this code is really necessary if (!state.isEmpty()) { frame->fromXml(state); response->setArg(frame->frameName()); } */ return true; } return false; }
bool TupCommandExecutor::setFrameVisibility(TupFrameResponse *response) { int scenePos = response->sceneIndex(); int layerPos = response->layerIndex(); int position = response->frameIndex(); bool view = response->arg().toBool(); TupScene *scene = m_project->scene(scenePos); if (!scene) return false; TupLayer *layer = scene->layer(layerPos); if (layer) { TupFrame *frame = layer->frame(position); if (! frame) return false; frame->setVisible(view); emit responsed(response); return true; } return false; }
bool TupProject::removeSymbolFromFrame(const QString &name, TupLibraryObject::Type type) { #ifdef K_DEBUG QString msg = "TupProject::removeSymbolFromFrame() - Removing symbol " + name + " from project..."; #ifdef Q_OS_WIN qDebug() << msg; #else T_FUNCINFO << msg; #endif #endif if (type == TupLibraryObject::Folder) return true; int totalScenes = k->scenes.size(); for (int i = 0; i < totalScenes; i++) { TupScene *scene = k->scenes.at(i); int totalLayers = scene->layers().size(); for (int j = 0; j < totalLayers; j++) { TupLayer *layer = scene->layers().at(j); int totalFrames = layer->frames().size(); for (int t = 0; t < totalFrames; t++) { TupFrame *frame = layer->frames().at(t); if (type != TupLibraryObject::Svg) frame->removeImageItemFromFrame(name); else frame->removeSvgItemFromFrame(name); } } TupBackground *bg = scene->background(); if (bg) { TupFrame *frame = bg->staticFrame(); if (frame) { if (type == TupLibraryObject::Svg) frame->removeSvgItemFromFrame(name); else frame->removeImageItemFromFrame(name); } frame = bg->dynamicFrame(); if (frame) { if (type == TupLibraryObject::Svg) frame->removeSvgItemFromFrame(name); else frame->removeImageItemFromFrame(name); } } } // k->library->removeObject(name, true); return true; }
bool TupCommandExecutor::renameFrame(TupFrameResponse *response) { #ifdef K_DEBUG #ifdef Q_OS_WIN32 qDebug() << "[TupCommandExecutor::renameFrame()]"; #else T_FUNCINFO; #endif #endif int scenePos = response->sceneIndex(); int layerPos = response->layerIndex(); int position = response->frameIndex(); QString newName= response->arg().toString(); QString oldName; TupScene *scene = m_project->scene(scenePos); if (!scene) return false; TupLayer *layer = scene->layer(layerPos); if (layer) { TupFrame *frame = layer->frame(position); if (! frame) return false; oldName = frame->frameName(); if (oldName.compare(newName) != 0) frame->setFrameName(newName); emit responsed(response); return true; } return false; }
bool TupProject::removeSymbol(const QString &name, TupLibraryObject::Type type) { #ifdef K_DEBUG #ifdef Q_OS_WIN qDebug() << "[TupProject::removeSymbol()]"; #else T_FUNCINFO; #endif #endif int totalScenes = k->scenes.size(); for (int i = 0; i < totalScenes; i++) { TupScene *scene = k->scenes.at(i); TupBackground *bg = scene->background(); if (bg) { TupFrame *frame = bg->staticFrame(); if (frame) { if (type != TupLibraryObject::Svg) frame->removeImageItemFromFrame(name); else frame->removeSvgItemFromFrame(name); } frame = bg->dynamicFrame(); if (frame) { if (type != TupLibraryObject::Svg) frame->removeImageItemFromFrame(name); else frame->removeSvgItemFromFrame(name); } } int totalLayers = scene->layers().size(); for (int j = 0; j < totalLayers; j++) { TupLayer *layer = scene->layers().at(j); int totalFrames = layer->frames().size(); for (int t = 0; t < totalFrames; t++) { TupFrame *frame = layer->frames().at(t); if (type != TupLibraryObject::Svg) frame->removeImageItemFromFrame(name); else frame->removeSvgItemFromFrame(name); } } } return k->library->removeObject(name, true); }
void TupGraphicsScene::includeObject(QGraphicsItem *object) { if (k->spaceMode == TupProject::FRAMES_EDITION) { TupLayer *layer = k->scene->layer(k->framePosition.layer); if (layer) { TupFrame *frame = layer->frame(k->framePosition.frame); if (frame) { int zLevel = frame->getTopZLevel(); object->setZValue(zLevel); addItem(object); } } } else { TupBackground *bg = k->scene->background(); TupFrame *frame = bg->frame(); if (frame) { int zLevel = frame->getTopZLevel(); object->setZValue(zLevel); addItem(object); } } }
bool TupProject::updateSymbolId(TupLibraryObject::Type type, const QString &oldId, const QString &newId) { int scenesCount = k->scenes.size(); for (int i = 0; i < scenesCount; i++) { TupScene *scene = k->scenes.at(i); int layersCount = scene->layers().size(); for (int j = 0; j < layersCount; j++) { TupLayer *layer = scene->layers().at(j); int framesCount = layer->frames().size(); for (int t = 0; t < framesCount; t++) { TupFrame *frame = layer->frames().at(t); if (type != TupLibraryObject::Svg) frame->updateIdFromFrame(oldId, newId); else frame->updateSvgIdFromFrame(oldId, newId); } } TupBackground *bg = scene->background(); if (bg) { TupFrame *frame = bg->staticFrame(); if (frame) { if (type != TupLibraryObject::Svg) frame->updateIdFromFrame(oldId, newId); else frame->updateSvgIdFromFrame(oldId, newId); } frame = bg->dynamicFrame(); if (frame) { if (type != TupLibraryObject::Svg) frame->updateIdFromFrame(oldId, newId); else frame->updateSvgIdFromFrame(oldId, newId); } } } return true; }
void TupProject::reloadLibraryItem(TupLibraryObject::Type type, const QString &id, TupLibraryObject *object) { int scenesCount = k->scenes.size(); for (int i = 0; i < scenesCount; i++) { TupScene *scene = k->scenes.at(i); int layersCount = scene->layers().size(); for (int j = 0; j < layersCount; j++) { TupLayer *layer = scene->layers().at(j); int framesCount = layer->frames().size(); for (int t = 0; t < framesCount; t++) { TupFrame *frame = layer->frames().at(t); if (type == TupLibraryObject::Svg) frame->reloadSVGItem(id, object); else frame->reloadGraphicItem(id, object->dataPath()); } } TupBackground *bg = scene->background(); if (bg) { TupFrame *frame = bg->staticFrame(); if (frame) { if (type == TupLibraryObject::Svg) frame->reloadSVGItem(id, object); else frame->reloadGraphicItem(id, object->dataPath()); } frame = bg->dynamicFrame(); if (frame) { if (type == TupLibraryObject::Svg) frame->reloadSVGItem(id, object); else frame->reloadGraphicItem(id, object->dataPath()); } } } }
bool TupCommandExecutor::pasteFrame(TupFrameResponse *response) { #ifdef K_DEBUG #ifdef Q_OS_WIN32 qDebug() << "[TupCommandExecutor::pasteFrame()]"; #else T_FUNCINFO; #endif #endif int scenePos = response->sceneIndex(); int layerPos = response->layerIndex(); int position = response->frameIndex(); QString copyFrame = response->arg().toString(); TupScene *scene = m_project->scene(scenePos); if (scene) { TupLayer *layer = scene->layer(layerPos); if (layer) { TupFrame *frame = layer->frame(position); if (frame) { QString name = frame->frameName(); QDomDocument doc; doc.appendChild(frame->toXml(doc)); response->setArg(doc.toString(0)); frame->clear(); frame->fromXml(copyFrame); frame->setFrameName(name); response->setFrameState(frame->isEmpty()); emit responsed(response); return true; } } } return false; }
bool TupProject::insertSymbolIntoFrame(TupProject::Mode spaceMode, const QString &name, int sceneIndex, int layerIndex, int frameIndex) { #ifdef K_DEBUG #ifdef Q_OS_WIN qDebug() << "[TupProject::insertSymbolIntoFrame()]"; #else T_FUNCINFO; #endif #endif TupFrame *frame = 0; TupScene *scene = this->sceneAt(sceneIndex); if (scene) { if (spaceMode == TupProject::FRAMES_EDITION) { TupLayer *layer = scene->layerAt(layerIndex); if (layer) frame = layer->frameAt(frameIndex); else return false; } else if (spaceMode == TupProject::STATIC_BACKGROUND_EDITION) { TupBackground *bg = scene->background(); if (bg) frame = bg->staticFrame(); else return false; } else if (spaceMode == TupProject::DYNAMIC_BACKGROUND_EDITION) { TupBackground *bg = scene->background(); if (bg) frame = bg->dynamicFrame(); else return false; } else { #ifdef K_DEBUG QString msg = "TupProject::insertSymbolIntoFrame() - Fatal Error: invalid spaceMode!"; #ifdef Q_OS_WIN qDebug() << msg; #else tError() << msg; #endif #endif return false; } if (frame) { TupLibraryObject *object = k->library->getObject(name); if (object) { switch (object->type()) { case TupLibraryObject::Item: { TupGraphicLibraryItem *libraryItem = new TupGraphicLibraryItem(object); int zLevel = frame->getTopZLevel(); libraryItem->setZValue(zLevel); frame->addLibraryItem(name, libraryItem); } break; case TupLibraryObject::Image: { TupGraphicLibraryItem *libraryItem = new TupGraphicLibraryItem(object); int imageW = libraryItem->boundingRect().width(); int imageH = libraryItem->boundingRect().height(); if (k->dimension.width() > imageW && k->dimension.height() > imageH) libraryItem->moveBy((k->dimension.width() - imageW)/2, (k->dimension.height() - imageH)/2); else libraryItem->moveBy(0, 0); int zLevel = frame->getTopZLevel(); libraryItem->setZValue(zLevel); frame->addItem(name, libraryItem); } break; case TupLibraryObject::Svg: { QString path(object->dataPath()); TupSvgItem *svgItem = new TupSvgItem(path, frame); svgItem->setSymbolName(name); int svgW = svgItem->boundingRect().width(); int svgH = svgItem->boundingRect().height(); if (k->dimension.width() > svgW && k->dimension.height() > svgH) { svgItem->moveBy((k->dimension.width() - svgW)/2, (k->dimension.height() - svgH)/2); } else { qreal factorW = ((qreal)k->dimension.width())/((qreal)svgW); qreal factorH = ((qreal)k->dimension.height())/((qreal)svgH); if (factorW < factorH) svgItem->setScale(factorW); else svgItem->setScale(factorH); svgItem->moveBy(0, 0); } int zLevel = frame->getTopZLevel(); svgItem->setZValue(zLevel); frame->addSvgItem(name, svgItem); } break; case TupLibraryObject::Text: { // SQA: Just out of curiosity, check if this case really happens! // tFatal() << "TupProject::insertSymbolIntoFrame() - Just tracing text!"; TupGraphicLibraryItem *libraryItem = new TupGraphicLibraryItem(object); int zLevel = frame->getTopZLevel(); libraryItem->setZValue(zLevel); frame->addItem(name, libraryItem); } break; case TupLibraryObject::Sound: { TupSoundLayer *sound = scene->createSoundLayer(scene->soundLayers().count()); sound->fromSymbol(object->symbolName()); } break; default: #ifdef K_DEBUG QString msg = "TupProject::insertSymbolIntoFrame() -> Unknown Object Type"; #ifdef Q_OS_WIN qDebug() << msg; #else tFatal() << msg; #endif #endif break; } return true; } else { #ifdef K_DEBUG QString msg = "TupProject::insertSymbolIntoFrame() - Object NOT found at library! " + name; #ifdef Q_OS_WIN qDebug() << msg; #else tError() << msg; #endif #endif return false; } } else { #ifdef K_DEBUG QString msg = "TupProject::insertSymbolIntoFrame() - Invalid frame!"; #ifdef Q_OS_WIN qDebug() << msg; #else tError() << msg; #endif #endif } } else { #ifdef K_DEBUG QString msg = "TupProject::insertSymbolIntoFrame() - Invalid scene!"; #ifdef Q_OS_WIN qDebug() << msg; #else tError() << msg; #endif #endif } return false; }
void TupGraphicsScene::drawPhotogram(int photogram) { /* #ifdef K_DEBUG T_FUNCINFO; #endif */ // Q_CHECK_PTR(k->scene); if (photogram < 0 || !k->scene) return; cleanWorkSpace(); bool valid = false; // Drawing frames from another layers for (int i=0; i < k->scene->layersTotal(); i++) { TupLayer *layer = k->scene->layer(i); if (layer->framesTotal() > 0 && photogram < layer->framesTotal()) { TupFrame *mainFrame = layer->frame(photogram); QString currentFrame = ""; if (mainFrame) { currentFrame = mainFrame->frameName(); if (layer) { if (layer->isVisible()) { // Painting the background drawBackground(); // Painting previews frames if (k->onionSkin.previous > 0 && photogram > 0) { double opacity = k->opacity; double opacityFactor = opacity / (double)qMin(layer->frames().count(), k->onionSkin.previous); int limit = photogram - k->onionSkin.previous; if (limit < 0) limit = 0; QString frameBehind = ""; for (int frameIndex = photogram-1; frameIndex >= limit; frameIndex--) { TupFrame *frame = layer->frame(frameIndex); QString previousFrame = frame->frameName(); if (frame && previousFrame.compare(currentFrame) != 0 && frameBehind.compare(previousFrame) != 0) { addFrame(frame, opacity, Preview); } frameBehind = previousFrame; opacity -= opacityFactor; } } // valid = true; // k->layerCounter = i; addFrame(mainFrame, TupGraphicsScene::Current); // Painting next frames if (k->onionSkin.next > 0 && layer->framesTotal() > photogram + 1) { double opacity = k->opacity; double opacityFactor = opacity / (double)qMin(layer->frames().count(), k->onionSkin.next); int limit = photogram + k->onionSkin.next; if (limit >= layer->frames().count()) limit = layer->frames().count() - 1; QString frameLater = ""; for (int frameIndex = photogram+1; frameIndex <= limit; frameIndex++) { TupFrame * frame = layer->frame(frameIndex); QString nextFrame = frame->frameName(); if (frame && nextFrame.compare(currentFrame) != 0 && frameLater.compare(nextFrame) != 0) { addFrame(frame, opacity, Next); } frameLater = nextFrame; opacity -= opacityFactor; } } // SQA: Crashpoint when layers are deleted valid = true; k->layerCounter = i; // addFrame(mainFrame, TupGraphicsScene::Current); } } } } } // Drawing tweening objects if (valid) { addTweeningObjects(photogram); addSvgTweeningObjects(photogram); update(); } if (k->tool) k->tool->updateScene(this); }
void NodesTool::release(const TupInputDeviceInformation *input, TupBrushManager *brushManager, TupGraphicsScene *scene) { #ifdef K_DEBUG #ifdef Q_OS_WIN qDebug() << "[NodesTool::release()]"; #else T_FUNCINFOX("tools"); #endif #endif Q_UNUSED(brushManager); QList<QGraphicsItem *> currentSelection = scene->selectedItems(); if (!currentSelection.isEmpty()) { QGraphicsItem *selectedItem = currentSelection.at(0); TupFrame *frame = currentFrame(); int itemIndex = frame->indexOf(selectedItem); if (qgraphicsitem_cast<TupSvgItem *>(selectedItem)) { TOsd::self()->display(tr("Error"), tr("SVG objects cannot be edited!"), TOsd::Error); return; } if (TupGraphicLibraryItem *libraryItem = qgraphicsitem_cast<TupGraphicLibraryItem *>(selectedItem)) { if (libraryItem->itemType() == TupLibraryObject::Image) { TOsd::self()->display(tr("Error"), tr("Images have no nodes!"), TOsd::Error); return; } } if (qgraphicsitem_cast<TupItemGroup *>(selectedItem)) { if (k->activeSelection) k->nodeGroup->clear(); QPointF coord = input->pos(); if (itemIndex >= 0) { TupProjectRequest event = TupRequestBuilder::createItemRequest( scene->currentSceneIndex(), k->currentLayer, k->currentFrame, itemIndex, coord, scene->spaceContext(), TupLibraryObject::Item, TupProjectRequest::Ungroup); emit requested(&event); } return; } if (!qgraphicsitem_cast<TControlNode*>(selectedItem)) { if (!qgraphicsitem_cast<TupPathItem *>(selectedItem)) { TOsd::self()->display(tr("Error"), tr("Only pencil/ink lines can be edited!"), TOsd::Error); return; } } if (itemIndex == -1) { if (qgraphicsitem_cast<TControlNode*>(selectedItem)) { QGraphicsItem *item = k->nodeGroup->parentItem(); int position = frame->indexOf(item); if (position >= 0) { // if (qgraphicsitem_cast<QGraphicsPathItem *>(item)) { QString path = qgraphicsitem_cast<TupPathItem *>(item)->pathToString(); TupProjectRequest event = TupRequestBuilder::createItemRequest(scene->currentSceneIndex(), k->currentLayer, k->currentFrame, position, QPointF(), scene->spaceContext(), TupLibraryObject::Item, TupProjectRequest::EditNodes, path); emit requested(&event); k->nodeGroup->clearChangedNodes(); // } } else { #ifdef K_DEBUG QString msg = "NodesTool::release() - Fatal Error: Invalid position [ " + QString::number(position) + " ]"; #ifdef Q_OS_WIN qDebug() << msg; #else tError() << msg; #endif #endif } } else { #ifdef K_DEBUG QString msg = "NodesTool::release() - Invalid selected item index: " + QString::number(itemIndex); #ifdef Q_OS_WIN qDebug() << msg; #else tWarning() << msg; #endif #endif } return; } // Avoiding to select the same item twice if (k->activeSelection) { TupFrame *frame = currentFrame(); int oldIndex = frame->indexOf(k->nodeGroup->parentItem()); if (oldIndex != itemIndex) { k->nodeGroup->clear(); k->nodeGroup = new TNodeGroup(selectedItem, scene, TNodeGroup::LineSelection, k->baseZValue); k->nodeGroup->show(); k->nodeGroup->resizeNodes(k->realFactor); if (TupPathItem *path = qgraphicsitem_cast<TupPathItem *>(selectedItem)) { if (path->isNotEdited()) path->saveOriginalPath(); } } else { if (k->nodeGroup->hasChangedNodes()) { QGraphicsItem *item = k->nodeGroup->parentItem(); int position = frame->indexOf(item); if (position >= 0) { QString path = qgraphicsitem_cast<TupPathItem *>(item)->pathToString(); TupProjectRequest event = TupRequestBuilder::createItemRequest(scene->currentSceneIndex(), k->currentLayer, k->currentFrame, position, QPointF(), scene->spaceContext(), TupLibraryObject::Item, TupProjectRequest::EditNodes, path); emit requested(&event); k->nodeGroup->clearChangedNodes(); } else { #ifdef K_DEBUG QString msg = "NodesTool::release() - Fatal Error: Invalid position [ " + QString::number(position) + " ]"; #ifdef Q_OS_WIN qDebug() << msg; #else tError() << msg; #endif #endif } } else { #ifdef K_DEBUG QString msg = "NodesTool::release() - Node group has NO changes!"; #ifdef Q_OS_WIN qDebug() << msg; #else tWarning() << msg; #endif #endif } } } else { k->nodeGroup = new TNodeGroup(selectedItem, scene, TNodeGroup::LineSelection, k->baseZValue); k->nodeGroup->show(); k->activeSelection = true; k->nodeGroup->resizeNodes(k->realFactor); if (TupPathItem *path = qgraphicsitem_cast<TupPathItem *>(selectedItem)) { if (path->isNotEdited()) path->saveOriginalPath(); } } } else { if (k->activeSelection) { #ifdef K_DEBUG QString msg = "NodesTool::release() - Empty selection! Removing nodes..."; #ifdef Q_OS_WIN qDebug() << msg; #else tWarning() << msg; #endif #endif k->nodeGroup->clear(); k->nodeGroup = 0; k->activeSelection = false; } } }
void NodesTool::itemResponse(const TupItemResponse *response) { #ifdef K_DEBUG #ifdef Q_OS_WIN qDebug() << "[NodesTool::itemResponse()]"; #else T_FUNCINFOX("NodesTool"); #endif #endif QGraphicsItem *item = 0; if (response->action() != TupProjectRequest::Remove) { TupFrame *frame = currentFrame(); if (response->action() == TupProjectRequest::Ungroup) { QPointF point = response->position(); item = k->scene->itemAt(point, QTransform()); } else { item = frame->item(response->itemIndex()); } } switch (response->action()) { case TupProjectRequest::Convert: { if (item) { k->nodeGroup = new TNodeGroup(item, k->scene, TNodeGroup::LineSelection, k->baseZValue); } else { #ifdef K_DEBUG QString msg = "NodesTool::itemResponse() - Fatal Error: No item was found"; #ifdef Q_OS_WIN qDebug() << msg; #else tError() << msg; #endif #endif } } break; case TupProjectRequest::EditNodes: { if (item) { if (k->activeSelection) { if (qgraphicsitem_cast<QGraphicsPathItem *>(k->nodeGroup->parentItem()) == item) { k->nodeGroup->show(); k->nodeGroup->syncNodesFromParent(); k->nodeGroup->saveParentProperties(); } } else { k->nodeGroup = new TNodeGroup(item, k->scene, TNodeGroup::LineSelection, k->baseZValue); k->nodeGroup->show(); k->activeSelection = true; k->nodeGroup->resizeNodes(k->realFactor); } } else { #ifdef K_DEBUG QString msg = "NodesTool::itemResponse() - Fatal Error: No item was found"; #ifdef Q_OS_WIN qDebug() << msg; #else tError() << msg; #endif #endif } } break; case TupProjectRequest::Remove: { return; } break; case TupProjectRequest::Ungroup: { // reset(k->scene); if (item) { k->nodeGroup = new TNodeGroup(item, k->scene, TNodeGroup::LineSelection, k->baseZValue); k->nodeGroup->show(); k->activeSelection = true; k->nodeGroup->resizeNodes(k->realFactor); } else { #ifdef K_DEBUG QString msg = "NodesTool::itemResponse() - Fatal error: No item was found"; #ifdef Q_OS_WIN qDebug() << msg; #else tError() << msg; #endif #endif } return; } break; default: { #ifdef K_DEBUG qDebug() << "NodesTool::itemResponse() - default action"; #endif if (k->activeSelection) { k->nodeGroup->show(); if (k->nodeGroup->parentItem()) { k->nodeGroup->parentItem()->setSelected(true); k->nodeGroup->syncNodesFromParent(); } } } break; } }