Subversion Repositories svn1-original

Rev

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

Rev 162 Rev 165
Line 60... Line 60...
60
 
60
 
61
    QMenu *m3 = new QMenu ("Reports");
61
    QMenu *m3 = new QMenu ("Reports");
62
    ui->menuBar->addMenu(m3);
62
    ui->menuBar->addMenu(m3);
63
    m3->addAction("Update event and class placings", this, SLOT(updatePlacings()));
63
    m3->addAction("Update event and class placings", this, SLOT(updatePlacings()));
64
    m3->addAction("Generate All Reports", this, SLOT(generateReports()));
64
    m3->addAction("Generate All Reports", this, SLOT(generateReports()));
-
 
65
    m3->addAction("Display Summary Results", this, SLOT(displaySummary()));
65
}
66
}
66
 
67
 
67
MainWindow::~MainWindow()
68
MainWindow::~MainWindow()
68
{
69
{
69
    delete ui;
70
    delete ui;
Line 294... Line 295...
294
    {
295
    {
295
        pri_all_reports();
296
        pri_all_reports();
296
    }
297
    }
297
}
298
}
298
 
299
 
-
 
300
#include <QGroupBox>
-
 
301
#include <QTableWidget>
-
 
302
#include <QVBoxLayout>
-
 
303
#include <QStringList>
-
 
304
void MainWindow::displaySummary(void)
-
 
305
{
-
 
306
    if( load_report_data() )
-
 
307
    {
-
 
308
        t_class_summary data;
-
 
309
        calc_class_summary( & data );
-
 
310
        QDialog dialog(this);
-
 
311
        QVBoxLayout *layout = new QVBoxLayout;
-
 
312
        dialog.setLayout(layout);
-
 
313
        dialog.setSizeGripEnabled(true);
-
 
314
        QGroupBox *gb = new QGroupBox("Summary Display", &dialog);
-
 
315
        layout->addWidget(gb);
-
 
316
 
-
 
317
        QVBoxLayout *layout2 = new QVBoxLayout;
-
 
318
        gb->setLayout(layout2);
-
 
319
 
-
 
320
        QTableWidget *tb = new QTableWidget(config.num_class + 1,4);
-
 
321
        tb->horizontalHeader()->setStretchLastSection(true);
-
 
322
        tb->horizontalHeader()->setAlternatingRowColors(true);
-
 
323
        tb->horizontalHeader()->setSortIndicatorShown(true);
-
 
324
        QStringList labels;
-
 
325
        labels << "Category" << "Total" << "Disq" << "NonEq";
-
 
326
        tb->setHorizontalHeaderLabels(labels);
-
 
327
        tb->verticalHeader()->setDefaultSectionSize(17);
-
 
328
        tb->setSortingEnabled(false);
-
 
329
        layout2->addWidget(tb);
-
 
330
 
-
 
331
        // Insert summary data
-
 
332
        int ii;
-
 
333
        QTableWidgetItem *item;
-
 
334
        for (ii = 0; ii < config.num_class; ii++)
-
 
335
        {
-
 
336
 
-
 
337
            tb->setItem(ii,0, new QTableWidgetItem(config.team_class[ii].full_name));
-
 
338
 
-
 
339
            item = new QTableWidgetItem();
-
 
340
            item->setData(0,data.teamclass[ii+1].total);
-
 
341
            tb->setItem(ii,1, item);
-
 
342
 
-
 
343
            item = new QTableWidgetItem();
-
 
344
            item->setData(0,data.teamclass[ii+1].disqualified);
-
 
345
            tb->setItem(ii,2, item);
-
 
346
 
-
 
347
            item = new QTableWidgetItem();
-
 
348
            item->setData(0,data.teamclass[ii+1].non_equestrian);
-
 
349
            tb->setItem(ii,3, item);
-
 
350
 
-
 
351
        }
-
 
352
 
-
 
353
        tb->setItem(ii,0, new QTableWidgetItem("Totals"));
-
 
354
        item = new QTableWidgetItem();
-
 
355
        item->setData(0,data.total.total);
-
 
356
        tb->setItem(ii,1, item);
-
 
357
 
-
 
358
        item = new QTableWidgetItem();
-
 
359
        item->setData(0,data.total.disqualified);
-
 
360
        tb->setItem(ii,2, item);
-
 
361
 
-
 
362
        item = new QTableWidgetItem();
-
 
363
        item->setData(0,data.total.non_equestrian);
-
 
364
        tb->setItem(ii,3, item);
-
 
365
 
-
 
366
        tb->setSortingEnabled(true);
-
 
367
        tb->resizeColumnsToContents();
-
 
368
        tb->resizeRowsToContents();
-
 
369
 
-
 
370
        // Show the dialog
-
 
371
        dialog.exec();
-
 
372
    }
-
 
373
}
-
 
374
 
299
 
375