void GMAccountList::TableDrawCell ( JPainter& p, const JPoint& cell, const JRect& rect ) { HilightIfSelected(p, cell, rect); JFontStyle fontstyle; if (itsDialog->GetDefaultIndex() == (JIndex)cell.y) { fontstyle.bold = kJTrue; } p.SetFont(JGetDefaultFontName(), kJDefaultFontSize, fontstyle); JString str = itsAccountInfo->NthElement(cell.y)->GetNickname(); // check that column is wide enough const JCoordinate w = p.GetStringWidth(str) + 2*kHMarginWidth; if (w > GetColWidth(1)) { itsMinColWidth = w; } // draw string JRect r = rect; r.left += kHMarginWidth; p.String(r, str, JPainter::kHAlignLeft, JPainter::kVAlignCenter); if (cell.y == JCoordinate(itsAccountInfo->GetElementCount())) { AdjustColWidth(); } }
void JXRowHeaderWidget::TableDrawCell ( JPainter& p, const JPoint& cell, const JRect& rect ) { JXDrawUpFrame(p, rect, kCellFrameWidth); JString str; JBoolean hasTitle = kJFalse; if (itsTitles != NULL) { const JString* title = itsTitles->NthElement(cell.y); if (title != NULL) { str = *title; hasTitle = kJTrue; } } if (!hasTitle) { str = JString(cell.y, JString::kBase10); } p.SetFont(JGetDefaultFontName(), kJDefaultRowColHeaderFontSize, JFontStyle(kJTrue, kJFalse, 0, kJFalse, (p.GetColormap())->GetBlackColor())); p.String(rect, str, JPainter::kHAlignCenter, JPainter::kVAlignCenter); const JCoordinate wmin = p.GetStringWidth(str) + 2*itsHMarginWidth; if (rect.width() < wmin && itsMaxBcastWidth < wmin) { Broadcast(NeedsToBeWidened(wmin - itsMaxBcastWidth)); itsMaxBcastWidth = wmin; } }