X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fprop%2Fenum.hpp;h=1434e7e9e0419aa301b03b9d21febcd2f0f66a7a;hp=0ae8a9c65950dace7499d825f4b1d8e98e62a5dc;hb=b571a8e7e0dc3e3b6daa58f27050e76466f006dd;hpb=c6246dc56ed01d7e99aa65ab88b8c191300b1ebd diff --git a/pv/prop/enum.hpp b/pv/prop/enum.hpp index 0ae8a9c6..1434e7e9 100644 --- a/pv/prop/enum.hpp +++ b/pv/prop/enum.hpp @@ -14,8 +14,7 @@ * 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_HPP @@ -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() = 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_HPP