#include "qmeventstatus.h" #include "ui_qmeventstatus.h" #include "qmstatusitem.h" #include "QGroupBox" #include "consts.h" #include "structs.h" #include "proto.h" QmEventStatus::QmEventStatus(QWidget *parent) : QWidget(parent) { resize ( 600,400); verticalLayout = new QVBoxLayout(this); verticalLayout->setObjectName(QString::fromUtf8("verticalLayout")); verticalLayout->setContentsMargins(0, 0, 0, 0); scrollArea = new QScrollArea(this); scrollArea->setObjectName(QString::fromUtf8("scrollArea")); scrollArea->setWidgetResizable(true); scrollAreaWidgetContents = new QWidget(); scrollAreaWidgetContents->setObjectName(QString::fromUtf8("scrollAreaWidgetContents")); scrollAreaWidgetContents->setGeometry(QRect(0, 0, 395, 264)); scrollArea->setWidget(scrollAreaWidgetContents); verticalLayout->addWidget(scrollArea); buttonBox = new QDialogButtonBox(this); buttonBox->setOrientation(Qt::Horizontal); buttonBox->addButton( new QPushButton("Recalc"),QDialogButtonBox::AcceptRole); QObject::connect(buttonBox, SIGNAL(accepted()), this, SLOT(calculate())); verticalLayout->addWidget(buttonBox); QVBoxLayout *verticalLayout2 = new QVBoxLayout(scrollAreaWidgetContents); for( int j = 0; j <= config.num_class; j++ ) { QGroupBox * groupBox = new QGroupBox(j ? config.team_class[j - 1].full_name : "Complete Event"); groupBox->setSizePolicy(QSizePolicy::Fixed,QSizePolicy::Fixed); verticalLayout2->addWidget(groupBox); QHBoxLayout * horizontalLayout = new QHBoxLayout(groupBox); for( int i = 0; i <= config.num_legs; i++ ) { QmStatusItem * item = new QmStatusItem(i ? config.leg_name[i - 1] : "Overall"); statusItems[i][j] = item; //item->setData(stats.fast.team[i][j], stats.fast.time[i][j],stats.average[i][j] ); horizontalLayout->addWidget ( item ); } } //calculate(); } void QmEventStatus::calculate(void) { if( load_report_data() ) { srt_place(); qDebug("Calulate Event Status"); for( int j = 0; j <= config.num_class; j++ ) { for( int i = 0; i <= config.num_legs; i++ ) { QmStatusItem * item = statusItems[i][j]; item->setData(stats.fast.team[i][j], stats.fast.time[i][j],stats.average[i][j] ); } } } } void QmEventStatus::showEvent ( QShowEvent * event ) { //qDebug("QmEventStatus::showEvent"); if ( ! event->spontaneous() ) { calculate(); } } QmEventStatus::~QmEventStatus() { }