X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fwidgets%2Fdevicetoolbutton.hpp;h=ee7b12ae81aaeed1decbb3f90c502ad7c675e28b;hp=af9e6e686da2a0dfe5662adf3a48d6d4b52b976e;hb=dbed5609ae31cdfc3e9db10f3ab91b7607c08372;hpb=7a01bd3654ed046216308fa64edfd79be7cd525f diff --git a/pv/widgets/devicetoolbutton.hpp b/pv/widgets/devicetoolbutton.hpp index af9e6e68..ee7b12ae 100644 --- a/pv/widgets/devicetoolbutton.hpp +++ b/pv/widgets/devicetoolbutton.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_WIDGETS_DEVICETOOLBUTTON_HPP @@ -30,16 +29,21 @@ #include #include -struct srd_decoder; +using std::list; +using std::shared_ptr; +using std::vector; +using std::weak_ptr; -namespace sigrok { -class Device; -} +struct srd_decoder; namespace pv { class DeviceManager; +namespace devices { +class Device; +} + namespace widgets { class DeviceToolButton : public QToolButton @@ -59,7 +63,7 @@ public: /** * Returns a reference to the selected device. */ - std::shared_ptr selected_device(); + shared_ptr selected_device(); /** * Sets the current list of devices. @@ -67,8 +71,14 @@ public: * @param selected_device the currently active device. */ void set_device_list( - const std::list< std::shared_ptr > &devices, - std::shared_ptr selected); + const list< shared_ptr > &devices, + shared_ptr selected); + + /** + * Sets the current device to "no device". Useful for when a selected + * device fails to open. + */ + void reset(); private: /** @@ -93,13 +103,13 @@ private: QMenu menu_; QSignalMapper mapper_; - std::shared_ptr selected_device_; - std::vector< std::weak_ptr > devices_; + shared_ptr selected_device_; + vector< weak_ptr > devices_; QString device_tooltip_; }; -} // widgets -} // pv +} // namespace widgets +} // namespace pv #endif // PULSEVIEW_PV_WIDGETS_DEVICETOOLBUTTON_HPP