X-Git-Url: https://sigrok.org/gitweb/?a=blobdiff_plain;f=pv%2Fview%2Fselectableitem.cpp;h=6921f19a71c27b02d2ecaaa5dc2abaf39fea3a87;hb=65c34596346fbf7d25fe2065728b86c207018586;hp=8dfdd8aa33d36c9c200486cb6ff317da13500989;hpb=d09674d4529828b6bd2cbaa027949b953d6bd96a;p=pulseview.git diff --git a/pv/view/selectableitem.cpp b/pv/view/selectableitem.cpp index 8dfdd8aa..6921f19a 100644 --- a/pv/view/selectableitem.cpp +++ b/pv/view/selectableitem.cpp @@ -18,9 +18,12 @@ * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */ -#include "selectableitem.h" +#include "selectableitem.hpp" + +#include #include +#include #include namespace pv { @@ -29,18 +32,50 @@ namespace view { const int SelectableItem::HighlightRadius = 6; SelectableItem::SelectableItem() : - _selected(false) + context_parent_(NULL), + selected_(false), + drag_point_(INT_MIN, INT_MIN) { } bool SelectableItem::selected() const { - return _selected; + return selected_; } void SelectableItem::select(bool select) { - _selected = select; + 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() @@ -50,5 +85,10 @@ QPen SelectableItem::highlight_pen() Qt::SolidLine, Qt::RoundCap, Qt::RoundJoin); } +QColor SelectableItem::select_text_colour(QColor background) +{ + return (background.lightness() > 64) ? Qt::black : Qt::white; +} + } // namespace view } // namespace pv