cabana: horizontal scrolling with Shift+wheel (#31929)

pull/31931/head
Dean Lee 1 year ago committed by GitHub
parent b0eb3ba4f4
commit 9ed5c78a80
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
  1. 12
      tools/cabana/messageswidget.cc
  2. 6
      tools/cabana/messageswidget.h

@ -85,7 +85,9 @@ MessagesWidget::MessagesWidget(QWidget *parent) : menu(new QMenu(this)), QWidget
<span style="color:gray">Byte color</span><br /> <span style="color:gray">Byte color</span><br />
<span style="color:gray;"> </span> constant changing<br /> <span style="color:gray;"> </span> constant changing<br />
<span style="color:blue;"> </span> increasing<br /> <span style="color:blue;"> </span> increasing<br />
<span style="color:red;"> </span> decreasing <span style="color:red;"> </span> decreasing<br />
<span style="color:gray">Shortcuts</span><br />
Horizontal Scrolling: <span style="background-color:lightGray;color:gray">&nbsp;shift+wheel&nbsp;</span>
)")); )"));
} }
@ -391,6 +393,14 @@ void MessageView::updateBytesSectionSize() {
header()->resizeSection(MessageListModel::Column::DATA, delegate->sizeForBytes(max_bytes).width()); header()->resizeSection(MessageListModel::Column::DATA, delegate->sizeForBytes(max_bytes).width());
} }
void MessageView::wheelEvent(QWheelEvent *event) {
if (event->modifiers() == Qt::ShiftModifier) {
QApplication::sendEvent(horizontalScrollBar(), event);
} else {
QTreeView::wheelEvent(event);
}
}
// MessageViewHeader // MessageViewHeader
MessageViewHeader::MessageViewHeader(QWidget *parent) : QHeaderView(Qt::Horizontal, parent) { MessageViewHeader::MessageViewHeader(QWidget *parent) : QHeaderView(Qt::Horizontal, parent) {

@ -12,6 +12,7 @@
#include <QMenu> #include <QMenu>
#include <QToolBar> #include <QToolBar>
#include <QTreeView> #include <QTreeView>
#include <QWheelEvent>
#include "tools/cabana/dbc/dbcmanager.h" #include "tools/cabana/dbc/dbcmanager.h"
#include "tools/cabana/streams/abstractstream.h" #include "tools/cabana/streams/abstractstream.h"
@ -65,10 +66,13 @@ class MessageView : public QTreeView {
Q_OBJECT Q_OBJECT
public: public:
MessageView(QWidget *parent) : QTreeView(parent) {} MessageView(QWidget *parent) : QTreeView(parent) {}
void updateBytesSectionSize();
protected:
void drawRow(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override; void drawRow(QPainter *painter, const QStyleOptionViewItem &option, const QModelIndex &index) const override;
void drawBranches(QPainter *painter, const QRect &rect, const QModelIndex &index) const override {} void drawBranches(QPainter *painter, const QRect &rect, const QModelIndex &index) const override {}
void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles = QVector<int>()) override; void dataChanged(const QModelIndex &topLeft, const QModelIndex &bottomRight, const QVector<int> &roles = QVector<int>()) override;
void updateBytesSectionSize(); void wheelEvent(QWheelEvent *event) override;
}; };
class MessageViewHeader : public QHeaderView { class MessageViewHeader : public QHeaderView {

Loading…
Cancel
Save