#include #include #include #include #include #include #include #include "scoreboard.h" ScoreBoard::ScoreBoard(TQWidget *parent, const char *name) : TQTable(1, 1, parent, name) { vh = verticalHeader(); hh = horizontalHeader(); vh->setLabel(numRows() - 1, i18n("Par")); hh->setLabel(numCols() - 1, i18n("Total")); setFocusPolicy(TQ_NoFocus); setRowReadOnly(0, true); setRowReadOnly(1, true); } void ScoreBoard::newHole(int par) { int _numCols = numCols(); insertColumns(_numCols - 1); hh->setLabel(numCols() - 2, TQString::number(numCols() - 1)); setText(numRows() - 1, numCols() - 2, TQString::number(par)); setColumnWidth(numCols() - 2, 40); // update total int tot = 0; for (int i = 0; i < numCols() - 1; ++i) tot += text(numRows() - 1, i).toInt(); setText(numRows() - 1, numCols() - 1, TQString::number(tot)); // shrink cell... setColumnWidth(numCols() - 2, 3); // and make it big enough for the numbers adjustColumn(numCols() - 2); } void ScoreBoard::newPlayer(const TQString &name) { //kdDebug(12007) << "name of new player is " << name << endl; insertRows(numRows() - 1); vh->setLabel(numRows() - 2, name); setRowReadOnly(numRows() - 2, true); } void ScoreBoard::setScore(int id, int hole, int score) { //kdDebug(12007) << "set score\n"; setText(id - 1, hole - 1, score > 0? TQString::number(score) : TQString("")); TQString name; setText(id - 1, numCols() - 1, TQString::number(total(id, name))); if (hole >= numCols() - 2) ensureCellVisible(id - 1, numCols() - 1); else ensureCellVisible(id - 1, hole - 1); // shrink cell... setColumnWidth(hole - 1, 3); // and make it big enough for the numbers adjustColumn(hole - 1); setCurrentCell(id - 1, hole - 1); } void ScoreBoard::parChanged(int hole, int par) { setText(numRows() - 1, hole - 1, TQString::number(par)); // update total int tot = 0; for (int i = 0; i < numCols() - 1; ++i) tot += text(numRows() - 1, i).toInt(); setText(numRows() - 1, numCols() - 1, TQString::number(tot)); } int ScoreBoard::total(int id, TQString &name) { int tot = 0; for (int i = 0; i < numCols() - 1; i++) tot += text(id - 1, i).toInt(); name = vh->label(id - 1); //kdDebug(12007) << "tot is " << tot << endl; return tot; } #include "scoreboard.moc"