<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qt/qtdeclarative.git/src/quickcontrols2impl/qquickitemgroup.cpp, branch wip/qtquickcontrols2</title>
<subtitle>Qt Declarative (Quick 2)
</subtitle>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/'/>
<entry>
<title>Register C++ types declaratively</title>
<updated>2020-08-26T09:45:57+00:00</updated>
<author>
<name>Mitch Curtis</name>
<email>mitch.curtis@qt.io</email>
</author>
<published>2020-03-27T10:17:35+00:00</published>
<link rel='alternate' type='text/html' href='https://code.qt.io/cgit/qt/qtdeclarative.git/commit/?id=5246dd2de211ffb81313a5c29ae7894545a28c43'/>
<id>5246dd2de211ffb81313a5c29ae7894545a28c43</id>
<content type='text'>
Adapt to the new way of registering C++ types. The types need to be
seen at compile time so that code can be generated that invokes them.

This patch:

- Adds QML_* macros where applicable.
- Adapts the build system files to the new way of registering modules.
- Splits up the QtQuick.Controls[.*].impl files into their own plugins,
  as we can only register one QML module per .pro file.
- Removes C++ type registration calls in every plugin.
- Moves private types from src/quickcontrols2/quickcontrols2.pro
  to src/quickcontrols2/impl/quickcontrols2-impl.pro. Some of these
  types need to be exposed to QML, but quickcontrols2.pro is already in
  use to declare the QtQuick.Controls import (and also provides the
  public C++ QQuickStyle API), and the new QML_IMPORT_NAME/VERSION
  syntax only allows one module per project. As some of the types that
  need to be exposed to QML are also referenced by some C++ code (e.g.
  tests, etc.), we just move all of the private types to the new
  library.

Follow-up patches will register the QML types declaratively.

Task-number: QTBUG-82922
Change-Id: Iaf9ee106237d61701d57a8896f3822304c8151a6
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adapt to the new way of registering C++ types. The types need to be
seen at compile time so that code can be generated that invokes them.

This patch:

- Adds QML_* macros where applicable.
- Adapts the build system files to the new way of registering modules.
- Splits up the QtQuick.Controls[.*].impl files into their own plugins,
  as we can only register one QML module per .pro file.
- Removes C++ type registration calls in every plugin.
- Moves private types from src/quickcontrols2/quickcontrols2.pro
  to src/quickcontrols2/impl/quickcontrols2-impl.pro. Some of these
  types need to be exposed to QML, but quickcontrols2.pro is already in
  use to declare the QtQuick.Controls import (and also provides the
  public C++ QQuickStyle API), and the new QML_IMPORT_NAME/VERSION
  syntax only allows one module per project. As some of the types that
  need to be exposed to QML are also referenced by some C++ code (e.g.
  tests, etc.), we just move all of the private types to the new
  library.

Follow-up patches will register the QML types declaratively.

Task-number: QTBUG-82922
Change-Id: Iaf9ee106237d61701d57a8896f3822304c8151a6
Reviewed-by: Ulf Hermann &lt;ulf.hermann@qt.io&gt;
</pre>
</div>
</content>
</entry>
</feed>
