kdgantt1
KDGanttViewTaskLink.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033 #ifndef KDGANTTVIEWTASKLINK_H
00034 #define KDGANTTVIEWTASKLINK_H
00035
00036 #include <QColor>
00037 #include <QString>
00038
00039 #include "kdgantt_qt3_compat.h"
00040
00041 #include "KDGanttViewItem.h"
00042 class KDGanttViewTaskLinkGroup;
00043 class KDCanvasPolygon;
00044 class KDCanvasLine;
00045
00046 class KDGanttViewTaskLink
00047 {
00048 public:
00049 enum LinkType { None, FinishStart, StartStart, FinishFinish, StartFinish };
00050
00051 KDGanttViewTaskLink( QPtrList<KDGanttViewItem> from,
00052 QPtrList<KDGanttViewItem> to,
00053 LinkType type = None );
00054 KDGanttViewTaskLink( KDGanttViewTaskLinkGroup* group,
00055 QPtrList<KDGanttViewItem> from,
00056 QPtrList<KDGanttViewItem> to,
00057 LinkType type = None );
00058 KDGanttViewTaskLink( KDGanttViewTaskLinkGroup* group,
00059 KDGanttViewItem* from,
00060 KDGanttViewItem* to,
00061 LinkType type = None );
00062 KDGanttViewTaskLink( KDGanttViewItem* from,
00063 KDGanttViewItem* to,
00064 LinkType type = None);
00065 ~KDGanttViewTaskLink();
00066 QPtrList<KDGanttViewItem> from() const;
00067 QPtrList<KDGanttViewItem> to() const;
00068 void removeItemFromList( KDGanttViewItem* );
00069
00070 void setVisible( bool );
00071 bool isVisible() const;
00072
00073 KDGanttViewTaskLinkGroup* group();
00074 void setGroup( KDGanttViewTaskLinkGroup*) ;
00075
00076 void setHighlight( bool highlight );
00077 bool highlight() const;
00078
00079 void setColor( const QColor& color );
00080 QColor color() const;
00081 void setHighlightColor( const QColor& color );
00082 QColor highlightColor() const;
00083
00084 void setTooltipText( const QString& text );
00085 QString tooltipText() const;
00086 void setWhatsThisText( const QString& text );
00087 QString whatsThisText() const;
00088
00089 void createNode( QDomDocument& doc,
00090 QDomElement& parentElement );
00091 static KDGanttViewTaskLink* createFromDomElement( QDomElement& );
00092 bool isFromToItem (KDGanttViewItem * item );
00093
00094 int getLinkType() const;
00095 void setLinkType(int type);
00096
00097 private:
00098 void resetGroup();
00099 friend class KDGanttViewTaskLinkGroup;
00100 friend class KDTimeTableWidget;
00101 QPtrList<KDGanttViewItem> fromList,toList;
00102 QPtrList<KDCanvasLine>* horLineList;
00103 QPtrList<KDCanvasLine>* verLineList;
00104 QPtrList<KDCanvasPolygon>* topList;
00105
00106 QPtrList<KDCanvasLine>* horLineList2;
00107 QPtrList<KDCanvasLine>* verLineList2;
00108 QPtrList<KDCanvasLine>* horLineList3;
00109 QPtrList<KDCanvasPolygon>* topLeftList;
00110 QPtrList<KDCanvasPolygon>* topRightList;
00111
00112 KDGanttViewTaskLinkGroup* myGroup;
00113 bool isvisible,ishighlighted;
00114 QColor myColor, myColorHL;
00115 QString myToolTipText,myWhatsThisText;
00116 KDTimeTableWidget* myTimeTable;
00117 void initTaskLink();
00118 void showMe( bool );
00119 void showMeType( bool );
00120 void hide();
00121 int xOffset(KDGanttViewItem *item);
00122
00123 LinkType myLinkType;
00124 static QString linkTypeToString( LinkType type );
00125 static LinkType stringToLinkType( const QString type );
00126 };
00127
00128 #endif