summaryrefslogtreecommitdiffstats
path: root/examples/tutorials/modelview/5_edit
diff options
context:
space:
mode:
Diffstat (limited to 'examples/tutorials/modelview/5_edit')
-rwxr-xr-x[-rw-r--r--]examples/tutorials/modelview/5_edit/5_edit.pro12
-rwxr-xr-x[-rw-r--r--]examples/tutorials/modelview/5_edit/main.cpp4
-rwxr-xr-x[-rw-r--r--]examples/tutorials/modelview/5_edit/mainwindow.cpp (renamed from examples/tutorials/modelview/5_edit/modelview.cpp)6
-rwxr-xr-x[-rw-r--r--]examples/tutorials/modelview/5_edit/mainwindow.h (renamed from examples/tutorials/modelview/5_edit/modelview.h)13
-rwxr-xr-x[-rw-r--r--]examples/tutorials/modelview/5_edit/mymodel.cpp40
-rwxr-xr-x[-rw-r--r--]examples/tutorials/modelview/5_edit/mymodel.h9
6 files changed, 48 insertions, 36 deletions
diff --git a/examples/tutorials/modelview/5_edit/5_edit.pro b/examples/tutorials/modelview/5_edit/5_edit.pro
index e18c596..2ef343f 100644..100755
--- a/examples/tutorials/modelview/5_edit/5_edit.pro
+++ b/examples/tutorials/modelview/5_edit/5_edit.pro
@@ -3,8 +3,16 @@ TARGET = mv_edit
TEMPLATE = app
SOURCES += main.cpp \
- modelview.cpp \
+ mainwindow.cpp \
mymodel.cpp
-HEADERS += modelview.h \
+HEADERS += mainwindow.h \
mymodel.h
+
+# install
+target.path = $$[QT_INSTALL_EXAMPLES]/tutorials/modelview/5_edit
+sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS 5_edit.pro
+sources.path = $$[QT_INSTALL_EXAMPLES]/tutorials/modelview/5_edit
+INSTALLS += target sources
+
+symbian: include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
diff --git a/examples/tutorials/modelview/5_edit/main.cpp b/examples/tutorials/modelview/5_edit/main.cpp
index 7be212e..59e82ef 100644..100755
--- a/examples/tutorials/modelview/5_edit/main.cpp
+++ b/examples/tutorials/modelview/5_edit/main.cpp
@@ -39,12 +39,12 @@
****************************************************************************/
#include <QtGui/QApplication>
-#include "modelview.h"
+#include "mainwindow.h"
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
- ModelView w;
+ MainWindow w;
w.show();
return a.exec();
}
diff --git a/examples/tutorials/modelview/5_edit/modelview.cpp b/examples/tutorials/modelview/5_edit/mainwindow.cpp
index a6c6ef5..542f3d6 100644..100755
--- a/examples/tutorials/modelview/5_edit/modelview.cpp
+++ b/examples/tutorials/modelview/5_edit/mainwindow.cpp
@@ -39,10 +39,10 @@
****************************************************************************/
#include <QTableView>
-#include "modelview.h"
+#include "mainwindow.h"
#include "mymodel.h"
-ModelView::ModelView(QWidget *parent)
+MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
tableView = new QTableView(this);
@@ -54,7 +54,7 @@ ModelView::ModelView(QWidget *parent)
connect(myModel, SIGNAL(editCompleted(const QString &)), this, SLOT(setWindowTitle(const QString &)));
}
-void ModelView::showWindowTitle(const QString & title)
+void MainWindow::showWindowTitle(const QString & title)
{
setWindowTitle(title);
}
diff --git a/examples/tutorials/modelview/5_edit/modelview.h b/examples/tutorials/modelview/5_edit/mainwindow.h
index 069107b..ac5b77b 100644..100755
--- a/examples/tutorials/modelview/5_edit/modelview.h
+++ b/examples/tutorials/modelview/5_edit/mainwindow.h
@@ -38,22 +38,21 @@
**
****************************************************************************/
-#ifndef MODELVIEW_H
-#define MODELVIEW_H
+#ifndef MAINWINDOW_H
+#define MAINWINDOW_H
#include <QtGui/QMainWindow>
+#include <QtGui/QTableView>
-QT_FORWARD_DECLARE_CLASS(QTableView)
-
-class ModelView : public QMainWindow
+class MainWindow : public QMainWindow
{
Q_OBJECT
private:
QTableView *tableView;
public:
- ModelView(QWidget *parent = 0);
+ MainWindow(QWidget *parent = 0);
public slots:
void showWindowTitle(const QString & title);
};
-#endif // MODELVIEW_H
+#endif // MAINWINDOW_H
diff --git a/examples/tutorials/modelview/5_edit/mymodel.cpp b/examples/tutorials/modelview/5_edit/mymodel.cpp
index 67181ca..e2fd391 100644..100755
--- a/examples/tutorials/modelview/5_edit/mymodel.cpp
+++ b/examples/tutorials/modelview/5_edit/mymodel.cpp
@@ -38,62 +38,64 @@
**
****************************************************************************/
-//! [quoting mymodel_d]
+
#include "mymodel.h"
-const int COLS= 3;
-const int ROWS= 2;
MyModel::MyModel(QObject *parent)
:QAbstractTableModel(parent)
{
- //gridData needs to have 6 element, one for each table cell
- m_gridData << "1/1" << "1/2" << "1/3" << "2/1" << "2/2" << "2/3" ;
}
-//! [quoting mymodel_d]
-//! [quoting mymodel_e]
+//-----------------------------------------------------------------
int MyModel::rowCount(const QModelIndex & /*parent*/) const
{
return ROWS;
}
+//-----------------------------------------------------------------
int MyModel::columnCount(const QModelIndex & /*parent*/) const
{
return COLS;
}
+//-----------------------------------------------------------------
QVariant MyModel::data(const QModelIndex &index, int role) const
{
if (role == Qt::DisplayRole)
{
- return m_gridData[modelIndexToOffset(index)];
+ return m_gridData[index.row()][index.column()];
}
return QVariant();
}
-//! [quoting mymodel_e]
//-----------------------------------------------------------------
-
-//! [quoting mymodel_f]
+//! [quoting mymodel_e]
bool MyModel::setData(const QModelIndex & index, const QVariant & value, int role)
{
if (role == Qt::EditRole)
{
- m_gridData[modelIndexToOffset(index)] = value.toString();
- emit editCompleted(m_gridData.join(" | "));
+ //save value from editor to member m_gridData
+ m_gridData[index.row()][index.column()] = value.toString();
+ //for presentation purposes only: build and emit a joined string
+ QString result;
+ for(int row= 0; row < ROWS; row++)
+ {
+ for(int col= 0; col < COLS; col++)
+ {
+ result += m_gridData[row][col] + " ";
+ }
+ }
+ emit editCompleted( result );
}
return true;
}
+//! [quoting mymodel_e]
+//-----------------------------------------------------------------
+//! [quoting mymodel_f]
Qt::ItemFlags MyModel::flags(const QModelIndex & /*index*/) const
{
return Qt::ItemIsSelectable | Qt::ItemIsEditable | Qt::ItemIsEnabled ;
}
-
-//convert row and column information to array offset
-int MyModel::modelIndexToOffset(const QModelIndex & index) const
-{
- return index.row()*COLS + index.column();
-}
//! [quoting mymodel_f]
diff --git a/examples/tutorials/modelview/5_edit/mymodel.h b/examples/tutorials/modelview/5_edit/mymodel.h
index 0d2a1b8..574808e 100644..100755
--- a/examples/tutorials/modelview/5_edit/mymodel.h
+++ b/examples/tutorials/modelview/5_edit/mymodel.h
@@ -44,7 +44,11 @@
//! [Quoting ModelView Tutorial]
// mymodel.h
#include <QAbstractTableModel>
-#include <QStringList>
+#include <QString>
+
+const int COLS= 3;
+const int ROWS= 2;
+
class MyModel : public QAbstractTableModel
{
@@ -57,8 +61,7 @@ public:
bool setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole);
Qt::ItemFlags flags(const QModelIndex & index) const ;
private:
- QStringList m_gridData; //holds text entered into QTableView
- int modelIndexToOffset(const QModelIndex & index) const;
+ QString m_gridData[ROWS][COLS]; //holds text entered into QTableView
signals:
void editCompleted(const QString &);
};