Subversion Repositories svn1

Rev

Rev 163 | Rev 165 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 163 Rev 164
Line 21... Line 21...
21
    QVBoxLayout *layout2 = new QVBoxLayout;
21
    QVBoxLayout *layout2 = new QVBoxLayout;
22
    gb->setLayout(layout2);
22
    gb->setLayout(layout2);
23
 
23
 
24
    // Table Header
24
    // Table Header
25
    QTableWidget *tb = new QTableWidget(config.num_class + 1,4);
25
    QTableWidget *tb = new QTableWidget(config.num_class + 1,4);
26
    tb->horizontalHeader()->setStretchLastSection(true);
26
    //tb->horizontalHeader()->setStretchLastSection(true);
27
    tb->horizontalHeader()->setAlternatingRowColors(true);
27
    tb->horizontalHeader()->setAlternatingRowColors(true);
28
    tb->horizontalHeader()->setSortIndicatorShown(true);
28
    tb->horizontalHeader()->setSortIndicatorShown(true);
29
    QStringList labels;
29
    QStringList labels;
30
    labels << "Category" << "Total" << "Disq" << "NonEq";
30
    labels << "Category" << "Total" << "Disq" << "NonEq";
31
    tb->setHorizontalHeaderLabels(labels);
31
    tb->setHorizontalHeaderLabels(labels);
Line 38... Line 38...
38
        t_class_summary data;
38
        t_class_summary data;
39
        calc_class_summary( & data );
39
        calc_class_summary( & data );
40
 
40
 
41
        // Insert summary data
41
        // Insert summary data
42
        int ii;
42
        int ii;
43
        QTableWidgetItem *item;
-
 
44
        for (ii = 0; ii < config.num_class; ii++)
43
        for (ii = 0; ii < config.num_class; ii++)
45
        {
44
        {
46
 
-
 
47
            tb->setItem(ii,0, new QTableWidgetItem(config.team_class[ii].full_name));
45
            tb->setItem(ii,0, new QmDialogStatusTableItem(config.team_class[ii].full_name));
48
 
-
 
49
            item = new QTableWidgetItem();
-
 
50
            item->setData(0,data.teamclass[ii+1].total);
46
            tb->setItem(ii,1, new QmDialogStatusTableItem(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);
47
            tb->setItem(ii,2, new QmDialogStatusTableItem(data.teamclass[ii+1].disqualified,0));
55
            tb->setItem(ii,2, item);
-
 
56
 
-
 
57
            item = new QTableWidgetItem();
-
 
58
            item->setData(0,data.teamclass[ii+1].non_equestrian);
48
            tb->setItem(ii,3, new QmDialogStatusTableItem(data.teamclass[ii+1].non_equestrian,0));
59
            tb->setItem(ii,3, item);
-
 
60
 
-
 
61
        }
49
        }
62
 
50
 
63
        tb->setItem(ii,0, new QTableWidgetItem("Totals"));
51
        tb->setItem(ii,0, new QmDialogStatusTableItem("Totals", 1));
64
        item = new QTableWidgetItem();
-
 
65
        item->setData(0,data.total.total);
52
        tb->setItem(ii,1, new QmDialogStatusTableItem(data.total.total, 1));
66
        tb->setItem(ii,1, item);
-
 
67
 
-
 
68
        item = new QTableWidgetItem();
-
 
69
        item->setData(0,data.total.disqualified);
53
        tb->setItem(ii,2, new QmDialogStatusTableItem(data.total.disqualified, 1));
70
        tb->setItem(ii,2, item);
-
 
71
 
-
 
72
        item = new QTableWidgetItem();
-
 
73
        item->setData(0,data.total.non_equestrian);
54
        tb->setItem(ii,3, new QmDialogStatusTableItem(data.total.non_equestrian, 1));
74
        tb->setItem(ii,3, item);
-
 
75
 
55
 
-
 
56
        tb->sortItems ( 0, Qt::AscendingOrder );
76
        //tb->setSortingEnabled(true);      // Need to prevent the last row being sorted
57
        tb->setSortingEnabled(true);
77
        tb->resizeColumnsToContents();
58
        tb->resizeColumnsToContents();
78
        tb->resizeRowsToContents();
59
        tb->resizeRowsToContents();
79
    }
60
    }
80
}
61
}
-
 
62
 
-
 
63
QmDialogStatusTableItem::QmDialogStatusTableItem ( const QString & text, int type ) :  QTableWidgetItem(text, type+QTableWidgetItem::UserType)
-
 
64
{
-
 
65
}
-
 
66
QmDialogStatusTableItem::QmDialogStatusTableItem ( int value, int type ) :  QTableWidgetItem(type+QTableWidgetItem::UserType)
-
 
67
{
-
 
68
    setData(0,value);
-
 
69
}
-
 
70
 
-
 
71
// Returns true if the item is less than the other item; otherwise returns false.
-
 
72
// Ensure that marked rowas are sorted as 'always' highest
-
 
73
bool QmDialogStatusTableItem::operator< ( const QTableWidgetItem & other ) const
-
 
74
{
-
 
75
    if (type() != QTableWidgetItem::UserType )
-
 
76
    {
-
 
77
        return (false);
-
 
78
    }
-
 
79
 
-
 
80
    const QmDialogStatusTableItem * other_widget = dynamic_cast<const QmDialogStatusTableItem*>(&other);
-
 
81
    if (other_widget && other_widget->type() != QTableWidgetItem::UserType )
-
 
82
    {
-
 
83
        return true;
-
 
84
    }
-
 
85
 
-
 
86
    return ( QTableWidgetItem::operator< (other) );
-
 
87
}