]> sigrok.org Git - pulseview.git/blobdiff - pv/widgets/popup.h
Use a generic approach when adding the "close on enter" hook for popups
[pulseview.git] / pv / widgets / popup.h
index 1da09d85eb5965401205d459ccd038ab160e1fb0..2fdb23c0b3b0bbd16da05162ce95dfb3a1ddac96 100644 (file)
@@ -28,6 +28,8 @@ namespace widgets {
 
 class Popup : public QWidget
 {
+       Q_OBJECT
+
 public:
        enum Position
        {
@@ -50,7 +52,13 @@ public:
 
        void set_position(const QPoint point, Position pos);
 
+       bool eventFilter(QObject *obj, QEvent *evt);
+
+       void show();
+
 private:
+       bool space_for_arrow() const;
+
        QPolygon arrow_polygon() const;
 
        QRegion arrow_region() const;
@@ -63,6 +71,9 @@ private:
 
        void reposition_widget();
 
+private:
+       void closeEvent(QCloseEvent*);
+
        void paintEvent(QPaintEvent*);
 
        void resizeEvent(QResizeEvent*);
@@ -72,6 +83,9 @@ private:
 protected:
        void showEvent(QShowEvent *e);
 
+Q_SIGNALS:
+       void closed();
+
 private:
        QPoint _point;
        Position _pos;