00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
#ifndef KOPROJECTVIEW_H
00020
#define KOPROJECTVIEW_H
00021
00022
00023
#include <qptrlist.h>
00024
#include <qfontmetrics.h>
00025
00026
#include <qmap.h>
00027
00028
#include <libkcal/calendar.h>
00029
#include <libkcal/event.h>
00030
00031
#include "korganizer/baseview.h"
00032
#include "KGanttItem.h"
00033
00034
class KGantt;
00035
class QLineEdit;
00036
class QFont;
00037
class QLabel;
00038
class QPopupMenu;
00039
class QListBox;
00040
class QStrList;
00041
class QListView;
00042
00047 class KOProjectViewItem :
public KGanttItem {
00048
public:
00049
KOProjectViewItem(Todo *,KGanttItem* parentTask,
const QString& text,
00050
const QDateTime& start,
const QDateTime& end);
00051 ~
KOProjectViewItem();
00052
00053 Todo *event();
00054
00055
private:
00056 Todo *mEvent;
00057 };
00058
00059
00066 class KOProjectView :
public KOrg::BaseView
00067 {
00068 Q_OBJECT
00069
public:
00070
KOProjectView(Calendar *, QWidget* parent=0,
const char* name=0 );
00071 ~
KOProjectView() {}
00072
00073 Incidence::List
selectedIncidences();
00074 DateList
selectedDates();
00075
00077 int currentDateCount() {
return 0; }
00078
00079
void readSettings();
00080
void writeSettings(KConfig *);
00081
00082
public slots:
00083
void updateView();
00084
void updateConfig();
00085
00086
void changeEventDisplay(Event *,
int);
00087
00088
void showDates(
const QDate &start,
const QDate &end);
00089
void showEvents(
const Event::List & );
00090
00091
00092
00093
00094
00095
00096
00097
00098
00099
00100
00101
00102
00103
00104
protected slots:
00105
void showModeMenu();
00106
void zoomIn();
00107
void zoomOut();
00108
void taskChanged(KGanttItem *task,KGanttItem::Change change);
00109
00110 signals:
00111
void newTodoSignal();
00112
void newSubTodoSignal(Todo *);
00113
void showTodoSignal(Todo *);
00114
void editTodoSignal(Todo *);
00115
void deleteTodoSignal(Todo *);
00116
00117
private:
00118
void createMainTask();
00119 KGanttItem *createTask(KGanttItem *,Todo *);
00120
00121 KGantt *mGantt;
00122 KGanttItem *mMainTask;
00123
00124 QMap<Todo *,KGanttItem *>::ConstIterator insertTodoItem(Todo *todo);
00125
00126 QMap<Todo *,KGanttItem *> mTodoMap;
00127 };
00128
00129
#endif