Subversion Repositories svn1

Rev

Rev 164 | Go to most recent revision | Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
163 david 1
#include "qmdialogstatus.h"
2
#include <QGroupBox>
3
#include <QTableWidget>
4
#include <QVBoxLayout>
5
#include <QStringList>
6
#include <QHeaderView>
7
 
8
#include    "consts.h"
9
#include    "structs.h"
10
#include    "proto.h"
11
 
12
QmDialogStatus::QmDialogStatus(QWidget *parent) : QDialog(parent)
13
{
14
    QVBoxLayout *layout = new QVBoxLayout;
15
    setLayout(layout);
16
    setSizeGripEnabled(true);
17
 
18
    QGroupBox *gb = new QGroupBox("Summary Display", this);
19
    layout->addWidget(gb);
20
 
21
    QVBoxLayout *layout2 = new QVBoxLayout;
22
    gb->setLayout(layout2);
23
 
24
    // Table Header
25
    QTableWidget *tb = new QTableWidget(config.num_class + 1,4);
26
    tb->horizontalHeader()->setStretchLastSection(true);
27
    tb->horizontalHeader()->setAlternatingRowColors(true);
28
    tb->horizontalHeader()->setSortIndicatorShown(true);
29
    QStringList labels;
30
    labels << "Category" << "Total" << "Disq" << "NonEq";
31
    tb->setHorizontalHeaderLabels(labels);
32
    tb->verticalHeader()->setDefaultSectionSize(17);
33
    tb->setSortingEnabled(false);
34
    layout2->addWidget(tb);
35
 
36
    if( load_report_data() )
37
    {
38
        t_class_summary data;
39
        calc_class_summary( & data );
40
 
41
        // Insert summary data
42
        int ii;
43
        QTableWidgetItem *item;
44
        for (ii = 0; ii < config.num_class; ii++)
45
        {
46
 
47
            tb->setItem(ii,0, new QTableWidgetItem(config.team_class[ii].full_name));
48
 
49
            item = new QTableWidgetItem();
50
            item->setData(0,data.teamclass[ii+1].total);
51
            tb->setItem(ii,1, item);
52
 
53
            item = new QTableWidgetItem();
54
            item->setData(0,data.teamclass[ii+1].disqualified);
55
            tb->setItem(ii,2, item);
56
 
57
            item = new QTableWidgetItem();
58
            item->setData(0,data.teamclass[ii+1].non_equestrian);
59
            tb->setItem(ii,3, item);
60
 
61
        }
62
 
63
        tb->setItem(ii,0, new QTableWidgetItem("Totals"));
64
        item = new QTableWidgetItem();
65
        item->setData(0,data.total.total);
66
        tb->setItem(ii,1, item);
67
 
68
        item = new QTableWidgetItem();
69
        item->setData(0,data.total.disqualified);
70
        tb->setItem(ii,2, item);
71
 
72
        item = new QTableWidgetItem();
73
        item->setData(0,data.total.non_equestrian);
74
        tb->setItem(ii,3, item);
75
 
76
        //tb->setSortingEnabled(true);      // Need to prevent the last row being sorted
77
        tb->resizeColumnsToContents();
78
        tb->resizeRowsToContents();
79
    }
80
}