#include <QRectF>
#include <QWidgetAction>
-#include "selectableitem.hpp"
+#include "timeitem.hpp"
class QPainter;
class QRect;
class View;
-class TimeMarker : public SelectableItem
+class TimeMarker : public TimeItem
{
Q_OBJECT
+public:
+ static const int ArrowSize;
+ static const int Offset;
+
protected:
/**
* Constructor.
virtual void paint(QPainter &p, const QRect &rect);
/**
- * Gets the marker label rectangle.
- * @param rect The rectangle of the ruler client area.
- * @return Returns the label rectangle.
+ * Computes the outline rectangle of a label.
+ * @param rect the rectangle of the header area.
+ * @return Returns the rectangle of the signal label.
+ */
+ QRectF label_rect(const QRectF &rect) const;
+
+ /**
+ * Gets the text to show in the marker.
*/
- virtual QRectF get_label_rect(const QRect &rect) const = 0;
+ virtual QString get_text() const = 0;
/**
* Paints the marker's label to the ruler.
* @param p The painter to draw with.
* @param rect The rectangle of the ruler client area.
- * @param prefix The SI prefix to paint time value with.
*/
- virtual void paint_label(QPainter &p, const QRect &rect,
- unsigned int prefix) = 0;
+ void paint_label(QPainter &p, const QRect &rect);
pv::widgets::Popup* create_popup(QWidget *parent);
void time_changed();
protected:
- View &view_;
const QColor &colour_;
double time_;