summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDominik Holland <dominik.holland@pelagicore.com>2018-01-16 11:49:30 +0100
committerRobert Griebl <robert.griebl@pelagicore.com>2018-01-16 16:48:00 +0000
commit29f28f586ba4060c4cc42216cd5d374f89f3b0fc (patch)
treed135ea2aab35b76a806839518ca02b683ae5101f
parentbc431cb64610fc3b27cce60c83e1f271f1881c27 (diff)
downloadqtivi-29f28f586ba4060c4cc42216cd5d374f89f3b0fc.tar.gz
Add a "Getting Started" guide for the Qt IVI Generator
Change-Id: I94d7b76030de854086e915c2d9184a96360832f3 Reviewed-by: Robert Griebl <robert.griebl@pelagicore.com>
-rw-r--r--src/doc/qtivi/src/ivigenerator/generator-usage.qdoc9
-rw-r--r--src/doc/qtivi/src/ivigenerator/getting-started.qdoc77
-rw-r--r--src/doc/qtivi/src/qtivi.qdoc1
3 files changed, 84 insertions, 3 deletions
diff --git a/src/doc/qtivi/src/ivigenerator/generator-usage.qdoc b/src/doc/qtivi/src/ivigenerator/generator-usage.qdoc
index 8055526..956fcaf 100644
--- a/src/doc/qtivi/src/ivigenerator/generator-usage.qdoc
+++ b/src/doc/qtivi/src/ivigenerator/generator-usage.qdoc
@@ -72,15 +72,18 @@ based on the \e {--format} option value.
These are:
\table
\row
- \li frontend
+ \li \l {frontend}
+ \target frontend-template
\li Generates a developer facing API using base classes from qtivicore and the \l {Dynamic
Backend System}
\row
- \li backend_simulator
+ \li \l {Backend Simulator} {backend_simulator}
+ \target backend-simulator-template
\li Generates a simulation backend for the API generated by the "frontend" option. This
backend serves as a mock implementation.
\row
- \li control_panel
+ \li \l {Control Panel} {control_panel}
+ \target control-panel-template
\li Generates a controller application, consisting of an UI and a C++ plugin, which communicates
to the simulation backend generated from the same qface file using QtSimulator.
\row
diff --git a/src/doc/qtivi/src/ivigenerator/getting-started.qdoc b/src/doc/qtivi/src/ivigenerator/getting-started.qdoc
new file mode 100644
index 0000000..0249f2c
--- /dev/null
+++ b/src/doc/qtivi/src/ivigenerator/getting-started.qdoc
@@ -0,0 +1,77 @@
+/****************************************************************************
+**
+** Copyright (C) 2018 Pelagicore AG
+** Contact: https://www.qt.io/licensing/
+**
+** This file is part of the documentation of the QtIvi module of the Qt Toolkit.
+**
+** $QT_BEGIN_LICENSE:FDL-QTAS$
+** Commercial License Usage
+** Licensees holding valid commercial Qt Automotive Suite licenses may use
+** this file in accordance with the commercial license agreement provided
+** with the Software or, alternatively, in accordance with the terms
+** contained in a written agreement between you and The Qt Company. For
+** licensing terms and conditions see https://www.qt.io/terms-conditions.
+** For further information use the contact form at https://www.qt.io/contact-us.
+**
+** GNU Free Documentation License Usage
+** Alternatively, this file may be used under the terms of the GNU Free
+** Documentation License version 1.3 as published by the Free Software
+** Foundation and appearing in the file included in the packaging of
+** this file. Please review the following information to ensure
+** the GNU Free Documentation License version 1.3 requirements
+** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
+** $QT_END_LICENSE$
+**
+****************************************************************************/
+/*!
+\page gettingstartedivigenerator.html
+\title Getting Started Using the Qt IVI Generator
+
+This guide explains how to get started with the Qt IVI Generator.
+The generator is used to generate source code from an IDL file. It supports
+multiple templates to select what kind of code should be generated.
+
+The Qt IVI Generator can be found inside the \c bin folder of your Qt installation.
+If it is not available, please make sure all prerequisites listed in the qmake
+configuration summary are met. See \l {Configuration} for more information on how
+Qt IVI can be configured.
+
+\section1 Basics
+
+The generator takes an IDL file as input for generating its source code. The
+following code shows a minimal IDL file:
+
+\code
+module my.idl 1.0
+
+interface MyInterface {
+ property int value;
+ void increment();
+ signal valueIncremented(int newValue);
+}
+\endcode
+
+The IDL pretty much self-explanatory: it defines a new module (namespace)
+\e my.idl in version \e 1.0. Inside there should be an interface called \e MyInterface.
+The interface provides a property storing a value and a function to increment and notify
+the user. The \l {QFace IDL syntax} page provides a more detailed documentation about the IDL.
+
+Using the previously defined IDL file, the \l {frontend-template}{frontend} template can be used to generate
+a library providing an implementation of \e MyInterface. The generated class will use the
+\l {Dynamic backend System} provided by Qt IVI for an abstraction of \e frontend and \e backend code.
+
+The actual implementation of the class behavior is done inside a \e backend plugin. A very basic
+backend plugin can be generated by using the \l {backend-simulator-template}{backend_simulator} template. For more information
+how Qt locates and loads its plugins, please see \l {How to Create Qt Plugins} {here}.
+
+For more in-depth information, the \l {Qt IVI Generator Example} comes with a step by step documentation.
+*/
+
+/*
+This provides ideas on how this page should be extended in the future.
+
+\section1 Generating a complete qt module
+\section1 Extending the autogenerator
+\section1 Android Deployment
+*/
diff --git a/src/doc/qtivi/src/qtivi.qdoc b/src/doc/qtivi/src/qtivi.qdoc
index c51aa83..d07039f 100644
--- a/src/doc/qtivi/src/qtivi.qdoc
+++ b/src/doc/qtivi/src/qtivi.qdoc
@@ -67,6 +67,7 @@
\section1 Getting Started
\list
+ \li \l {Getting Started Using the Qt IVI Generator}
\li \l {Qt IVI Vehicle Functions C++ Classes#Getting Started}
{Getting started with Qt IVI Vehicle Functions (C++)}
\li \l {Qt IVI Vehicle Functions QML Types#Getting Started}