11#include <QResizeEvent>
16#include <dtkwidget_global.h>
18DWIDGET_BEGIN_NAMESPACE
34 return info == targetInfo;
39 return &info == targetInfo;
44 return info != targetInfo;
49 return &info != targetInfo;
60class DAnchorsBasePrivate;
66 Q_PROPERTY(QWidget *target READ target CONSTANT)
67 Q_PROPERTY(
bool enabled READ enabled WRITE setEnabled NOTIFY enabledChanged)
69 Q_PROPERTY(
const DAnchorInfo *top READ top WRITE setTop NOTIFY topChanged)
70 Q_PROPERTY(
const DAnchorInfo *bottom READ bottom WRITE setBottom NOTIFY bottomChanged)
71 Q_PROPERTY(
const DAnchorInfo *left READ left WRITE setLeft NOTIFY leftChanged)
72 Q_PROPERTY(
const DAnchorInfo *right READ right WRITE setRight NOTIFY rightChanged)
73 Q_PROPERTY(
const DAnchorInfo *horizontalCenter READ horizontalCenter WRITE setHorizontalCenter NOTIFY horizontalCenterChanged)
74 Q_PROPERTY(
const DAnchorInfo *verticalCenter READ verticalCenter WRITE setVerticalCenter NOTIFY verticalCenterChanged)
75 Q_PROPERTY(QWidget *fill READ fill WRITE setFill NOTIFY fillChanged)
76 Q_PROPERTY(QWidget *centerIn READ centerIn WRITE setCenterIn NOTIFY centerInChanged)
77 Q_PROPERTY(
int margins READ margins WRITE setMargins NOTIFY marginsChanged)
78 Q_PROPERTY(
int topMargin READ topMargin WRITE setTopMargin NOTIFY topMarginChanged)
79 Q_PROPERTY(
int bottomMargin READ bottomMargin WRITE setBottomMargin NOTIFY bottomMarginChanged)
80 Q_PROPERTY(
int leftMargin READ leftMargin WRITE setLeftMargin NOTIFY leftMarginChanged)
81 Q_PROPERTY(
int rightMargin READ rightMargin WRITE setRightMargin NOTIFY rightMarginChanged)
82 Q_PROPERTY(
int horizontalCenterOffset READ horizontalCenterOffset WRITE setHorizontalCenterOffset NOTIFY horizontalCenterOffsetChanged)
83 Q_PROPERTY(
int verticalCenterOffset READ verticalCenterOffset WRITE setVerticalCenterOffset NOTIFY verticalCenterOffsetChanged)
84 Q_PROPERTY(
bool alignWhenCentered READ alignWhenCentered WRITE setAlignWhenCentered NOTIFY alignWhenCenteredChanged)
98 QWidget *target()
const;
100 bool enabled()
const;
108 QWidget *fill()
const;
109 QWidget *centerIn()
const;
111 int topMargin()
const;
112 int bottomMargin()
const;
113 int leftMargin()
const;
114 int rightMargin()
const;
115 int horizontalCenterOffset()
const;
116 int verticalCenterOffset()
const;
117 int alignWhenCentered()
const;
118 AnchorError errorCode()
const;
123 static void clearAnchors(
const QWidget *w);
124 static DAnchorsBase *getAnchorBaseByWidget(
const QWidget *w);
127 void setEnabled(
bool enabled);
133 bool setHorizontalCenter(
const DAnchorInfo *horizontalCenter);
134 bool setVerticalCenter(
const DAnchorInfo *verticalCenter);
135 bool setFill(QWidget *fill);
136 bool setCenterIn(QWidget *centerIn);
139 void setMargins(
int margins);
140 void setTopMargin(
int topMargin);
141 void setBottomMargin(
int bottomMargin);
142 void setLeftMargin(
int leftMargin);
143 void setRightMargin(
int rightMargin);
144 void setHorizontalCenterOffset(
int horizontalCenterOffset);
145 void setVerticalCenterOffset(
int verticalCenterOffset);
146 void setAlignWhenCentered(
bool alignWhenCentered);
155 void moveTop(
int arg);
156 void moveBottom(
int arg);
157 void moveLeft(
int arg);
158 void moveRight(
int arg);
159 void moveHorizontalCenter(
int arg);
160 void moveVerticalCenter(
int arg);
161 void moveCenter(
const QPoint &arg);
164 void updateVertical();
165 void updateHorizontal();
167 void updateCenterIn();
186 void alignWhenCenteredChanged(
bool alignWhenCentered);
189 void init(QWidget *w);
207 inline T &operator=(
const DAnchors &me)
209 m_widget = me.m_widget;
213 inline T &operator=(T *w)
219 inline T *widget()
const
223 inline T *operator ->()
const
227 inline T &operator *()
const
231 inline operator T *()
const
235 inline operator T &()
const