00001 /* ============================================================ 00002 * File : imageinfo.h 00003 * Author: KIPI team developers (see AUTHORS files for details) 00004 * Date : 2004-07-22 00005 * Description : 00006 * 00007 * Copyright 2004 by the KIPI team 00008 * 00009 * This program is free software; you can redistribute it 00010 * and/or modify it under the terms of the GNU Library General 00011 * Public License as published bythe Free Software Foundation; 00012 * either version 2, or (at your option) 00013 * any later version. 00014 * 00015 * This program is distributed in the hope that it will be useful, 00016 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00017 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00018 * GNU Library General Public License for more details. 00019 * 00020 * ============================================================ */ 00021 00022 #ifndef KIPI_IMAGEINFO_H 00023 #define KIPI_IMAGEINFO_H 00024 #include <kurl.h> 00025 #include <qstring.h> 00026 #include <qdatetime.h> 00027 #include <qmap.h> 00028 #include <qvariant.h> 00029 00030 00031 namespace KIPI 00032 { 00033 class ImageInfoShared; 00034 enum TimeSpec { FromInfo, ToInfo }; 00035 00036 class ImageInfo 00037 { 00038 public: 00039 // Interface for plugins. 00040 QString title() const; 00041 void setTitle( const QString& name ); 00042 00043 QString description() const; 00044 void setDescription( const QString& description); 00045 00046 QMap<QString,QVariant> attributes() const; 00047 void clearAttributes(); 00048 void addAttributes( const QMap<QString,QVariant>& ); 00049 00050 KURL path() const; 00051 QDateTime time( TimeSpec spec = FromInfo ) const; 00052 void setTime( const QDateTime& time, TimeSpec spec = FromInfo ); 00053 bool isTimeExact() const; 00054 int size() const; 00055 00056 int angle() const; 00057 void setAngle( int ); 00058 00059 QString toString( const QVariant& ) const; 00060 00061 void cloneData( const ImageInfo& other ); 00062 00063 // Interface for host application + general stuff 00064 ImageInfo( ImageInfoShared* ); 00065 ImageInfo( const ImageInfo& ); 00066 ~ImageInfo(); 00067 00068 private: 00069 ImageInfo() {} // Disabled 00070 ImageInfo& operator=( const ImageInfo& ) { return *this; } // Disabled 00071 mutable KIPI::ImageInfoShared* _data; 00072 }; 00073 } 00074 00075 #endif /* KIPI_IMAGEINFO_H */ 00076
1.4.4