+ selected_ = select;
+}
+
+bool SelectableItem::dragging() const
+{
+ return drag_point_.x() != INT_MIN && drag_point_.y() != INT_MIN;
+}
+
+QPoint SelectableItem::drag_point() const
+{
+ return drag_point_;
+}
+
+void SelectableItem::drag()
+{
+ drag_point_ = point();
+}
+
+void SelectableItem::drag_release()
+{
+ drag_point_ = QPoint(INT_MIN, INT_MIN);
+}
+
+QMenu* SelectableItem::create_context_menu(QWidget *parent)
+{
+ context_parent_ = parent;
+ return new QMenu(parent);
+}
+
+void SelectableItem::delete_pressed()
+{
+}
+
+QPen SelectableItem::highlight_pen()
+{
+ return QPen(QApplication::palette().brush(
+ QPalette::Highlight), HighlightRadius,
+ Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin);
+}
+
+QColor SelectableItem::select_text_colour(QColor background)
+{
+ return (background.lightness() > 64) ? Qt::black : Qt::white;