koeditorgantt.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 #ifndef _KOEDITORGANTT_H
00024 #define _KOEDITORGANTT_H
00025
00026 #include <qwidget.h>
00027 #include <qdatetime.h>
00028
00029 class QLabel;
00030 class KDGanttView;
00031 class GanttItem;
00032 namespace KCal {
00033 class FreeBusy;
00034 class Attendee;
00035 }
00036
00037
00038 class KOEditorGantt : public QWidget
00039 {
00040 Q_OBJECT
00041 public:
00042 KOEditorGantt( int spacing=8, QWidget* parent=0, const char* name=0 );
00043 virtual ~KOEditorGantt();
00044
00045 void setUpdateEnabled( bool enabled );
00046 bool updateEnabled() const;
00047
00048 void insertAttendee( KCal::Attendee* );
00049 void removeAttendee( KCal::Attendee* );
00050 void updateAttendee( KCal::Attendee* );
00051 void clearAttendees();
00052
00053 void readEvent( KCal::Event* );
00054
00055 signals:
00056 void dateTimesChanged( QDateTime, QDateTime );
00057
00058 public slots:
00059 void slotInsertFreeBusy( const QString& email, KCal::FreeBusy* fb );
00060
00061 void setDateTimes(QDateTime, QDateTime );
00062
00063 protected slots:
00064 void slotUpdateGanttView( QDateTime, QDateTime );
00065 void slotScaleChanged( int );
00066 void slotCenterOnStart() ;
00067 void slotZoomToTime();
00068 void slotPickDate();
00069
00070 private:
00071 void updateFreeBusyData( KCal::Attendee* );
00072
00073 bool findFreeSlot( QDateTime& dtFrom, QDateTime& dtTo );
00074 bool tryDate( QDateTime& tryFrom, QDateTime& tryTo );
00075 bool tryDate( GanttItem* attendee,
00076 QDateTime& tryFrom, QDateTime& tryTo );
00077 void updateStatusSummary();
00078
00079 KDGanttView* mGanttView;
00080 QLabel* mOrganizerLabel;
00081 QLabel* mStatusSummaryLabel;
00082 bool mIsOrganizer;
00083 QComboBox* scaleCombo;
00084
00085 QDateTime mDtStart, mDtEnd;
00086 };
00087
00088 #endif
This file is part of the documentation for korganizer Library Version 3.2.2.