1 #ifndef XGUI_RubberBand_H
2 #define XGUI_RubberBand_H
7 \class XGUI_AbstractRubberBand
9 \brief Analog of class QRubberBand with possibility of creation non-rectangular contour for selection.
11 Currently this class does not support Style functionality in full.
13 class XGUI_AbstractRubberBand: public QWidget
17 XGUI_AbstractRubberBand(QWidget*);
20 virtual ~XGUI_AbstractRubberBand();
22 virtual void clearGeometry();
27 virtual void paintEvent(QPaintEvent*);
28 virtual void showEvent(QShowEvent*);
29 virtual void moveEvent(QMoveEvent*);
30 virtual void resizeEvent(QResizeEvent*);
32 virtual bool eventFilter(QObject*, QEvent*);
34 virtual void updateMask();
43 \class XGUI_RectRubberBand
45 \brief Analog of class QRubberBand with possibility of creation non-rectangular contour for selection.
47 Redefinition for rectangular rubber band
49 class XGUI_RectRubberBand: public XGUI_AbstractRubberBand
54 XGUI_RectRubberBand(QWidget*);
55 virtual ~XGUI_RectRubberBand();
57 void initGeometry(const QRect&);
58 void setStartPoint(const QPoint&);
59 void setEndPoint(const QPoint&);
61 virtual void clearGeometry();
64 class XGUI_PolyRubberBand: public XGUI_AbstractRubberBand
69 XGUI_PolyRubberBand(QWidget*);
70 virtual ~XGUI_PolyRubberBand();
72 void initGeometry(const QPolygon&);
73 void initGeometry(const QPoint&);
75 void addNode(const QPoint&);
76 void replaceLastNode(const QPoint&);
77 void removeLastNode();