Files
giesCANne/frameplaybackwindow.h
T
Collin Kidder d1185f54b9 Issue #604 reports that crashes are possible in playback window if someone clicks play
when nothing is loaded to playback. Instead now a warning is shown.
2023-03-23 21:38:32 -04:00

77 lines
2.0 KiB
C++

#ifndef FRAMEPLAYBACKWINDOW_H
#define FRAMEPLAYBACKWINDOW_H
#include <QDialog>
#include <QListWidget>
#include "can_structs.h"
#include "framefileio.h"
#include "frameplaybackobject.h"
namespace Ui {
class FramePlaybackWindow;
}
class FramePlaybackWindow : public QDialog
{
Q_OBJECT
public:
explicit FramePlaybackWindow(const QVector<CANFrame> *frames, QWidget *parent = 0);
~FramePlaybackWindow();
private slots:
void btnBackOneClick();
void btnPauseClick();
void btnReverseClick();
void btnStopClick();
void btnPlayClick();
void btnFwdOneClick();
void btnDeleteCurrSeq();
void changePlaybackSpeed(int newSpeed);
void changeBurstRate(int burst);
void changeLooping(bool check);
void changeSendingBus(int newIdx);
void changeIDFiltering(QListWidgetItem *item);
void btnSelectAllClick();
void btnSelectNoneClick();
void btnLoadFile();
void btnLoadLive();
void seqTableCellClicked(int row, int col);
void seqTableCellChanged(int row, int col);
void contextMenuFilters(QPoint);
void saveFilters();
void loadFilters();
void useOrigTimingClicked();
void getStatusUpdate(int frameNum);
void EndOfFrameCache();
void updatedFrames(int);
private:
Ui::FramePlaybackWindow *ui;
QList<int> foundID;
QList<CANFrame> frameCache;
const QVector<CANFrame> *modelFrames;
QList<SequenceItem> seqItems;
SequenceItem *currentSeqItem;
int currentSeqNum;
FramePlaybackObject playbackObject;
bool forward;
bool wantPlaying;
bool isPlaying;
int currentPosition;
bool haveIncomingTraffic = false;
void refreshIDList();
void updateFrameLabel();
void fillIDHash(SequenceItem &item);
void showEvent(QShowEvent *);
void closeEvent(QCloseEvent *event);
void readSettings();
void writeSettings();
void calculateWhichBus();
bool checkNoSeqLoaded();
bool eventFilter(QObject *obj, QEvent *event);
};
#endif // FRAMEPLAYBACKWINDOW_H