diff options
Diffstat (limited to 'tests/manual/hierarchy/doc/src/hierarchy.qdoc')
-rw-r--r-- | tests/manual/hierarchy/doc/src/hierarchy.qdoc | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/tests/manual/hierarchy/doc/src/hierarchy.qdoc b/tests/manual/hierarchy/doc/src/hierarchy.qdoc new file mode 100644 index 0000000..fbfaca9 --- /dev/null +++ b/tests/manual/hierarchy/doc/src/hierarchy.qdoc @@ -0,0 +1,65 @@ +// Copyright (C) 2016 The Qt Company Ltd. +// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only + +/*! + \page qaxserver-demo-hierarchy.html + \title Qt Widget Hierarchy + + \input examples/hierarchy-demo.qdocinc +*/ + +/*! + \example activeqt/hierarchy + \title Hierarchy Example (ActiveQt) + \ingroup activeqt-examples + + \brief The Hierarchy example is shows how to write an in-process ActiveX + control. The control is a QWidget subclass with child widgets + that are accessible as sub-types. + + \snippet activeqt/hierarchy/objects.h 0 + The \c QParentWidget class provides slots to create a widget + with a name, and to return a pointer to a named widget. The class + declaration uses \c Q_CLASSINFO() to provide the COM identifiers for + this class. + + \snippet activeqt/hierarchy/objects.cpp 0 + The constructor of \c QParentWidget creates a vertical box layout. + New child widgets are automatically added to the layout. + + \snippet activeqt/hierarchy/objects.cpp 1 + The \c createSubWidget slot creates a new \c QSubWidget with + the name provided in the parameter, and sets the label to that + name. The widget is also shown explicitly. + + \snippet activeqt/hierarchy/objects.cpp 2 + The \c subWidget slot uses the \c QObject::findChild() function and + returns the first child of type \c QSubWidget that has the requested + name. + + \snippet activeqt/hierarchy/objects.h 1 + The \c QSubWidget class has a single string-property \c label, + and implements the paintEvent to draw the label. The class uses + again \c Q_CLASSINFO to provide the COM identifiers, and also sets + the \e ToSuperClass attribute to \e QSubWidget, to ensure that only + no slots of any superclasses (i.e. QWidget) are exposed. + + \snippet activeqt/hierarchy/objects.cpp 3 + \snippet activeqt/hierarchy/objects.cpp 4 + The implementation of the \c QSubWidget class is self-explanatory. + + \snippet activeqt/hierarchy/main.cpp 0 + The classes are then exported using a QAxFactory. \c QParentWidget is + exported as a full class (which can be created ), while \c QSubWidget is + only exported as a type, which can only be created indirectly through + APIs of \c QParentWidget. + + To build the example you must first build the QAxServer library. + Then run qmake and your make tool in \c activeqt/hierarchy. + + The \l{qaxserver-demo-hierarchy.html}{demonstration} requires + your WebBrowser to support ActiveX controls, and scripting to be + enabled. + + \snippet activeqt/hierarchy/doc/snippets/hierarchy-demo-snippet.qdoc script +*/ |