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_BOOL_HPP 21 #define PULSEVIEW_PV_PROP_BOOL_HPP 22 23 #include "property.hpp" 24 25 class QCheckBox; 26 27 namespace pv { 28 namespace prop { 29 30 class Bool : public Property 31 { 32 Q_OBJECT; 33 34 public: 35 Bool(QString name, QString desc, Getter getter, Setter setter); 36 37 virtual ~Bool() = default; 38 39 QWidget* get_widget(QWidget *parent, bool auto_commit); 40 bool labeled_widget() const; 41 void update_widget(); 42 43 void commit(); 44 45 private Q_SLOTS: 46 void on_state_changed(int); 47 48 private: 49 QCheckBox *check_box_; 50 }; 51 52 } // namespace prop 53 } // namespace pv 54 55 #endif // PULSEVIEW_PV_PROP_BOOL_HPP 56