diff options
author | Sandro S. Andrade <sandroandrade@kde.org> | 2013-10-12 18:18:04 -0300 |
---|---|---|
committer | Sandro S. Andrade <sandroandrade@kde.org> | 2013-10-12 23:14:34 +0200 |
commit | f1bd8ff17c2324595fc5a939fd537d5a731e4895 (patch) | |
tree | 600b9f0a2195c0793e109c9957063f032af27ab9 /examples/uml | |
parent | 50b15c72a9447e6fada0175c594c8b03179c4a06 (diff) |
Fix bug when reading/writing boolean properties
Change-Id: I3a309392cf7fb70e6669f6eab0cea391029e58f8
Reviewed-by: Sandro S. Andrade <sandroandrade@kde.org>
Diffstat (limited to 'examples/uml')
-rw-r--r-- | examples/uml/duse-mt/duse-mt.qrc | 1 | ||||
-rw-r--r-- | examples/uml/duse-mt/mainwindow.cpp | 86 | ||||
-rw-r--r-- | examples/uml/duse-mt/mainwindow.h | 2 | ||||
-rw-r--r-- | examples/uml/duse-mt/qml/welcome-background.jpg | bin | 78559 -> 0 bytes | |||
-rw-r--r-- | examples/uml/duse-mt/qml/welcomeview.qml | 4 | ||||
-rw-r--r-- | examples/uml/xmi-read/main.cpp | 7 | ||||
-rw-r--r-- | examples/uml/xmi-write/main.cpp | 6 |
7 files changed, 54 insertions, 52 deletions
diff --git a/examples/uml/duse-mt/duse-mt.qrc b/examples/uml/duse-mt/duse-mt.qrc index 160c4ca9..1455a739 100644 --- a/examples/uml/duse-mt/duse-mt.qrc +++ b/examples/uml/duse-mt/duse-mt.qrc @@ -21,7 +21,6 @@ <file>metamodels/UML.xmi</file> <file>metamodels/SADuSEProfile.xmi</file> <file>qml/welcomeview.qml</file> - <file>qml/welcome-background.jpg</file> <file>qml/designspaceview.qml</file> </qresource> </RCC> diff --git a/examples/uml/duse-mt/mainwindow.cpp b/examples/uml/duse-mt/mainwindow.cpp index d7a4942f..e466e59a 100644 --- a/examples/uml/duse-mt/mainwindow.cpp +++ b/examples/uml/duse-mt/mainwindow.cpp @@ -220,7 +220,7 @@ void MainWindow::on_actionFileNewModel_triggered() // } } -void MainWindow::saveXmi(QModelingElement *rootElement) +void MainWindow::saveXmi(QList<QModelingObject *> modelObjects) { QFile file(_currentFileName); if (!file.open(QFile::WriteOnly | QFile::Text)) { @@ -228,9 +228,9 @@ void MainWindow::saveXmi(QModelingElement *rootElement) return; } - QXmiWriter writer(rootElement->asQModelingObject()); + QXmiWriter writer; setCursor(Qt::WaitCursor); - if (!writer.writeFile(&file)) + if (!writer.writeFile(modelObjects, &file)) QMessageBox::critical(this, tr("Save As"), tr("Error when writing XMI file !")); else { statusBar()->showMessage("XMI file successfully saved !", 3000); @@ -406,7 +406,7 @@ void MainWindow::on_actionFileSaveAs_triggered() QString fileName = QFileDialog::getSaveFileName(this, tr("Save As"), QDir::currentPath(), "XMI files (*.xmi)"); if (!fileName.isEmpty()) { _currentFileName = fileName; - saveXmi(qModelingElement(_modelingObjectModel->modelingObjects().at(0))); + saveXmi(_modelingObjectModel->modelingObjects()); } } @@ -415,7 +415,7 @@ void MainWindow::on_actionFileSave_triggered() if (_currentFileName.isEmpty()) on_actionFileSaveAs_triggered(); else - saveXmi(qModelingElement(_modelingObjectModel->modelingObjects().at(0))); + saveXmi(_modelingObjectModel->modelingObjects()); } void MainWindow::on_actionHelpAboutPlugins_triggered() @@ -615,44 +615,44 @@ void MainWindow::designSpaceChanged() bool MainWindow::eventFilter(QObject *obj, QEvent *event) { -// if (event->type() == QEvent::KeyPress && obj == ui->txeJavaScript) { -// QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event); -// if (keyEvent->key() == 46) { -// QModelingObject *modelingObject = qwrappedobject_cast<QWrappedObject *>(dynamic_cast<QWrappedObject *>(_engine.evaluate(ui->txeJavaScript->toPlainText()).toQObject())); -// if (modelingObject) { -// const QMetaWrappedObject *metaWrappedObject = modelingObject->metaWrappedObject(); -// int propertyCount = metaWrappedObject->propertyCount(); -// QStringList propertyList; -// for (int i = 0; i < propertyCount; ++i) -// propertyList << metaWrappedObject->property(i).metaProperty.name(); -// _codeCompletionView->setModel(new QStringListModel(propertyList)); -// QFont font; -// QFontMetrics fm(font); -// _codeCompletionView->setGeometry(ui->txeJavaScript->cursorRect().x(), ui->txeJavaScript->cursorRect().y()+fm.height(), 200, 100); -// _codeCompletionView->show(); -// _codeCompletionView->setFocus(); -// } -// } -// return QObject::eventFilter(obj, event); -// } else if (event->type() == QEvent::KeyPress && obj == _codeCompletionView) { -// QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event); -// if (keyEvent->key() == 16777220 || keyEvent->key() == 32) { // spacebar or enter -// ui->txeJavaScript->insertPlainText(_codeCompletionView->model()->data(_codeCompletionView->selectionModel()->selectedIndexes().first()).toString()); -// _codeCompletionView->hide(); -// ui->txeJavaScript->setFocus(); -// return true; -// } -// else if (keyEvent->key() == 16777235 || keyEvent->key() == 16777237 || keyEvent->key() == 16777239 || keyEvent->key() == 16777238) { // uparrow and downarrow, pageup, pagedown -// return QObject::eventFilter(obj, event); -// } -// else { -// _codeCompletionView->hide(); -// ui->txeJavaScript->setFocus(); -// return true; -// } -// } -// // standard event processing -// return QObject::eventFilter(obj, event); + if (event->type() == QEvent::KeyPress && obj == ui->txeJavaScript) { + QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event); + if (keyEvent->key() == 46) { + QModelingObject *modelingObject = dynamic_cast<QModelingObject *>(_engine.evaluate(ui->txeJavaScript->toPlainText()).toQObject()); + if (modelingObject) { + const QMetaObject *metaObject = modelingObject->metaObject(); + int propertyCount = metaObject->propertyCount(); + QStringList propertyList; + for (int i = 0; i < propertyCount; ++i) + propertyList << metaObject->property(i).name(); + _codeCompletionView->setModel(new QStringListModel(propertyList)); + QFont font; + QFontMetrics fm(font); + _codeCompletionView->setGeometry(ui->txeJavaScript->cursorRect().x(), ui->txeJavaScript->cursorRect().y()+fm.height(), 200, 100); + _codeCompletionView->show(); + _codeCompletionView->setFocus(); + } + } + return QObject::eventFilter(obj, event); + } else if (event->type() == QEvent::KeyPress && obj == _codeCompletionView) { + QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event); + if (keyEvent->key() == 16777220 || keyEvent->key() == 32) { // spacebar or enter + ui->txeJavaScript->insertPlainText(_codeCompletionView->model()->data(_codeCompletionView->selectionModel()->selectedIndexes().first()).toString()); + _codeCompletionView->hide(); + ui->txeJavaScript->setFocus(); + return true; + } + else if (keyEvent->key() == 16777235 || keyEvent->key() == 16777237 || keyEvent->key() == 16777239 || keyEvent->key() == 16777238) { // uparrow and downarrow, pageup, pagedown + return QObject::eventFilter(obj, event); + } + else { + _codeCompletionView->hide(); + ui->txeJavaScript->setFocus(); + return true; + } + } + // standard event processing + return QObject::eventFilter(obj, event); } void MainWindow::loadPlugins() diff --git a/examples/uml/duse-mt/mainwindow.h b/examples/uml/duse-mt/mainwindow.h index b308a8a1..0eecc997 100644 --- a/examples/uml/duse-mt/mainwindow.h +++ b/examples/uml/duse-mt/mainwindow.h @@ -110,7 +110,7 @@ protected: private: void loadPlugins(); - void saveXmi(QModelingElement *rootElement); + void saveXmi(QList<QModelingObject *> modelObjects); QList<QModelingElement *> loadXmi(QString fileName = 0); void populateDesignSpaceView(QModelingElement *modelingObject); diff --git a/examples/uml/duse-mt/qml/welcome-background.jpg b/examples/uml/duse-mt/qml/welcome-background.jpg Binary files differdeleted file mode 100644 index c01beb4f..00000000 --- a/examples/uml/duse-mt/qml/welcome-background.jpg +++ /dev/null diff --git a/examples/uml/duse-mt/qml/welcomeview.qml b/examples/uml/duse-mt/qml/welcomeview.qml index b0d1dcee..40d56d91 100644 --- a/examples/uml/duse-mt/qml/welcomeview.qml +++ b/examples/uml/duse-mt/qml/welcomeview.qml @@ -40,9 +40,7 @@ ****************************************************************************/ import QtQuick 2.0 -Image { - fillMode: Image.Pad - source: "welcome-background.jpg" +Rectangle { Row { anchors { left: parent.left; right: parent.right; top: parent.top; margins: 20 } spacing: 10 diff --git a/examples/uml/xmi-read/main.cpp b/examples/uml/xmi-read/main.cpp index fe71a97d..c1a6dd3c 100644 --- a/examples/uml/xmi-read/main.cpp +++ b/examples/uml/xmi-read/main.cpp @@ -70,7 +70,10 @@ int main () qDebug() << "Cannot write file !"; return 1; } - QXmiWriter writer(rootElements.first()->asQModelingObject()); - writer.writeFile(&file2); + QXmiWriter writer; + QList<QModelingObject *> list; + foreach (QModelingElement *modelingElement, rootElements) + list << modelingElement->asQModelingObject(); + writer.writeFile(list, &file2); } diff --git a/examples/uml/xmi-write/main.cpp b/examples/uml/xmi-write/main.cpp index ee1194fa..d7630cd0 100644 --- a/examples/uml/xmi-write/main.cpp +++ b/examples/uml/xmi-write/main.cpp @@ -92,8 +92,10 @@ int main () return 1; } - QXmiWriter writer(model->asQModelingObject()); - if (writer.writeFile(&file)) + QXmiWriter writer; + QList<QModelingObject *> list; + list << model->asQModelingObject(); + if (writer.writeFile(list, &file)) qDebug() << "XMI file saved !"; else qDebug() << "Error when writing XMI file !"; |