korganizer
kotimelineview.h00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef KOTIMELINEVIEW_H
00025 #define KOTIMELINEVIEW_H
00026
00027 #include <koeventview.h>
00028 #include <kdgantt/KDGanttView.h>
00029 #include <qmap.h>
00030
00031 class KDGanttViewItem;
00032
00033 namespace KCal {
00034 class ResourceCalendar;
00035 }
00036
00037 namespace KOrg {
00038 class TimelineItem;
00039 }
00040
00044 class KOTimelineView : public KOEventView
00045 {
00046 Q_OBJECT
00047 public:
00048 KOTimelineView(Calendar *calendar, QWidget *parent = 0,
00049 const char *name = 0);
00050 ~KOTimelineView();
00051
00052 virtual KCal::ListBase<KCal::Incidence> selectedIncidences();
00053 virtual KCal::DateList selectedIncidenceDates();
00054 virtual int currentDateCount();
00055 virtual void showDates(const QDate&, const QDate&);
00056 virtual void showIncidences(const KCal::ListBase<KCal::Incidence>&, const QDate &date);
00057 virtual void updateView();
00058 virtual void changeIncidenceDisplay(KCal::Incidence* incidence, int mode);
00059 virtual int maxDatesHint() { return 0; }
00060
00061 virtual bool eventDurationHint(QDateTime &startDt, QDateTime &endDt, bool &allDay);
00062
00063 private:
00064 KOrg::TimelineItem* calendarItemForIncidence( KCal::Incidence* incidence );
00065 void insertIncidence( KCal::Incidence* incidence );
00066 void insertIncidence( KCal::Incidence* incidence, const QDate &day );
00067 void removeIncidence( KCal::Incidence* incidence );
00068
00069 private slots:
00070 void itemSelected( KDGanttViewItem *item );
00071 void itemDoubleClicked( KDGanttViewItem *item );
00072 void itemRightClicked( KDGanttViewItem *item );
00073 void itemMoved( KDGanttViewItem *item );
00074 void overscale( KDGanttView::Scale scale );
00075 void newEventWithHint( const QDateTime & );
00076
00077 private:
00078 KDGanttView* mGantt;
00079 QMap<KCal::ResourceCalendar*, QMap<QString, KOrg::TimelineItem*> > mCalendarItemMap;
00080 KOEventPopupMenu *mEventPopup;
00081 QDate mStartDate, mEndDate;
00082 QDateTime mHintDate;
00083 };
00084
00085 #endif
|