X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fprop%2Fenum.hpp;h=1434e7e9e0419aa301b03b9d21febcd2f0f66a7a;hp=7b7fcc5dc73329a7e0289276762f48959066c789;hb=b571a8e7e0dc3e3b6daa58f27050e76466f006dd;hpb=2acdb232d6bb452cfdfaea3ef5218fb4da592329 diff --git a/pv/prop/enum.hpp b/pv/prop/enum.hpp index 7b7fcc5d..1434e7e9 100644 --- a/pv/prop/enum.hpp +++ b/pv/prop/enum.hpp @@ -14,12 +14,11 @@ * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + * along with this program; if not, see . */ -#ifndef PULSEVIEW_PV_PROP_ENUM_H -#define PULSEVIEW_PV_PROP_ENUM_H +#ifndef PULSEVIEW_PV_PROP_ENUM_HPP +#define PULSEVIEW_PV_PROP_ENUM_HPP #include #include @@ -28,9 +27,14 @@ #include +using std::pair; +using std::vector; + Q_DECLARE_METATYPE(Glib::VariantBase); class QComboBox; +class QLabel; +class QSlider; namespace pv { namespace prop { @@ -40,25 +44,33 @@ class Enum : public Property Q_OBJECT; public: - Enum(QString name, std::vector > values, + Enum(QString name, QString desc, + vector > values, Getter getter, Setter setter); - virtual ~Enum(); + virtual ~Enum() = default; QWidget* get_widget(QWidget *parent, bool auto_commit); + void update_widget(); void commit(); private Q_SLOTS: - void on_current_item_changed(int); + void on_current_index_changed(int); + void on_value_changed(int); private: - const std::vector< std::pair > values_; + const vector< pair > values_; + bool is_range_; QComboBox *selector_; + + QWidget *slider_layout_widget_; + QSlider *slider_; + QLabel *slider_label_; }; -} // prop -} // pv +} // namespace prop +} // namespace pv -#endif // PULSEVIEW_PV_PROP_ENUM_H +#endif // PULSEVIEW_PV_PROP_ENUM_HPP