Subversion Repositories Scribus

Rev

Go to most recent revision | Blame | Compare with Previous | Last modification | View Log | RSS feed

//
// C++ Implementation: styleslibrary
//
// Description:
//
//
// Author: Pierre Marchand, <pierremarc@oep-h.com> (C) 2008
//
// Copyright: See COPYING file that comes with this distribution
//
//

#include "styleslibrary.h"

StylesLibrary *StylesLibrary::instance = 0;
StylesLibrary::StylesLibrary()
{
        instance = this;
}

StylesLibrary * StylesLibrary::getThis()
{
        if(!instance)
                instance = new StylesLibrary;
        return instance;
}

void StylesLibrary::Add(const QString& uuid, Style* style)
{
        getThis()->insert(uuid,style);
        qDebug()<<"ADD"<<style->displayName()<<getThis()->count();
}

void StylesLibrary::Remove(const QString& uuid)
{
        qDebug()<<"REMOVE"<<getThis()->value(uuid)<<getThis()->count();
        getThis()->remove(uuid);
       
}

Style * StylesLibrary::Style(const QString & uuid)
{
        if(getThis()->contains(uuid))
        {
                return getThis()->value(uuid) ;
        }
       
        return 0;
}

LineStyle* StylesLibrary::Line(const QString& uuid)
{
        if(getThis()->contains(uuid))
        {
                Style* s( getThis()->value(uuid) );
                return reinterpret_cast<LineStyle*>( s );
        }
       
        return 0;
}

CharStyle* StylesLibrary::Char(const QString& uuid)
{
        if(getThis()->contains(uuid))
        {
                Style* s( getThis()->value(uuid) );
                return reinterpret_cast<CharStyle*>( s );
        }
       
        return 0;
}

ParagraphStyle* StylesLibrary::Paragraph(const QString& uuid)
{
        if(getThis()->contains(uuid))
        {
                Style* s( getThis()->value(uuid) );
                return reinterpret_cast<ParagraphStyle*>( s );
        }
       
        return 0;
}

QString StylesLibrary::Find(const QString& dName)
{
        StylesLibrary *sThis(getThis());
        for(StylesLibrary::iterator it = sThis->begin() ; it != sThis->end() ; ++it)
        {
                if(it->displayName() == dName)
                        return it.key();
        }
        return QString();
}