]> sigrok.org Git - pulseview.git/blame - pv/widgets/sweeptimingwidget.hpp
Session: Clean up header a little
[pulseview.git] / pv / widgets / sweeptimingwidget.hpp
CommitLineData
1198b887
JH
1/*
2 * This file is part of the PulseView project.
3 *
4 * Copyright (C) 2013 Joel Holdsworth <joel@airwebreathe.org.uk>
5 *
6 * This program is free software; you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation; either version 2 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
efdec55a 17 * along with this program; if not, see <http://www.gnu.org/licenses/>.
1198b887
JH
18 */
19
7a01bd36
JH
20#ifndef PULSEVIEW_PV_WIDGETS_SWEEPTIMINGWIDGET_HPP
21#define PULSEVIEW_PV_WIDGETS_SWEEPTIMINGWIDGET_HPP
1198b887
JH
22
23#include <libsigrok/libsigrok.h>
24
25#include <QComboBox>
26#include <QDoubleSpinBox>
27#include <QHBoxLayout>
28#include <QLineEdit>
29#include <QWidget>
30
31namespace pv {
32namespace widgets {
33
34class SweepTimingWidget : public QWidget
35{
36 Q_OBJECT
37
38private:
39 enum ValueType
40 {
41 None,
1198b887
JH
42 MinMaxStep,
43 List
44 };
45
46public:
4c60462b 47 SweepTimingWidget(const char *suffix, QWidget *parent = nullptr);
1198b887
JH
48
49 void show_none();
1198b887
JH
50 void show_min_max_step(uint64_t min, uint64_t max, uint64_t step);
51 void show_list(const uint64_t *vals, size_t count);
67d16394 52 void show_125_list(uint64_t min, uint64_t max);
1198b887
JH
53
54 uint64_t value() const;
55 void set_value(uint64_t value);
56
e9213170 57Q_SIGNALS:
1198b887
JH
58 void value_changed();
59
60private:
8dbbc7f0 61 const char *const suffix_;
b0ddc6bc 62
8dbbc7f0 63 QHBoxLayout layout_;
1198b887 64
8dbbc7f0
JH
65 QDoubleSpinBox value_;
66 QComboBox list_;
1198b887 67
8dbbc7f0 68 ValueType value_type_;
1198b887
JH
69};
70
870ea3db
UH
71} // namespace widgets
72} // namespace pv
1198b887 73
7a01bd36 74#endif // PULSEVIEW_PV_WIDGETS_SWEEPTIMINGWIDGET_HPP