Subversion Repositories svn1

Rev

Rev 131 | Rev 134 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
126 david 1
#include "mainwindow.h"
2
#include "ui_mainwindow.h"
3
#include "qmconfigure.h"
4
#include "qmconfclass.h"
5
#include "qmconfwinners.h"
6
#include "qmteamdisplay.h"
7
#include "QMessageBox"
129 david 8
#include "QInputDialog"
130 - 9
#include "QTime"
10
#include "qmdialoglegstarttimes.h"
126 david 11
 
12
#include    "consts.h"
13
#include    "structs.h"
14
#include    "proto.h"
15
 
16
MainWindow *mw = NULL;
17
 
18
MainWindow::MainWindow(QWidget *parent) :
19
    QMainWindow(parent),
20
    ui(new Ui::MainWindow)
21
{
22
    ui->setupUi(this);
23
    mw = this;
24
 
25
    ui->tabWidget->addTab( new QmConfigure,   "Configure");
26
    ui->tabWidget->addTab( new QmConfClass,   "Class");
27
    ui->tabWidget->addTab( new QmConfWinners, "Winners");
28
    ui->tabWidget->addTab( new qmTeamDisplay, "Team Data");
29
 
127 - 30
    QMenu *m1 = new QMenu ("Leg Time Setup");
31
    ui->menuBar->addMenu(m1);
126 david 32
    m1->addAction("Set Start Times", this, SLOT(setStartTimes()));
127 - 33
    m1->addAction("Clear ALL Leg Times", this, SLOT(clearLegTimes()));
34
    m1->addAction("Reset All Team Data", this, SLOT(resetTeamData()));
128 - 35
    m1->addAction("Generate dummy team names", this, SLOT(generateDummyTeamNames()));
129 david 36
    m1->addAction("Clear single leg start times", this, SLOT(ClearOneLegTimes()));
37
    m1->addAction("Set calculated leg start", this, SLOT(setCalcLegStart()));
131 david 38
    m1->addAction("Set ordered incremental leg start", this, SLOT(setOrderedIncLegStart()));
39
    m1->addAction("Set staggered start time", this, SLOT(setStaggeredLegStart()));
40
    m1->addAction("Set fixed start time", this, SLOT(setFixedLegStart()));
126 david 41
}
42
 
43
MainWindow::~MainWindow()
44
{
45
    delete ui;
46
}
47
 
133 david 48
void MainWindow::showMessage( const QString & msg, int timeout)
49
{
50
    if ( mw )
51
    {
52
        mw->ui->statusBar->showMessage(msg, timeout);
53
    }
54
}
55
 
126 david 56
void MainWindow::changeEvent(QEvent *e)
57
{
58
    QMainWindow::changeEvent(e);
59
    switch (e->type()) {
60
    case QEvent::LanguageChange:
61
        ui->retranslateUi(this);
62
        break;
63
    default:
64
        break;
65
    }
66
}
67
 
68
void MainWindow::setStartTimes(void)
69
{
127 - 70
    if ( QMessageBox::Ok == QMessageBox::warning(this, tr("Mara"),
131 david 71
                                    tr("This will reset the start times for all teams based on the Category configuration.\n"
126 david 72
                                       "Are you sure you want to do this?"),
73
                                    QMessageBox::Cancel,
74
                                    QMessageBox::Ok))
75
    {
127 - 76
        leg_start();
126 david 77
    }
127 - 78
 
126 david 79
}
80
 
127 - 81
void MainWindow::clearLegTimes(void)
82
{
83
    if ( QMessageBox::Ok == QMessageBox::warning(this, tr("Mara"),
84
                                    tr("This will clear ALL leg times for ALL teams.\n"
85
                                       "Are you sure you want to do this?"),
86
                                    QMessageBox::Cancel,
87
                                    QMessageBox::Ok))
88
    {
89
        leg_ini();
90
    }
91
}
92
 
93
void MainWindow::resetTeamData(void)
94
{
95
    if ( QMessageBox::Ok == QMessageBox::warning(this, tr("Mara"),
96
                                    tr("This will clear ALL team information.\n"
97
                                       "Are you sure you want to do this?"),
98
                                    QMessageBox::Cancel,
99
                                    QMessageBox::Ok))
100
    {
101
        tm_init();
102
    }
103
}
104
 
128 - 105
void MainWindow::generateDummyTeamNames(void)
106
{
107
    if ( QMessageBox::Ok == QMessageBox::warning(this, tr("Mara"),
108
                                    tr("This will generate DUMMY team names.\n"
109
                                       "Are you sure you want to do this?"),
110
                                    QMessageBox::Cancel,
111
                                    QMessageBox::Ok))
112
    {
113
        tm_gen();
114
    }
115
}
116
 
