Ejemplo n.º 1
0
TemplateOrganizer::TemplateOrganizer(const ScreenieScene &screenieScene)
    : d(new TemplateOrganizerPrivate(screenieScene))
{
    for (ScreenieModelInterface *screenieModel : screenieScene.getModels()) {
        handleModelAdded(*screenieModel);
    }

    frenchConnection();
}
Ejemplo n.º 2
0
void ScreenieControl::convertItemsToTemplate(ScreenieScene &screenieScene)
{
    QList<ScreenieModelInterface *> templateItems;
    QList<ScreenieModelInterface *> nonTemplateItems;
    for (ScreenieModelInterface *screenieModel : screenieScene.getModels()) {
        if (!qobject_cast<ScreenieTemplateModel *>(screenieModel)) {
            ScreenieTemplateModel *templateModel = new ScreenieTemplateModel();
            templateModel->convert(*screenieModel);
            templateItems.append(templateModel);
            nonTemplateItems.append(screenieModel);
        }
    }
    for (ScreenieModelInterface *screenieModel : nonTemplateItems) {
        screenieScene.removeModel(screenieModel);
    }
    for (ScreenieModelInterface *screenieModel : templateItems) {
        screenieScene.addModel(screenieModel);
    }
}
Ejemplo n.º 3
0
bool XmlScreenieSceneDao::writeScreenieModels(const ScreenieScene &screenieScene, ScreenieSceneSerializer::Mode mode)
{
    bool result = true;

    QList<ScreenieModelInterface *> screenieModels;
    switch (mode) {
    case ScreenieSceneSerializer::FullScene:
        screenieModels = screenieScene.getModels();
        break;
    case ScreenieSceneSerializer::SelectedItems:
        screenieModels = screenieScene.getSelectedModels();
        break;
    default:
#ifdef DEBUG
        qCritical("XmlScreenieSceneDao::writeScreenieModels: UNSUPPORTED mode: %d", mode);
#endif
        break;
    }

    foreach (ScreenieModelInterface *screenieModel, screenieModels) {
        ScreenieFilePathModel *screenieFilePathModel = qobject_cast<ScreenieFilePathModel *>(screenieModel);
        if (screenieFilePathModel != 0) {
            result = writeFilePathModel(*screenieFilePathModel);
        } else {
            ScreenieImageModel *screenieImageModel = qobject_cast<ScreenieImageModel *>(screenieModel);
            if (screenieImageModel != 0) {
                result = writePixmapModel(*screenieImageModel);
            } else {
                ScreenieTemplateModel *screenieTemplateModel = qobject_cast<ScreenieTemplateModel *>(screenieModel);
                if (screenieTemplateModel != 0) {
                    result = writeTemplateModel(*screenieTemplateModel);
                }
#ifdef DEBUG
                else {
                    qCritical("XmlScreenieSceneDao::writeScreenieModels: UNSUPPORTED: %s", screenieModel->metaObject()->className());
                }
#endif
            }
        }
    }