36#include "KDGanttViewSubwidgets.h"
37#include "KDGanttViewTaskItem.h"
38#include "KDGanttViewSummaryItem.h"
39#include "KDGanttViewEventItem.h"
40#include "itemAttributeDialog.h"
44#include "KDGanttXMLTools.h"
160TQDict<KDGanttViewItem> KDGanttViewItem::sItemDict;
172 const TQString& lvtext,
173 const TQString&
name ) :
174 TQListViewItem(view->myListView,lvtext)
176 initColorAndShapes(
type);
192 const TQString& lvtext,
193 const TQString&
name ) :
194 TQListViewItem(parentItem,lvtext)
196 initColorAndShapes(
type);
214 const TQString& lvtext,
215 const TQString&
name ) :
216 TQListViewItem(view->myListView,after, lvtext)
218 initColorAndShapes(
type);
236 const TQString& lvtext,
237 const TQString&
name ) :
238 TQListViewItem( parentItem, after, lvtext )
240 initColorAndShapes(
type);
263 if ( progressShape )
delete progressShape ;
264 if ( floatStartShape )
delete floatStartShape ;
265 if ( floatEndShape )
delete floatEndShape ;
266 myGanttView->myTimeTable->removeItemFromTasklinks(
this );
272 parent()->takeItem(
this );
290 if( !_name.isEmpty() )
292 sItemDict.remove( _name );
295 if (
name.isEmpty() || sItemDict.find(
name ) ) {
297 newName.sprintf(
"%p", (
void* )
this );
298 while( sItemDict.find( newName ) ) {
304 sItemDict.insert( newName,
this );
372 TQListViewItem::setEnabled( on );
401 resetSubitemVisibility();
417 return TQListViewItem::isVisible();
463 if ( !show && _displaySubitemsAsGroup)
465 _displaySubitemsAsGroup = show;
484 return _displaySubitemsAsGroup;
566 tqDebug(
"KDGantt:Event Item has no end time" );
572 tqDebug(
"KDGantt:Task Item has no end time" );
575 tqDebug(
"Unknown type in KDGanttViewItem::typeToString()" );
629 TQListViewItem::setText( column,
text );
642 TQListViewItem::setText( column,
text );
656 return TQListViewItem::text( column );
693 myToolTipText =
text;
706 return myToolTipText;
718 myWhatsThisText =
text;
731 return myWhatsThisText;
790 myStartShape = start;
791 myMiddleShape= middle;
813void KDGanttViewItem::createShape( KDCanvasPolygonItem* &itemShape,
814 KDCanvasPolygonItem* &itemShapeBack,
817 if ( itemShape &&
type() == Task )
819 if (itemShape)
delete itemShape;
820 if (itemShapeBack)
delete itemShapeBack;
822 TQCanvasPolygonalItem * item;
823 TQCanvasPolygonalItem * itemBack;
829 item =
new KDCanvasPolygon(
myGanttView->myTimeTable,
this,Type_is_KDGanttViewItem);
830 TQPointArray arr = TQPointArray(3);
831 arr.setPoint(0,-size/2,-hei);
832 arr.setPoint(1,size/2,-hei);
833 arr.setPoint(2,0,((size/2)-hei));
834 ((TQCanvasPolygon*)item)->setPoints(arr);
836 itemBack =
new KDCanvasPolygon(
myGanttView->myTimeTable,
this,Type_is_KDGanttViewItem);
837 arr.setPoint(0,-size/2,-hei);
838 arr.setPoint(1,size/2,-hei);
839 arr.setPoint(2,0,((size/2)-hei));
840 ((TQCanvasPolygon*)itemBack)->setPoints(arr);
849 item =
new KDCanvasPolygon(
myGanttView->myTimeTable,
this,Type_is_KDGanttViewItem);
850 TQPointArray arr = TQPointArray(3);
851 arr.setPoint(0,-size/2,hei);
852 arr.setPoint(1,size/2,hei);
853 arr.setPoint(2,0,(-size/2)+hei);
854 ((TQCanvasPolygon*)item)->setPoints(arr);
856 itemBack =
new KDCanvasPolygon(
myGanttView->myTimeTable,
this,Type_is_KDGanttViewItem);
857 arr.setPoint(0,-size/2,hei);
858 arr.setPoint(1,size/2,hei);
859 arr.setPoint(2,0,(-size/2)+hei);
860 ((TQCanvasPolygon*)itemBack)->setPoints(arr);
867 item =
new KDCanvasPolygon(
myGanttView->myTimeTable,
this,Type_is_KDGanttViewItem);
868 TQPointArray arr = TQPointArray(4);
869 arr.setPoint(0,0,-size/2);
870 arr.setPoint(1,size/2,0);
871 arr.setPoint(2,0,size/2);
872 arr.setPoint(3,-size/2,0);
873 ((TQCanvasPolygon*)item)->setPoints(arr);
875 itemBack =
new KDCanvasPolygon(
myGanttView->myTimeTable,
this,Type_is_KDGanttViewItem);
876 arr.setPoint(0,0,-size/2);
877 arr.setPoint(1,size/2,0);
878 arr.setPoint(2,0,size/2);
879 arr.setPoint(3,-size/2,0);
880 ((TQCanvasPolygon*)itemBack)->setPoints(arr);
887 item =
new KDCanvasPolygon(
myGanttView->myTimeTable,
this,Type_is_KDGanttViewItem);
888 TQPointArray arr = TQPointArray(4);
889 arr.setPoint(0,-size/2,-size/2);
890 arr.setPoint(1,size/2,-size/2);
891 arr.setPoint(2,size/2,size/2);
892 arr.setPoint(3,-size/2,size/2);
893 ((TQCanvasPolygon*)item)->setPoints(arr);
895 itemBack =
new KDCanvasPolygon(
myGanttView->myTimeTable,
this,Type_is_KDGanttViewItem);
896 arr.setPoint(0,-size/2,-size/2);
897 arr.setPoint(1,size/2,-size/2);
898 arr.setPoint(2,size/2,size/2);
899 arr.setPoint(3,-size/2,size/2);
900 ((TQCanvasPolygon*)itemBack)->setPoints(arr);
907 item =
new KDCanvasEllipse(
myGanttView->myTimeTable,
this,Type_is_KDGanttViewItem);
908 ((KDCanvasEllipse*)item)->setSize(size,size);
910 itemBack =
new KDCanvasEllipse(
myGanttView->myTimeTable,
this,Type_is_KDGanttViewItem);
911 ((KDCanvasEllipse*)itemBack)->setSize(size,size);
919 item->setBrush(TQt::SolidPattern);
921 itemShape = (KDCanvasPolygonItem*) item;
922 itemBack->setBrush(TQt::SolidPattern);
924 itemShapeBack = (KDCanvasPolygonItem*) itemBack;
939 start = myStartShape;
940 middle = myMiddleShape;
962 myMiddleColor= middle;
987 start = myStartColor ;
988 middle = myMiddleColor;
1013 myStartColorHL=start ;
1014 myMiddleColorHL= middle;
1039 start = myStartColorHL ;
1040 middle = myMiddleColorHL;
1060 myTextColor = color;
1110 TQListViewItem::setPixmap( column,
pixmap );
1118 TQListViewItem::setPixmap( 0,
pixmap );
1131 return TQListViewItem::pixmap( column );
1152 myDefaultColor = color;
1178 return myDefaultColor;
1199 myDefaultColorHL = color;
1222 return myDefaultColorHL;
1285 if ( !includeDisabled ) {
1289 if (itemPos() + height() == retItem->itemPos() ) {
1293 KDGanttViewItem* Item2 = (
KDGanttViewItem* )TQListViewItem::listView()->itemAt(TQPoint (2, TQListViewItem::itemPos() + TQListViewItem::height() +2) );
1309 b.setStyle(TQt::SolidPattern);
1313 b.setStyle(TQt::SolidPattern);
1314 b.setColor(myStartColorHL);
1316 b.setColor(myMiddleColorHL);
1318 b.setColor(myEndColorHL);
1321 p.setColor(myStartColorHL);
1323 p.setColor(myEndColorHL);
1326 b.setStyle(TQt::SolidPattern);
1327 b.setColor(myStartColor);
1330 b.setColor(myMiddleColor);
1332 b.setColor(myEndColor);
1335 p.setColor(myStartColor);
1337 p.setColor(myEndColor);
1342 TQColor discol = TQColor(232,232,232);
1343 textCanvas->setColor( TQColor(150,150,150) );
1344 b.setStyle(TQt::SolidPattern);
1366void KDGanttViewItem::initItem()
1376 if ( _callListViewOnSetOpen ) {
1379 listView ()->setOpen(
this, open );
1383 TQListViewItem::setOpen( open );
1388void KDGanttViewItem::showItem(
bool,
int )
1393TQPoint KDGanttViewItem::getTaskLinkStartCoord(TQPoint p)
1400TQPoint KDGanttViewItem::getTaskLinkEndCoord()
1406void KDGanttViewItem::hideSubtree()
1416void KDGanttViewItem::setCallListViewOnSetOpen(
bool call )
1418 _callListViewOnSetOpen = call;
1422void KDGanttViewItem::initColorAndShapes(Type t)
1424 setTextOffset(TQPoint(0,0));
1426 _callListViewOnSetOpen =
true;
1430 floatStartShape = 0;
1442 myGanttView = ((KDListView *)listView())->myGanttView;
1446 myToolTipText =TQListViewItem::text(0);
1447 myWhatsThisText = TQListViewItem::text(0);
1450 _displaySubitemsAsGroup =
myGanttView->displaySubitemsAsGroup();
1459 actualEnd->setPen( TQPen ( TQt::red, 3 ) );
1471 if (!( shapeDefined = (
myGanttView->shapes(myType,myStartShape,myMiddleShape,myEndShape)))) {
1476 setShapes(myStartShape,myMiddleShape,myEndShape);
1477 if (
type() == Task ) {
1481 startShape = (KDCanvasPolygonItem*)
new KDCanvasRectangle(
myGanttView->myTimeTable,
this,Type_is_KDGanttViewItem);
1482 progressShape = (KDCanvasPolygonItem*)
new KDCanvasRectangle(
myGanttView->myTimeTable,
this,Type_is_KDGanttViewItem);
1484 floatStartShape = (KDCanvasPolygonItem*)
new KDCanvasRectangle(
myGanttView->myTimeTable,
this,Type_is_KDGanttViewItem);
1485 floatEndShape = (KDCanvasPolygonItem*)
new KDCanvasRectangle(
myGanttView->myTimeTable,
this,Type_is_KDGanttViewItem);
1488 if (!( colorDefined = (
myGanttView->colors(myType,myStartColor,myMiddleColor,myEndColor)))) {
1493 if (!( colorHLDefined = (
myGanttView->highlightColors(myType,myStartColorHL,myMiddleColorHL,myEndColorHL)))) {
1502 _showNoInformation =
false;
1509TQString KDGanttViewItem::shapeToString( Shape shape )
1513 return "TriangleDown";
1515 return "TriangleUp";
1529 if(
string ==
"TriangleDown" )
1530 return TriangleDown;
1531 else if(
string ==
"TriangleUp" )
1533 else if(
string ==
"Diamond" )
1535 else if(
string ==
"Square" )
1537 else if(
string ==
"Circle" )
1540 return TriangleDown;
1551 TQDomElement& parentElement )
1553 TQDomElement itemElement = doc.createElement(
"Item" );
1554 parentElement.appendChild( itemElement );
1555 itemElement.setAttribute(
"Type", typeToString(
type() ) );
1557 KDGanttXML::createDateTimeNode( doc, itemElement,
"StartTime",
startTime() );
1558 KDGanttXML::createDateTimeNode( doc, itemElement,
"EndTime",
endTime() );
1559 KDGanttXML::createFontNode( doc, itemElement,
"Font",
font() );
1560 KDGanttXML::createStringNode( doc, itemElement,
"Text",
text() );
1561 KDGanttXML::createStringNode( doc, itemElement,
"TooltipText",
tooltipText() );
1562 KDGanttXML::createStringNode( doc, itemElement,
"WhatsThisText",
1565 KDGanttXML::createPixmapNode( doc, itemElement,
"Pixmap", *
pixmap() );
1567 KDGanttXML::createStringNode( doc, itemElement,
"ListViewText",
1569 KDGanttXML::createBoolNode( doc, itemElement,
"Open", isOpen() );
1570 KDGanttXML::createBoolNode( doc, itemElement,
"Highlight",
highlight() );
1573 KDGanttXML::createStringNode( doc, itemElement,
"StartShape",
1575 KDGanttXML::createStringNode( doc, itemElement,
"MiddleShape",
1576 shapeToString( middleShape ) );
1577 KDGanttXML::createStringNode( doc, itemElement,
"EndShape",
1579 KDGanttXML::createColorNode( doc, itemElement,
"DefaultColor",
defaultColor() );
1580 TQColor startColor, middleColor, endColor;
1581 colors( startColor, middleColor, endColor );
1582 KDGanttXML::createColorNode( doc, itemElement,
"StartColor", startColor );
1583 KDGanttXML::createColorNode( doc, itemElement,
"MiddleColor", middleColor );
1584 KDGanttXML::createColorNode( doc, itemElement,
"EndColor", endColor );
1585 KDGanttXML::createColorNode( doc, itemElement,
"DefaultHighlightColor",
1588 KDGanttXML::createColorNode( doc, itemElement,
"StartHighlightColor",
1590 KDGanttXML::createColorNode( doc, itemElement,
"MiddleHighlightColor",
1592 KDGanttXML::createColorNode( doc, itemElement,
"EndHighlightColor", endColor );
1593 KDGanttXML::createColorNode( doc, itemElement,
"TextColor",
textColor() );
1594 KDGanttXML::createStringNode( doc, itemElement,
"Name",
name() );
1595 TQDomElement itemsElement = doc.createElement(
"Items" );
1596 itemElement.appendChild( itemsElement );
1598 while( currentItem ) {
1599 currentItem->
createNode( doc, itemsElement );
1616 TQDomElement& element )
1618 TQString typeString = element.attribute(
"Type" );
1619 Q_ASSERT( !typeString.isEmpty() );
1621 if( typeString ==
"Task" )
1623 else if( typeString ==
"Summary" )
1625 else if( typeString ==
"Event" )
1628 tqDebug(
"Unknown item type %s in KDGanttViewItem::createFromDomElement()", typeString.latin1() );
1632 item->loadFromDomElement( element );
1648 TQDomElement& element )
1650 TQString typeString = element.attribute(
"Type" );
1651 Q_ASSERT( !typeString.isEmpty() );
1653 if( typeString ==
"Task" )
1655 else if( typeString ==
"Summary" )
1657 else if( typeString ==
"Event" )
1660 tqDebug(
"Unknown item type in KDGanttViewItem::createFromDomElement()" );
1664 item->loadFromDomElement( element );
1680 TQDomElement& element )
1682 TQString typeString = element.attribute(
"Type" );
1683 Q_ASSERT( !typeString.isEmpty() );
1685 if( typeString ==
"Task" )
1687 else if( typeString ==
"Summary" )
1689 else if( typeString ==
"Event" )
1692 tqDebug(
"Unknown item type in KDGanttViewItem::createFromDomElement()" );
1696 item->loadFromDomElement( element );
1712 TQDomElement& element )
1714 TQString typeString = element.attribute(
"Type" );
1715 Q_ASSERT( !typeString.isEmpty() );
1717 if( typeString ==
"Task" )
1719 else if( typeString ==
"Summary" )
1721 else if( typeString ==
"Event" )
1724 tqDebug(
"Unknown item type in KDGanttViewItem::createFromDomElement()" );
1728 item->loadFromDomElement( element );
1736void KDGanttViewItem::loadFromDomElement( TQDomElement& element )
1739 Shape
startShape = TriangleDown, middleShape = TriangleDown,
1741 TQColor startColor, middleColor, endColor;
1742 TQColor startHighlightColor, middleHighlightColor, endHighlightColor;
1744 while( !node.isNull() ) {
1745 TQDomElement element = node.toElement();
1746 if( !element.isNull() ) {
1747 TQString tagName = element.tagName();
1748 if( tagName ==
"StartTime" ) {
1750 if( KDGanttXML::readDateTimeNode( element, value ) )
1752 }
else if( tagName ==
"EndTime" ) {
1754 if( KDGanttXML::readDateTimeNode( element, value ) )
1756 }
else if( tagName ==
"Text" ) {
1758 if( KDGanttXML::readStringNode( element, value ) )
1760 }
else if( tagName ==
"Font" ) {
1762 if( KDGanttXML::readFontNode( element, value ) )
1764 }
else if( tagName ==
"TooltipText" ) {
1766 if( KDGanttXML::readStringNode( element, value ) )
1768 }
else if( tagName ==
"WhatsThisText" ) {
1770 if( KDGanttXML::readStringNode( element, value ) )
1772 }
else if( tagName ==
"Pixmap" ) {
1774 if( KDGanttXML::readPixmapNode( element, value ) )
1776 }
else if( tagName ==
"ListViewText" ) {
1778 if( KDGanttXML::readStringNode( element, value ) )
1780 }
else if( tagName ==
"Open" ) {
1782 if( KDGanttXML::readBoolNode( element, value ) )
1784 }
else if( tagName ==
"Highlight" ) {
1786 if( KDGanttXML::readBoolNode( element, value ) )
1788 }
else if( tagName ==
"StartShape" ) {
1790 if( KDGanttXML::readStringNode( element, value ) )
1792 }
else if( tagName ==
"MiddleShape" ) {
1794 if( KDGanttXML::readStringNode( element, value ) )
1795 middleShape = stringToShape( value );
1796 }
else if( tagName ==
"EndShape" ) {
1798 if( KDGanttXML::readStringNode( element, value ) )
1800 }
else if( tagName ==
"DefaultColor" ) {
1802 if( KDGanttXML::readColorNode( element, value ) )
1804 }
else if( tagName ==
"StartColor" ) {
1806 if( KDGanttXML::readColorNode( element, value ) )
1808 }
else if( tagName ==
"MiddleColor" ) {
1810 if( KDGanttXML::readColorNode( element, value ) )
1811 middleColor = value;
1812 }
else if( tagName ==
"EndColor" ) {
1814 if( KDGanttXML::readColorNode( element, value ) )
1816 }
else if( tagName ==
"DefaultHighlightColor" ) {
1818 if( KDGanttXML::readColorNode( element, value ) )
1820 }
else if( tagName ==
"StartHighlightColor" ) {
1822 if( KDGanttXML::readColorNode( element, value ) )
1823 startHighlightColor = value;
1824 }
else if( tagName ==
"MiddleHighlightColor" ) {
1826 if( KDGanttXML::readColorNode( element, value ) )
1827 middleHighlightColor = value;
1828 }
else if( tagName ==
"EndHighlightColor" ) {
1830 if( KDGanttXML::readColorNode( element, value ) )
1831 endHighlightColor = value;
1832 }
else if( tagName ==
"TextColor" ) {
1834 if( KDGanttXML::readColorNode( element, value ) )
1836 }
else if( tagName ==
"Name" ) {
1838 if( KDGanttXML::readStringNode( element, value ) )
1840 }
else if( tagName ==
"Items" ) {
1841 TQDomNode node = element.firstChild();
1843 while( !node.isNull() ) {
1844 TQDomElement element = node.toElement();
1845 if( !element.isNull() ) {
1846 TQString tagName = element.tagName();
1847 if( tagName ==
"Item" ) {
1860 tqDebug(
"Unrecognized tag name: %s", tagName.latin1() );
1865 node = node.nextSibling();
1868 tqDebug(
"Unrecognized tag name: %s", tagName.latin1() );
1873 node = node.nextSibling();
1876 setColors( startColor, middleColor, endColor );
1878 endHighlightColor );
1884TQString KDGanttViewItem::typeToString( Type type )
1894 tqDebug(
"Unknown type in KDGanttViewItem::typeToString()" );
1908 return itemPos() + height()/2;
1912void KDGanttViewItem::showSubItems()
1918void KDGanttViewItem::showSubitemTree(
int CoordY )
1925 temp->showItem(
true, CoordY );
1930 temp->hideSubtree();
1932 temp->showSubitemTree( CoordY );
1939 showItem(
true, CoordY );
1951 TQDateTime ret, tempTime;
1965 if ( tempTime < ret ) {
1985 TQDateTime ret, tempTime;
1999 if ( tempTime > ret ) {
2020 return _showNoInformation;
2037 _showNoInformation = show;
2098int KDGanttViewItem::computeHeight()
2102 if ( !isVisible() ) {
2154 tempHeight = temp->computeHeight();
2195bool KDGanttViewItem::showNoCross()
2210void KDGanttViewItem::paintBranches ( TQPainter* p,
const TQColorGroup& cg,
2211 int w,
int y,
int h )
2213 TQListViewItem::paintBranches ( p, cg, w, y, h);
2219 if ( temp->showNoCross() ) {
2221 int y_coord = temp->itemPos() -height ()- itemPos();
2222 int hei = temp->height();
2225 myGanttView->myListView->paintemptyarea( p, TQRect( 0,y+y_coord,w,hei));
2227 int y_c = y+y_coord+ temp->height ()/2;
2230 y_ce =y+y_coord+ temp->height ();
2234 for (i = y+y_coord+1; i <= y_ce; i+=2 ) {
2235 p->drawPoint( x_c, i );
2237 for (i = x_c+2; i < w; i+=2 ) {
2238 p->drawPoint( i, y_c );
2248void KDGanttViewItem::resetSubitemVisibility()
2261 setVisible(
false );
2268 temp->resetSubitemVisibility();
2271 temp->setVisible(
false);
2280 temp->resetSubitemVisibility();
2284 if ( !allow && isOpen() )
2466TQPoint KDGanttViewItem::middleLeft()
2473TQPoint KDGanttViewItem::middleRight()
2482 int mx = x + myTextOffset.x();
2483 int my = y + myTextOffset.y();
2484 if (myTextOffset.x() != 0)
2497 TQPoint m = myTextOffset+middleRight();
2504void KDGanttViewItem::setTextOffset(TQPoint p)
2507 myTextOffset.setX(p.x());
2508 myTextOffset.setY(p.y());
2511bool KDGanttViewItem::isMyTextCanvas(TQCanvasItem *tc)
2525 myProgress = TQMAX(0, percent);
2526 myProgress = TQMIN(100, myProgress);
2537 myFloatStartTime = start;
2548 myFloatEndTime = end;
void setTextColor(const TQColor &color)
KDGanttView * myGanttView
TQString listViewText(int column=0) const
TQColor defaultColor() const
void setFont(const TQFont &font)
void setTooltipText(const TQString &text)
KDCanvasPolygonItem * midShapeBack
void setText(const TQString &text)
KDGanttViewItem * getChildByName(const TQString &name)
void setItemVisible(bool on)
const TQPixmap * pixmap(int column=0) const
void setShowNoInformation(bool show)
KDGanttViewItem * itemBelow(bool includeDisabled=true)
virtual void setEndTime(const TQDateTime &end)
void moveTextCanvas(int x, int y)
void setPriority(int prio)
KDCanvasPolygonItem * startShape
KDGanttViewItem * itemAbove()
virtual void setStartTime(const TQDateTime &start)
void setEditable(bool editable)
KDCanvasPolygonItem * startShapeBack
bool isVisibleInGanttView
void generateAndInsertName(const TQString &name)
static KDGanttViewItem * find(const TQString &name)
TQString whatsThisText() const
void setColors(const TQColor &start, const TQColor &middle, const TQColor &end)
void createNode(TQDomDocument &doc, TQDomElement &parentElement)
KDGanttViewItem * nextSibling() const
KDGanttViewItem * parent() const
TQDateTime myChildStartTime()
TQDateTime endTime() const
TQString tooltipText() const
KDCanvasLine * endLineBack
TQColor defaultHighlightColor() const
void setFloatStartTime(const TQDateTime &start)
void highlightColors(TQColor &start, TQColor &middle, TQColor &end) const
void setPixmap(int column, const TQPixmap &pixmap)
static KDGanttViewItem * createFromDomElement(KDGanttView *view, TQDomElement &element)
void setProgress(int percent)
void setShapes(Shape start, Shape middle, Shape end)
void colors(TQColor &start, TQColor &middle, TQColor &end) const
KDCanvasLine * startLineBack
void setFloatEndTime(const TQDateTime &end)
void setDisplaySubitemsAsGroup(bool show)
bool displaySubitemsAsGroup() const
KDGanttViewItem * firstChild() const
void setDefaultColor(const TQColor &)
void setHighlightColors(const TQColor &start, const TQColor &middle, const TQColor &end)
void setListViewText(const TQString &text, int column=0)
TQColor textColor() const
KDCanvasPolygonItem * midShape
TQDateTime myChildEndTime()
KDCanvasPolygonItem * endShapeBack
TQDateTime startTime() const
bool subitemIsCalendar() const
KDCanvasText * textCanvas
KDGanttViewItem(Type type, KDGanttView *view, const TQString &lvtext=TQString(), const TQString &name=TQString())
void setWhatsThisText(const TQString &text)
void shapes(Shape &start, Shape &middle, Shape &end) const
void setDefaultHighlightColor(const TQColor &)
virtual void setOpen(bool o)
virtual ~KDGanttViewItem()
KDCanvasPolygonItem * endShape