]> sigrok.org Git - pulseview.git/blobdiff - pv/popups/channels.hpp
Session: Fix issue #67 by improving error handling
[pulseview.git] / pv / popups / channels.hpp
index eb1e029773f1d9204c7845270e0605033b0932a2..66d284b00dfcefcadd003a1b7bbd73b021b6f274 100644 (file)
@@ -70,27 +70,34 @@ public:
 
 private:
        void set_all_channels(bool set);
-       void set_all_channels_conditionally(
+
+       void enable_channels_conditionally(
+               function<bool (const shared_ptr<data::SignalBase>)> cond_func);
+       void disable_channels_conditionally(
                function<bool (const shared_ptr<data::SignalBase>)> cond_func);
 
        void populate_group(shared_ptr<sigrok::ChannelGroup> group,
                const vector< shared_ptr<pv::data::SignalBase> > sigs);
 
-       QGridLayout* create_channel_group_grid(
-               const vector< shared_ptr<pv::data::SignalBase> > sigs);
-
-private:
        void showEvent(QShowEvent *event);
 
 private Q_SLOTS:
+#if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0)
+       void on_channel_checked(QObject *widget);
+#else
        void on_channel_checked(QWidget *widget);
+#endif
 
        void enable_all_channels();
        void disable_all_channels();
        void enable_all_logic_channels();
+       void disable_all_logic_channels();
        void enable_all_analog_channels();
+       void disable_all_analog_channels();
        void enable_all_named_channels();
+       void disable_all_unnamed_channels();
        void enable_all_changing_channels();
+       void disable_all_non_changing_channels();
 
 private:
        pv::Session &session_;
@@ -100,14 +107,15 @@ private:
        bool updating_channels_;
 
        vector< shared_ptr<pv::binding::Device> > group_bindings_;
-       map< QCheckBox*, shared_ptr<pv::data::SignalBase> >
-               check_box_signal_map_;
+       map< QCheckBox*, shared_ptr<pv::data::SignalBase> > check_box_signal_map_;
        map< shared_ptr<sigrok::ChannelGroup>, QLabel*> group_label_map_;
 
-       QGridLayout buttons_bar_;
+       QGridLayout filter_buttons_bar_;
        QPushButton enable_all_channels_, disable_all_channels_;
-       QPushButton enable_all_logic_channels_, enable_all_analog_channels_;
-       QPushButton enable_all_named_channels_, enable_all_changing_channels_;
+       QPushButton enable_all_logic_channels_, disable_all_logic_channels_;
+       QPushButton enable_all_analog_channels_, disable_all_analog_channels_;
+       QPushButton enable_all_named_channels_, disable_all_unnamed_channels_;
+       QPushButton enable_all_changing_channels_, disable_all_non_changing_channels_;
 
        QSignalMapper check_box_mapper_;
 };