Rev 118 | Blame | Last modification | View Log | RSS feed
#include "teamdisplay.h"#include "ui_teamdisplay.h"#include "spinboxdelegate.h"#include "timedelegate.h"#include "textdelegate.h"teamDisplay::teamDisplay(QWidget *parent) :QWidget(parent),ui(new Ui::teamDisplay){ui->setupUi(this);team = 0;/*** Populate the Combo Box** Should do more often*/for ( int ii = 0; ii < config.num_class ; ii++){ui->category->addItem(config.team_class[ii].full_name, ii);}ui->category->setCurrentIndex(-1);ui->members->setItemDelegateForColumn(0, new textDelegate(MAX_PERSON_NAME));//ui->members->setItemDelegateForColumn(1, new timeDelegate());ui->members->setItemDelegateForColumn(2, new SpinBoxDelegate(0,120));for ( int ii = 0 ; ii < config.num_legs; ii++){lt[ii] = new QmLegTimes(ii, config.leg_name[ii]);ui->legTime_layout->addWidget(lt[ii]);}connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(save()) );connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(cancel()) );connect(ui->teamNumber, SIGNAL(valueChanged(int)), this, SLOT(populate(int)) );}teamDisplay::~teamDisplay(){delete ui;}void teamDisplay::populate(int team_number){team = team_number;g_record( team, &team_buf );/*** Basic Data*/ui->name->setText( team_buf.name );ui->category_abr->setText( config.team_class[team_buf.teamclass - 1].abr );ui->category->setCurrentIndex(team_buf.teamclass - 1);/*** Team Member data*/for ( int ii = 0; ii < config.num_legs; ii ++){QTableWidgetItem *item;ui->members->setItem(ii, 0, new QTableWidgetItem(team_buf.members[ii].name) );item = new QTableWidgetItem();enum Qt::CheckState sex;switch ( team_buf.members[ii].sex ){case male: sex = Qt::Unchecked; break;case female: sex = Qt::Checked; break;default: sex = Qt::PartiallyChecked; break;}item->setCheckState(sex );ui->members->setItem(ii, 1, item );item = new QTableWidgetItem();item->setData(Qt::EditRole,team_buf.members[ii].age);ui->members->setItem(ii, 2, item );}ui->members->resizeColumnsToContents();/*** Leg Times*/for ( int ii = 0 ; ii < config.num_legs; ii++){lt[ii]->setData(&team_buf.leg[1+ii]);}}void teamDisplay::save(void){}void teamDisplay::cancel(void){populate(team);}void teamDisplay::changeEvent(QEvent *e){//qDebug("ChangeEvent: %d",e->type());QWidget::changeEvent(e);switch (e->type()) {case QEvent::LanguageChange:ui->retranslateUi(this);break;default:break;}}