Subversion Repositories svn1

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
112 david 1
#include "teamdisplay.h"
2
#include "ui_teamdisplay.h"
3
#include "spinboxdelegate.h"
4
#include "timedelegate.h"
5
#include "textdelegate.h"
6
 
7
teamDisplay::teamDisplay(QWidget *parent) :
8
    QWidget(parent),
9
    ui(new Ui::teamDisplay)
10
{
11
    ui->setupUi(this);
12
    team = 0;
13
 
14
    /*
15
    ** Populate the Combo Box
16
    ** Should do more often
17
    */
18
    for ( int ii = 0; ii < config.num_class ; ii++)
19
    {
20
        ui->category->addItem(config.team_class[ii].full_name, ii);
21
    }
22
    ui->category->setCurrentIndex(-1);
23
 
113 david 24
    ui->members->setItemDelegateForColumn(0, new textDelegate(MAX_PERSON_NAME));
25
  //ui->members->setItemDelegateForColumn(1, new timeDelegate());
26
    ui->members->setItemDelegateForColumn(2, new SpinBoxDelegate(0,120));
112 david 27
 
28
    connect(ui->buttonBox, SIGNAL(accepted()), this, SLOT(save()) );
29
    connect(ui->buttonBox, SIGNAL(rejected()), this, SLOT(cancel()) );
30
    connect(ui->teamNumber, SIGNAL(valueChanged(int)), this, SLOT(populate(int)) );
31
}
32
 
33
teamDisplay::~teamDisplay()
34
{
35
    delete ui;
36
}
37
 
38
void teamDisplay::populate(int team_number)
39
{
40
    team = team_number;
41
    g_record( team, &team_buf );
42
 
43
    /*
44
    ** Basic Data
45
    */
46
    ui->name->setText( team_buf.name );
47
    ui->category_abr->setText( config.team_class[team_buf.teamclass - 1].abr );
48
    ui->category->setCurrentIndex(team_buf.teamclass - 1);
49
 
50
    /*
51
    ** Team Member data
52
    */
53
    for ( int ii = 0; ii < config.num_legs; ii ++)
54
    {
55
         QTableWidgetItem *item;
56
        ui->members->setItem(ii, 0, new QTableWidgetItem(team_buf.members[ii].name) );
57
 
58
        item = new QTableWidgetItem();
59
        enum Qt::CheckState sex;
60
        switch ( team_buf.members[ii].sex )
61
        {
113 david 62
            case male:   sex = Qt::Unchecked;        break;
63
            case female: sex = Qt::Checked;          break;
64
            default:     sex = Qt::PartiallyChecked; break;
112 david 65
        }
66
        item->setCheckState(sex );
67
        ui->members->setItem(ii, 1, item );
68
 
69
        item = new QTableWidgetItem();
70
        item->setData(Qt::EditRole,team_buf.members[ii].age);
71
        ui->members->setItem(ii, 2, item );
72
    }
113 david 73
    ui->members->resizeColumnsToContents();
112 david 74
}
75
 
76
void teamDisplay::save(void)
77
{
78
}
79
 
80
void teamDisplay::cancel(void)
81
{
82
    populate(team);
83
}
84
 
85
void teamDisplay::changeEvent(QEvent *e)
86
{
113 david 87
//qDebug("ChangeEvent: %d",e->type());
112 david 88
    QWidget::changeEvent(e);
89
    switch (e->type()) {
90
    case QEvent::LanguageChange:
91
        ui->retranslateUi(this);
92
        break;
93
    default:
94
        break;
95
    }
96
}