signal_widget.h
Go to the documentation of this file.
1 /*********************************************************************
2  *
3  * Software License Agreement
4  *
5  * Copyright (c) 2020,
6  * TU Dortmund - Institute of Control Theory and Systems Engineering.
7  * All rights reserved.
8  *
9  * This program is free software: you can redistribute it and/or modify
10  * it under the terms of the GNU General Public License as published by
11  * the Free Software Foundation, either version 3 of the License, or
12  * (at your option) any later version.
13  *
14  * This program is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  * GNU General Public License for more details.
18  *
19  * You should have received a copy of the GNU General Public License
20  * along with this program. If not, see <https://www.gnu.org/licenses/>.
21  *
22  * Authors: Christoph Rösmann
23  *********************************************************************/
24 
25 #ifndef SRC_GUI_INCLUDE_CORBO_GUI_SIGNAL_WIDGET_H_
26 #define SRC_GUI_INCLUDE_CORBO_GUI_SIGNAL_WIDGET_H_
27 
28 #include <QHBoxLayout>
29 #include <QMenu>
30 #include <QString>
31 #include <QWidget>
32 
33 namespace corbo {
34 namespace gui {
35 
36 class SignalWidget : public QWidget
37 {
38  Q_OBJECT
39 
40  public:
41  explicit SignalWidget(const QString& title, const QString& key, int value_idx, QWidget* parent = 0);
42  virtual ~SignalWidget();
43 
44  QSize sizeHint() const override;
45 
46  QString key() const { return _key; }
47  int valueIdx() const { return _value_idx; }
48 
49  protected:
50  void mousePressEvent(QMouseEvent* event) override;
51  void mouseMoveEvent(QMouseEvent* event) override;
52 
53  private:
54  QHBoxLayout* _layout;
55 
56  QString _key;
57  int _value_idx = 0;
58 
59  QMenu* _context_menu;
60 
61  QPoint _drag_start_position;
62 };
63 
64 } // namespace gui
65 } // namespace corbo
66 
67 #endif // SRC_GUI_INCLUDE_CORBO_GUI_SIGNAL_WIDGET_H_
corbo::gui::SignalWidget::sizeHint
QSize sizeHint() const override
Definition: signal_widget.cpp:98
corbo
Definition: communication/include/corbo-communication/utilities.h:37
corbo::gui::SignalWidget::mousePressEvent
void mousePressEvent(QMouseEvent *event) override
Definition: signal_widget.cpp:100
corbo::gui::SignalWidget::mouseMoveEvent
void mouseMoveEvent(QMouseEvent *event) override
Definition: signal_widget.cpp:107
corbo::gui::SignalWidget::key
QString key() const
Definition: signal_widget.h:112
corbo::gui::SignalWidget::valueIdx
int valueIdx() const
Definition: signal_widget.h:113
corbo::gui::SignalWidget::_drag_start_position
QPoint _drag_start_position
Definition: signal_widget.h:127
corbo::gui::SignalWidget::_key
QString _key
Definition: signal_widget.h:122
corbo::gui::SignalWidget::_layout
QHBoxLayout * _layout
Definition: signal_widget.h:120
corbo::gui::SignalWidget::_value_idx
int _value_idx
Definition: signal_widget.h:123
corbo::gui::SignalWidget::~SignalWidget
virtual ~SignalWidget()
Definition: signal_widget.cpp:96
corbo::gui::SignalWidget::SignalWidget
SignalWidget(const QString &title, const QString &key, int value_idx, QWidget *parent=0)
Definition: signal_widget.cpp:83
corbo::gui::SignalWidget::_context_menu
QMenu * _context_menu
Definition: signal_widget.h:125


control_box_rst
Author(s): Christoph Rösmann
autogenerated on Wed Mar 2 2022 00:06:12