Files
giesCANne/re/discretestatewindow.h
Collin Kidder 9302c18c33 Integrated help into the system. Most all the sub-screens that are actually complete
and working have integrated help now. Press F1 to bring up help for a given window.
2017-11-30 21:02:16 -05:00

64 lines
1.3 KiB
C++

#ifndef DISCRETESTATEWINDOW_H
#define DISCRETESTATEWINDOW_H
#include <QDialog>
#include <QTimer>
#include "can_structs.h"
namespace Ui {
class DiscreteStateWindow;
}
namespace DWStates {
enum DiscreteWindowState
{
IDLE,
COUNTDOWN_SIGNAL,
COUNTDOWN_WAITING,
GETTING_SIGNAL,
DONE
};
}
using namespace DWStates;
class DiscreteStateWindow : public QDialog
{
Q_OBJECT
public:
explicit DiscreteStateWindow(const QVector<CANFrame> *frames, QWidget *parent = 0);
~DiscreteStateWindow();
void showEvent(QShowEvent*);
private slots:
void updatedFrames(int);
void handleStartButton();
void handleTick();
void typeChanged();
private:
Ui::DiscreteStateWindow *ui;
const QVector<CANFrame> *modelFrames;
QList< QVector<CANFrame> *> stateFrames;
QTimer *timer;
DiscreteWindowState operatingState;
int ticksUntilStateChange;
int ticksPerStateChange;
int numToggleStates;
int currToggleState;
int numIterations;
int currIteration;
bool isRealtime;
QHash<int, bool> idFilters;
void refreshFilterList();
void closeEvent(QCloseEvent *event);
bool eventFilter(QObject *obj, QEvent *event);
void readSettings();
void writeSettings();
void updateStateLabel();
void calculateResults();
};
#endif // DISCRETESTATEWINDOW_H