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 <tqptrlist.h> 00024 #include <tqfontmetrics.h> 00025 00026 #include <tqmap.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 TQLineEdit; 00036 class TQFont; 00037 class TQLabel; 00038 class TQPopupMenu; 00039 class TQListBox; 00040 class TQStrList; 00041 class TQListView; 00042 00047 class KOProjectViewItem : public KGanttItem { 00048 public: 00049 KOProjectViewItem(Todo *,KGanttItem* parentTask, const TQString& text, 00050 const TQDateTime& start, const TQDateTime& 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 TQ_OBJECT 00070 public: 00071 KOProjectView(Calendar *, TQWidget* parent=0, const char* name=0 ); 00072 ~KOProjectView() {} 00073 00074 Incidence::List selectedIncidences(); 00075 DateList selectedDates(); 00076 00078 int currentDateCount() { return 0; } 00079 00080 void readSettings(); 00081 void writeSettings(KConfig *); 00082 00083 public slots: 00084 void updateView(); 00085 void updateConfig(); 00086 00087 void changeIncidenceDisplay(Incidence *, int); 00088 00089 void showDates(const TQDate &start, const TQDate &end); 00090 void showIncidences( const Incidence::List &incidenceList ); 00091 00092 /* 00093 void editItem(TQListViewItem *item); 00094 void showItem(TQListViewItem *item); 00095 void popupMenu(TQListViewItem *item,const TQPoint &,int); 00096 void newTodo(); 00097 void newSubTodo(); 00098 void itemClicked(TQListViewItem *); 00099 */ 00100 00101 protected slots: 00102 void showModeMenu(); 00103 void zoomIn(); 00104 void zoomOut(); 00105 void taskChanged(KGanttItem *task,KGanttItem::Change change); 00106 00107 private: 00108 void createMainTask(); 00109 KGanttItem *createTask(KGanttItem *,Todo *); 00110 00111 KGantt *mGantt; 00112 KGanttItem *mMainTask; 00113 00114 TQMap<Todo *,KGanttItem *>::ConstIterator insertTodoItem(Todo *todo); 00115 00116 TQMap<Todo *,KGanttItem *> mTodoMap; 00117 }; 00118 00119 #endif