KCalCore Library
journal.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00030 #ifndef KCALCORE_JOURNAL_H
00031 #define KCALCORE_JOURNAL_H
00032
00033 #include "kcalcore_export.h"
00034 #include "incidence.h"
00035 #include "supertrait.h"
00036
00037 namespace KCalCore {
00038
00043 class KCALCORE_EXPORT Journal : public Incidence
00044 {
00045 public:
00049 typedef QSharedPointer<Journal> Ptr;
00050
00054 typedef QVector<Ptr> List;
00055
00059 Journal();
00060
00064 ~Journal();
00065
00070 IncidenceType type() const;
00071
00076 QByteArray typeStr() const;
00077
00082 Journal *clone() const;
00083
00088 KDateTime dateTime( DateTimeRole role ) const;
00089
00094 void setDateTime( const KDateTime &dateTime, DateTimeRole role );
00095
00100 QLatin1String mimeType() const;
00101
00106 QLatin1String iconName( const KDateTime &recurrenceId = KDateTime() ) const;
00107
00111 static QLatin1String journalMimeType();
00112
00113 protected:
00119 bool equals( const IncidenceBase &journal ) const;
00120
00125 virtual IncidenceBase &assign( const IncidenceBase &other );
00126
00131 virtual void virtual_hook( int id, void *data );
00132
00133 private:
00138 bool accept( Visitor &v, IncidenceBase::Ptr incidence );
00139
00146 Journal &operator=( const Journal &other );
00147
00148
00149 class Private;
00150 Private *const d;
00151
00152 };
00153
00154 }
00155
00156 Q_DECLARE_TYPEINFO( KCalCore::Journal::Ptr, Q_MOVABLE_TYPE );
00157
00158
00159 namespace KPIMUtils {
00160
00161 template <> struct SuperClass<KCalCore::Journal> : public SuperClassTrait<KCalCore::Incidence>{};
00162 }
00163
00164
00165 #endif