Subversion Repositories svn1

Rev

Rev 130 | Rev 133 | 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
 
127 - 43
 
129 david 44
 
126 david 45
}
46
 
47
MainWindow::~MainWindow()
48
{
49
    delete ui;
50
}
51
 
52
void MainWindow::changeEvent(QEvent *e)
53
{
54
    QMainWindow::changeEvent(e);
55
    switch (e->type()) {
56
    case QEvent::LanguageChange:
57
        ui->retranslateUi(this);
58
        break;
59
    default:
60
        break;
61
    }
62
}
63
 
64
void MainWindow::setStartTimes(void)
65
{
127 - 66
    if ( QMessageBox::Ok == QMessageBox::warning(this, tr("Mara"),
131 david 67
                                    tr("This will reset the start times for all teams based on the Category configuration.\n"
126 david 68
                                       "Are you sure you want to do this?"),
69
                                    QMessageBox::Cancel,
70
                                    QMessageBox::Ok))
71
    {
127 - 72
        leg_start();
126 david 73
    }
127 - 74
 
126 david 75
}
76
 
127 - 77
void MainWindow::clearLegTimes(void)
78
{
79
    if ( QMessageBox::Ok == QMessageBox::warning(this, tr("Mara"),
80
                                    tr("This will clear ALL leg times for ALL teams.\n"
81
                                       "Are you sure you want to do this?"),
82
                                    QMessageBox::Cancel,
83
                                    QMessageBox::Ok))
84
    {
85
        leg_ini();
86
    }
87
}
88
 
89
void MainWindow::resetTeamData(void)
90
{
91
    if ( QMessageBox::Ok == QMessageBox::warning(this, tr("Mara"),
92
                                    tr("This will clear ALL team information.\n"
93
                                       "Are you sure you want to do this?"),
94
                                    QMessageBox::Cancel,
95
                                    QMessageBox::Ok))
96
    {
97
        tm_init();
98
    }
99
}
100
 
128 - 101
void MainWindow::generateDummyTeamNames(void)
102
{
103
    if ( QMessageBox::Ok == QMessageBox::warning(this, tr("Mara"),
104
                                    tr("This will generate DUMMY team names.\n"
105
                                       "Are you sure you want to do this?"),
106
                                    QMessageBox::Cancel,
107
                                    QMessageBox::Ok))
108
    {
109
        tm_gen();
110
    }
111
}
112
 
129 david 113
void MainWindow::ClearOneLegTimes(void)
114
{
115
    bool ok;
116
    int leg = QInputDialog::getInt(this, tr("Clear One Leg Start Time"),
117
                                              tr("Leg:"), 0, 0, config.num_legs, 1, &ok);
118
    if ( ok && leg)
119
    {
120
        tm_clearleg_specified(leg, FALSE, 6);
121
    }
122
}
123
 
124
void MainWindow::setCalcLegStart(void)
125
{
130 - 126
    QmDialogLegStartTimes dialog("Calculate Leg Start Time",this);
131 david 127
    dialog.setDeltaTimeLabel("Delta Time");
128
qDebug ("Must disable stuff");
130 - 129
    if ( QDialog::Accepted == dialog.exec() )
129 david 130
    {
130 - 131
        if ( dialog.getLeg() )
132
        {
133
            tm_lgs(dialog.getLeg(),
131 david 134
                   dialog.getDeltaTime(),
135
                   dialog.getReport(),
136
                   dialog.getClear() );
137
        }
138
    }
139
}
140
 
141
void MainWindow::setOrderedIncLegStart(void)
142
{
143
    QmDialogLegStartTimes dialog("Ordered Incremental Leg Start Time",this);
144
    dialog.setTimeLabel("Start Time");
145
    dialog.setDeltaTimeLabel("Delta Time");
146
    if ( QDialog::Accepted == dialog.exec() )
147
    {
148
        if ( dialog.getLeg() )
149
        {
150
            tm_lgs1(dialog.getLeg(),
130 - 151
                   dialog.getTime(),
131 david 152
                   dialog.getDeltaTime(),
130 - 153
                   dialog.getReport(),
154
                   dialog.getClear() );
155
        }
129 david 156
    }
131 david 157
}
130 - 158
 
131 david 159
void MainWindow::setStaggeredLegStart(void)
160
{
161
    QmDialogLegStartTimes dialog("Staggered Leg Start Time",this);
162
    dialog.setTimeLabel("Start Time");
163
    dialog.setDeltaTimeLabel("Stagger Time");
164
    if ( QDialog::Accepted == dialog.exec() )
165
    {
166
        if ( dialog.getLeg() )
167
        {
168
            tm_staggered(dialog.getLeg(),
169
                   dialog.getTime(),
170
                   dialog.getDeltaTime(),
171
                   dialog.getReport(),
172
                   dialog.getClear() );
173
        }
174
    }
129 david 175
}
131 david 176
 
177
void MainWindow::setFixedLegStart(void)
178
{
179
    QmDialogLegStartTimes dialog("Fixed Leg Start Time",this);
180
    dialog.setTimeLabel("Start Time");
181
    //dialog.setDeltaTimeLabel("Stagger Time");
182
qDebug ("Must Hide stagger time");
183
    if ( QDialog::Accepted == dialog.exec() )
184
    {
185
        if ( dialog.getLeg() )
186
        {
187
            tm_fixedstart(dialog.getLeg(),
188
                   dialog.getTime(),
189
                   //dialog.getDeltaTime(),
190
                   dialog.getReport(),
191
                   dialog.getClear() );
192
        }
193
    }
194
}
126 david 195
/*========================================================================
196
 *
197
 *  Position the cursor on the screen
198
 *
199
 *  Purpose:
200
 *      This function is called to Position the cursor on the screen
201
 *
202
 *  Parameters:
203
 *      x               col number
204
 *      y               line number
205
 *
206
 *  Returns:
207
 *      Nothing
208
 *
209
 *========================================================================*/
210
 
211
void cur( int x, int y )
212
{
213
}
214
 
215
/*========================================================================
216
 *
217
 *  Clears the vdu screen
218
 *
219
 *  Purpose:
220
 *      This function is called to Clears the vdu screen
221
 *      From the Microsoft Web Site
222
 *
223
 *  Parameters:
224
 *      None
225
 *
226
 *  Returns:
227
 *      Nothing
228
 *
229
 *========================================================================*/
230
 
231
void clearscreen( void )
232
{
233
}
234
#include    <stdio.h>
235
int printf( const char *format, ... )
236
{
237
    va_list     ap;
238
    char        pp[200];
239
    int         len;
240
 
241
 
242
 
243
    va_start( ap, format );
244
    len = vsprintf( pp, format, ap );
245
    va_end( ap );
246
    qDebug("%s",pp);
247
    return ( len );
248
}
249