#include <memory>
+#include <QPropertyAnimation>
+
#include "selectableitem.h"
namespace pv {
public std::enable_shared_from_this<pv::view::RowItem>
{
Q_OBJECT
+ Q_PROPERTY(int visual_v_offset
+ READ visual_v_offset
+ WRITE set_visual_v_offset)
public:
/**
/**
* Gets the vertical layout offset of this signal.
*/
- int v_offset() const;
+ int layout_v_offset() const;
/**
* Sets the vertical layout offset of this signal.
*/
- void set_v_offset(int v_offset);
+ void set_layout_v_offset(int v_offset);
+
+ /**
+ * Gets the vertical visual offset of this signal.
+ */
+ int visual_v_offset() const;
+
+ /**
+ * Sets the vertical visual offset of this signal.
+ */
+ void set_visual_v_offset(int v_offset);
+
+ /**
+ * Sets the visual and layout offset of this signal.
+ */
+ void force_to_v_offset(int v_offset);
+
+ /**
+ * Begins an animation that will animate the visual offset toward
+ * the layout offset.
+ */
+ void animate_to_layout_v_offset();
/**
* Gets the owner this trace in the view trace hierachy.
void set_owner(pv::view::RowItemOwner *owner);
/**
- * Gets the y-offset of the axis.
+ * Gets the visual y-offset of the axis.
*/
- int get_y() const;
+ int get_visual_y() const;
/**
* Gets the drag point of the row item.
public:
virtual void hover_point_changed();
-Q_SIGNALS:
- void appearance_changed();
-
protected:
- pv::view::RowItemOwner *_owner;
+ pv::view::RowItemOwner *owner_;
+
+ int layout_v_offset_;
+ int visual_v_offset_;
- int _v_offset;
+private:
+ QPropertyAnimation v_offset_animation_;
};
} // namespace view