diff --git a/README.md b/README.md index 662d9db5..0cded18d 100755 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ + [Manually](#manually) * [Using Qleany](#using-qleany) + [For QtWidgets GUI](#for-qtwidgets-gui) - + [For QML GUI](#for-qml-gui) + + [For QtQuick GUI](#for-qtquick-gui) + [For multiple Uis](#for-multiple-uis) + [Integration with Qt Design Studio projects](#integration-with-qt-design-studio-projects) + [Other Fronts](#other-fronts) @@ -154,23 +154,27 @@ Note: I enjoin you to use sccache if you have a slow computer. It will speed up ### For QtWidgets GUI -A basic QtWidgets GUI can be generated by Qleany. You only have to fill `front_ends` in the `qleany.yaml` file. Read "Front end Configuration" section below for more details. +A minimal QtWidgets GUI can be generated by Qleany. You only have to fill `front_ends` in the `qleany.yaml` file. Read "Front end Configuration" section below for more details. + +If you already have a QtWidgets GUI, you can craete a blank GUI in a sub-folder next to your real one. Then, swap the generated files with your real ones. Note: You can use the `examples/simple/src/gui/desktop_application` or `examples/front_ends` as references of what is running fine. -11. Create an UI project or fill the offered QtWidgets UI, not at the root of the project, but in a dedicated sub-folder, like with did with `examples/simple/src/gui/desktop_application`. -12. You can now start to implement your GUI and use cases. A GUI made with QWidgets will only use the interactors and models in presenter. Refer to the example for guidance at `examples/simple/src/gui/desktop_application/main.cpp` +11. Your QtWidgets must be, not at the root of the project, but in a dedicated sub-folder, like with did with `examples/simple/src/gui/desktop_application`. +12. You can now start to implement your GUI and use cases. A GUI made with QWidgets will only use `interactor` for commands/queries and signals. Also, it will use models from `presenter`. Refer to the example for guidance at `examples/front_ends/src/gui/qt_widgets_application/main.cpp` + +### For QtQuick GUI -### For QML GUI +A minimal QML GUI can be generated by Qleany. You only have to fill `front_ends` in the `qleany.yaml` file. Read "Front end Configuration" section below for more details. -A basic QML GUI can be generated by Qleany. You only have to fill `front_ends` in the `qleany.yaml` file. Read "Front end Configuration" section below for more details. +If you already have a QtQuick GUI, you can craete a blank GUI in a sub-folder next to your real one. Then, swap the generated files with your real ones. -Note: For now, Qleany does not generate the GUI for QML. You can use the `examples/simple/src/gui/qml_application` as a reference of what is running fine. +*Note*: You can use the `examples/front_ends/src/gui/qt_quick_application` as a reference of what is running fine. -*Note*: For now, the QML file generation is tailor-made to be used after a project is created using Qt Design Studio, but only subltle changes are needed to use it with a project created manually. You can use the `examples/simple/src/gui/qml_application` as a reference of what is running fine, this project uses Qt Design Studio's generated CMakeLists.txt. At the minimum, you only have to include the generated `realqmlmodules.cmake` file in your project's CMakeLists.txt file and mofify your main.cpp to register the other libraries. +11. Your QML GUI must be, not at the root of the project, but in a dedicated sub-folder, like with did with `examples/simple/src/gui/qml_application`. +12. You can now start to implement your GUI and use cases. -11. Create a QML project using Qt Design Studio, not at the root of the project, but in a dedicated sub-folder, like with did with `examples/simple/src/gui/qml_application`. -12. You can now start to implement your GUI and use cases. A GUI made with QML will use **not** the interactors and models directly from the interactor and presenter libraries. Wrappers around them all are generated in the QML `real_imports` folder in the QML folder to be made available from QML. Also, QML mocks are generated in `mock_imports`, to be filled by the developer. Refer to the example for guidance at `examples/simple/src/gui/qml_application/src/main.cpp` and `examples/simple/src/gui/qml_application/CMakelists.txt` +A GUI made with QML will **not** use `interactor` and `presenter`. Wrappers around models, signals, commands and queries all are generated in the QML `real_imports` folder in the QML folder to be made available from QML. Also, QML mocks are generated in `mock_imports`, to be filled by the developer. Refer to the example for guidance at `examples/front_ends/src/gui/qt_quick_application/main.cpp` and `examples/front_ends/src/gui/qt_quick__application/CMakelists.txt` ### For multiple Uis