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 typedef boost::shared_ptr<const Event> ConstPtr;
00066
00070 Event();
00071
00076 Event( const Event &other );
00077
00081 ~Event();
00082
00087 Event &operator=( const Event &other );
00088
00093 bool operator==( const Event &event ) const;
00094
00099 QByteArray type() const;
00100
00105
00106
00110 Event *clone();
00111
00117 void setDtEnd( const KDateTime &dtEnd );
00118
00123 virtual KDateTime dtEnd() const;
00124
00130 QDate dateEnd() const;
00131
00142 KDE_DEPRECATED QString dtEndTimeStr(
00143 bool shortfmt = true, const KDateTime::Spec &spec = KDateTime::Spec() ) const;
00144
00155 KDE_DEPRECATED QString dtEndDateStr(
00156 bool shortfmt = true, const KDateTime::Spec &spec = KDateTime::Spec() ) const;
00157
00168 KDE_DEPRECATED QString dtEndStr(
00169 bool shortfmt = true, const KDateTime::Spec &spec = KDateTime::Spec() ) const;
00170
00175 void setHasEndDate( bool b );
00176
00180 bool hasEndDate() const;
00181
00188 bool isMultiDay( const KDateTime::Spec &spec = KDateTime::Spec() ) const;
00189
00194 virtual void shiftTimes( const KDateTime::Spec &oldSpec,
00195 const KDateTime::Spec &newSpec );
00196
00201 void setTransparency( Transparency transparency );
00202
00206 Transparency transparency() const;
00207
00212 void setDuration( const Duration &duration );
00213
00214 protected:
00218 virtual KDateTime endDateRecurrenceBase() const;
00219
00220 private:
00225 bool accept( Visitor &v ) { return v.visit( this ); }
00226
00227
00228 class Private;
00229 Private *const d;
00230
00231 };
00232
00233 }
00234
00235
00236
00237 namespace KPIMUtils {
00238 template <> struct SuperClass<KCal::Event> : public SuperClassTrait<KCal::Incidence>{};
00239 }
00240
00241
00242 #endif