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 QDATAWIDGETMAPPER_H
00043 #define QDATAWIDGETMAPPER_H
00044
00045 #include "QtCore/qobject.h"
00046
00047 #ifndef QT_NO_DATAWIDGETMAPPER
00048
00049 QT_BEGIN_HEADER
00050
00051 QT_BEGIN_NAMESPACE
00052
00053 QT_MODULE(Gui)
00054
00055 class QAbstractItemDelegate;
00056 class QAbstractItemModel;
00057 class QModelIndex;
00058 class QDataWidgetMapperPrivate;
00059
00060 class Q_GUI_EXPORT QDataWidgetMapper: public QObject
00061 {
00062 Q_OBJECT
00063
00064 Q_ENUMS(SubmitPolicy)
00065 Q_PROPERTY(int currentIndex READ currentIndex WRITE setCurrentIndex NOTIFY currentIndexChanged)
00066 Q_PROPERTY(Qt::Orientation orientation READ orientation WRITE setOrientation)
00067 Q_PROPERTY(SubmitPolicy submitPolicy READ submitPolicy WRITE setSubmitPolicy)
00068
00069 public:
00070 QDataWidgetMapper(QObject *parent = 0);
00071 ~QDataWidgetMapper();
00072
00073 void setModel(QAbstractItemModel *model);
00074 QAbstractItemModel *model() const;
00075
00076 void setItemDelegate(QAbstractItemDelegate *delegate);
00077 QAbstractItemDelegate *itemDelegate() const;
00078
00079 void setRootIndex(const QModelIndex &index);
00080 QModelIndex rootIndex() const;
00081
00082 void setOrientation(Qt::Orientation aOrientation);
00083 Qt::Orientation orientation() const;
00084
00085 enum SubmitPolicy { AutoSubmit, ManualSubmit };
00086 void setSubmitPolicy(SubmitPolicy policy);
00087 SubmitPolicy submitPolicy() const;
00088
00089 void addMapping(QWidget *widget, int section);
00090 void addMapping(QWidget *widget, int section, const QByteArray &propertyName);
00091 void removeMapping(QWidget *widget);
00092 int mappedSection(QWidget *widget) const;
00093 QByteArray mappedPropertyName(QWidget *widget) const;
00094 QWidget *mappedWidgetAt(int section) const;
00095 void clearMapping();
00096
00097 int currentIndex() const;
00098
00099 public Q_SLOTS:
00100 void revert();
00101 bool submit();
00102
00103 void toFirst();
00104 void toLast();
00105 void toNext();
00106 void toPrevious();
00107 virtual void setCurrentIndex(int index);
00108 void setCurrentModelIndex(const QModelIndex &index);
00109
00110 Q_SIGNALS:
00111 void currentIndexChanged(int index);
00112
00113 private:
00114 Q_DECLARE_PRIVATE(QDataWidgetMapper)
00115 Q_DISABLE_COPY(QDataWidgetMapper)
00116 Q_PRIVATE_SLOT(d_func(), void _q_dataChanged(const QModelIndex &, const QModelIndex &))
00117 Q_PRIVATE_SLOT(d_func(), void _q_commitData(QWidget *))
00118 Q_PRIVATE_SLOT(d_func(), void _q_closeEditor(QWidget *, QAbstractItemDelegate::EndEditHint))
00119 Q_PRIVATE_SLOT(d_func(), void _q_modelDestroyed())
00120 };
00121
00122 QT_END_NAMESPACE
00123
00124 QT_END_HEADER
00125
00126 #endif // QT_NO_DATAWIDGETMAPPER
00127 #endif
00128