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 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); }
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; }
TupFrame* NodesTool::currentFrame() { TupFrame *frame = 0; if (k->scene->spaceContext() == TupProject::FRAMES_EDITION) { frame = k->scene->currentFrame(); k->currentLayer = k->scene->currentLayerIndex(); k->currentFrame = k->scene->currentFrameIndex(); } else { k->currentLayer = -1; k->currentFrame = -1; TupScene *tupScene = k->scene->scene(); TupBackground *bg = tupScene->background(); if (k->scene->spaceContext() == TupProject::STATIC_BACKGROUND_EDITION) { frame = bg->staticFrame(); } else if (k->scene->spaceContext() == TupProject::DYNAMIC_BACKGROUND_EDITION) { frame = bg->dynamicFrame(); } } return frame; }
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 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; }