X-Git-Url: https://sigrok.org/gitweb/?p=pulseview.git;a=blobdiff_plain;f=pv%2Fviews%2Ftrace%2Fstandardbar.hpp;h=6e822229e3aebc8ab43e4d27f99444ab5318315b;hp=ce9bf91b4c7f6dc7fc79e5a9f40a084b6818752c;hb=e4e5a958507a2c4e2643f21e3c735021da97e577;hpb=dfe1bf82619704af27e4cbf83b75c6b5f367f425 diff --git a/pv/views/trace/standardbar.hpp b/pv/views/trace/standardbar.hpp index ce9bf91b..6e822229 100644 --- a/pv/views/trace/standardbar.hpp +++ b/pv/views/trace/standardbar.hpp @@ -15,21 +15,24 @@ * 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_VIEWS_TRACE_STANDARDBAR_HPP #define PULSEVIEW_PV_VIEWS_TRACE_STANDARDBAR_HPP -#include +#include #include +#include #include +#include #include #include +#include "trace.hpp" + namespace pv { class MainWindow; @@ -37,7 +40,7 @@ class Session; namespace views { -namespace TraceView { +namespace trace { class View; } @@ -49,9 +52,9 @@ class StandardBar : public QToolBar public: StandardBar(Session &session, QWidget *parent, - TraceView::View *view, bool add_default_widgets=true); + trace::View *view, bool add_default_widgets = true); - Session &session(void) const; + Session &session() const; QAction* action_view_zoom_in() const; QAction* action_view_zoom_out() const; @@ -62,8 +65,10 @@ public: protected: virtual void add_toolbar_widgets(); + virtual void show_multi_segment_ui(const bool state); + Session &session_; - TraceView::View *view_; + trace::View *view_; QAction *const action_view_zoom_in_; QAction *const action_view_zoom_out_; @@ -71,6 +76,16 @@ protected: QAction *const action_view_zoom_one_to_one_; QAction *const action_view_show_cursors_; + QToolButton *segment_display_mode_selector_; + QAction *const action_sdm_last_; + QAction *const action_sdm_last_complete_; + QAction *const action_sdm_single_; + + QSpinBox *segment_selector_; + +Q_SIGNALS: + void segment_selected(int segment_id); + protected Q_SLOTS: void on_actionViewZoomIn_triggered(); @@ -81,8 +96,21 @@ protected Q_SLOTS: void on_actionViewZoomOneToOne_triggered(); void on_actionViewShowCursors_triggered(); + void on_cursor_state_changed(bool show); + + void on_actionSDMLast_triggered(); + void on_actionSDMLastComplete_triggered(); + void on_actionSDMSingle_triggered(); void on_always_zoom_to_fit_changed(bool state); + + void on_new_segment(int new_segment_id); + void on_segment_changed(int segment_id); + void on_segment_selected(int ui_segment_id); + void on_segment_display_mode_changed(int mode, bool segment_selectable); + +private: + vector multi_segment_actions_; }; } // namespace trace