]> sigrok.org Git - pulseview.git/blobdiff - pv/view/marginwidget.hpp
MarginWidget: Moved in keyPressEvent
[pulseview.git] / pv / view / marginwidget.hpp
index de5c866f3077fcc12acb8028167dc4de0711a69d..1194696548e4cd57def831bb05e59efb69daeabf 100644 (file)
@@ -47,17 +47,43 @@ public:
        virtual QSize extended_size_hint() const = 0;
 
 protected:
+       /**
+        * Gets the items in the margin widget.
+        */
+       virtual std::vector< std::shared_ptr<pv::view::ViewItem> > items() = 0;
+
+       /**
+        * Gets the first view item which has a label that contains @c pt .
+        * @param pt the point to search with.
+        * @return the view item that has been found, or and empty
+        *   @c shared_ptr if no item was found.
+        */
+       virtual std::shared_ptr<pv::view::ViewItem> get_mouse_over_item(
+               const QPoint &pt) = 0;
+
        /**
         * Shows the popup of a the specified @c ViewItem .
         * @param item The item to show the popup for.
         */
        void show_popup(const std::shared_ptr<ViewItem> &item);
 
-private:
+       /**
+        * Handles left mouse button press events.
+        * @param event the mouse event that triggered this handler.
+        */
+       void mouse_left_press_event(QMouseEvent *event);
+
+protected:
+       void mousePressEvent(QMouseEvent * event);
+
        void leaveEvent(QEvent *event);
 
+       virtual void contextMenuEvent(QContextMenuEvent *event);
+
+       virtual void keyPressEvent(QKeyEvent *e);
+
 public Q_SLOTS:
-       virtual void clear_selection();
+       void clear_selection();
 
 Q_SIGNALS:
        void selection_changed();