korganizer

koprojectview.h

00001 /*
00002     This file is part of KOrganizer.
00003     Copyright (c) 2001 Cornelius Schumacher <schumacher@kde.org>
00004 
00005     This program is free software; you can redistribute it and/or modify
00006     it under the terms of the GNU General Public License as published by
00007     the Free Software Foundation; either version 2 of the License, or
00008     (at your option) any later version.
00009 
00010     This program is distributed in the hope that it will be useful,
00011     but WITHOUT ANY WARRANTY; without even the implied warranty of
00012     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
00013     GNU General Public License for more details.
00014 
00015     You should have received a copy of the GNU General Public License
00016     along with this program; if not, write to the Free Software
00017     Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
00018 */
00019 #ifndef KOPROJECTVIEW_H
00020 #define KOPROJECTVIEW_H
00021 /* $Id$ */
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 changeIncidenceDisplay(Incidence *, int);
00087 
00088     void showDates(const QDate &start, const QDate &end);
00089     void showIncidences( const Incidence::List &incidenceList );
00090 
00091 /*
00092     void editItem(QListViewItem *item);
00093     void showItem(QListViewItem *item);
00094     void popupMenu(QListViewItem *item,const QPoint &,int);
00095     void newTodo();
00096     void newSubTodo();
00097     void itemClicked(QListViewItem *);
00098 */
00099 
00100   protected slots:
00101     void showModeMenu();
00102     void zoomIn();
00103     void zoomOut();
00104     void taskChanged(KGanttItem *task,KGanttItem::Change change);
00105 
00106   private:
00107     void createMainTask();
00108     KGanttItem *createTask(KGanttItem *,Todo *);
00109 
00110     KGantt *mGantt;
00111     KGanttItem *mMainTask;
00112 
00113     QMap<Todo *,KGanttItem *>::ConstIterator insertTodoItem(Todo *todo);
00114 
00115     QMap<Todo *,KGanttItem *> mTodoMap;
00116 };
00117 
00118 #endif
KDE Home | KDE Accessibility Home | Description of Access Keys