X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fpopups%2Fprobes.h;h=dbf90cd0b34237a603d013fcdc1b6772ba7b84ab;hp=b5eda58f3d9f5dd2c53a2286f4daa133765020b4;hb=8bd26d8b9c831b509ee3241ea4dac6f50c023622;hpb=b7b659aa72851df2d34d4c1e5fd5636fbd9176d1;ds=sidebyside diff --git a/pv/popups/probes.h b/pv/popups/probes.h index b5eda58f..dbf90cd0 100644 --- a/pv/popups/probes.h +++ b/pv/popups/probes.h @@ -21,17 +21,37 @@ #ifndef PULSEVIEW_PV_POPUPS_PROBES_H #define PULSEVIEW_PV_POPUPS_PROBES_H -#include -#include -#include -#include +#include +#include + +#include + +#include +#include +#include +#include #include +struct sr_channel_group; + +class QCheckBox; +class QGridLayout; + namespace pv { class SigSession; +namespace prop { +namespace binding { +class DeviceOptions; +} +} + +namespace view { +class Signal; +} + namespace popups { class Probes : public pv::widgets::Popup @@ -44,11 +64,17 @@ public: private: void set_all_probes(bool set); + void populate_group(const sr_channel_group *group, + const std::vector< boost::shared_ptr > sigs); + + QGridLayout* create_channel_group_grid( + const std::vector< boost::shared_ptr > sigs); + private: void showEvent(QShowEvent *e); private slots: - void item_changed(QListWidgetItem *item); + void on_probe_checked(QWidget *widget); void enable_all_probes(); void disable_all_probes(); @@ -56,14 +82,20 @@ private slots: private: pv::SigSession &_session; - QVBoxLayout _layout; + QFormLayout _layout; - QListWidget _probes; bool _updating_probes; - QToolBar _probes_bar; - QToolButton _enable_all_probes; - QToolButton _disable_all_probes; + std::vector< boost::shared_ptr > + _group_bindings; + std::map< QCheckBox*, boost::shared_ptr > + _check_box_signal_map; + + QHBoxLayout _buttons_bar; + QPushButton _enable_all_probes; + QPushButton _disable_all_probes; + + QSignalMapper _check_box_mapper; }; } // popups