Files
giesCANne/re/frameinfowindow.h
T
Collin Kidder 74ec42a720 Add new heatmap mode to CAN data grid widget, put that widget onto
Frame Info Window. Made Frame Info Window able to have the two sides
resized relative to each other
2023-01-15 17:05:43 -05:00

60 lines
1.3 KiB
C++

#ifndef FRAMEINFOWINDOW_H
#define FRAMEINFOWINDOW_H
#include <QDialog>
#include <QFile>
#include <QListWidget>
#include <QTreeWidget>
#include <candatagrid.h>
#include "can_structs.h"
#include "bus_protocols/j1939_handler.h"
#include "dbc/dbchandler.h"
#include "qcustomplot.h"
namespace Ui {
class FrameInfoWindow;
}
class FrameInfoWindow : public QDialog
{
Q_OBJECT
public:
explicit FrameInfoWindow(const QVector<CANFrame> *frames, QWidget *parent = 0);
~FrameInfoWindow();
void showEvent(QShowEvent*);
private slots:
void updateDetailsWindow(QString);
void updatedFrames(int);
void saveDetails();
private:
Ui::FrameInfoWindow *ui;
QCustomPlot *graphByte[8];
QCustomPlot *graphHistogram;
CANDataGrid *heatmap;
QList<int> foundID;
QList<CANFrame> frameCache;
const QVector<CANFrame> *modelFrames;
bool useOpenGL;
bool useHexTicker;
static const QColor byteGraphColors[8];
static QPen bytePens[8];
DBCHandler *dbcHandler;
QCPGraph *graphRef[8];
void refreshIDList();
void closeEvent(QCloseEvent *event);
bool eventFilter(QObject *obj, QEvent *event);
void setupByteGraph(QCustomPlot *plot, int num);
void readSettings();
void writeSettings();
void dumpNode(QTreeWidgetItem* item, QFile *file, int indent);
};
#endif // FRAMEINFOWINDOW_H