Listing 5: SCClassSymbol::buildGraphics
/********************************************/
SCClassSymbol& SCClassSymbol::buildGraphics()
/********************************************/
{
removeAll();
setGraphicBundle( bundle );
int xLeft = xPosition();
int xRight = xLeft + xSize();
int yBottom = yPosition();
int yTop = yBottom + ySize();
IGRectangle *pBox = new IGRectangle(IRectangle(
IPoint(xLeft, yBottom),
ISize(xSize(), ySize())));
addAsFirst(*pBox);
int yAttrTop = yTop - CLASSNAME_PORTION * ySize();
addAsLast(* (new IGLine(IPoint(xLeft, yAttrTop),
IPoint(xRight, yAttrTop))));
IGString *pName = new IGString(name(),
IPoint(xLeft + CLASSNAME_MARGIN,
yAttrTop + CLASSNAME_MARGIN),
IFont());
addAsLast(*pName);
int yMethTop = yBottom + CLASSMETHOD_PORTION * ySize();
addAsLast(*new IGLine(
IPoint(xLeft, yMethTop),
IPoint(xRight, yMethTop)));
return *this;
}
//End of File