X-Git-Url: http://git.code-monkey.de/?a=blobdiff_plain;f=pv%2Fview%2Fheader.hpp;h=c6f81ae5e5b96a4fd32bcc56a4835bd20e2bc2ff;hb=e1e2666e31d80016612762940605fc5bdbc63971;hp=ae39bc847490357877ed380ec99456073f849a1f;hpb=f4433aa958fb9c85ce82ef5545d722625cb64f9e;p=pulseview.git
diff --git a/pv/view/header.hpp b/pv/view/header.hpp
index ae39bc8..c6f81ae 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
{
@@ -45,6 +49,13 @@ public:
QSize sizeHint() const;
+ /**
+ * 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.
+ */
+ QSize extended_size_hint() const;
+
/**
* The horizontal offset, relative to the left edge of the widget,
* where the arrows of the trace labels end.
@@ -52,46 +63,35 @@ public:
static const int BaselineOffset;
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:
- std::shared_ptr mouse_down_item_;
};
-} // namespace view
+} // namespace TraceView
+} // namespace views
} // namespace pv
-#endif // PULSEVIEW_PV_VIEW_HEADER_H
+#endif // PULSEVIEW_PV_VIEWS_TRACEVIEW_HEADER_HPP