PulseView  unreleased development snapshot
A Qt-based sigrok GUI
int.hpp
Go to the documentation of this file.
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
17  * along with this program; if not, see <http://www.gnu.org/licenses/>.
18  */
19 
20 #ifndef PULSEVIEW_PV_PROP_INT_HPP
21 #define PULSEVIEW_PV_PROP_INT_HPP
22 
23 #include <utility>
24 
25 #include <boost/optional.hpp>
26 
27 #include "property.hpp"
28 
29 using std::pair;
30 
31 class QSpinBox;
32 
33 namespace pv {
34 namespace prop {
35 
36 class Int : public Property
37 {
38  Q_OBJECT
39 
40 public:
41  Int(QString name, QString desc, QString suffix,
42  boost::optional< pair<int64_t, int64_t> > range,
43  Getter getter, Setter setter, QString special_value_text = "");
44 
45  virtual ~Int() = default;
46 
47  QWidget* get_widget(QWidget *parent, bool auto_commit);
48  void update_widget();
49 
50  void commit();
51 
52 private Q_SLOTS:
53  void on_value_changed(int);
54 
55 private:
56  const QString suffix_, special_value_text_;
57  const boost::optional< pair<int64_t, int64_t> > range_;
58 
59  Glib::VariantBase value_;
60  QSpinBox *spin_box_;
61 };
62 
63 } // namespace prop
64 } // namespace pv
65 
66 #endif // PULSEVIEW_PV_PROP_INT_HPP
Glib::VariantBase value_
Definition: int.hpp:59
QSpinBox * spin_box_
Definition: int.hpp:60
const QString special_value_text_
Definition: int.hpp:56
const QString & desc() const
Definition: property.cpp:38
void commit()
Definition: int.cpp:161
virtual ~Int()=default
const QString & name() const
Definition: property.cpp:33
QWidget * get_widget(QWidget *parent, bool auto_commit)
Definition: int.cpp:49
void on_value_changed(int)
Definition: int.cpp:198
void update_widget()
Definition: int.cpp:119
const QString suffix_
Definition: int.hpp:56
Int(QString name, QString desc, QString suffix, boost::optional< pair< int64_t, int64_t > > range, Getter getter, Setter setter, QString special_value_text="")
Definition: int.cpp:38
function< Glib::VariantBase()> Getter
Definition: property.hpp:46
const boost::optional< pair< int64_t, int64_t > > range_
Definition: int.hpp:57
function< void(Glib::VariantBase)> Setter
Definition: property.hpp:47