korganizer
timelineitem.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef KORG_TIMELINEITEM_H
00020 #define KORG_TIMELINEITEM_H
00021
00022 #define private protected
00023 #include <kdgantt/KDGanttViewTaskItem.h>
00024 #undef protected
00025
00026 #include <qmap.h>
00027 #include <qvaluelist.h>
00028
00029 class KDGanttView;
00030 class KDCanvasPolygon;
00031
00032 namespace KCal {
00033 class Calendar;
00034 class ResourceCalendar;
00035 class Incidence;
00036 }
00037
00038 namespace KOrg {
00039
00040 class TimelineSubItem;
00041
00042 class TimelineItem : public KDGanttViewTaskItem
00043 {
00044 public:
00045 TimelineItem( const QString &label, KCal::Calendar *calendar, KDGanttView* parent );
00046
00047 void insertIncidence( KCal::Incidence *incidence,
00048 const QDateTime &start = QDateTime(),
00049 const QDateTime &end = QDateTime() );
00050 void removeIncidence( KCal::Incidence *incidence );
00051
00052 void moveItems( KCal::Incidence* incidence, int delta, int duration );
00053
00054 private:
00055 KCal::Calendar *mCalendar;
00056 QMap<KCal::Incidence*, QValueList<TimelineSubItem*> > mItemMap;
00057 };
00058
00059 class TimelineSubItem : public KDGanttViewTaskItem
00060 {
00061 public:
00062 TimelineSubItem( KCal::Calendar *calendar, KCal::Incidence *incidence, TimelineItem *parent );
00063 ~TimelineSubItem();
00064
00065 KCal::Incidence* incidence() const { return mIncidence; }
00066
00067 QDateTime originalStart() const { return mStart; }
00068 void setOriginalStart( const QDateTime &dt ) { mStart = dt; }
00069
00070 private:
00071 void showItem( bool show = true, int coordY = 0 );
00072
00073 private:
00074 KCal::Incidence *mIncidence;
00075 QDateTime mStart;
00076 KDCanvasPolygon *mLeft, *mRight;
00077 int mMarkerWidth;
00078 };
00079
00080 }
00081
00082 #endif
|