KDGanttView.h
00001 /* -*- Mode: C++ -*- 00002 $Id$ 00003 KDChart - a multi-platform charting engine 00004 */ 00005 00006 /**************************************************************************** 00007 ** Copyright (C) 2001-2004 Klarälvdalens Datakonsult AB. All rights reserved. 00008 ** 00009 ** This file is part of the KDGantt library. 00010 ** 00011 ** This file may be distributed and/or modified under the terms of the 00012 ** GNU General Public License version 2 as published by the Free Software 00013 ** Foundation and appearing in the file LICENSE.GPL included in the 00014 ** packaging of this file. 00015 ** 00016 ** Licensees holding valid commercial KDGantt licenses may use this file in 00017 ** accordance with the KDGantt Commercial License Agreement provided with 00018 ** the Software. 00019 ** 00020 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE 00021 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. 00022 ** 00023 ** See http://www.klaralvdalens-datakonsult.se/Public/products/ for 00024 ** information about KDGantt Commercial License Agreements. 00025 ** 00026 ** Contact info@klaralvdalens-datakonsult.se if any conditions of this 00027 ** licensing are not clear to you. 00028 ** 00029 ** As a special exception, permission is given to link this program 00030 ** with any edition of TQt, and distribute the resulting executable, 00031 ** without including the source code for TQt in the source distribution. 00032 ** 00033 **********************************************************************/ 00034 00035 #ifndef KDGANTTVIEW_H 00036 #define KDGANTTVIEW_H 00037 00038 #include <tqptrlist.h> 00039 #include <tqwidget.h> 00040 #include <tqlistview.h> 00041 #include <tqsplitter.h> 00042 #include <tqlayout.h> 00043 #include <tqfont.h> 00044 #include <tqdom.h> 00045 #include <tqvbox.h> 00046 00047 00048 #include "KDGanttViewItem.h" 00049 #include "KDGanttViewTaskLinkGroup.h" 00050 #include "KDGanttMinimizeSplitter.h" 00051 #include "KDGanttViewItemDrag.h" 00052 00053 class KDIntervalColorRectangle; 00054 class KDGanttViewTaskLink; 00055 class TQPrinter; 00056 class TQIODevice; 00057 class itemAttributeDialog; 00058 class KDListView; 00059 class KDGanttViewItem; 00060 class KDGanttViewEventItem; 00061 class KDGanttViewTaskItem; 00062 class KDGanttViewSummaryItem; 00063 class KDTimeTableWidget; 00064 class KDTimeHeaderWidget; 00065 class KDLegendWidget; 00066 class KDGanttCanvasView; 00067 class KDGanttViewTaskLink; 00068 class KDGanttMinimizeSplitter; 00069 00070 class KDGanttView : public KDGanttMinimizeSplitter 00071 { 00072 Q_OBJECT 00073 TQ_OBJECT 00074 00075 TQ_PROPERTY( bool showLegend READ showLegend WRITE setShowLegend ) 00076 TQ_PROPERTY( bool showListView READ showListView WRITE setShowListView ) 00077 TQ_PROPERTY( bool showTaskLinks READ showTaskLinks WRITE setShowTaskLinks ) 00078 TQ_PROPERTY( bool editorEnabled READ editorEnabled WRITE setEditorEnabled ) 00079 TQ_PROPERTY( TQDateTime horizonStart READ horizonStart WRITE setHorizonStart ) 00080 TQ_PROPERTY( TQDateTime horizonEnd READ horizonEnd WRITE setHorizonEnd ) 00081 TQ_PROPERTY( Scale scale READ scale WRITE setScale ) 00082 TQ_PROPERTY( YearFormat yearFormat READ yearFormat WRITE setYearFormat ) 00083 TQ_PROPERTY( HourFormat hourFormat READ hourFormat WRITE setHourFormat ) 00084 TQ_PROPERTY( bool showMinorTicks READ showMinorTicks WRITE setShowMinorTicks ) 00085 TQ_PROPERTY( bool showMajorTicks READ showMajorTicks WRITE setShowMajorTicks ) 00086 TQ_PROPERTY( bool editable READ editable WRITE setEditable ) 00087 TQ_PROPERTY( TQColor textColor READ textColor WRITE setTextColor ) 00088 TQ_PROPERTY( int majorScaleCount READ majorScaleCount WRITE setMajorScaleCount ) 00089 TQ_PROPERTY( int minorScaleCount READ minorScaleCount WRITE setMinorScaleCount ) 00090 TQ_PROPERTY( int autoScaleMinorTickCount READ autoScaleMinorTickCount WRITE setAutoScaleMinorTickCount ) 00091 TQ_PROPERTY( Scale maximumScale READ maximumScale WRITE setMaximumScale ) 00092 TQ_PROPERTY( Scale minimumScale READ minimumScale WRITE setMinimumScale ) 00093 TQ_PROPERTY( int minimumColumnWidth READ minimumColumnWidth WRITE setMinimumColumnWidth ) 00094 TQ_PROPERTY( int ganttMaximumWidth READ ganttMaximumWidth WRITE setGanttMaximumWidth ) 00095 TQ_PROPERTY( TQColor weekendBackgroundColor READ weekendBackgroundColor WRITE setWeekendBackgroundColor ) 00096 TQ_PROPERTY( TQColor ganttViewBackgroundColor READ gvBackgroundColor WRITE setGvBackgroundColor ) 00097 TQ_PROPERTY( TQColor listViewBackgroundColor READ lvBackgroundColor WRITE setLvBackgroundColor ) 00098 TQ_PROPERTY( TQColor timeHeaderBackgroundColor READ timeHeaderBackgroundColor WRITE setTimeHeaderBackgroundColor ) 00099 TQ_PROPERTY( TQColor legendHeaderBackgroundColor READ legendHeaderBackgroundColor WRITE setLegendHeaderBackgroundColor ) 00100 TQ_PROPERTY( double zoomFactor READ zoomFactor ) 00101 TQ_PROPERTY( bool showHeaderPopupMenu READ showHeaderPopupMenu WRITE setShowHeaderPopupMenu ) 00102 TQ_PROPERTY( bool showTimeTablePopupMenu READ showTimeTablePopupMenu WRITE setShowTimeTablePopupMenu ) 00103 TQ_PROPERTY( bool headerVisible READ headerVisible WRITE setHeaderVisible ) 00104 TQ_PROPERTY( bool showLegendButton READ showLegendButton WRITE setShowLegendButton ) 00105 TQ_PROPERTY( bool legendIsDockwindow READ legendIsDockwindow WRITE setLegendIsDockwindow ) 00106 TQ_PROPERTY( bool displayEmptyTasksAsLine READ displayEmptyTasksAsLine WRITE setDisplayEmptyTasksAsLine ) 00107 TQ_PROPERTY( TQBrush noInformationBrush READ noInformationBrush WRITE setNoInformationBrush ) 00108 TQ_PROPERTY( bool dragEnabled READ dragEnabled WRITE setDragEnabled ) 00109 TQ_PROPERTY( bool dropEnabled READ dropEnabled WRITE setDropEnabled ) 00110 TQ_PROPERTY( bool calendarMode READ calendarMode WRITE setCalendarMode ) 00111 00112 Q_ENUMS( Scale ) 00113 Q_ENUMS( YearFormat ) 00114 Q_ENUMS( HourFormat ) 00115 00116 public: 00117 enum Scale { Minute, Hour, Day, Week, Month, Auto }; 00118 enum YearFormat { FourDigit, TwoDigit, TwoDigitApostrophe, NoDate }; 00119 enum HourFormat { Hour_24, Hour_12, Hour_24_FourDigit }; 00120 enum RepaintMode { No, Medium, Always }; 00121 00122 KDGanttView( TQWidget* parent = 0, const char* name = 0 ); 00123 ~KDGanttView(); 00124 00125 virtual void show(); 00126 virtual bool close ( bool alsoDelete ); 00127 void setRepaintMode( RepaintMode mode ); 00128 void setUpdateEnabled( bool enable); 00129 bool getUpdateEnabled( )const; 00130 00131 void setGanttMaximumWidth( int w ); 00132 int ganttMaximumWidth() const; 00133 void setShowLegend( bool show ); 00134 bool showLegend() const; 00135 void setLegendIsDockwindow( bool dock ); 00136 bool legendIsDockwindow( ) const; 00137 TQDockWindow* legendDockwindow( ) const; 00138 void setShowListView( bool show ); 00139 bool showListView() const; 00140 void setEditorEnabled( bool enable ); 00141 bool editorEnabled() const; 00142 void setListViewWidth( int ); 00143 int listViewWidth(); 00144 void setEditable( bool editable ); 00145 bool editable() const; 00146 void setCalendarMode( bool mode ); 00147 bool calendarMode() const; 00148 void setDisplaySubitemsAsGroup( bool show ); 00149 bool displaySubitemsAsGroup() const; 00150 void setDisplayEmptyTasksAsLine( bool show ); 00151 bool displayEmptyTasksAsLine() const; 00152 00153 void setHorBackgroundLines( int count = 2, 00154 TQBrush brush = 00155 TQBrush( TQColor ( 200,200,200 ), 00156 TQt::Dense6Pattern )); 00157 int horBackgroundLines( TQBrush& brush ); 00158 bool saveProject( TQIODevice* ); 00159 bool loadProject( TQIODevice* ); 00160 void print( TQPrinter* printer = 0 , 00161 bool printListView = true, bool printTimeLine = true, 00162 bool printLegend = false ); 00163 TQSize drawContents( TQPainter* p = 0, 00164 bool drawListView = true, bool drawTimeLine = true, 00165 bool drawLegend = false ); 00166 void setZoomFactor( double factor, bool absolute ); 00167 double zoomFactor() const; 00168 void zoomToFit(); 00169 void ensureVisible( KDGanttViewItem* ); 00170 void center( KDGanttViewItem* ); 00171 void centerTimeline( const TQDateTime& center ); 00172 void centerTimelineAfterShow( const TQDateTime& center ); 00173 void setTimelineToStart(); 00174 void setTimelineToEnd(); 00175 void addTicksLeft( int num = 1 ); 00176 void addTicksRight( int num = 1 ); 00177 void setShowTaskLinks( bool show ); 00178 bool showTaskLinks() const; 00179 00180 void setFont(const TQFont& f); 00181 void setShowHeaderPopupMenu( bool show = true, 00182 bool showZoom = true, 00183 bool showScale = true, 00184 bool showTime = true, 00185 bool showYear = true, 00186 bool showGrid = true, 00187 bool showPrint = false); 00188 bool showHeaderPopupMenu() const; 00189 void setShowTimeTablePopupMenu( bool ); 00190 bool showTimeTablePopupMenu() const; 00191 void setShapes( KDGanttViewItem::Type type, 00192 KDGanttViewItem::Shape start, 00193 KDGanttViewItem::Shape middle, 00194 KDGanttViewItem::Shape end, 00195 bool overwriteExisting = true ); 00196 bool shapes( KDGanttViewItem::Type type, 00197 KDGanttViewItem::Shape& start, 00198 KDGanttViewItem::Shape& middle, 00199 KDGanttViewItem::Shape& end ) const; 00200 void setColors( KDGanttViewItem::Type type, 00201 const TQColor& start, const TQColor& middle, 00202 const TQColor& end, 00203 bool overwriteExisting = true ); 00204 bool colors( KDGanttViewItem::Type type, 00205 TQColor& start, TQColor& middle, TQColor& end ) const; 00206 void setDefaultColor( KDGanttViewItem::Type type, 00207 const TQColor&, 00208 bool overwriteExisting = true ); 00209 TQColor defaultColor( KDGanttViewItem::Type type ) const; 00210 void setHighlightColors( KDGanttViewItem::Type type, 00211 const TQColor& start, const TQColor& middle, 00212 const TQColor& end, 00213 bool overwriteExisting = true ); 00214 bool highlightColors( KDGanttViewItem::Type type, 00215 TQColor& start, TQColor& middle, TQColor& end ) const; 00216 void setDefaultHighlightColor( KDGanttViewItem::Type type, 00217 const TQColor&, 00218 bool overwriteExisting = true ); 00219 TQColor defaultHighlightColor( KDGanttViewItem::Type type ) const; 00220 void setTextColor( const TQColor& color ); 00221 TQColor textColor() const; 00222 00223 void setNoInformationBrush( const TQBrush& brush ); 00224 TQBrush noInformationBrush() const; 00225 00226 // Link-related stuff 00227 TQPtrList<KDGanttViewTaskLink> taskLinks() const; 00228 TQPtrList<KDGanttViewTaskLinkGroup> taskLinkGroups() const; 00229 00230 // Legend-related stuff 00231 void addLegendItem( KDGanttViewItem::Shape shape, const TQColor& shapeColor, const TQString& text ); 00232 void clearLegend(); 00233 // Header-related stuff 00234 void setHorizonStart( const TQDateTime& start ); 00235 TQDateTime horizonStart() const; 00236 void setHorizonEnd( const TQDateTime& start ); 00237 TQDateTime horizonEnd() const; 00238 void setScale( Scale ); 00239 Scale scale() const; 00240 void setMaximumScale( Scale ); 00241 Scale maximumScale() const; 00242 void setMinimumScale( Scale ); 00243 Scale minimumScale() const; 00244 void setAutoScaleMinorTickCount( int count ); 00245 int autoScaleMinorTickCount() const; 00246 void setMajorScaleCount( int count ); 00247 int majorScaleCount() const; 00248 void setMinorScaleCount( int count ); 00249 int minorScaleCount() const; 00250 void setMinimumColumnWidth( int width ); 00251 int minimumColumnWidth() const; 00252 void setYearFormat( YearFormat format ); 00253 YearFormat yearFormat() const; 00254 void setHourFormat( HourFormat format ); 00255 HourFormat hourFormat() const; 00256 void setShowMajorTicks( bool ); 00257 bool showMajorTicks() const; 00258 void setShowMinorTicks( bool ); 00259 bool showMinorTicks() const; 00260 void setColumnBackgroundColor( const TQDateTime& column, 00261 const TQColor& color, 00262 Scale mini = KDGanttView::Minute , 00263 Scale maxi = KDGanttView::Month); 00264 #if 0 00265 // This API has been replaced with KDIntervalColorRectangle and addIntervalBackgroundColor 00266 void setIntervalBackgroundColor( const TQDateTime& start, 00267 const TQDateTime& end, 00268 const TQColor& color, 00269 Scale mini = KDGanttView::Minute , 00270 Scale maxi = KDGanttView::Month); 00271 bool changeBackgroundInterval( const TQDateTime& oldstart, 00272 const TQDateTime& oldend, 00273 const TQDateTime& newstart, 00274 const TQDateTime& newend ); 00275 bool deleteBackgroundInterval( const TQDateTime& start, 00276 const TQDateTime& end ); 00277 #endif 00278 void addIntervalBackgroundColor( KDIntervalColorRectangle* newItem ); 00279 void clearBackgroundColor(); 00280 TQColor columnBackgroundColor( const TQDateTime& column ) const; 00281 void setWeekendBackgroundColor( const TQColor& color ); 00282 TQColor weekendBackgroundColor() const; 00283 void setWeekdayBackgroundColor( const TQColor& color, int weekday ); 00284 TQColor weekdayBackgroundColor(int weekday) const; 00285 00286 00287 void setPaletteBackgroundColor(const TQColor& col); 00288 void setGvBackgroundColor ( const TQColor & ); 00289 void setLvBackgroundColor ( const TQColor & ); 00290 void setTimeHeaderBackgroundColor ( const TQColor & ); 00291 void setLegendHeaderBackgroundColor ( const TQColor & ); 00292 TQColor gvBackgroundColor () const ; 00293 TQColor lvBackgroundColor () const ; 00294 TQColor timeHeaderBackgroundColor () const ; 00295 TQColor legendHeaderBackgroundColor () const ; 00296 void addUserdefinedLegendHeaderWidget( TQWidget * w ); 00297 00298 void setWeekendDays( int start, int end ); 00299 void weekendDays( int& start, int& end ) const; 00300 00301 static TQPixmap getPixmap( KDGanttViewItem::Shape shape, const TQColor& shapeColor,const TQColor& backgroundColor, int itemSize); 00302 00303 void setHeaderVisible( bool ); 00304 bool headerVisible() const; 00305 00306 void setShowLegendButton( bool show ); 00307 bool showLegendButton() const; 00308 00309 // Pass-through methods from TQListView 00310 virtual int addColumn( const TQString& label, int width = -1 ); 00311 virtual int addColumn( const TQIconSet& iconset, const TQString& label, 00312 int width = -1 ); 00313 virtual void removeColumn( int index ); 00314 KDGanttViewItem* selectedItem() const; 00315 void setSelected( KDGanttViewItem*, bool ); 00316 KDGanttViewItem* firstChild() const; 00317 KDGanttViewItem* lastItem() const; 00318 int childCount() const; 00319 void clear(); 00320 00321 void setDragEnabled( bool b ); 00322 void setDropEnabled( bool b ); 00323 void setDragDropEnabled( bool b ); 00324 bool dragEnabled() const; 00325 bool dropEnabled() const; 00326 bool isDragEnabled() const; 00327 bool isDropEnabled() const; 00328 00329 virtual bool lvDropEvent ( TQDropEvent *e, KDGanttViewItem*, KDGanttViewItem*); 00330 virtual void lvStartDrag (KDGanttViewItem*); 00331 virtual bool lvDragMoveEvent (TQDragMoveEvent * e,KDGanttViewItem*, KDGanttViewItem*); 00332 virtual void lvDragEnterEvent (TQDragEnterEvent * e ); 00333 virtual TQSize sizeHint() const; 00334 KDGanttViewItem* getItemByName( const TQString& name ) const; 00335 TQDateTime getDateTimeForCoordX(int coordX, bool global = true ) const; 00336 KDGanttViewItem* getItemByListViewPos( const TQPoint& pos ) const; 00337 KDGanttViewItem* getItemByGanttViewPos( const TQPoint& pos ) const; 00338 KDGanttViewItem* getItemAt( const TQPoint& pos , bool global = true ) const; 00339 00340 // setting the vertical scrollbars of the listview and the timetable 00341 // default values: always off for the listview, always on for the timetable 00342 void setLvVScrollBarMode( TQScrollView::ScrollBarMode ); 00343 void setGvVScrollBarMode( TQScrollView::ScrollBarMode ); 00344 00345 void setLinkItemsEnabled(bool on); 00346 bool isLinkItemsEnabled() const; 00347 00348 KDTimeTableWidget * timeTableWidget() { return myTimeTable; } 00349 KDTimeHeaderWidget * timeHeaderWidget() { return myTimeHeader; } 00350 00351 void setFixedHorizon( bool f ) { mFixedHorizon = f; } 00352 00353 public slots: 00354 void editItem( KDGanttViewItem* ); 00355 void zoomToSelection( const TQDateTime& start, const TQDateTime& end); 00356 00357 signals: 00358 void timeIntervallSelected( const TQDateTime& start, const TQDateTime& end); 00359 void timeIntervalSelected( const TQDateTime& start, const TQDateTime& end); 00360 void rescaling( KDGanttView::Scale ); 00361 void intervalColorRectangleMoved( const TQDateTime& start, const TQDateTime& end ); 00362 00363 // the following signals are emitted if an item is clicked in the 00364 // listview (inclusive) or in the ganttview 00365 void itemLeftClicked( KDGanttViewItem* ); 00366 void itemMidClicked( KDGanttViewItem* ); 00367 void itemRightClicked( KDGanttViewItem* ); 00368 void itemDoubleClicked( KDGanttViewItem* ); 00369 00370 // The following signal is emitted when two items shall be linked 00371 void linkItems( KDGanttViewItem* from, KDGanttViewItem* to, int linkType ); 00372 00373 // the following signals are emitted if an item is clicked in the 00374 // listview (exlusive) or in the ganttview 00375 // gv... means item in ganttview clicked 00376 00377 void gvCurrentChanged( KDGanttViewItem* ); 00378 void gvItemLeftClicked( KDGanttViewItem* ); 00379 void gvItemMidClicked( KDGanttViewItem* ); 00380 void gvItemRightClicked( KDGanttViewItem* ); 00381 // the point is the global position!! 00382 void gvMouseButtonClicked ( int button, KDGanttViewItem* item, const TQPoint & pos); 00383 void gvItemDoubleClicked( KDGanttViewItem* ); 00384 // the point is the global position!! 00385 void gvContextMenuRequested ( KDGanttViewItem * item, const TQPoint & pos ); 00386 void gvItemMoved( KDGanttViewItem* ); 00387 00388 // lv... means item in listview clicked 00389 void lvCurrentChanged( KDGanttViewItem* ); 00390 void lvItemRenamed( KDGanttViewItem* , int col, const TQString & text ); 00391 void lvMouseButtonPressed( int button, KDGanttViewItem * item, const TQPoint & pos, int c ); 00392 void lvItemLeftClicked( KDGanttViewItem* ); 00393 void lvItemMidClicked( KDGanttViewItem* ); 00394 void lvItemRightClicked( KDGanttViewItem* ); 00395 void lvContextMenuRequested ( KDGanttViewItem * item, const TQPoint & pos, int col ); 00396 void lvMouseButtonClicked ( int button, KDGanttViewItem* item, const TQPoint & pos, int c ); 00397 void lvItemDoubleClicked( KDGanttViewItem* ); 00398 void lvSelectionChanged( KDGanttViewItem* ); 00399 00400 void itemConfigured( KDGanttViewItem* ); 00401 00402 void taskLinkLeftClicked( KDGanttViewTaskLink* ); 00403 void taskLinkMidClicked( KDGanttViewTaskLink* ); 00404 void taskLinkRightClicked( KDGanttViewTaskLink* ); 00405 void taskLinkDoubleClicked( KDGanttViewTaskLink* ); 00406 00407 void dateTimeDoubleClicked (const TQDateTime& ); 00408 00409 void dropped ( TQDropEvent * e, KDGanttViewItem* droppedItem, KDGanttViewItem* itemBelowMouse); 00410 private slots: 00411 void forceRepaint( int val = 0 ); 00412 void slotSelectionChanged( TQListViewItem* item ); 00413 void slotCurrentChanged ( TQListViewItem * item ); 00414 void slotItemRenamed ( TQListViewItem * item, int col, const TQString & text ); 00415 void slotMouseButtonPressed ( int button, TQListViewItem * item, const TQPoint & pos, int c ); 00416 void slotmouseButtonClicked ( int button, TQListViewItem * item, const TQPoint & pos, int c ); 00417 void slotcontextMenuRequested ( TQListViewItem * item, const TQPoint & pos, int col ); 00418 void slotHeaderSizeChanged(); 00419 void addTickRight(); 00420 void addTickLeft(); 00421 void enableAdding( int ); 00422 void slot_lvDropped(TQDropEvent* e, KDGanttViewItem* droppedItem, KDGanttViewItem* itemBelowMouse ); 00423 private: 00424 struct legendItem { 00425 KDGanttViewItem::Shape shape; 00426 TQColor color; 00427 TQString text; 00428 }; 00429 bool loadXML( const TQDomDocument& doc ); 00430 TQDomDocument saveXML( bool withPI = true ) const; 00431 00432 void emptySpaceDoubleClicked( TQMouseEvent* e ); 00433 00434 static TQString scaleToString( Scale scale ); 00435 static TQString yearFormatToString( YearFormat format ); 00436 static TQString hourFormatToString( HourFormat format ); 00437 static Scale stringToScale( const TQString& string ); 00438 static YearFormat stringToYearFormat( const TQString& string ); 00439 static HourFormat stringToHourFormat( const TQString& string ); 00440 00441 // PENDING(lutz) Review these 00442 friend class KDGanttCanvasView; 00443 friend class KDGanttViewEventItem; 00444 friend class KDGanttViewItem; 00445 friend class KDGanttViewTaskItem; 00446 friend class KDGanttViewSummaryItem; 00447 friend class KDGanttViewTaskLink; 00448 friend class KDGanttViewCalendarItem; 00449 friend class KDTimeTableWidget; 00450 friend class KDTimeHeaderWidget; 00451 friend class KDListView; 00452 friend class KDGanttViewTaskLinkGroup; 00453 friend class KDLegendWidget; 00454 00455 KDListView * myListView; 00456 KDGanttCanvasView *myCanvasView; 00457 KDTimeHeaderWidget * myTimeHeader; 00458 KDTimeTableWidget * myTimeTable; 00459 KDLegendWidget * myLegend; 00460 itemAttributeDialog* myItemAttributeDialog; 00461 TQVBox * leftWidget, * rightWidget; 00462 TQHBox * spacerLeft; 00463 TQScrollView* myTimeHeaderScroll; 00464 TQHBox* myTimeHeaderContainer ; 00465 TQWidget* timeHeaderSpacerWidget; 00466 TQWidget *spacerRight; 00467 00468 bool listViewIsVisible; 00469 bool chartIsEditable; 00470 bool editorIsEnabled; 00471 bool _displaySubitemsAsGroup; 00472 bool _displayEmptyTasksAsLine; 00473 bool _showLegendButton; 00474 bool _showHeader; 00475 bool _enableAdding; 00476 bool fCenterTimeLineAfterShow; 00477 bool fDragEnabled; 00478 bool fDropEnabled; 00479 bool closingBlocked; 00480 TQDateTime dtCenterTimeLineAfterShow; 00481 KDGanttViewItem::Shape myDefaultShape [9]; 00482 TQColor myColor[9],myColorHL[9]; 00483 bool undefinedShape[3],undefinedColor[3],undefinedColorHL[3]; 00484 TQColor myTextColor; 00485 TQColor myDefaultColor[3],myDefaultColorHL[3]; 00486 TQPtrList<KDGanttViewTaskLinkGroup> myTaskLinkGroupList; 00487 TQPtrList<legendItem> *myLegendItems; 00488 void addTaskLinkGroup(KDGanttViewTaskLinkGroup*); 00489 void removeTaskLinkGroup(KDGanttViewTaskLinkGroup*); 00490 int getIndex( KDGanttViewItem::Type ) const; 00491 void notifyEditdialog( KDGanttViewItem * ); 00492 void initDefaults(); 00493 KDGanttViewItem* myCurrentItem; 00494 KDGanttMinimizeSplitter *mySplitter; 00495 bool mFixedHorizon; 00496 protected: 00497 virtual TQDragObject * dragObject (); 00498 virtual void startDrag (); 00499 }; 00500 00501 00502 00503 #endif