X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fview%2Fheader.hpp;h=6a4c9a39521863e9aac6e111d08b21b0ebcdbf5e;hb=3ed18835d80218df744ec539946c2660fe5de812;hp=662e19f2ed5027d773d55a1badc9ff7a81a0c48e;hpb=2acdb232d6bb452cfdfaea3ef5218fb4da592329;p=pulseview.git
diff --git a/pv/view/header.hpp b/pv/view/header.hpp
index 662e19f2..6a4c9a39 100644
--- a/pv/view/header.hpp
+++ b/pv/view/header.hpp
@@ -14,12 +14,11 @@
* 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_VIEW_HEADER_H
-#define PULSEVIEW_PV_VIEW_HEADER_H
+#ifndef PULSEVIEW_PV_VIEWS_TRACEVIEW_HEADER_HPP
+#define PULSEVIEW_PV_VIEWS_TRACEVIEW_HEADER_HPP
#include
#include
@@ -27,11 +26,16 @@
#include "marginwidget.hpp"
+using std::shared_ptr;
+using std::vector;
+
namespace pv {
-namespace view {
+namespace views {
+namespace TraceView {
-class RowItem;
+class TraceTreeItem;
class View;
+class ViewItem;
class Header : public MarginWidget
{
@@ -46,55 +50,42 @@ public:
QSize sizeHint() const;
/**
- * The horizontal offset, relative to the left edge of the widget,
- * where the arrows of the trace labels end.
+ * The extended area that the header widget would like to be sized to.
+ * @remarks This area is the area specified by sizeHint, extended by
+ * the area to overlap the viewport.
*/
- static const int BaselineOffset;
+ QSize extended_size_hint() const;
private:
- std::shared_ptr get_mouse_over_row_item(
- const QPoint &pt);
-
- void clear_selection();
+ /**
+ * Gets the row items.
+ */
+ vector< shared_ptr > items();
- void show_popup(const std::shared_ptr &item);
+ /**
+ * 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.
+ */
+ shared_ptr get_mouse_over_item(const QPoint &pt);
private:
void paintEvent(QPaintEvent *event);
private:
- void mouseLeftPressEvent(QMouseEvent *event);
- void mousePressEvent(QMouseEvent * event);
-
- void mouseLeftReleaseEvent(QMouseEvent *event);
- void mouseReleaseEvent(QMouseEvent *event);
-
- void mouseMoveEvent(QMouseEvent *event);
-
- void leaveEvent(QEvent *event);
-
void contextMenuEvent(QContextMenuEvent *event);
- void keyPressEvent(QKeyEvent *e);
+ void keyPressEvent(QKeyEvent *event);
private Q_SLOTS:
- void on_signals_moved();
-
void on_group();
void on_ungroup();
-
-Q_SIGNALS:
- void signals_moved();
-
-private:
- QPoint mouse_point_;
- QPoint mouse_down_point_;
- std::shared_ptr mouse_down_item_;
- bool dragging_;
};
-} // namespace view
+} // namespace TraceView
+} // namespace views
} // namespace pv
-#endif // PULSEVIEW_PV_VIEW_HEADER_H
+#endif // PULSEVIEW_PV_VIEWS_TRACEVIEW_HEADER_HPP