1 #ifndef XGUI_RubberBand_H
2 #define XGUI_RubberBand_H
8 \class XGUI_AbstractRubberBand
10 \brief Analog of class QRubberBand with possibility of creation non-rectangular contour for selection.
12 Currently this class does not support Style functionality in full.
14 class XGUI_EXPORT XGUI_AbstractRubberBand: public QWidget
18 XGUI_AbstractRubberBand(QWidget*);
21 virtual ~XGUI_AbstractRubberBand();
23 virtual void clearGeometry();
28 virtual void paintEvent(QPaintEvent*);
29 virtual void showEvent(QShowEvent*);
30 virtual void moveEvent(QMoveEvent*);
31 virtual void resizeEvent(QResizeEvent*);
33 virtual bool eventFilter(QObject*, QEvent*);
35 virtual void updateMask();
44 \class XGUI_RectRubberBand
46 \brief Analog of class QRubberBand with possibility of creation non-rectangular contour for selection.
48 Redefinition for rectangular rubber band
50 class XGUI_RectRubberBand: public XGUI_AbstractRubberBand
55 XGUI_RectRubberBand(QWidget*);
56 virtual ~XGUI_RectRubberBand();
58 void initGeometry(const QRect&);
59 void setStartPoint(const QPoint&);
60 void setEndPoint(const QPoint&);
62 virtual void clearGeometry();
65 class XGUI_PolyRubberBand: public XGUI_AbstractRubberBand
70 XGUI_PolyRubberBand(QWidget*);
71 virtual ~XGUI_PolyRubberBand();
73 void initGeometry(const QPolygon&);
74 void initGeometry(const QPoint&);
76 void addNode(const QPoint&);
77 void replaceLastNode(const QPoint&);
78 void removeLastNode();