mirror of
https://github.com/qgis/QGIS.git
synced 2025-02-27 00:33:48 -05:00
92 lines
3.5 KiB
Plaintext
92 lines
3.5 KiB
Plaintext
/** \ingroup gui
|
|
* \class QgsFloatingWidget
|
|
* A QWidget subclass for creating widgets which float outside of the normal Qt layout
|
|
* system. Floating widgets use an "anchor widget" to determine how they are anchored
|
|
* within their parent widget.
|
|
* \note Added in version 2.16
|
|
*/
|
|
|
|
class QgsFloatingWidget : QWidget
|
|
{
|
|
%TypeHeaderCode
|
|
#include <qgsfloatingwidget.h>
|
|
%End
|
|
|
|
public:
|
|
|
|
//! Reference points for anchoring widget position
|
|
enum AnchorPoint
|
|
{
|
|
TopLeft, //!< Top-left of widget
|
|
TopMiddle, //!< Top center of widget
|
|
TopRight, //!< Top-right of widget
|
|
MiddleLeft, //!< Middle left of widget
|
|
Middle, //!< Middle of widget
|
|
MiddleRight, //!< Middle right of widget
|
|
BottomLeft, //!< Bottom-left of widget
|
|
BottomMiddle, //!< Bottom center of widget
|
|
BottomRight, //!< Bottom-right of widget
|
|
};
|
|
|
|
/** Constructor for QgsFloatingWidget.
|
|
* @param parent parent widget
|
|
*/
|
|
QgsFloatingWidget( QWidget* parent /TransferThis/ = nullptr );
|
|
|
|
/** Sets the widget to "anchor" the floating widget to. The floating widget will be repositioned whenever the
|
|
* anchor widget moves or is resized so that it maintains the same relative position to the anchor widget.
|
|
* @param widget anchor widget. Both the floating widget and the anchor widget must share some common parent.
|
|
* @see anchorWidget()
|
|
*/
|
|
void setAnchorWidget( QWidget* widget );
|
|
|
|
/** Returns the widget that the floating widget is "anchored" tto. The floating widget will be repositioned whenever the
|
|
* anchor widget moves or is resized so that it maintains the same relative position to the anchor widget.
|
|
* @see setAnchorWidget()
|
|
*/
|
|
QWidget* anchorWidget();
|
|
|
|
/** Returns the floating widget's anchor point, which corresponds to the point on the widget which should remain
|
|
* fixed in the same relative position whenever the widget's parent is resized or moved.
|
|
* @see setAnchorPoint()
|
|
*/
|
|
AnchorPoint anchorPoint() const;
|
|
|
|
/** Sets the floating widget's anchor point, which corresponds to the point on the widget which should remain
|
|
* fixed in the same relative position whenever the widget's parent is resized or moved.
|
|
* @param point anchor point
|
|
* @see anchorPoint()
|
|
*/
|
|
void setAnchorPoint( AnchorPoint point );
|
|
|
|
/** Returns the anchor widget's anchor point, which corresponds to the point on the anchor widget which
|
|
* the floating widget should "attach" to. The floating widget should remain fixed in the same relative position
|
|
* to this anchor widget whenever the widget's parent is resized or moved.
|
|
* @see setAnchorWidgetPoint()
|
|
*/
|
|
AnchorPoint anchorWidgetPoint() const;
|
|
|
|
/** Returns the anchor widget's anchor point, which corresponds to the point on the anchor widget which
|
|
* the floating widget should "attach" to. The floating widget should remain fixed in the same relative position
|
|
* to this anchor widget whenever the widget's parent is resized or moved.
|
|
* @see setAnchorWidgetPoint()
|
|
*/
|
|
void setAnchorWidgetPoint( AnchorPoint point );
|
|
|
|
signals:
|
|
|
|
//! Emitted when the anchor widget changes
|
|
void anchorWidgetChanged( QWidget* widget );
|
|
|
|
//! Emitted when the anchor point changes
|
|
void anchorPointChanged( AnchorPoint point );
|
|
|
|
//! Emitted when the anchor widget point changes
|
|
void anchorWidgetPointChanged( AnchorPoint point );
|
|
|
|
protected:
|
|
void showEvent( QShowEvent* e );
|
|
virtual void paintEvent( QPaintEvent* e );
|
|
|
|
};
|