18 #ifndef _GAZEBO_GUI_BUILDING_RECTITEM_HH_    19 #define _GAZEBO_GUI_BUILDING_RECTITEM_HH_    23 #include <ignition/math/Vector2.hh>    24 #include <ignition/math/Vector3.hh>    42     class RectItemPrivate;
    75       public: 
void SetWidth(
const int _width);
    79       public: 
void SetHeight(
const int _height);
    83       public: 
void SetSize(
const ignition::math::Vector2i &_size);
    87       public: 
double Width() 
const;
    91       public: 
double Height() 
const;
    95       public: 
void SetPositionOnWall(
const double _positionOnWall);
    99       public: 
double PositionOnWall() 
const;
   103       public: 
void SetAngleOnWall(
const double _angleOnWall);
   107       public: 
double AngleOnWall() 
const;
   111       public: 
void ShowHandles(
const bool _show);
   114       public: 
void SetHighlighted(
const bool _highlighted);
   117       public: 
void DetachFromParent();
   121       protected: 
void UpdateCornerPositions();
   125       protected: 
void DrawBoundingBox(QPainter *_painter);
   129       public: 
virtual void SetPosition(
const ignition::math::Vector2d &_pos);
   134       public: 
virtual void SetPosition(
const double _x, 
const double _y);
   138       public: 
virtual void SetRotation(
const double _angle);
   143       public: 
virtual void SetResizeFlag(
const unsigned int _flag);
   147       public: 
virtual double Rotation() 
const;
   150       public: 
virtual ignition::math::Vector3d Size() 
const;
   153       public: 
virtual ignition::math::Vector3d ScenePosition() 
const;
   156       public: 
virtual double SceneRotation() 
const;
   160       protected: 
virtual QRectF boundingRect() 
const;
   163       protected: 
void UpdateMeasures();
   168       private: 
virtual bool RotateEventFilter(
RotateHandle *_rotateHandle,
   174       private: 
virtual bool GrabberEventFilter(
GrabberHandle *_grabber,
   181       private: 
virtual void paint(QPainter *_painter,
   182           const QStyleOptionGraphicsItem *_option, QWidget *_widget);
   186       private: 
void hoverEnterEvent(QGraphicsSceneHoverEvent *_event);
   190       private: 
void hoverMoveEvent(QGraphicsSceneHoverEvent *_event);
   194       private: 
void hoverLeaveEvent(QGraphicsSceneHoverEvent *_event);
   198       private: 
virtual void mouseMoveEvent(QGraphicsSceneMouseEvent *_event);
   202       private: 
virtual void mousePressEvent(QGraphicsSceneMouseEvent *_event);
   206       private: 
virtual void mouseReleaseEvent(
   207           QGraphicsSceneMouseEvent *_event);
   211       private: 
virtual void mousePressEvent(
   212           QGraphicsSceneDragDropEvent *_event);
   216       private: 
virtual void mouseMoveEvent(
   217           QGraphicsSceneDragDropEvent *_event);
   221       private: 
virtual void mouseDoubleClickEvent(
   222           QGraphicsSceneMouseEvent *_event);
   227       private: 
virtual bool sceneEventFilter(QGraphicsItem *_watched,
   234       private: QVariant itemChange(GraphicsItemChange _change,
   235         const QVariant &_value);
   239       private: 
virtual void contextMenuEvent(
   240           QGraphicsSceneContextMenuEvent *_event);
   243       private: 
virtual void SizeChanged();
   248       private: 
void AdjustSize(
const double _x, 
const double _y);
   251       private slots: 
virtual void OnOpenInspector();
   254       private slots: 
virtual void OnDeleteItem();
   293       private: std::unique_ptr<RectItemPrivate> dataPtr;
 
ResizeFlags
Resize flags used to indicate which dimension can be resized. 
Definition: RectItem.hh:55
 
Base class of an item in the editor. 
Definition: EditorItem.hh:43
 
Forward declarations for the common classes. 
Definition: Animation.hh:33
 
double drawingOriginY
Y origin of the rect item in pixels. 
Definition: RectItem.hh:272
 
double height
Height of rect item in pixels. 
Definition: RectItem.hh:260
 
2D rectangle. 
Definition: RectItem.hh:49
 
QAction * openInspectorAct
Qt action for opening the inspector. 
Definition: RectItem.hh:281
 
QAction * deleteItemAct
Qt action for deleting the item. 
Definition: RectItem.hh:284
 
double drawingWidth
Actual width of rect item drawn in pixels. 
Definition: RectItem.hh:263
 
common::Color borderColor
Border color of the rect item. 
Definition: RectItem.hh:275
 
double width
Width of rect item in pixels. 
Definition: RectItem.hh:257
 
double drawingHeight
Actual height of rect item drawn in pixels. 
Definition: RectItem.hh:266
 
Handle for rotating an editor item. 
Definition: RotateHandle.hh:40
 
std::vector< MeasureItem * > measures
A vector containing this item's measure items. 
Definition: RectItem.hh:289
 
Defines a color. 
Definition: Color.hh:36
 
double rotationAngle
Rotation angle of the rect item in degrees. 
Definition: RectItem.hh:278
 
Definition: GrabberHandle.hh:42
 
double drawingOriginX
X origin of the rect item in pixels. 
Definition: RectItem.hh:269