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
This commit is contained in:
Collin Kidder
2023-01-15 17:05:43 -05:00
parent bbb5c99e78
commit 74ec42a720
5 changed files with 126 additions and 73 deletions
+5 -1
View File
@@ -36,7 +36,8 @@ enum GridTextState
enum GridMode
{
CHANGED_BITS, //traditional view, bunch of bits we color to show what's set and how the bits have changed over time
SIGNAL_VIEW //special view for DBC window where we draw the signals in the bits they take up
SIGNAL_VIEW, //special view for DBC window where we draw the signals in the bits they take up
HEAT_VIEW //another special mode where each bit is given a heat level and we color each bit based on that. Use refData for storage of those values
};
extern QVector<QColor> signalColors;
@@ -52,6 +53,7 @@ public:
void setReference(unsigned char *, bool);
void updateData(unsigned char *, bool);
void setUsed(unsigned char *, bool);
void setHeat(unsigned char *);
void saveImage(QString filename, int width, int height);
void setCellTextState(int bitPos, GridTextState state);
GridTextState getCellTextState(int bitPos);
@@ -76,6 +78,7 @@ private:
unsigned char refData[64];
unsigned char data[64];
unsigned char usedData[64];
unsigned char heatData[512];
int usedSignalNum[512]; //so we can specify which signal claims this bit
QVector<QString> signalNames;
GridTextState textStates[64][8]; //first dimension is bytes, second is bits
@@ -101,6 +104,7 @@ private:
QFont sigNameFont;
QFontMetrics *smallMetric;
QFontMetrics *largeMetric;
QColor fire[256];
void paintGridCells();
void paintCommonBeginning();