129 david 117
void MainWindow::ClearOneLegTimes(void)
118
{
119
    bool ok;
120
    int leg = QInputDialog::getInt(this, tr("Clear One Leg Start Time"),
121
                                              tr("Leg:"), 0, 0, config.num_legs, 1, &ok);
122
    if ( ok && leg)
123
    {
133 david 124
        tm_clearleg_specified(leg, FALSE);
129 david 125
    }
126
}
127
 
128
void MainWindow::setCalcLegStart(void)
129
{
130 - 130
    QmDialogLegStartTimes dialog("Calculate Leg Start Time",this);
131 david 131
    dialog.setDeltaTimeLabel("Delta Time");
132
qDebug ("Must disable stuff");
130 - 133
    if ( QDialog::Accepted == dialog.exec() )
129 david 134
    {
130 - 135
        if ( dialog.getLeg() )
136
        {
137
            tm_lgs(dialog.getLeg(),
131 david 138
                   dialog.getDeltaTime(),
139
                   dialog.getReport(),
140
                   dialog.getClear() );
141
        }
142
    }
143
}
144
 
145
void MainWindow::setOrderedIncLegStart(void)
146
{
147
    QmDialogLegStartTimes dialog("Ordered Incremental Leg Start Time",this);
148
    dialog.setTimeLabel("Start Time");
149
    dialog.setDeltaTimeLabel("Delta Time");
150
    if ( QDialog::Accepted == dialog.exec() )
151
    {
152
        if ( dialog.getLeg() )
153
        {
154
            tm_lgs1(dialog.getLeg(),
130 - 155
                   dialog.getTime(),
131 david 156
                   dialog.getDeltaTime(),
130 - 157
                   dialog.getReport(),
158
                   dialog.getClear() );
159
        }
129 david 160
    }
131 david 161
}
130 - 162
 
131 david 163
void MainWindow::setStaggeredLegStart(void)
164
{
165
    QmDialogLegStartTimes dialog("Staggered Leg Start Time",this);
166
    dialog.setTimeLabel("Start Time");
167
    dialog.setDeltaTimeLabel("Stagger Time");
168
    if ( QDialog::Accepted == dialog.exec() )
169
    {
170
        if ( dialog.getLeg() )
171
        {
172
            tm_staggered(dialog.getLeg(),
173
                   dialog.getTime(),
174
                   dialog.getDeltaTime(),
175
                   dialog.getReport(),
176
                   dialog.getClear() );
177
        }
178
    }
129 david 179
}
131 david 180
 
181
void MainWindow::setFixedLegStart(void)
182
{
183
    QmDialogLegStartTimes dialog("Fixed Leg Start Time",this);
184
    dialog.setTimeLabel("Start Time");
185
    //dialog.setDeltaTimeLabel("Stagger Time");
186
qDebug ("Must Hide stagger time");
187
    if ( QDialog::Accepted == dialog.exec() )
188
    {
189
        if ( dialog.getLeg() )
190
        {
191
            tm_fixedstart(dialog.getLeg(),
192
                   dialog.getTime(),
193
                   //dialog.getDeltaTime(),
194
                   dialog.getReport(),
195
                   dialog.getClear() );
196
        }
197
    }
198
}
126 david 199
/*========================================================================
200
 *
201
 *  Position the cursor on the screen
202
 *
203
 *  Purpose:
204
 *      This function is called to Position the cursor on the screen
205
 *
206
 *  Parameters:
207
 *      x               col number
208
 *      y               line number
209
 *
210
 *  Returns:
211
 *      Nothing
212
 *
213
 *========================================================================*/
214
 
215
void cur( int x, int y )
216
{
217
}
218
 
219
/*========================================================================
220
 *
221
 *  Clears the vdu screen
222
 *
223
 *  Purpose:
224
 *      This function is called to Clears the vdu screen
225
 *      From the Microsoft Web Site
226
 *
227
 *  Parameters:
228
 *      None
229
 *
230
 *  Returns:
231
 *      Nothing
232
 *
233
 *========================================================================*/
234
 
235
void clearscreen( void )
236
{
237
}
238
#include    <stdio.h>
239
int printf( const char *format, ... )
240
{
241
    va_list     ap;
242
    char        pp[200];
243
    int         len;
244
 
245
 
246
 
247
    va_start( ap, format );
248
    len = vsprintf( pp, format, ap );
249
    va_end( ap );
250
    qDebug("%s",pp);
251
    return ( len );
252
}
253