CUSTOM_METAOBJECT(DeclarativeColorDialog, QColorDialog)
+// DeclarativeColumnView
+DeclarativeColumnView::DeclarativeColumnView(QObject *parent) : DeclarativeWidgetProxy<ColumnView>(parent)
+{
+ connectAllSignals(m_proxiedObject, this);
+}
+
+CUSTOM_METAOBJECT(DeclarativeColumnView, ColumnView)
+
// DeclarativeCommandLinkButton
DeclarativeCommandLinkButton::DeclarativeCommandLinkButton(QObject *parent) : DeclarativeWidgetProxy<QCommandLinkButton>(parent)
{
CUSTOM_METAOBJECT(DeclarativeLineEdit, QLineEdit)
+// DeclarativeListView
+DeclarativeListView::DeclarativeListView(QObject *parent) : DeclarativeWidgetProxy<ListView>(parent)
+{
+ connectAllSignals(m_proxiedObject, this);
+}
+
+CUSTOM_METAOBJECT(DeclarativeListView, ListView)
+
// DeclarativeMainWindow
DeclarativeMainWindow::DeclarativeMainWindow(QObject *parent) : DeclarativeWidgetProxy<QMainWindow>(parent)
{
CUSTOM_METAOBJECT(DeclarativeStatusBar, QStatusBar)
+// DeclarativeTableView
+DeclarativeTableView::DeclarativeTableView(QObject *parent) : DeclarativeWidgetProxy<TableView>(parent)
+{
+ connectAllSignals(m_proxiedObject, this);
+}
+
+CUSTOM_METAOBJECT(DeclarativeTableView, TableView)
+
// DeclarativeTabWidget
class DeclarativeTabWidgetAttached::Private
{
CUSTOM_METAOBJECT(DeclarativeToolButton, QToolButton)
+// DeclarativeTreeView
+DeclarativeTreeView::DeclarativeTreeView(QObject *parent) : DeclarativeWidgetProxy<TreeView>(parent)
+{
+ connectAllSignals(m_proxiedObject, this);
+}
+
+CUSTOM_METAOBJECT(DeclarativeTreeView, TreeView)
+
// DeclarativeWebView
DeclarativeWebView::DeclarativeWebView(QObject *parent) : DeclarativeWidgetProxy<QWebView>(parent)
{
QML_DECLARE_TYPEINFO(DeclarativeColorDialog, QML_HAS_ATTACHED_PROPERTIES)
+class DeclarativeColumnView : public DeclarativeWidgetProxy<ColumnView>
+{
+ DECLARATIVE_OBJECT
+
+ public:
+ DeclarativeColumnView(QObject *parent = 0);
+};
+
class DeclarativeCommandLinkButton : public DeclarativeWidgetProxy<QCommandLinkButton>
{
DECLARATIVE_OBJECT
DeclarativeLineEdit(QObject *parent = 0);
};
+class DeclarativeListView : public DeclarativeWidgetProxy<ListView>
+{
+ DECLARATIVE_OBJECT
+
+ public:
+ DeclarativeListView(QObject *parent = 0);
+};
+
class DeclarativeMainWindow : public DeclarativeWidgetProxy<QMainWindow>
{
DECLARATIVE_OBJECT
QML_DECLARE_TYPEINFO(DeclarativeStatusBar, QML_HAS_ATTACHED_PROPERTIES)
+class DeclarativeTableView : public DeclarativeWidgetProxy<TableView>
+{
+ DECLARATIVE_OBJECT
+
+ public:
+ DeclarativeTableView(QObject *parent = 0);
+};
+
// attached property for DeclarativeTabWidget
class DeclarativeTabWidgetAttached : public QObject
{
DeclarativeToolButton(QObject *parent = 0);
};
+class DeclarativeTreeView : public DeclarativeWidgetProxy<TreeView>
+{
+ DECLARATIVE_OBJECT
+
+ public:
+ DeclarativeTreeView(QObject *parent = 0);
+};
+
class DeclarativeWebView : public DeclarativeWidgetProxy<QWebView>
{
DECLARATIVE_OBJECT
: QObject(parent)
, d(new Private(this, url))
{
+ qmlRegisterType<QAbstractItemModel>();
+ qmlRegisterType<QItemSelectionModel>();
+
// objects
qmlRegisterType<QAction>();
qmlRegisterType<DeclarativeAction>("QtGui", 1, 0, "Action");
qmlRegisterType<DeclarativeCheckBox>("QtGui", 1, 0, "CheckBox");
qmlRegisterType<DeclarativeColorDialogAttached>();
qmlRegisterType<DeclarativeColorDialog>("QtGui", 1, 0, "ColorDialog");
+ qmlRegisterType<DeclarativeColumnView>("QtGui", 1, 0, "ColumnView");
qmlRegisterType<DeclarativeCommandLinkButton>("QtGui", 1, 0, "CommandLinkButton");
qmlRegisterType<DeclarativeDateEdit>("QtGui", 1, 0, "DateEdit");
qmlRegisterType<DeclarativeDateTimeEdit>("QtGui", 1, 0, "DateTimeEdit");
qmlRegisterType<DeclarativeLabel>("QtGui", 1, 0, "Label");
qmlRegisterType<DeclarativeLCDNumber>("QtGui", 1, 0, "LCDNumber");
qmlRegisterType<DeclarativeLineEdit>("QtGui", 1, 0, "LineEdit");
+ qmlRegisterType<DeclarativeListView>("QtGui", 1, 0, "ListView");
qmlRegisterType<DeclarativeMainWindow>("QtGui", 1, 0, "MainWindow");
qmlRegisterType<DeclarativeMenu>("QtGui", 1, 0, "Menu");
qmlRegisterType<DeclarativeMenuBar>("QtGui", 1, 0, "MenuBar");
qmlRegisterType<DeclarativeStackedWidget>("QtGui", 1, 0, "StackedWidget");
qmlRegisterType<DeclarativeStatusBarAttached>();
qmlRegisterType<DeclarativeStatusBar>("QtGui", 1, 0, "StatusBar");
+ qmlRegisterType<DeclarativeTableView>("QtGui", 1, 0, "TableView");
qmlRegisterType<DeclarativeTabWidgetAttached>();
qmlRegisterType<DeclarativeTabWidget>("QtGui", 1, 0, "TabWidget");
qmlRegisterType<DeclarativeTextBrowser>("QtGui", 1, 0, "TextBrowser");
qmlRegisterType<DeclarativeTimeEdit>("QtGui", 1, 0, "TimeEdit");
qmlRegisterType<DeclarativeToolBar>("QtGui", 1, 0, "ToolBar");
qmlRegisterType<DeclarativeToolButton>("QtGui", 1, 0, "ToolButton");
+ qmlRegisterType<DeclarativeTreeView>("QtGui", 1, 0, "TreeView");
qmlRegisterType<DeclarativeWebView>("QtGui", 1, 0, "WebView");
qmlRegisterType<DeclarativeWidget>("QtGui", 1, 0, "Widget");
Widget {
TabWidget.label: "ItemViews"
+
+ VBoxLayout {
+ ListView {
+ model: _fileSystemModel
+ }
+ TreeView {
+ model: _fileSystemModel
+ }
+ TableView {
+ model: _fileSystemModel
+ }
+ ColumnView {
+ model: _fileSystemModel
+ }
+ }
}
Widget {
#include <QtCore/QTimer>
#include <QtDeclarative/QDeclarativeEngine>
#include <QtGui/QApplication>
+#include <QtGui/QFileSystemModel>
#include <QtGui/QWidget>
#include <QDebug>
const QFileInfo qmlFile(QDir::current(), arguments[1]);
const QUrl documentUrl = QUrl::fromLocalFile(qmlFile.absoluteFilePath());
+ QFileSystemModel model;
+ model.setRootPath("/");
+
DeclarativeWidgetDocument document(documentUrl);
QObject::connect(document.engine(), SIGNAL(quit()), &app, SLOT(quit()));
document.setContextProperty("_timer", &timer);
+ document.setContextProperty("_fileSystemModel", &model);
QWidget *widget = document.create<QWidget>();
if (widget)
return m_buttons;
}
+// ColumnView
+ColumnView::ColumnView(QWidget *parent)
+ : QColumnView(parent)
+{
+}
+
+void ColumnView::setModel(QAbstractItemModel *model)
+{
+ if (this->model() == model)
+ return;
+
+ QColumnView::setModel(model);
+
+ emit modelChanged(model);
+ emit selectionModelChanged(selectionModel());
+}
+
+void ColumnView::setSelectionModel(QItemSelectionModel *selectionModel)
+{
+ if (this->selectionModel() == selectionModel)
+ return;
+
+ QColumnView::setSelectionModel(selectionModel);
+
+ emit selectionModelChanged(selectionModel);
+}
+
// FileDialog
FileDialog::FileDialog(QWidget *parent)
: QFileDialog(parent)
connect(this, SIGNAL(doubleValueChanged(double)), this, SIGNAL(customDoubleValueChanged()));
}
+// ListView
+ListView::ListView(QWidget *parent)
+ : QListView(parent)
+{
+}
+
+void ListView::setModel(QAbstractItemModel *model)
+{
+ if (this->model() == model)
+ return;
+
+ QListView::setModel(model);
+
+ emit modelChanged(model);
+ emit selectionModelChanged(selectionModel());
+}
+
+void ListView::setSelectionModel(QItemSelectionModel *selectionModel)
+{
+ if (this->selectionModel() == selectionModel)
+ return;
+
+ QListView::setSelectionModel(selectionModel);
+
+ emit selectionModelChanged(selectionModel);
+}
+
+// TableView
+TableView::TableView(QWidget *parent)
+ : QTableView(parent)
+{
+}
+
+void TableView::setModel(QAbstractItemModel *model)
+{
+ if (this->model() == model)
+ return;
+
+ QTableView::setModel(model);
+
+ emit modelChanged(model);
+ emit selectionModelChanged(selectionModel());
+}
+
+void TableView::setSelectionModel(QItemSelectionModel *selectionModel)
+{
+ if (this->selectionModel() == selectionModel)
+ return;
+
+ QTableView::setSelectionModel(selectionModel);
+
+ emit selectionModelChanged(selectionModel);
+}
+
// TextEdit
TextEdit::TextEdit(QWidget *parent)
: QTextEdit(parent)
{
return document()->isModified();
}
+
+// TreeView
+TreeView::TreeView(QWidget *parent)
+ : QTreeView(parent)
+{
+}
+
+void TreeView::setModel(QAbstractItemModel *model)
+{
+ if (this->model() == model)
+ return;
+
+ QTreeView::setModel(model);
+
+ emit modelChanged(model);
+ emit selectionModelChanged(selectionModel());
+}
+
+void TreeView::setSelectionModel(QItemSelectionModel *selectionModel)
+{
+ if (this->selectionModel() == selectionModel)
+ return;
+
+ QTreeView::setSelectionModel(selectionModel);
+
+ emit selectionModelChanged(selectionModel);
+}
#include <QtGui/QAction>
#include <QtGui/QButtonGroup>
+#include <QtGui/QColumnView>
#include <QtGui/QFileDialog>
#include <QtGui/QInputDialog>
+#include <QtGui/QListView>
#include <QtGui/QStackedLayout>
+#include <QtGui/QTableView>
#include <QtGui/QTextEdit>
+#include <QtGui/QTreeView>
class ActionItem : public QObject
{
QVariantList m_buttons;
};
+class ColumnView : public QColumnView
+{
+ Q_OBJECT
+
+ Q_PROPERTY(QAbstractItemModel* model READ model WRITE setModel NOTIFY modelChanged)
+ Q_PROPERTY(QItemSelectionModel* selectionModel READ selectionModel WRITE setSelectionModel NOTIFY selectionModelChanged)
+
+ public:
+ ColumnView(QWidget *parent = 0);
+
+ void setModel(QAbstractItemModel *model);
+ void setSelectionModel(QItemSelectionModel *selectionModel);
+
+ Q_SIGNALS:
+ void modelChanged(QAbstractItemModel*);
+ void selectionModelChanged(QItemSelectionModel*);
+};
+
class FileDialog : public QFileDialog
{
Q_OBJECT
void customDoubleValueChanged();
};
+class ListView : public QListView
+{
+ Q_OBJECT
+
+ Q_PROPERTY(QAbstractItemModel* model READ model WRITE setModel NOTIFY modelChanged)
+ Q_PROPERTY(QItemSelectionModel* selectionModel READ selectionModel WRITE setSelectionModel NOTIFY selectionModelChanged)
+
+ public:
+ ListView(QWidget *parent = 0);
+
+ void setModel(QAbstractItemModel *model);
+ void setSelectionModel(QItemSelectionModel *selectionModel);
+
+ Q_SIGNALS:
+ void modelChanged(QAbstractItemModel*);
+ void selectionModelChanged(QItemSelectionModel*);
+};
+
class StackedLayout : public QStackedLayout
{
Q_OBJECT
Q_PROPERTY(int count READ count)
};
+class TableView : public QTableView
+{
+ Q_OBJECT
+
+ Q_PROPERTY(QAbstractItemModel* model READ model WRITE setModel NOTIFY modelChanged)
+ Q_PROPERTY(QItemSelectionModel* selectionModel READ selectionModel WRITE setSelectionModel NOTIFY selectionModelChanged)
+
+ public:
+ TableView(QWidget *parent = 0);
+
+ void setModel(QAbstractItemModel *model);
+ void setSelectionModel(QItemSelectionModel *selectionModel);
+
+ Q_SIGNALS:
+ void modelChanged(QAbstractItemModel*);
+ void selectionModelChanged(QItemSelectionModel*);
+};
+
class TextEdit : public QTextEdit
{
Q_OBJECT
bool modified() const;
};
+class TreeView : public QTreeView
+{
+ Q_OBJECT
+
+ Q_PROPERTY(QAbstractItemModel* model READ model WRITE setModel NOTIFY modelChanged)
+ Q_PROPERTY(QItemSelectionModel* selectionModel READ selectionModel WRITE setSelectionModel NOTIFY selectionModelChanged)
+
+ public:
+ TreeView(QWidget *parent = 0);
+
+ void setModel(QAbstractItemModel *model);
+ void setSelectionModel(QItemSelectionModel *selectionModel);
+
+ Q_SIGNALS:
+ void modelChanged(QAbstractItemModel*);
+ void selectionModelChanged(QItemSelectionModel*);
+};
+
#endif
qprogressdialog.h
// widgets
-qcolumnview.h
qcombobox.h
qdockwidget.h
qfocusframe.h
qgraphicsview.h
qgraphicswidget.h
qheaderview.h
-qlistview.h
qlistwidget.h
qmdiarea.h
qmdisubwindow.h
qsplashscreen.h
qsplitter.h
qtabbar.h
-qtableview.h
qtablewidget.h
qtoolbox.h
-qtreeview.h
qtreewidget.h
qundoview.h
qwizard.h