Main Page | Namespace List | Class List | File List | Namespace Members | Class Members | File Members

imageinfoshared.h

Go to the documentation of this file.
00001 /* ============================================================
00002  * File   : imageinfoshared.h
00003  * Authors: Jesper K. Pedersen <blackie@kde.org>
00004  *          
00005  * Date   : 2004-02-19
00006  * Description :
00007  *
00008  * Copyright 2004 by Jesper K. Pedersen
00009  *
00010  * This program is free software; you can redistribute it
00011  * and/or modify it under the terms of the GNU Library General
00012  * Public License as published bythe Free Software Foundation;
00013  * either version 2, or (at your option)
00014  * any later version.
00015  *
00016  * This program is distributed in the hope that it will be useful,
00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00019  * GNU Library General Public License for more details.
00020  *
00021  * ============================================================ */
00022  
00023 #ifndef KIPI_IMAGEINFOSHARED_H
00024 #define KIPI_IMAGEINFOSHARED_H
00025 
00026 // Qt includes.
00027 
00028 #include <qstring.h>
00029 #include <qmap.h>
00030 #include <qdatetime.h>
00031 #include <qvariant.h>
00032 
00033 // KDE includes.
00034 
00035 #include <kurl.h>
00036 
00037 // LibKIPI includes.
00038 
00039 #include <libkipi/imageinfo.h>
00040 
00041 namespace KIPI
00042 {
00043     class Interface;
00044 
00045     class ImageInfoShared
00046     {
00047     public:
00048         ImageInfoShared( KIPI::Interface* interface, const KURL& url );
00049         virtual ~ImageInfoShared() {}
00050         virtual QString title() {return QString::null;}
00051         virtual void setTitle( const QString& );
00052 
00053         virtual QString description() = 0;
00054         virtual void setDescription( const QString& ) = 0;
00055 
00056         virtual QMap<QString,QVariant> attributes() = 0;
00057         virtual void clearAttributes() = 0;
00058         virtual void addAttributes( const QMap<QString,QVariant>& ) = 0;
00059 
00060         virtual KURL path();
00061         virtual QDateTime time( KIPI::TimeSpec spec );
00062         virtual void setTime( const QDateTime& time, TimeSpec spec = FromInfo );
00063 
00064         virtual bool isTimeExact();
00065 
00066         virtual int size();
00067 
00068         virtual int angle();
00069         virtual void setAngle( int );
00070 
00071         QString toString( const QVariant& );
00072 
00073         virtual void cloneData( ImageInfoShared* other );
00074 
00075     protected:
00076         KURL _url;
00077 
00078     private:
00079         ImageInfoShared() {} // Disable
00080 
00081         friend class ImageInfo;
00082         void addRef();
00083         void removeRef();
00084         int _count;
00085         Interface* _interface;
00086     };
00087 }
00088 
00089 #endif /* IMAGEINFOSHARED_H */
00090 

Generated on Tue Sep 13 05:01:58 2005 for libKipi by  doxygen 1.4.4