Skip to content

Commit

Permalink
background color test
Browse files Browse the repository at this point in the history
  • Loading branch information
povauboin committed Dec 17, 2018
1 parent 5e14c8b commit 60caf9d
Show file tree
Hide file tree
Showing 9 changed files with 52 additions and 4 deletions.
5 changes: 5 additions & 0 deletions usbgroup.cpp
Expand Up @@ -30,3 +30,8 @@ QVariant USBGroup::data(int column) const
return QVariant();
}
}

QBrush USBGroup::background() const
{
return QBrush(Qt::green);
}
1 change: 1 addition & 0 deletions usbgroup.h
Expand Up @@ -10,6 +10,7 @@ class USBGroup : public USBRecord
USBGroup(USBPacket* first, USBPacket *last);

QVariant data(int column) const;
QBrush background() const;

private:
USBPacket *m_first;
Expand Down
5 changes: 5 additions & 0 deletions usbitem.cpp
Expand Up @@ -54,6 +54,11 @@ QVariant USBItem::data(int column) const
return m_record->data(column);
}

QBrush USBItem::background() const
{
return m_record->background();
}

const QString USBItem::asciiData()
{
return m_record->asciiData();
Expand Down
2 changes: 2 additions & 0 deletions usbitem.h
Expand Up @@ -4,6 +4,7 @@
#include <QList>
#include <QString>
#include <QVector>
#include <QBrush>

#include "usbrecord.h"

Expand All @@ -22,6 +23,7 @@ class USBItem
USBItem *parentItem();

QVariant data(int column) const;
QBrush background() const;
const QString asciiData();
const QString asciiPacket();
const QString details();
Expand Down
12 changes: 8 additions & 4 deletions usbmodel.cpp
Expand Up @@ -72,12 +72,16 @@ QVariant USBModel::data(const QModelIndex &index, int role) const
if (!index.isValid())
return QVariant();

if (role != Qt::DisplayRole)
return QVariant();

USBItem *item = static_cast<USBItem*>(index.internalPointer());

return item->data(index.column());
switch(role) {
case Qt::DisplayRole:
return item->data(index.column());
case Qt::BackgroundRole:
return item->background();
default:
return QVariant();
}
}

Qt::ItemFlags USBModel::flags(const QModelIndex &index) const
Expand Down
5 changes: 5 additions & 0 deletions usbrecord.cpp
Expand Up @@ -20,6 +20,11 @@ USBRecord::~USBRecord()

}

QBrush USBRecord::background() const
{
return QBrush();
}

const QString USBRecord::asciiData()
{
return QString();
Expand Down
2 changes: 2 additions & 0 deletions usbrecord.h
Expand Up @@ -4,6 +4,7 @@
#include <QString>
#include <QVector>
#include <QVariant>
#include <QBrush>

#define RECORD_NAME 0
#define RECORD_TS 1
Expand All @@ -22,6 +23,7 @@ class USBRecord
static const QVector<QString> s_header;

virtual QVariant data(int column) const = 0;
virtual QBrush background() const;
virtual const QString asciiData();
virtual const QString asciiPacket();
virtual const QString details();
Expand Down
23 changes: 23 additions & 0 deletions usbtransaction.cpp
Expand Up @@ -31,6 +31,29 @@ QVariant USBTransaction::data(int column) const
}
}

QBrush USBTransaction::background() const
{
int noack = 0;

if(m_token) {
if(m_handshake) {
if (m_handshake->getPid() != PID_ACK) {
noack = 1;
}
}

switch(m_token->getPid()) {
case PID_SETUP:
return noack ? QBrush(Qt::darkYellow) : QBrush(Qt::yellow);
case PID_IN:
return noack ? QBrush(Qt::darkMagenta) : QBrush(Qt::magenta);
case PID_OUT:
return noack ? QBrush(Qt::darkCyan) : QBrush(Qt::cyan);
}
}
return QBrush();
}

const QString USBTransaction::asciiData()
{
return m_data ? formatHexdump(m_data->m_Data) : "";
Expand Down
1 change: 1 addition & 0 deletions usbtransaction.h
Expand Up @@ -10,6 +10,7 @@ class USBTransaction : public USBRecord
USBTransaction(USBPacket* token, USBPacket* data, USBPacket* handshake);

QVariant data(int column) const;
QBrush background() const;
const QString asciiData();

private:
Expand Down

0 comments on commit 60caf9d

Please sign in to comment.