Go to the
documentation of this file.
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042 #ifndef QFORMLAYOUT_H
00043 #define QFORMLAYOUT_H
00044
00045 #include <QtGui/QLayout>
00046
00047 QT_BEGIN_HEADER
00048
00049 QT_BEGIN_NAMESPACE
00050
00051 QT_MODULE(Gui)
00052
00053 class QFormLayoutPrivate;
00054
00055 class Q_GUI_EXPORT QFormLayout : public QLayout
00056 {
00057 Q_OBJECT
00058 Q_ENUMS(FormStyle FieldGrowthPolicy RowWrapPolicy ItemRole)
00059 Q_DECLARE_PRIVATE(QFormLayout)
00060 Q_PROPERTY(FieldGrowthPolicy fieldGrowthPolicy READ fieldGrowthPolicy WRITE setFieldGrowthPolicy RESET resetFieldGrowthPolicy)
00061 Q_PROPERTY(RowWrapPolicy rowWrapPolicy READ rowWrapPolicy WRITE setRowWrapPolicy RESET resetRowWrapPolicy)
00062 Q_PROPERTY(Qt::Alignment labelAlignment READ labelAlignment WRITE setLabelAlignment RESET resetLabelAlignment)
00063 Q_PROPERTY(Qt::Alignment formAlignment READ formAlignment WRITE setFormAlignment RESET resetFormAlignment)
00064 Q_PROPERTY(int horizontalSpacing READ horizontalSpacing WRITE setHorizontalSpacing)
00065 Q_PROPERTY(int verticalSpacing READ verticalSpacing WRITE setVerticalSpacing)
00066
00067 public:
00068 enum FieldGrowthPolicy {
00069 FieldsStayAtSizeHint,
00070 ExpandingFieldsGrow,
00071 AllNonFixedFieldsGrow
00072 };
00073
00074 enum RowWrapPolicy {
00075 DontWrapRows,
00076 WrapLongRows,
00077 WrapAllRows
00078 };
00079
00080 enum ItemRole {
00081 LabelRole = 0,
00082 FieldRole = 1,
00083 SpanningRole = 2
00084 };
00085
00086 explicit QFormLayout(QWidget *parent = 0);
00087 ~QFormLayout();
00088
00089 void setFieldGrowthPolicy(FieldGrowthPolicy policy);
00090 FieldGrowthPolicy fieldGrowthPolicy() const;
00091 void setRowWrapPolicy(RowWrapPolicy policy);
00092 RowWrapPolicy rowWrapPolicy() const;
00093 void setLabelAlignment(Qt::Alignment alignment);
00094 Qt::Alignment labelAlignment() const;
00095 void setFormAlignment(Qt::Alignment alignment);
00096 Qt::Alignment formAlignment() const;
00097
00098 void setHorizontalSpacing(int spacing);
00099 int horizontalSpacing() const;
00100 void setVerticalSpacing(int spacing);
00101 int verticalSpacing() const;
00102
00103 int spacing() const;
00104 void setSpacing(int);
00105
00106 void addRow(QWidget *label, QWidget *field);
00107 void addRow(QWidget *label, QLayout *field);
00108 void addRow(const QString &labelText, QWidget *field);
00109 void addRow(const QString &labelText, QLayout *field);
00110 void addRow(QWidget *widget);
00111 void addRow(QLayout *layout);
00112
00113 void insertRow(int row, QWidget *label, QWidget *field);
00114 void insertRow(int row, QWidget *label, QLayout *field);
00115 void insertRow(int row, const QString &labelText, QWidget *field);
00116 void insertRow(int row, const QString &labelText, QLayout *field);
00117 void insertRow(int row, QWidget *widget);
00118 void insertRow(int row, QLayout *layout);
00119
00120 void setItem(int row, ItemRole role, QLayoutItem *item);
00121 void setWidget(int row, ItemRole role, QWidget *widget);
00122 void setLayout(int row, ItemRole role, QLayout *layout);
00123
00124 QLayoutItem *itemAt(int row, ItemRole role) const;
00125 void getItemPosition(int index, int *rowPtr, ItemRole *rolePtr) const;
00126 void getWidgetPosition(QWidget *widget, int *rowPtr, ItemRole *rolePtr) const;
00127 void getLayoutPosition(QLayout *layout, int *rowPtr, ItemRole *rolePtr) const;
00128 QWidget *labelForField(QWidget *field) const;
00129 QWidget *labelForField(QLayout *field) const;
00130
00131
00132 void addItem(QLayoutItem *item);
00133 QLayoutItem *itemAt(int index) const;
00134 QLayoutItem *takeAt(int index);
00135
00136 void setGeometry(const QRect &rect);
00137 QSize minimumSize() const;
00138 QSize sizeHint() const;
00139 void invalidate();
00140
00141 bool hasHeightForWidth() const;
00142 int heightForWidth(int width) const;
00143 Qt::Orientations expandingDirections() const;
00144 int count() const;
00145
00146 int rowCount() const;
00147
00148 #if 0
00149 void dump() const;
00150 #endif
00151
00152 private:
00153 void resetFieldGrowthPolicy();
00154 void resetRowWrapPolicy();
00155 void resetLabelAlignment();
00156 void resetFormAlignment();
00157 };
00158
00159 QT_END_NAMESPACE
00160
00161 QT_END_HEADER
00162
00163 #endif