KCal Library
event.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
00028 #ifndef KCAL_EVENT_H
00029 #define KCAL_EVENT_H
00030
00031 #include "incidence.h"
00032 #include <kpimutils/supertrait.h>
00033 #include <QtCore/QByteArray>
00034
00035 namespace KCal {
00036
00041 class KCAL_EXPORT Event : public Incidence
00042 {
00043 public:
00047 enum Transparency {
00048 Opaque,
00049 Transparent
00050 };
00051
00055 typedef ListBase<Event> List;
00056
00060 typedef boost::shared_ptr<Event> Ptr;
00061
00065 Event();
00066
00071 Event( const Event &other );
00072
00076 ~Event();
00077
00082 Event &operator=( const Event &other );
00083
00088 bool operator==( const Event &event ) const;
00089
00093 QByteArray type() const;
00094
00098 Event *clone();
00099
00105 void setDtEnd( const KDateTime &dtEnd );
00106
00111 virtual KDateTime dtEnd() const;
00112
00118 QDate dateEnd() const;
00119
00130 KDE_DEPRECATED QString dtEndTimeStr(
00131 bool shortfmt = true, const KDateTime::Spec &spec = KDateTime::Spec() ) const;
00132
00143 KDE_DEPRECATED QString dtEndDateStr(
00144 bool shortfmt = true, const KDateTime::Spec &spec = KDateTime::Spec() ) const;
00145
00156 KDE_DEPRECATED QString dtEndStr(
00157 bool shortfmt = true, const KDateTime::Spec &spec = KDateTime::Spec() ) const;
00158
00163 void setHasEndDate( bool b );
00164
00168 bool hasEndDate() const;
00169
00176 bool isMultiDay( const KDateTime::Spec &spec = KDateTime::Spec() ) const;
00177
00182 virtual void shiftTimes( const KDateTime::Spec &oldSpec,
00183 const KDateTime::Spec &newSpec );
00184
00189 void setTransparency( Transparency transparency );
00190
00194 Transparency transparency() const;
00195
00200 void setDuration( const Duration &duration );
00201
00202 protected:
00206 virtual KDateTime endDateRecurrenceBase() const;
00207
00208 private:
00213 bool accept( Visitor &v ) { return v.visit( this ); }
00214
00215
00216 class Private;
00217 Private *const d;
00218
00219 };
00220
00221 }
00222
00223
00224
00225 namespace KPIMUtils {
00226 template <> struct SuperClass<KCal::Event> : public SuperClassTrait<KCal::Incidence>{};
00227 }
00228
00229
00230 #endif