OpenHantek
datagrid.h
Go to the documentation of this file.
1 // SPDX-License-Identifier: GPL-2.0-or-later
2 
3 #pragma once
4 
5 #include <QGroupBox>
6 #include <QPalette>
7 
8 class QPushButton;
9 class QButtonGroup;
10 class QLabel;
11 class QGridLayout;
12 
13 class DataGrid : public QGroupBox {
14  Q_OBJECT
15 
16  public:
17  explicit DataGrid( QWidget *parent = nullptr );
18 
19  struct CursorInfo {
20  QPalette palette;
21  QPushButton *selector;
22  QPushButton *onOff;
23  QLabel *deltaXLabel;
24  QLabel *deltaYLabel;
25 
26  CursorInfo();
27  void configure( const QString &text, const QColor &bgColor, const QColor &fgColor );
28  };
29 
30  int addItem( const QString &text, const QColor &fgColor );
31  void setToolTipsVisible( bool visible = true );
32  void setBackgroundColor( const QColor &bgColor );
33  void configureItem( unsigned index, const QColor &fgColor );
34  void updateInfo( unsigned index, bool visible, const QString &strOnOff = QString(), const QString &strX = QString(),
35  const QString &strY = QString() );
36 
37  signals:
38  void itemSelected( int index );
39  void itemUpdated( int index );
40 
41  public slots:
42  void selectItem( unsigned index );
43 
44  private:
46  bool toolTipsVisible = false;
47  QButtonGroup *cursorsSelectorGroup;
48  QGridLayout *cursorsLayout;
49  std::vector< CursorInfo > items;
50 };
void itemSelected(int index)
QGridLayout * cursorsLayout
Definition: datagrid.h:48
std::vector< CursorInfo > items
Definition: datagrid.h:49
void selectItem(unsigned index)
Definition: datagrid.cpp:150
QButtonGroup * cursorsSelectorGroup
Definition: datagrid.h:47
QPalette palette
The widget&#39;s palette.
Definition: datagrid.h:20
QColor backgroundColor
Definition: datagrid.h:45
void itemUpdated(int index)
QLabel * deltaXLabel
The horizontal distance between cursors.
Definition: datagrid.h:23
Definition: datagrid.h:13
void setBackgroundColor(const QColor &bgColor)
Definition: datagrid.cpp:87
bool toolTipsVisible
Definition: datagrid.h:46
void setToolTipsVisible(bool visible=true)
Definition: datagrid.cpp:157
QPushButton * onOff
Switch cursor on/off.
Definition: datagrid.h:22
DataGrid(QWidget *parent=nullptr)
Definition: datagrid.cpp:10
void configureItem(unsigned index, const QColor &fgColor)
Definition: datagrid.cpp:96
void configure(const QString &text, const QColor &bgColor, const QColor &fgColor)
Definition: datagrid.cpp:39
QLabel * deltaYLabel
The vertical distance between cursors.
Definition: datagrid.h:24
Definition: datagrid.h:19
int addItem(const QString &text, const QColor &fgColor)
Definition: datagrid.cpp:103
CursorInfo()
Definition: datagrid.cpp:28
QPushButton * selector
The name of the channel.
Definition: datagrid.h:21
void updateInfo(unsigned index, bool visible, const QString &strOnOff=QString(), const QString &strX=QString(), const QString &strY=QString())
Definition: datagrid.cpp:126