18 #ifndef GAZEBO_GUI_BUILDING_GRABBERHANDLE_HH_
19 #define GAZEBO_GUI_BUILDING_GRABBERHANDLE_HH_
24 #include <ignition/math/Color.hh>
25 #include <ignition/math/Vector2.hh>
36 class GrabberHandlePrivate;
43 public:
GrabberHandle(QGraphicsItem *_parent = 0,
int index = 0);
50 public:
int Index()
const;
54 public:
int MouseState()
const;
58 public: ignition::math::Vector2d CenterPoint()
const;
62 public:
double MouseDownX()
const;
66 public:
double MouseDownY()
const;
69 public:
double Width()
const;
73 public:
double Height()
const;
77 public: ignition::math::Color Color()
const;
81 public:
void SetMouseState(
int _state);
85 public:
void SetMouseDownX(
double _x);
89 public:
void SetMouseDownY(
double _y);
93 public:
void SetWidth(
double _width);
97 public:
void SetHeight(
double _height);
101 public:
void SetColor(
const ignition::math::Color &_color);
105 public:
void SetBorderColor(
const ignition::math::Color &_borderColor);
109 public:
virtual QRectF boundingRect()
const;
113 public: std::vector<GrabberHandle *> LinkedGrabbers()
const;
127 private:
virtual void paint(QPainter *_painter,
128 const QStyleOptionGraphicsItem *_option, QWidget *_widget);
132 protected:
void hoverEnterEvent(QGraphicsSceneHoverEvent *_event);
136 protected:
void hoverLeaveEvent(QGraphicsSceneHoverEvent *_event);
140 protected:
void mouseMoveEvent(QGraphicsSceneMouseEvent *_event);
144 protected:
void mousePressEvent(QGraphicsSceneMouseEvent *_event);
148 protected:
void mouseReleaseEvent(QGraphicsSceneMouseEvent *_event);
152 protected:
void mousePressEvent(QGraphicsSceneDragDropEvent *_event);
156 protected:
void mouseMoveEvent(QGraphicsSceneDragDropEvent *_event);
160 private: std::unique_ptr<GrabberHandlePrivate> dataPtr;
Definition: GrabberHandle.hh:38