diff --git a/doc/COPYING b/doc/COPYING new file mode 100644 index 000000000..ab29a3a1b --- /dev/null +++ b/doc/COPYING @@ -0,0 +1,3 @@ +The QSkinny documentation is available under the terms of the +GNU Free Documentation License version 1.3, as published by +the Free Software Foundation: https://www.gnu.org/licenses/fdl-1.3.html diff --git a/doc/classes/QskAbstractButton.metadox b/doc/classes/QskAbstractButton.metadox deleted file mode 100644 index 5acef3556..000000000 --- a/doc/classes/QskAbstractButton.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskAbstractButton - BASE: QskControl - - QMLCLASS: AbstractButton - QMLBASE: Control - - HEADER: QskAbstractButton.h - - DESCRIPTION - \brief Base class of all buttons - END -END diff --git a/doc/classes/QskAnimationHint.metadox b/doc/classes/QskAnimationHint.metadox deleted file mode 100644 index 2a985968d..000000000 --- a/doc/classes/QskAnimationHint.metadox +++ /dev/null @@ -1,9 +0,0 @@ -INTERFACE - CLASS: QskAnimationHint - - HEADER: QskAnimationHint.h - - DESCRIPTION - \brief QskAnimationHint - END -END diff --git a/doc/classes/QskAnimator.metadox b/doc/classes/QskAnimator.metadox deleted file mode 100644 index eb89fb87e..000000000 --- a/doc/classes/QskAnimator.metadox +++ /dev/null @@ -1,9 +0,0 @@ -INTERFACE - CLASS: QskAnimator - - HEADER: QskAnimator.h - - DESCRIPTION - \brief QskAnimator - END -END diff --git a/doc/classes/QskAspect.metadox b/doc/classes/QskAspect.dox similarity index 100% rename from doc/classes/QskAspect.metadox rename to doc/classes/QskAspect.dox diff --git a/doc/classes/QskBox.metadox b/doc/classes/QskBox.metadox deleted file mode 100644 index 5b7f7a080..000000000 --- a/doc/classes/QskBox.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskBox - BASE: QskControl - - QMLCLASS: Box - QMLBASE: Control - - HEADER: QskBox.h - - DESCRIPTION - \brief QskBox - END -END diff --git a/doc/classes/QskBoxBorderColors.metadox b/doc/classes/QskBoxBorderColors.metadox deleted file mode 100644 index 6f2d3b5a6..000000000 --- a/doc/classes/QskBoxBorderColors.metadox +++ /dev/null @@ -1,9 +0,0 @@ -INTERFACE - CLASS: QskBoxBorderColors - - HEADER: QskBoxBorderColors.h - - DESCRIPTION - \brief QskBoxBorderColors - END -END diff --git a/doc/classes/QskBoxBorderMetrics.metadox b/doc/classes/QskBoxBorderMetrics.metadox deleted file mode 100644 index 67a32f81f..000000000 --- a/doc/classes/QskBoxBorderMetrics.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskBoxBorderMetrics - BASE: QskBoxBorderMetrics - - HEADER: QskBoxBorderMetrics.h - - DESCRIPTION - \brief Something - END -END diff --git a/doc/classes/QskBoxClipNode.metadox b/doc/classes/QskBoxClipNode.metadox deleted file mode 100644 index 18a33d279..000000000 --- a/doc/classes/QskBoxClipNode.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskBoxClipNode - BASE: QSGClipNode - - HEADER: QskBoxClipNode.h - - DESCRIPTION - \brief QskBoxClipNode - END -END diff --git a/doc/classes/QskBoxNode.metadox b/doc/classes/QskBoxNode.metadox deleted file mode 100644 index 7b2c7a360..000000000 --- a/doc/classes/QskBoxNode.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskBoxNode - BASE: QSGGeometryNode - - HEADER: QskBoxNode.h - - DESCRIPTION - \brief QskBoxNode - END -END diff --git a/doc/classes/QskBoxShapeMetrics.metadox b/doc/classes/QskBoxShapeMetrics.metadox deleted file mode 100644 index a24f4ecaf..000000000 --- a/doc/classes/QskBoxShapeMetrics.metadox +++ /dev/null @@ -1,9 +0,0 @@ -INTERFACE - CLASS: QskBoxShapeMetrics - - HEADER: QskBoxShapeMetrics.h - - DESCRIPTION - \brief QskBoxShapeMetrics - END -END diff --git a/doc/classes/QskBoxSkinlet.metadox b/doc/classes/QskBoxSkinlet.metadox deleted file mode 100644 index 115856578..000000000 --- a/doc/classes/QskBoxSkinlet.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskBoxSkinlet - BASE: QskSkinlet - - HEADER: QskBoxSkinlet.h - - DESCRIPTION - \brief QskBoxSkinlet - END -END diff --git a/doc/classes/QskColorFilter.metadox b/doc/classes/QskColorFilter.metadox deleted file mode 100644 index 6905b6302..000000000 --- a/doc/classes/QskColorFilter.metadox +++ /dev/null @@ -1,9 +0,0 @@ -INTERFACE - CLASS: QskColorFilter - - HEADER: QskColorFilter.h - - DESCRIPTION - \brief QskColorFilter - END -END diff --git a/doc/classes/QskControl.dox b/doc/classes/QskControl.dox new file mode 100644 index 000000000..54f9a3dd9 --- /dev/null +++ b/doc/classes/QskControl.dox @@ -0,0 +1,39 @@ +/*! + \headerfile QskControl.h + + \brief Base class of all Qsk controls + + QskControl is the base class for most visible Qsk controls. + + It re-establishes several concepts known from QWidget, that got lost + with QQuickItem: + + - contentsRect() + - autoFillBackground() + - support of layout rules: sizeHint(), sizePolicy() + - locale and its propagation on the item tree + + Even if QQuickItem is part of the public C++ API it has obviously been + designed for implementing custom items, but not for using them in C++ + code. To support this use case a lot of trivial methods have been added. + + For some reason the QQuick classes introduced proprietory notfier hooks + instead of using the well established and powerful concept of events. + QskControl tries to revert this decision by mapping notifications + to events, when possible. + + The following events are currently implemented: + + - QEvent::FontChange + - QEvent::PaletteChange + - QEvent::LocaleChange + - QEvent::LayoutDirectionChange + - QEvent::ContentsRectChange + - QEvent::LayoutRequest +*/ + +class QskControl +{ + public: +}; + diff --git a/doc/classes/QskControl.metadox b/doc/classes/QskControl.metadox deleted file mode 100644 index 0ee354e7b..000000000 --- a/doc/classes/QskControl.metadox +++ /dev/null @@ -1,195 +0,0 @@ -INTERFACE - CLASS: QskControl - BASE: QskQuickItem - - QMLCLASS: Control - QMLBASE: Item - - HEADER: QskControl.h - - DESCRIPTION - \brief Base class of all Qsk controls - - QskControl is the base class for most visible Qsk controls. - - It re-establishes several concepts known from QWidget, that got lost - with QQuickItem: - - - contentsRect() - - autoFillBackground() - - support of layout rules: sizeHint(), sizePolicy() - - font, palette, locale and their propagation on the item tree - - Even if QQuickItem is part of the public C++ API it has obviously been - designed for implementing custom items, but not for using them in C++ - code. To support this use case a lot of trivial methods have been added. - - For some reason the QQuick classes introduced proprietory notfier hooks - instead of using the well established and powerful concept of events. - QskControl tries to revert this decision by mapping notifications - to events, when possible. - - The following events are currently implemented: - - - QEvent::FontChange - - QEvent::PaletteChange - - QEvent::LocaleChange - - QEvent::LayoutDirectionChange - - QEvent::ContentsRectChange - - QEvent::LayoutRequest - END - - ENUM - CLASS: Flag - QMLCLASS: Flag - - DESCRIPTION - QQuick classes have a tendency to update items too early - and too often. To avoid processing of unwanted operations - QskControl implements a couple of modifications, that - can be en/disabled individually. - - The default setting enables all attributes. - - \var ClipBoundary - - If ClipBoundary is enabled the control initially sets a - clip for its bounding rectangle. - - \sa QQuickItem::setClip() - - \var DeferredUpdate - - Creating of paint nodes is blocked for all invisible nodes - ( QQuickItem::isVisible() ). - - \note Some more advanced algorithms have not yet been implemented, - such as viewport frustrum culling (i.e. hiding items outside of the - window geometry). - - \var DeferredPolish - - Calculation of layouts ( updateLayout() ) is blocked for all invisible - nodes ( QQuickItem::isVisible() ). - - \var DeferredLayout - - Updates of the implicit size is blocked until effectiveConstraint() or sizeHint() - is explicitly called. When being enabled the implicit size is not recalculated before - being requested - usually by a QskLayout. - - \var CleanupOnVisibility - - Delete scene graph nodes, when the item becomes hidden ( QQuickItem::isVisible() ). - Enabling this mode will reduce the memory footprint, but comes at the cost - of having to recreate nodes later. - - \var PreferRasterForTextures - - When creating textures from QskGraphic, prefer the raster paint - engine over the OpenGL paint engine. - - \var DebugForceBackground - - Always fill the background of thecontrol with a random color. - \note This flag is useful when analyzing layouts. - END - END - - INVOKABLE - SIGNATURE: void setControlFlag( Flag, bool on = true ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void resetControlFlag( Flag ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: bool testControlFlag( Flag ) const; - DESCRIPTION - END - END - - FUNCTION - SIGNATURE: void setColor( QskAspect::Aspect aspect, const QColor &color ) - DESCRIPTION: Sets the color (as a QColor) for the given QskSkinHint. - END - - FUNCTION - SIGNATURE: void setColor( QskAspect::Aspect aspect, Qt::GlobalColor color ) - DESCRIPTION: Sets the color (as a Qt::GlobalColor) for the given QskSkinHint. - END - - FUNCTION - SIGNATURE: void setColor( QskAspect::Aspect aspect, QRgb color ) - DESCRIPTION: Sets the color (as a QRgb value) for the given QskSkinHint. - END - - FUNCTION - SIGNATURE: QRgb color( QskAspect::Aspect aspect ) const - DESCRIPTION: A convenience method equivalent to QskControl::skinHint().color. - END - - FUNCTION - SIGNATURE: void setMetric( QskAspect::Aspect aspect, float metric ) - DESCRIPTION: Sets the metric for the given QskSkinHint. - END - - FUNCTION - SIGNATURE: float metric( QskAspect::Aspect aspect ) const - DESCRIPTION - A convenience method equivalent to skinHint( aspect ).metric. The - QskSkinHint::TypeMask is set to QskSkinHint::Metric. - END - END - - FUNCTION - SIGNATURE: void setSkinlet( QskSkinlet* skinlet ) - DESCRIPTION - Allows overriding the QskControl::Skin used by this control to render its - contents. - END - END - - FUNCTION - SIGNATURE: const QskSkinlet* skinlet() const; - DESCRIPTION - \return Skinlet assigned by setSkinlet(). - \sa effectiveSkinlet() - END - END - - FUNCTION - SIGNATURE: QskSkinHint skinHint( QskAspect::Aspect aspect ) const - DESCRIPTION - Returns the QskSkinHint value for a QskAspect::Aspect. If none is set for - this control, the value for QskSkin::skinHint() is returned. - - \note If a QskSkinHintProvider is animating the color when called, the returned - value will be the current value, not the target value, unless a state mask - is requested as part of the aspect. - - \param aspect Aspect - END - END - - FUNCTION - SIGNATURE: void updateNode( QSGNode* parentNode ) - DESCRIPTION - This method replaces the QQuickItem::updatePaintNode method as the - preferred paint method to override when subclassing QskControl. This allows - QskControl to perform some additional steps before calling updateNode(), - and provides a consistent parent node which subclasses can rely on. - - Subclasses should call their Skin's updateNode() method inside this - method. - - \param parentNode The parent of the nodes to be added in this method. - \return The parent node. - END - END -END diff --git a/doc/classes/QskDialog.metadox b/doc/classes/QskDialog.metadox deleted file mode 100644 index 0141fa848..000000000 --- a/doc/classes/QskDialog.metadox +++ /dev/null @@ -1,14 +0,0 @@ -INTERFACE - CLASS: QskDialog - BASE: QskWindow - - QMLCLASS: Dialog - QMLBASE: Window - - HEADER: QskDialog.h - - DESCRIPTION - \brief A quick window for dialogs, reintroducing lost concepts - of the QWidget framwork. - END -END diff --git a/doc/classes/QskDialogButton.metadox b/doc/classes/QskDialogButton.metadox deleted file mode 100644 index 01382141d..000000000 --- a/doc/classes/QskDialogButton.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskDialogButton - BASE: QskPushButton - - QMLCLASS: DialogButton - QMLBASE: Button - - HEADER: QskDialogButton.h - - DESCRIPTION - \brief QskDialogButton - END -END diff --git a/doc/classes/QskDialogButtonBox.metadox b/doc/classes/QskDialogButtonBox.metadox deleted file mode 100644 index 3226b870a..000000000 --- a/doc/classes/QskDialogButtonBox.metadox +++ /dev/null @@ -1,14 +0,0 @@ -INTERFACE - CLASS: QskDialogButtonBox - BASE: QskBox - - QMLCLASS: DialogButtonBox - QMLBASE: Control - - HEADER: QskDialogButtonBox.h - - DESCRIPTION - \brief A button box for dialogs affected by layout policies - of the platform theme. - END -END diff --git a/doc/classes/QskDialogSubWindow.metadox b/doc/classes/QskDialogSubWindow.metadox deleted file mode 100644 index 1abf4d791..000000000 --- a/doc/classes/QskDialogSubWindow.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskDialogSubWindow - BASE: QskSubWindow - - QMLCLASS: DialogSubWindow - QMLBASE: SubWindow - - HEADER: QskDialogSubWindow.h - - DESCRIPTION - \brief QskDialogSubWindow - END -END diff --git a/doc/classes/QskDialogWindow.metadox b/doc/classes/QskDialogWindow.metadox deleted file mode 100644 index 4c4576a58..000000000 --- a/doc/classes/QskDialogWindow.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskDialogWindow - BASE: QskWindow - - QMLCLASS: DialogWindow - QMLBASE: Window - - HEADER: QskDialogWindow.h - - DESCRIPTION - \brief QskDialogWindow - END -END diff --git a/doc/classes/QskFlickAnimator.metadox b/doc/classes/QskFlickAnimator.metadox deleted file mode 100644 index 5f3e4ea33..000000000 --- a/doc/classes/QskFlickAnimator.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskFlickAnimator - BASE: QskAnimator - - HEADER: QskFlickAnimator.h - - DESCRIPTION - \brief QskFlickAnimator - END -END diff --git a/doc/classes/QskFocusIndicator.metadox b/doc/classes/QskFocusIndicator.metadox deleted file mode 100644 index bb8ddb473..000000000 --- a/doc/classes/QskFocusIndicator.metadox +++ /dev/null @@ -1,14 +0,0 @@ -INTERFACE - CLASS: QskFocusIndicator - BASE: QskControl - - QMLCLASS: FocusIndicator - QMLBASE: Control - - HEADER: QskFocusIndicator.h - - DESCRIPTION - \brief An indicator showing the current position of the keyboard focus - END -END - diff --git a/doc/classes/QskFocusIndicatorSkinlet.metadox b/doc/classes/QskFocusIndicatorSkinlet.metadox deleted file mode 100644 index ee181c315..000000000 --- a/doc/classes/QskFocusIndicatorSkinlet.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskFocusIndicatorSkinlet - BASE: QskSkinlet - - HEADER: QskFocusIndicatorSkinlet.h - - DESCRIPTION - \brief QskFocusIndicatorSkinlet - END -END diff --git a/doc/classes/QskGesture.metadox b/doc/classes/QskGesture.metadox deleted file mode 100644 index e87e464ea..000000000 --- a/doc/classes/QskGesture.metadox +++ /dev/null @@ -1,9 +0,0 @@ -INTERFACE - CLASS: QskGesture - - HEADER: QskGesture.h - - DESCRIPTION - \brief QskGesture - END -END diff --git a/doc/classes/QskGestureRecognizer.metadox b/doc/classes/QskGestureRecognizer.metadox deleted file mode 100644 index f65f68360..000000000 --- a/doc/classes/QskGestureRecognizer.metadox +++ /dev/null @@ -1,9 +0,0 @@ -INTERFACE - CLASS: QskGestureRecognizer - - HEADER: QskGestureRecognizer.h - - DESCRIPTION - \brief QskGestureRecognizer - END -END diff --git a/doc/classes/QskGradient.metadox b/doc/classes/QskGradient.metadox deleted file mode 100644 index 99a6a209f..000000000 --- a/doc/classes/QskGradient.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS : QskGradientStop - QMLCLASS: GradientStop - - HEADER: QskGradient.h - - DESCRIPTION - \brief A color stop of a gradient - END -END diff --git a/doc/classes/QskGraphic.dox b/doc/classes/QskGraphic.dox new file mode 100644 index 000000000..93ea0cc16 --- /dev/null +++ b/doc/classes/QskGraphic.dox @@ -0,0 +1,47 @@ +/*! + \headerfile QskGraphic.h + \brief A paint device for scalable graphics + + QskGraphic is the representation of a graphic that is tailored for + scalability. Like QPicture it will be initialized by QPainter + operations and can be replayed later to any target paint device. + It can be stored and loaded from disk using the operators + from QskGraphicIO. Together with QSvgRenderer it can be used to + implement a simple SVG compiler. + + QskGraphic maps all scalable drawing primitives to a QPainterPath + and stores them together with the painter state changes + ( pen, brush, transformation ... ) in a list of QskPainterCommand. + For being a complete QPaintDevice it also stores pixmaps or images, + what is somehow against the idea of the class, because these objects + can't be scaled without a loss in quality. + + The main issue about scaling a QskGraphic object are the pens used for + drawing the outlines of the painter paths. While non cosmetic pens + ( QPen::isCosmetic() ) are scaled with the same ratio as the path, + cosmetic pens have a fixed width. A graphic might have paths with + different pens - cosmetic and non-cosmetic. + + QskGraphic caches 2 different rectangles: + + - control point rectangle\n + The control point rectangle is the bounding rectangle of all + control point rectangles of the painter paths, or the target + rectangle of the pixmaps/images. + + - bounding rectangle\n + The bounding rectangle extends the control point rectangle by + what is needed for rendering the outline with an unscaled pen. + + Because the offset for drawing the outline depends on the shape + of the painter path ( the peak of a triangle is different than the flat side ) + scaling with a fixed aspect ratio always needs to be calculated from the + control point rectangle. + + \sa QskGraphicIO, QskPainterCommand +*/ + +class QskGraphic +{ + public: +}; diff --git a/doc/classes/QskGraphic.metadox b/doc/classes/QskGraphic.metadox deleted file mode 100644 index 020a5883e..000000000 --- a/doc/classes/QskGraphic.metadox +++ /dev/null @@ -1,48 +0,0 @@ -INTERFACE - CLASS: QskGraphic - BASE: QPaintDevice - - HEADER: QskGraphic.h - - DESCRIPTION - \brief A paint device for scalable graphics - - QskGraphic is the representation of a graphic that is tailored for - scalability. Like QPicture it will be initialized by QPainter - operations and can be replayed later to any target paint device. - It can be stored and loaded from disk using the operators - from QskGraphicIO. Together with QSvgRenderer it can be used to - implement a simple SVG compiler. - - QskGraphic maps all scalable drawing primitives to a QPainterPath - and stores them together with the painter state changes - ( pen, brush, transformation ... ) in a list of QskPainterCommand. - For being a complete QPaintDevice it also stores pixmaps or images, - what is somehow against the idea of the class, because these objects - can't be scaled without a loss in quality. - - The main issue about scaling a QskGraphic object are the pens used for - drawing the outlines of the painter paths. While non cosmetic pens - ( QPen::isCosmetic() ) are scaled with the same ratio as the path, - cosmetic pens have a fixed width. A graphic might have paths with - different pens - cosmetic and non-cosmetic. - - QskGraphic caches 2 different rectangles: - - - control point rectangle\n - The control point rectangle is the bounding rectangle of all - control point rectangles of the painter paths, or the target - rectangle of the pixmaps/images. - - - bounding rectangle\n - The bounding rectangle extends the control point rectangle by - what is needed for rendering the outline with an unscaled pen. - - Because the offset for drawing the outline depends on the shape - of the painter path ( the peak of a triangle is different than the flat side ) - scaling with a fixed aspect ratio always needs to be calculated from the - control point rectangle. - - \sa QskGraphicIO, QskPainterCommand - END -END diff --git a/doc/classes/QskGraphicIO.metadox b/doc/classes/QskGraphicIO.metadox deleted file mode 100644 index 928d1f1b9..000000000 --- a/doc/classes/QskGraphicIO.metadox +++ /dev/null @@ -1,14 +0,0 @@ -/*! - \headerfile QskGraphicImageProvider.h - - \brief I/O operations for a QskGraphic - - \note QskGraphicIO does not store/reload the meta information yet, - what would improve the performance of loading. - */ - -namespace QskGraphicIO -{ -/*! -*/ -} diff --git a/doc/classes/QskGraphicImageProvider.metadox b/doc/classes/QskGraphicImageProvider.metadox deleted file mode 100644 index a2bbddc51..000000000 --- a/doc/classes/QskGraphicImageProvider.metadox +++ /dev/null @@ -1,17 +0,0 @@ -INTERFACE - CLASS: QskGraphicImageProvider - BASE: QQuickImageProvider - - HEADER QskGraphicImageProvider.h - - DESCRIPTION - \brief A QQuickImageProvider making QskGraphicProvider available - for QQuickImage items. - - QskGraphicImageProvider supports images, pixmaps or textures, but only - when requesting a QQuickTextureFactory the item will be able to - scale the image without a loss in quality. - - \sa QskGraphicTextureFactory, QskGraphicProvider, Qsk::addGraphicProvider - END -END diff --git a/doc/classes/QskGraphicLabel.metadox b/doc/classes/QskGraphicLabel.metadox deleted file mode 100644 index 588e02a93..000000000 --- a/doc/classes/QskGraphicLabel.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskGraphicLabel - BASE: QskControl - - QMLCLASS: GraphicLabel - QMLBASE: Control - - HEADER: QskGraphicLabel.h - - DESCRIPTION - \brief A control displaying a graphic. - END -END diff --git a/doc/classes/QskGraphicLabelSkinlet,dox b/doc/classes/QskGraphicLabelSkinlet,dox deleted file mode 100644 index 32ac7cd69..000000000 --- a/doc/classes/QskGraphicLabelSkinlet,dox +++ /dev/null @@ -1,11 +0,0 @@ -/*! - \headerfile QskGraphicLabelSkin.h - \brief Base class of all skins for QskGraphicLabel - */ - -class QskGraphicLabelSkin -{ -/*! - -*/ -}; diff --git a/doc/classes/QskGraphicLabelSkinlet.metadox b/doc/classes/QskGraphicLabelSkinlet.metadox deleted file mode 100644 index b6a5db062..000000000 --- a/doc/classes/QskGraphicLabelSkinlet.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskGraphicLabelSkinlet - BASE: QskSkinlet - - HEADER: QskGraphicLabelSkinlet.h - - DESCRIPTION - \brief QskGraphicLabelSkinlet - END -END diff --git a/doc/classes/QskGraphicNode.metadox b/doc/classes/QskGraphicNode.metadox deleted file mode 100644 index eab277f6e..000000000 --- a/doc/classes/QskGraphicNode.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskGraphicNode - BASE: QskTextureNode - - HEADER: QskGraphicNode.h - - DESCRIPTION - \brief QskGraphicNode - END -END diff --git a/doc/classes/QskGraphicProvider.metadox b/doc/classes/QskGraphicProvider.metadox deleted file mode 100644 index 8e5bfddd1..000000000 --- a/doc/classes/QskGraphicProvider.metadox +++ /dev/null @@ -1,11 +0,0 @@ -INTERFACE - CLASS: QskGraphicProvider - BASE: QObject - - HEADER: QskGraphicProvider.h - - DESCRIPTION - \brief QskGraphicProvider loads QskGraphic from a source URL. - \sa QskGraphicImageProvider, Qsk::addGraphicProvider - END -END diff --git a/doc/classes/QskGraphicProviderMap.metadox b/doc/classes/QskGraphicProviderMap.metadox deleted file mode 100644 index 304d00d1c..000000000 --- a/doc/classes/QskGraphicProviderMap.metadox +++ /dev/null @@ -1,9 +0,0 @@ -INTERFACE - CLASS: QskGraphicProviderMap - - HEADER: QskGraphicProviderMap.h - - DESCRIPTION - \brief QskGraphicProviderMap - END -END diff --git a/doc/classes/QskGraphicTextureFactory.metadox b/doc/classes/QskGraphicTextureFactory.metadox deleted file mode 100644 index 181d0c608..000000000 --- a/doc/classes/QskGraphicTextureFactory.metadox +++ /dev/null @@ -1,15 +0,0 @@ -INTERFACE - CLASS: QskGraphicTextureFactory - BASE: QQuickTextureFactory - - HEADER: QskGraphicTextureFactory.h - - DESCRIPTION - \brief A QQuickTextureFactory creating a QSGTexture from a QskGraphic. - - QskGraphicTextureFactory is a helper class to forward the creation - of textures for QQuickImage to the scene graph thread. - - \sa QskGraphicImageProvider - END -END diff --git a/doc/classes/QskGridBox.metadox b/doc/classes/QskGridBox.metadox deleted file mode 100644 index 5cbdbc3b3..000000000 --- a/doc/classes/QskGridBox.metadox +++ /dev/null @@ -1,369 +0,0 @@ -INTERFACE - - CLASS: QskGridBox - BASE: QskLayout - - QMLCLASS: GridBox - QMLBASE: Layout - - HEADER: QskGridBox.h - - DESCRIPTION - \brief Layout organizing quick items in grid - END - - PROPERTY - NAME: horizontalSpacing - TYPE: double - - READ: horizontalSpacing() - WRITE: setHorizontalSpacing() - NOTIFY: horizontalSpacingChanged() - - DESCRIPTION - Horizontal spacing between items - \sa verticalSpacing - END - END - - PROPERTY - NAME: verticalSpacing - TYPE: double - - READ: verticalSpacing() - WRITE: setVerticalSpacing() - NOTIFY: verticalSpacingChanged() - - DESCRIPTION - Vertical spacing between items - \sa horizontalSpacing - END - END - - FUNCTION - SIGNATURE: QskGridBox( QUICKITEM parent ) - DESCRIPTION - \brief Constructor - - Create an empty layout - \param parent Parent item - END - END - - FUNCTION - SIGNATURE: ~QskGridBox() - DESCRIPTION: \brief Destructor - END - - INVOKABLE - SIGNATURE - void addItem( - QUICKITEM, int row, int column, int rowSpan, - int columnSpan, Qt::Alignment alignment ); - END - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE - void addItem( QUICKITEM, int row, int column, Qt::Alignment alignment ); - END - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: int rowCount() const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: int columnCount() const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: QUICKITEM itemAt( int row, int column ) const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: int rowOfIndex( int index ) const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: int rowSpanOfIndex( int index ) const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: int columnOfIndex( int index ) const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: int columnSpanOfIndex( int index ) const; - DESCRIPTION - END - END - - FUNCTION - SIGNATURE: setHorizontalSpacing( qreal spacing ); - DESCRIPTION - END - END - - FUNCTION - SIGNATURE: resetHorizontalSpacing(); - DESCRIPTION - END - END - - FUNCTION - SIGNATURE: int horizontalSpacing() const; - DESCRIPTION - END - END - - FUNCTION - SIGNATURE: int setVerticalSpacing() const; - DESCRIPTION - END - END - - FUNCTION - SIGNATURE: void resetVerticalSpacing(); - DESCRIPTION - END - END - - FUNCTION - SIGNATURE: int verticalSpacing() const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void setRowSpacing( int row, qreal spacing ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: qreal rowSpacing( int row ) const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void setColumnSpacing( int column, qreal spacing ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: qreal columnSpacing( int column ) const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void setRowStretchFactor( int row, int stretch ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: int rowStretchFactor( int row ) const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void setColumnStretchFactor( int column, int stretch ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: int columnStretchFactor( int column ) const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void setRowMinimumHeight( int row, qreal height ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: qreal rowMinimumHeight( int row ) const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void setRowPreferredHeight( int row, qreal height ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: qreal rowPreferredHeight( int row ) const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void setRowMaximumHeight( int row, qreal height ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: qreal rowMaximumHeight( int row ) const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void setRowFixedHeight( int row, qreal height ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void setColumnMinimumWidth( int column, qreal width ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: qreal columnMinimumWidth( int column ) const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void setColumnPreferredWidth( int column, qreal width ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: qreal columnPreferredWidth( int column ) const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void setColumnMaximumWidth( int column, qreal width ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: qreal columnMaximumWidth( int column ) const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void setColumnFixedWidth( int column, qreal width ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void setRowAlignment( int row, Qt::Alignment alignment ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: Qt::Alignment rowAlignment( int row ) const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void setColumnAlignment( int column, Qt::Alignment alignment ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: Qt::Alignment columnAlignment( int column ) const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void setAlignment( QQuickItem *item, Qt::Alignment alignment ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: Qt::Alignment alignment( QQuickItem *item ) const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: bool retainSizeWhenHidden( QQuickItem * ) const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void setRetainSizeWhenHidden( QQuickItem *, bool on ); - DESCRIPTION - END - END - - FUNCTION - SIGNATURE: QSizeF contentsSizeHint() const; - DESCRIPTION - END - END - - SIGNAL - SIGNATURE: verticalSpacingChanged(); - DESCRIPTION - END - END - - SIGNAL - SIGNATURE: horizontalSpacingChanged(); - DESCRIPTION - END - END - - FUNCTION - SIGNATURE: void setupLayoutItem( QskLayoutItem*, int index ); - DESCRIPTION - END - END - - FUNCTION - SIGNATURE: void layoutItemInserted( QskLayoutItem*, int index ); - DESCRIPTION - END - END - - FUNCTION - SIGNATURE: void layoutItemRemoved( QskLayoutItem*, int index ); - DESCRIPTION - END - END -END diff --git a/doc/classes/QskHintAnimator.metadox b/doc/classes/QskHintAnimator.metadox deleted file mode 100644 index 626ba8a00..000000000 --- a/doc/classes/QskHintAnimator.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskHintAnimator - BASE: QskVariantAnimator - - HEADER: QskHintAnimator.h - - DESCRIPTION - \brief QskHintAnimator - END -END diff --git a/doc/classes/QskIndexedLayoutBox.dox b/doc/classes/QskIndexedLayoutBox.dox new file mode 100644 index 000000000..562fc2949 --- /dev/null +++ b/doc/classes/QskIndexedLayoutBox.dox @@ -0,0 +1,154 @@ +/*! + \headerfile QskIndexedLayoutBox.h + \brief Base class of layouts with index ordered elements +*/ + +class QskIndexedLayoutBox +{ + public: + /*! + \property bool autoAddChildren + + \brief Flag controlling whether to automatically append children to the layout. + + When autoAddChildren is enabled new children are automatically + appended to the layout. Otherwise items have to be inserted + manually using addItem() or insertItem(). + + \note Children being transparent for positioners are ignored + + \accessors autoAddChildren(), setAutoAddChildren(), autoAddChildrenChanged() + */ + + /*! + \fn QskIndexedLayoutBox( QQuickItem * parent ) + + \brief Constructor + + Create a layout having autoAddChildren set to false. + + \param parent Parent item + */ + + /*! + \fn ~QskIndexedLayoutBox() + \brief Destructor + */ + + /*! + \fn void addItem( QQuickItem * item, Qt::Alignment alignment ) + + \brief Insert an item at the end + + The geometries of items being inserted be controlled by the layout. + + \param item Item to be inserted + \param alignment Flags to control how to align a non expandable element + inside of the available space. + + \sa insertItem() + \sa QskLayout::itemAtIndex() + */ + + /*! + \fn void insertItem( int index, QQuickItem* item, + Qt::Alignment alignment = Qt::Alignment() ); + + \brief Insert an item + + The geometries of items being inserted be controlled by the layout. + + \param index Position, where to insert the item. If index is < 0 + or beyond QskLayout::itemCount() the item will be appended. + \param item Item to be inserted + \param alignment Flags to control how to align a non expandable element + inside of the available space. + + \sa addItem(), QskLayout::itemAtIndex() + */ + + /*! + \fn void setAlignment( int index, Qt::Alignment alignment ); + + \brief Modify the alignment of a layout element + + \param index Position of the inserted element + \param alignment Flags to control how to align a non expandable element + inside of the available space + + \note The alignment has only an effect, when the item can't be extended + to fill the cell geometry. + \sa alignment() + */ + + /*! + \fn Qt::Alignment alignment( int index ) const; + + \param index Position of the inserted element + \return Flags to control how to align a non expandable element + inside of the available space + + \sa setAlignment() + */ + + /*! + \fn void setAlignment( const QQuickItem * item, Qt::Alignment alignment ); + + \brief Modify the alignment of a layout element + + \param item Inserted item + \param alignment Flags to control how to align a non expandable element + inside of the available space + + \note The alignment has only an effect, when the item can't be extended + to fill the cell geometry. + \sa alignment() + + */ + + /*! + \fn Qt::Alignment alignment( const QQuickItem * item ) const; + + \param item Inserted item + \return Flags to control how to align a non expandable element + inside of the available space + + \sa setAlignment() + */ + + /*! + \fn void autoAddChildrenChanged() + + The autoAddChildren property has changed + \sa setAutoAddChildren(), autoAddChildren() + */ + + /*! + \fn void setAutoAddChildren( bool on ) + + \brief En/Disable auto appending of children + + When autoAddChildren() is enabled new children are automatically + appended to the layout. Otherwise items have to be inserted + manually using addItem() or insertItem(). + + \param on When true autoAddChildren is enabled + + \note Existing children, that have not been inserted before + remain being not seen by the layout. + */ + + /*! + \fn bool autoAddChildren() const + \return Value of the \ref autoAddChildren property + */ + + /*! + \fn void itemChange( QQQuickItem *::ItemChange, const QQQuickItem *::ItemChangeData & ) + + Checking ItemChildAddedChange/ItemChildRemovedChange changes to + implement the \ref autoAddChildren mode + + \sa autoAddChildren + */ +}; diff --git a/doc/classes/QskIndexedLayoutBox.metadox b/doc/classes/QskIndexedLayoutBox.metadox deleted file mode 100644 index c9024b9f4..000000000 --- a/doc/classes/QskIndexedLayoutBox.metadox +++ /dev/null @@ -1,185 +0,0 @@ -INTERFACE - - CLASS: QskIndexedLayoutBox - BASE: QskLayout - - QMLCLASS: IndexedLayoutBox - QMLBASE: Layout - - HEADER: QskIndexedLayoutBox.h - - DESCRIPTION - \brief Base class of layouts with index ordered elements - END - - PROPERTY - NAME: autoAddChildren - TYPE: bool - - READ: autoAddChildren() - WRITE: setAutoAddChildren() - NOTIFY: autoAddChildrenChanged() - - DESCRIPTION - \brief Flag controlling whether to automatically append - children to the layout. - - When autoAddChildren is enabled new children are automatically - appended to the layout. Otherwise items have to be inserted - manually using addItem() or insertItem(). - - \note Children being transparent for positioners are ignored - END - END - - FUNCTION - SIGNATURE: QskIndexedLayoutBox( QUICKITEM parent ) - DESCRIPTION - \brief Constructor - - Create a layout having autoAddChildren set to false. - - \param parent Parent item - END - END - - FUNCTION - SIGNATURE: ~QskIndexedLayoutBox() - DESCRIPTION: \brief Destructor - END - - INVOKABLE - SIGNATURE: void addItem( QUICKITEM item, Qt::Alignment alignment ) - DESCRIPTION - \brief Insert an item at the end - - The geometries of items being inserted be controlled by the layout. - - \param item Item to be inserted - \param alignment Flags to control how to align a non expandable element - inside of the available space. - - \sa insertItem() - \sa INHERITED::itemAtIndex() - END - END - - INVOKABLE - SIGNATURE - void insertItem( int index, QUICKITEM item, - Qt::Alignment alignment = Qt::Alignment() ); - END - - DESCRIPTION - \brief Insert an item - - The geometries of items being inserted be controlled by the layout. - - \param index Position, where to insert the item. If index is < 0 - or beyond INHERITED::itemCount() the item will be appended. - \param item Item to be inserted - \param alignment Flags to control how to align a non expandable element - inside of the available space. - - \sa addItem(), INHERITED::itemAtIndex() - END - END - - INVOKABLE - SIGNATURE: void setAlignment( int index, Qt::Alignment alignment ); - - DESCRIPTION - \brief Modify the alignment of a layout element - - \param index Position of the inserted element - \param alignment Flags to control how to align a non expandable element - inside of the available space - - \note The alignment has only an effect, when the item can't be extended - to fill the cell geometry. - \sa alignment() - END - END - - INVOKABLE - SIGNATURE: Qt::Alignment alignment( int index ) const; - - DESCRIPTION - \param index Position of the inserted element - \return Flags to control how to align a non expandable element - inside of the available space - - \sa setAlignment() - END - END - - INVOKABLE - SIGNATURE: void setAlignment( const QUICKITEM item, Qt::Alignment alignment ); - - DESCRIPTION - \brief Modify the alignment of a layout element - - \param item Inserted item - \param alignment Flags to control how to align a non expandable element - inside of the available space - - \note The alignment has only an effect, when the item can't be extended - to fill the cell geometry. - \sa alignment() - END - END - - INVOKABLE - SIGNATURE: Qt::Alignment alignment( const QUICKITEM item ) const; - - DESCRIPTION - \param item Inserted item - \return Flags to control how to align a non expandable element - inside of the available space - - \sa setAlignment() - END - END - - SIGNAL - SIGNATURE: void autoAddChildrenChanged() - - DESCRIPTION - The autoAddChildren property has changed - \sa setAutoAddChildren(), autoAddChildren() - END - END - - SLOT - SIGNATURE: void setAutoAddChildren( bool on ) - - DESCRIPTION - \brief En/Disable auto appending of children - - When autoAddChildren() is enabled new children are automatically - appended to the layout. Otherwise items have to be inserted - manually using addItem() or insertItem(). - - \param on When true autoAddChildren is enabled - - \note Existing children, that have not been inserted before - remain being not seen by the layout. - END - END - - FUNCTION - SIGNATURE: bool autoAddChildren(void) const - DESCRIPTION: \return Value of the \ref autoAddChildren property - END - - FUNCTION - SIGNATURE: void itemChange( QQUICKITEM::ItemChange, const QQUICKITEM::ItemChangeData & ) - - DESCRIPTION - Checking ItemChildAddedChange/ItemChildRemovedChange changes to - implement the \ref autoAddChildren mode - - \sa autoAddChildren - END - END -END diff --git a/doc/classes/QskLinearBox.dox b/doc/classes/QskLinearBox.dox new file mode 100644 index 000000000..77593ba38 --- /dev/null +++ b/doc/classes/QskLinearBox.dox @@ -0,0 +1,470 @@ +/*! + \headerfile QskLinearBox.h + + \brief Layout stringing items in rows and columns + + QskLinearBox organizes layout items in vertical or horizontal order + ( \ref orientation ). When the number of items for a row/column has + reached an upper limit ( \ref dimension ) the following items will be + added to a new row/column. + + When having the \ref dimension being set to unlimited ( or 1 with the + inverted \ref orientation ) the string layout behaves similar to + QBoxLayout, RowLayout/ColumnLayout ( QML ) or what is + sometimes called a linear layout. + + When not restricting the layout to one row/column only the layout can + be used to set up simple grid formations. + + Layout items may be QQuickItem *s or spacers - both having a stretch factor + in the range of [0..10]; + + \note All available Qsk layouts are thin layers on top of the same grid + based workhorse ( = QGridLayoutEngine ). QskLinearBox offers + a reasonable subset of features, tailored for an index based + point of view. + + \sa QskGridBox, QskStackBox +*/ + +class QskLinearBox +{ + public: + + /*! + \property Qt::Orientation orientation + + \brief Direction of flow for laying out the items + + In case of Qt::Horizontal the elements are organized horizontally + increasing the column index, when appending an item. When the + number of columns exceeds the \ref dimension the next item will be + in the first column of the next row ( v.v for Qt::Vertical ). + + The horizontal layout direction is affected by its state + of QskControl::layoutMirroring(), what might depend on the + QskControl::locale(). + + \sa transpose(), dimension + \accessors orientation(), setOrientation(), orientationChanged() + */ + + /*! + \property uint dimension + + \brief Upper limit for the number of elements in a row or column + + According to the orientation the layout is organized in + rows or columns. The dimension is an upper limit for the number + of elements in a row/column. + + When the number of elements exceeds the dimension the following element + will be inserted in the following row/column. + + \sa orientation + \accessors dimension(), setDimension(), dimensionChanged() + */ + + /*! + \property qreal spacing + + \brief Global layout spacing + + The spacing is the distance between each cell and row + of the layout. Its initial value depend on the current theme. + + Beside setting the global spacing it is also possible to add + individual spacings at the end of each row and column. + + \note In opposite to a spacer, the global spacing does not insert elements. + + \sa setRowSpacing(), setColumnSpacing(), insertSpacer(), QskControl::setMargins() + \accessors spacing(), setSpacing(), spacingChanged() + */ + + /*! + \fn QskLinearBox( QQuickItem * parent ); + + \brief Create a row layout + + The \ref orientation is set to Qt::Horizontal orientation having + an unlimited \ref dimension. + + \param parent Parent item + \sa orientation, dimension + */ + + /*! + \fn QskLinearBox( Qt::Orientation orientation, QQuickItem * parent ); + + \brief Create a row or column layout + + The \ref dimension is unlimited. + + \param orientation Qt::Horizontal or Qt::Vertical + \param parent Parent item + + \sa orientation, dimension + */ + + /*! + \fn QskLinearBox( Qt::Orientation orientation, + int dimension, QQuickItem * parent ); + + \brief Constructor + + \param orientation Qt::Horizontal or Qt::Vertical + \param dimension Upper limit for the number of elements + in a row or column + + \param parent Parent item + + \sa orientation, dimension + */ + + /*! + \fn ~QskLinearBox(); + + Destructor + */ + + /*! + \fn void setOrientation( Qt::Orientation orientation ); + + \brief Set the orientation of the layout + \param orientation Qt::Vertical or Qt::Horizontal + \sa orientation + */ + + /*! + \fn Qt::Orientation orientation(void) const; + \return Value of the \ref orientation property + */ + + /*! + \fn void transpose() + + \brief Invert the orientation of the layout + + Qt::Horizontal becomes to Qt::Vertical and v.v. + \sa setOrientation(), orientation(), orientationChanged() + */ + + /*! + \fn void orientationChanged() + + The orientation of the layout has changed + \sa orientation + */ + + /*! + \fn void setDimension( uint dimension ); + + \brief Set the dimension of the layout + + \param dimension Upper limit for the number of elements in a row or column + + \warning A value of 0 is invalid and will be set to 1 + \sa dimension + */ + + /*! + \fn uint dimension(void); + \return Value of the \ref dimension property const + */ + + /*! + \fn void dimensionChanged() + + The dimension of the layout has changed + \sa setDimension(), dimension() + */ + + /*! + \fn void spacingChanged() + + The spacing of the layout has changed + \sa setSpacing(), spacing(), setRowSpacing(), setColumnSpacing() + */ + + /*! + \fn void setSpacing( qreal spacing ) + + \brief Set the global spacing of the layout + \param spacing Distance between each cell and row + \sa spacing + */ + + /*! + \fn void resetSpacing() + + \brief Reset the global spacing to its initial value + \sa spacing + */ + + /*! + \fn qreal spacing(void) const + \return Value of the \ref spacing property + + */ + + /*! + \fn void addSpacer( qreal spacing, int stretchFactor ) + + \brief Append a spacer to the layout + + The same as \ref insertSpacer( -1, spacing, stretchFactor ); + + \param spacing Spacing + \param stretchFactor A value between [0..10]. + The ratio of the stretch factors of expandable + candidates decides about how to distribute extra space. + \sa insertSpacer() + */ + + /*! + \fn void insertSpacer( int index, qreal spacing, int stretchFactor ) + + \brief Insert a spacer at a specific position + + Spacers being inserted to the layout are elements having + an index - like regular QQuickItem *s and participate in the + calculation of the geometries. + + A spacer is treated like being an item with a preferred + width/height of spacing. In case of having a stretchFactor > 0 + the width/height might exceed spacing. + + \param index Position, where to insert the spacer. If index is < 0 + or beyond QskLayout::itemCount() the spacer will be appended. + + \param spacing Spacing Minimum for width/height + \param stretchFactor A value between [0..10]. + The ratio of the stretch factors of expandable + candidates decides about how to distribute extra space. + + \note Calling QskLayout::itemAtIndex( index ) will return a nullptr. + \sa insertItem(), QskLayout::itemAtIndex() + */ + + /*! + \fn void addStretch( int stretchFactor ) + + \brief Append a stretch to the layout + + The same as \ref insertStretch( -1, stretchFactor ); + + \param stretchFactor A value between [0..10]. + The ratio of the stretch factors of expandable + candidates decides about how to distribute extra space. + + \sa insertStretch(), addSpacer() + */ + + /*! + \fn void insertStretch( int index, int stretchFactor ) + + \brief Insert a stretch at a specific position + + A stretch is simply a spacer with a spacing of 0 + + \param index Position, where to insert the stretch. If index is < 0 + or beyond QskLayout::itemCount() the stretch will be appended. + \param stretchFactor A value between [0..10]. + The ratio of the stretch factors of expandable + candidates decides about how to distribute extra space. + + \note Calling QskLayout::itemAtIndex( index ) will return a nullptr. + \sa insertSpacer(), QskLayout::itemAtIndex() + */ + + /*! + \fn void setStretchFactor( int index, int stretchFactor ) + + \brief Modify the stretch factor of a layout element + + \param index Position of the element + \param stretchFactor A value between [0..10]. + The ratio of the stretch factors of expandable + candidates decides about how to distribute extra space. + + \sa stretchFactor() + */ + + /*! + \fn int stretchFactor( int index ) const + + \param index Position of the inserted element + \return Stretch factor of a layout element + + \sa setStretchFactor() + */ + + /*! + \fn void setStretchFactor( const QQuickItem * item, int stretchFactor ) + + \brief Modify the stretch factor of an inserted item + + \param item Inserted item + \param stretchFactor A value between [0..10]. + The ratio of the stretch factors of expandable + candidates decides about how to distribute extra space. + + \sa stretchFactor() + */ + + /*! + \fn int stretchFactor( const QQuickItem * item ) const + + \param item Inserted item + \return Stretch factor of a layout element + + \sa setStretchFactor() + */ + + /*! + \fn void setRetainSizeWhenHidden( int index, bool on ) + + \brief Modify the effect of an element on the layout, when being hidden + + The retainSizeWhenHidden() flag controls how the layout will treat + an item, when being explicitely hidden. + + When being enabled the corresponding cell will be resized like in the visible + state ( showing a blank space ). Otherwise the cell will disappear and all + following cells will be shifted down. + + \param index Position of the inserted element + \param on En/Disable the retainSizeWhenHidden() flag + + \sa QQuickItem::isVisible() + */ + + /*! + \fn bool retainSizeWhenHidden( int index ) const + + \param index Position of the inserted element + \return True, when the retainSizeWhenHidden() flag is enabled + */ + + /*! + \fn void setRetainSizeWhenHidden( const QQuickItem * item, bool on ) + + \brief Modify the effect of an element on the layout, when being hidden + + The retainSizeWhenHidden() flag controls how the layout will treat + an item, when being explicitely hidden. + + When being enabled the corresponding cell will be resized like in the visible + state ( showing a blank space ). Otherwise the cell will disappear and all + following cells will be shifted down. + + \param item Inserted item + \param on En/Disable the retainSizeWhenHidden() flag + + \sa QQuickItem::isVisible() + */ + + /*! + \fn bool retainSizeWhenHidden( const QQuickItem * item ) const + + \param item Inserted item + \return True, when the retainSizeWhenHidden() flag is enabled + */ + + /*! + \fn void setRowSpacing( int row, qreal spacing ) + + \brief Add an extra spacing at the end of a row + + \param row Row index + \param spacing Extra space at the end of a row + + \note The spacing has no effect for the last row + \sa rowSpacing(), setColumnSpacing(), spacing + */ + + /*! + \fn qreal rowSpacing( int row ) const + + \param row Row index + \return Extra space at the end of a row + \sa setRowSpacing(), spacing + */ + + /*! + \fn void setColumnSpacing( int column, qreal spacing ) + + \brief Add an extra spacing at the end of a column + + \param column Column index + \param spacing Extra space at the end of a column + + \note The spacing has no effect for the last column + \sa columnSpacing(), setRowSpacing(), spacing + */ + + /*! + \fn qreal columnSpacing( int column ) const + + \param column Column index + \return Extra space at the end of a column + \sa setColumnSpacing(), rowSpacing(), spacing + */ + + /*! + \fn void setRowStretchFactor( int row, int stretchFactor ) + + \brief Modify the stretch factor of a row + + \param row Index of the row + \param stretchFactor A value between [0..10]. + The ratio of the stretch factors of expandable + candidates decides about how to distribute extra space. + + \note Having a stretch factor for the row and for an item of the same row + might lead to confusing results + + \sa rowStretchFactor(), stretchFactor() + */ + + /*! + \fn int rowStretchFactor( int row ) const + + \param row Index of the row + \return Stretch factor of the row + \sa setRowStretchFactor(), colulnStretchFactor() + */ + + /*! + \fn void setColumnStretchFactor( int column, int stretchFactor ) + + \brief Modify the stretch factor of a column + + \param column Index of the column + \param stretchFactor A value between [0..10]. + The ratio of the stretch factors of expandable + candidates decides about how to distribute extra space. + + \note Having a stretch factor for the column and for an item of the same column + might lead to confusing results + + \sa rowStretchFactor(), stretchFactor() + */ + + /*! + \fn int QskLinearBox::columnStretchFactor( int column ) const + + \param column Index of the column + \return Stretch factor of the column + \sa setColumnStretchFactor(), rowStretchFactor() + */ + + /*! + \fn QSizeF QskLinearBox::contentsSizeHint() const + + \return Preferred size without the contents margins + \note The calculation of the hint depends ob the hints + of the items inserted to the layout. + */ +}; diff --git a/doc/classes/QskLinearBox.metadox b/doc/classes/QskLinearBox.metadox deleted file mode 100644 index 28f8e61ad..000000000 --- a/doc/classes/QskLinearBox.metadox +++ /dev/null @@ -1,533 +0,0 @@ -INTERFACE - CLASS: QskLinearBox - BASE: QskIndexedLayoutBox - - QMLCLASS: LinearBox - QMLBASE: IndexedLayoutBox - - HEADER: QskLinearBox.h - - DESCRIPTION - \brief Layout stringing items in rows and columns - - QskLinearBox organizes layout items in vertical or horizontal order - ( \ref orientation ). When the number of items for a row/column has - reached an upper limit ( \ref dimension ) the following items will be - added to a new row/column. - - When having the \ref dimension being set to unlimited ( or 1 with the - inverted \ref orientation ) the string layout behaves similar to - QBoxLayout, RowLayout/ColumnLayout ( QML ) or what is - sometimes called a linear layout. - - When not restricting the layout to one row/column only the layout can - be used to set up simple grid formations. - - Layout items may be QUICKITEMs or spacers - both having a stretch factor - in the range of [0..10]; - - \note All available Qsk layouts are thin layers on top of the same grid - based workhorse ( = QGridLayoutEngine ). QskLinearBox offers - a reasonable subset of features, tailored for an index based - point of view. - - \sa QskGridBox, QskStackBox - END - - PROPERTY - NAME: orientation - TYPE: Qt::Orientation - - READ: orientation() - WRITE: setOrientation() - NOTIFY: orientationChanged() - - DESCRIPTION - - \brief Direction of flow for laying out the items - - In case of Qt::Horizontal the elements are organized horizontally - increasing the column index, when appending an item. When the - number of columns exceeds the \ref dimension the next item will be - in the first column of the next row ( v.v for Qt::Vertical ). - - The horizontal layout direction is affected by its state - of QskControl::layoutMirroring(), what might depend on the - QskControl::locale(). - - \sa transpose(), dimension - END - END - - PROPERTY - NAME: dimension - TYPE: uint - - READ: dimension() - WRITE: setDimension() - NOTIFY: dimensionChanged() - - DESCRIPTION - \brief Upper limit for the number of elements in a row or column - - According to the orientation the layout is organized in - rows or columns. The dimension is an upper limit for the number - of elements in a row/column. - - When the number of elements exceeds the dimension the following element - will be inserted in the following row/column. - - \sa orientation - END - END - - PROPERTY - NAME: spacing - TYPE: qreal - - READ: spacing() - WRITE: setSpacing() - NOTIFY: spacingChanged() - - DESCRIPTION - \brief Global layout spacing - - The spacing is the distance between each cell and row - of the layout. Its initial value depend on the current theme. - - Beside setting the global spacing it is also possible to add - individual spacings at the end of each row and column. - - \note In opposite to a spacer, the global spacing does not insert - elements. - - \sa setRowSpacing(), setColumnSpacing(), - insertSpacer(), QskControl::setMargins() - END - END - - FUNCTION - SIGNATURE: QskLinearBox( QUICKITEM parent ); - DESCRIPTION - \brief Create a row layout - - The \ref orientation is set to Qt::Horizontal orientation having - an unlimited \ref dimension. - - \param parent Parent item - - \sa orientation, dimension - END - END - - FUNCTION - SIGNATURE: QskLinearBox( Qt::Orientation orientation, QUICKITEM parent ); - DESCRIPTION - \brief Create a row or column layout - - The \ref dimension is unlimited. - - \param orientation Qt::Horizontal or Qt::Vertical - \param parent Parent item - - \sa orientation, dimension - END - END - - FUNCTION - SIGNATURE - QskLinearBox( Qt::Orientation orientation, - int dimension, QUICKITEM parent ); - END - - DESCRIPTION - \brief Constructor - - \param orientation Qt::Horizontal or Qt::Vertical - \param dimension Upper limit for the number of elements - in a row or column - - \param parent Parent item - - \sa orientation, dimension - END - END - - FUNCTION - SIGNATURE: ~QskLinearBox(); - DESCRIPTION: Destructor - END - - FUNCTION - SIGNATURE: void setOrientation( Qt::Orientation orientation ); - DESCRIPTION - \brief Set the orientation of the layout - \param orientation Qt::Vertical or Qt::Horizontal - \sa orientation - END - END - - FUNCTION - SIGNATURE: Qt::Orientation orientation(void) const; - DESCRIPTION: \return Value of the \ref orientation property - END - - SLOT - SIGNATURE: void transpose() - DESCRIPTION - BEGIN - \brief Invert the orientation of the layout - - Qt::Horizontal becomes to Qt::Vertical and v.v. - \sa setOrientation(), orientation(), orientationChanged() - END - END - - SIGNAL - SIGNATURE: void orientationChanged() - DESCRIPTION - The orientation of the layout has changed - \sa orientation - END - END - - FUNCTION - SIGNATURE: void setDimension( uint dimension ); - DESCRIPTION - \brief Set the dimension of the layout - - \param dimension Upper limit for the number of elements in a row or column - - \warning A value of 0 is invalid and will be set to 1 - \sa dimension - END - END - - FUNCTION - SIGNATURE: uint dimension(void); - DESCRIPTION: \return Value of the \ref dimension property const - END - - SIGNAL - SIGNATURE: void dimensionChanged() - DESCRIPTION - The dimension of the layout has changed - \sa setDimension(), dimension() - END - END - - SIGNAL - SIGNATURE: void spacingChanged() - DESCRIPTION - The spacing of the layout has changed - \sa setSpacing(), spacing(), setRowSpacing(), setColumnSpacing() - END - END - - FUNCTION - SIGNATURE: void setSpacing( qreal spacing ) - DESCRIPTION - \brief Set the global spacing of the layout - \param spacing Distance between each cell and row - \sa spacing - END - END - - FUNCTION - SIGNATURE: void resetSpacing() - DESCRIPTION - \brief Reset the global spacing to its initial value - \sa spacing - END - END - - FUNCTION - SIGNATURE: qreal spacing(void) const - DESCRIPTION - \return Value of the \ref spacing property - END - - END - - INVOKABLE - SIGNATURE: void addSpacer( qreal spacing, int stretchFactor ) - DESCRIPTION - \brief Append a spacer to the layout - - The same as \ref insertSpacer( -1, spacing, stretchFactor ); - - \param spacing Spacing - \param stretchFactor A value between [0..10]. - The ratio of the stretch factors of expandable - candidates decides about how to distribute extra space. - \sa insertSpacer() - END - END - - INVOKABLE - SIGNATURE: void insertSpacer( int index, qreal spacing, int stretchFactor ) - DESCRIPTION - \brief Insert a spacer at a specific position - - Spacers being inserted to the layout are elements having - an index - like regular QUICKITEMs and participate in the - calculation of the geometries. - - A spacer is treated like being an item with a preferred - width/height of spacing. In case of having a stretchFactor > 0 - the width/height might exceed spacing. - - \param index Position, where to insert the spacer. If index is < 0 - or beyond QskLayout::itemCount() the spacer will be appended. - - \param spacing Spacing Minimum for width/height - - \param stretchFactor A value between [0..10]. - The ratio of the stretch factors of expandable - candidates decides about how to distribute extra space. - - \note Calling QskLayout::itemAtIndex( index ) will return a nullptr. - \sa insertItem(), QskLayout::itemAtIndex() - END - END - - INVOKABLE - SIGNATURE: void addStretch( int stretchFactor ) - DESCRIPTION - \brief Append a stretch to the layout - - The same as \ref insertStretch( -1, stretchFactor ); - - \param stretchFactor A value between [0..10]. - The ratio of the stretch factors of expandable - candidates decides about how to distribute extra space. - - \sa insertStretch(), addSpacer() - END - END - - INVOKABLE - SIGNATURE: void insertStretch( int index, int stretchFactor ) - DESCRIPTION - \brief Insert a stretch at a specific position - - A stretch is simply a spacer with a spacing of 0 - - \param index Position, where to insert the stretch. If index is < 0 - or beyond QskLayout::itemCount() the stretch will be appended. - \param stretchFactor A value between [0..10]. - The ratio of the stretch factors of expandable - candidates decides about how to distribute extra space. - - \note Calling QskLayout::itemAtIndex( index ) will return a nullptr. - \sa insertSpacer(), QskLayout::itemAtIndex() - END - END - - INVOKABLE - SIGNATURE: void setStretchFactor( int index, int stretchFactor ) - DESCRIPTION - \brief Modify the stretch factor of a layout element - - \param index Position of the element - \param stretchFactor A value between [0..10]. - The ratio of the stretch factors of expandable - candidates decides about how to distribute extra space. - - \sa stretchFactor() - END - END - - INVOKABLE - SIGNATURE: int stretchFactor( int index ) const - DESCRIPTION - \param index Position of the inserted element - \return Stretch factor of a layout element - - \sa setStretchFactor() - END - END - - INVOKABLE - SIGNATURE: void setStretchFactor( const QUICKITEM item, int stretchFactor ) - DESCRIPTION - \brief Modify the stretch factor of an inserted item - - \param item Inserted item - \param stretchFactor A value between [0..10]. - The ratio of the stretch factors of expandable - candidates decides about how to distribute extra space. - - \sa stretchFactor() - END - END - - INVOKABLE - SIGNATURE: int stretchFactor( const QUICKITEM item ) const - DESCRIPTION - \param item Inserted item - \return Stretch factor of a layout element - - \sa setStretchFactor() - END - END - - INVOKABLE - SIGNATURE: void setRetainSizeWhenHidden( int index, bool on ) - DESCRIPTION - \brief Modify the effect of an element on the layout, when being hidden - - The retainSizeWhenHidden() flag controls how the layout will treat - an item, when being explicitely hidden. - - When being enabled the corresponding cell will be resized like in the visible - state ( showing a blank space ). Otherwise the cell will disappear and all - following cells will be shifted down. - - \param index Position of the inserted element - \param on En/Disable the retainSizeWhenHidden() flag - - \sa QQuickItem::isVisible() - END - END - - INVOKABLE - SIGNATURE: bool retainSizeWhenHidden( int index ) const - DESCRIPTION - \param index Position of the inserted element - \return True, when the retainSizeWhenHidden() flag is enabled - END - END - - INVOKABLE - SIGNATURE: void setRetainSizeWhenHidden( const QUICKITEM item, bool on ) - DESCRIPTION - \brief Modify the effect of an element on the layout, when being hidden - - The retainSizeWhenHidden() flag controls how the layout will treat - an item, when being explicitely hidden. - - When being enabled the corresponding cell will be resized like in the visible - state ( showing a blank space ). Otherwise the cell will disappear and all - following cells will be shifted down. - - \param item Inserted item - \param on En/Disable the retainSizeWhenHidden() flag - - \sa QQuickItem::isVisible() - END - END - - INVOKABLE - SIGNATURE: bool retainSizeWhenHidden( const QUICKITEM item ) const - DESCRIPTION - \param item Inserted item - \return True, when the retainSizeWhenHidden() flag is enabled - END - END - - INVOKABLE - SIGNATURE: void setRowSpacing( int row, qreal spacing ) - DESCRIPTION - \brief Add an extra spacing at the end of a row - - \param row Row index - \param spacing Extra space at the end of a row - - \note The spacing has no effect for the last row - \sa rowSpacing(), setColumnSpacing(), spacing - END - END - - INVOKABLE - SIGNATURE: qreal rowSpacing( int row ) const - DESCRIPTION - \param row Row index - \return Extra space at the end of a row - \sa setRowSpacing(), spacing - END - END - - INVOKABLE - SIGNATURE: void setColumnSpacing( int column, qreal spacing ) - DESCRIPTION - \brief Add an extra spacing at the end of a column - - \param column Column index - \param spacing Extra space at the end of a column - - \note The spacing has no effect for the last column - \sa columnSpacing(), setRowSpacing(), spacing - END - END - - INVOKABLE - SIGNATURE: qreal columnSpacing( int column ) const - DESCRIPTION - \param column Column index - \return Extra space at the end of a column - \sa setColumnSpacing(), rowSpacing(), spacing - END - END - - INVOKABLE - SIGNATURE: void setRowStretchFactor( int row, int stretchFactor ) - DESCRIPTION - \brief Modify the stretch factor of a row - - \param row Index of the row - \param stretchFactor A value between [0..10]. - The ratio of the stretch factors of expandable - candidates decides about how to distribute extra space. - - \note Having a stretch factor for the row and for an item of the same row - might lead to confusing results - - \sa rowStretchFactor(), stretchFactor() - END - END - - INVOKABLE - SIGNATURE: int rowStretchFactor( int row ) const - DESCRIPTION - \param row Index of the row - \return Stretch factor of the row - \sa setRowStretchFactor(), colulnStretchFactor() - END - END - - INVOKABLE - SIGNATURE: void setColumnStretchFactor( int column, int stretchFactor ) - DESCRIPTION - \brief Modify the stretch factor of a column - - \param column Index of the column - \param stretchFactor A value between [0..10]. - The ratio of the stretch factors of expandable - candidates decides about how to distribute extra space. - - \note Having a stretch factor for the column and for an item of the same column - might lead to confusing results - - \sa rowStretchFactor(), stretchFactor() - END - END - - INVOKABLE - SIGNATURE: int QskLinearBox::columnStretchFactor( int column ) const - DESCRIPTION - \param column Index of the column - \return Stretch factor of the column - \sa setColumnStretchFactor(), rowStretchFactor() - END - END - - FUNCTION - SIGNATURE: QSizeF QskLinearBox::contentsSizeHint() const - DESCRIPTION - \return Preferred size without the contents margins - \note The calculation of the hint depends ob the hints - of the items inserted to the layout. - END - END -END diff --git a/doc/classes/QskListView.metadox b/doc/classes/QskListView.metadox deleted file mode 100644 index e41ab96d4..000000000 --- a/doc/classes/QskListView.metadox +++ /dev/null @@ -1,17 +0,0 @@ -INTERFACE - CLASS: QskListView - BASE: QskScrollView - - QMLCLASS: ScrollListView - QMLBASE: ScrollView - - HEADER: QskListView.h - - DESCRIPTION - \brief Base class for scrollable list views - - \note Implementation/Design is incomplete and will be totally - different in the final version. - END -END - diff --git a/doc/classes/QskListViewSkinlet.metadox b/doc/classes/QskListViewSkinlet.metadox deleted file mode 100644 index 5d7021b19..000000000 --- a/doc/classes/QskListViewSkinlet.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskListViewSkinlet - BASE: QskSkinlet - - HEADER: QskListViewSkinlet.h - - DESCRIPTION - \brief QskListViewSkinlet - END -END diff --git a/doc/classes/QskMargins.metadox b/doc/classes/QskMargins.metadox deleted file mode 100644 index 3c6235a06..000000000 --- a/doc/classes/QskMargins.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskMargins - BASE: QMarginsF - - HEADER: QskMargins.h - - DESCRIPTION - \brief A stupid wrapper around QMarginsF - END -END diff --git a/doc/classes/QskMessageBox.metadox b/doc/classes/QskMessageBox.metadox deleted file mode 100644 index 846a93654..000000000 --- a/doc/classes/QskMessageBox.metadox +++ /dev/null @@ -1,14 +0,0 @@ -INTERFACE - CLASS: QskMessageBox - BASE: QskDialog - - QMLCLASS: MessageBox - QMLBASE: Dialog - - HEADER: QskMessageBox.h - - DESCRIPTION - \brief A dialog displaying a message - \sa QskMessage - END -END diff --git a/doc/classes/QskMessageSubWindow.metadox b/doc/classes/QskMessageSubWindow.metadox deleted file mode 100644 index fe5f7d476..000000000 --- a/doc/classes/QskMessageSubWindow.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskMessageSubWindow - BASE: QskDialogSubWindow - - QMLCLASS: MessageSubWindow - QMLBASE: DialogSubWindow - - HEADER: QskMessageSubWindow.h - - DESCRIPTION - \brief QskMessageSubWindow - END -END diff --git a/doc/classes/QskMessageWindow.metadox b/doc/classes/QskMessageWindow.metadox deleted file mode 100644 index 749f18732..000000000 --- a/doc/classes/QskMessageWindow.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskMessageWindow - BASE: QskDialogWindow - - QMLCLASS: MessageWindow - QMLBASE: DialogWindow - - HEADER: QskDialogWindow.h - - DESCRIPTION - \brief QskDialogWindow - END -END diff --git a/doc/classes/QskObjectCounter.metadox b/doc/classes/QskObjectCounter.metadox deleted file mode 100644 index 2c5a93b14..000000000 --- a/doc/classes/QskObjectCounter.metadox +++ /dev/null @@ -1,11 +0,0 @@ -INTERFACE - CLASS: QskAbstractButton - BASE: QskControl - - HEADER: QskAbstractButton.h - - DESCRIPTION - \brief An object counter using Qt hooks to create statistics - about QObject and QQuickItem instantiations - END -END diff --git a/doc/classes/QskPageIndicator.metadox b/doc/classes/QskPageIndicator.metadox deleted file mode 100644 index 4fca75d7c..000000000 --- a/doc/classes/QskPageIndicator.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskPageIndicator - BASE: QskControl - - QMLCLASS: PageIndicator - QMLBASE: Control - - HEADER: QskPageIndicator.h - - DESCRIPTION - \brief A page indicator - END -END diff --git a/doc/classes/QskPageIndicatorSkinlet.metadox b/doc/classes/QskPageIndicatorSkinlet.metadox deleted file mode 100644 index c5d2b4f41..000000000 --- a/doc/classes/QskPageIndicatorSkinlet.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskPageIndicatorSkinlet - BASE: QskSkinlet - - HEADER: QskPageIndicatorSkinlet.h - - DESCRIPTION - \brief QskPageIndicatorSkinlet - END -END diff --git a/doc/classes/QskPaintedNode.metadox b/doc/classes/QskPaintedNode.metadox deleted file mode 100644 index 0db8b0e28..000000000 --- a/doc/classes/QskPaintedNode.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskPaintedNode - BASE: QskTextureNode - - HEADER: QskPaintedNode.h - - DESCRIPTION - \brief QskPaintedNode - END -END diff --git a/doc/classes/QskPanGestureRecognizer.metadox b/doc/classes/QskPanGestureRecognizer.metadox deleted file mode 100644 index 79da96d6e..000000000 --- a/doc/classes/QskPanGestureRecognizer.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskPanGestureRecognizer - BASE: QskGestureRecognizer - - HEADER: QskPanGestureRecognizer.h - - DESCRIPTION - \brief QskPanGestureRecognizer - END -END diff --git a/doc/classes/QskPopup.metadox b/doc/classes/QskPopup.metadox deleted file mode 100644 index b8c11ba9f..000000000 --- a/doc/classes/QskPopup.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskPopup - BASE: QskControl - - QMLCLASS: QskPopup - QMLBASE: Control - - HEADER: QskPopup.h - - DESCRIPTION - \brief Something - END -END diff --git a/doc/classes/QskPopupSkinlet.metadox b/doc/classes/QskPopupSkinlet.metadox deleted file mode 100644 index 42a59e8b6..000000000 --- a/doc/classes/QskPopupSkinlet.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskPopupSkinlet - BASE: QskSkinlet - - HEADER: QskPopupSkinlet.h - - DESCRIPTION - \brief QskPopupSkinlet - END -END diff --git a/doc/classes/QskPushButton.metadox b/doc/classes/QskPushButton.metadox deleted file mode 100644 index cdc6450df..000000000 --- a/doc/classes/QskPushButton.metadox +++ /dev/null @@ -1,14 +0,0 @@ -INTERFACE - CLASS: QskPushButton - BASE: QskAbstractButton - - QMLCLASS: PushButton - QMLBASE: AbstractButton - - HEADER: QskPushButton.h - - DESCRIPTION - \headerfile QskPushButton.h - \brief A push button - END -END diff --git a/doc/classes/QskPushButtonSkinlet.metadox b/doc/classes/QskPushButtonSkinlet.metadox deleted file mode 100644 index 6a4631f00..000000000 --- a/doc/classes/QskPushButtonSkinlet.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskPushButtonSkinlet - BASE: QskSkinlet - - HEADER: QskPushButtonSkinlet.h - - DESCRIPTION - \brief QskPushButtonSkinlet - END -END diff --git a/doc/classes/QskQuickItem.dox b/doc/classes/QskQuickItem.dox new file mode 100644 index 000000000..5826109bf --- /dev/null +++ b/doc/classes/QskQuickItem.dox @@ -0,0 +1,67 @@ +/*! + \headerfile QskQuickItem.h + \brief what a quick item + */ + +class QskQuickItem +{ + public: + + /*! + \enum Flag + + QQuick classes have a tendency to update items too early + and too often. To avoid processing of unwanted operations + QskControl implements a couple of modifications, that + can be en/disabled individually. + + The default setting enables all attributes. + + \var DeferredUpdate + + Creating of paint nodes is blocked for all invisible nodes + ( QQuickItem::isVisible() ). + + \note Some more advanced algorithms have not yet been implemented, + such as viewport frustrum culling (i.e. hiding items outside of the + window geometry). + + \var DeferredPolish + + Calculation of layouts ( updateLayout() ) is blocked for all invisible + nodes ( QQuickItem::isVisible() ). + + \var DeferredLayout + + Updates of the implicit size is blocked until effectiveConstraint() or sizeHint() + is explicitly called. When being enabled the implicit size is not recalculated before + being requested - usually by a QskLayout. + + \var CleanupOnVisibility + + Delete scene graph nodes, when the item becomes hidden ( QQuickItem::isVisible() ). + Enabling this mode will reduce the memory footprint, but comes at the cost + of having to recreate nodes later. + + \var PreferRasterForTextures + + When creating textures from QskGraphic, prefer the raster paint + engine over the OpenGL paint engine. + + \var DebugForceBackground + + Always fill the background of thecontrol with a random color. + \note This flag is useful when analyzing layouts. + */ + + /*! + \fn void setControlFlag( Flag, bool on = true ); + */ + + /*! + \fn void resetControlFlag( Flag ); + */ + + /*! + \fn bool testControlFlag( Flag ) const; + */ diff --git a/doc/classes/QskQuickItem.metadox b/doc/classes/QskQuickItem.metadox deleted file mode 100644 index 813ad0c4a..000000000 --- a/doc/classes/QskQuickItem.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskQuickItem - BASE: QQuickItem - - HEADER: QskQuickItem.h - - DESCRIPTION - \brief QskQuickItem - END -END diff --git a/doc/classes/QskRangeControl.metadox b/doc/classes/QskRangeControl.metadox deleted file mode 100644 index d685e3987..000000000 --- a/doc/classes/QskRangeControl.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskRangeControl - BASE: QskControl - - QMLCLASS: RangeControl - QMLBASE: Control - - HEADER: QskRangeControl.h - - DESCRIPTION - \brief QskRangeControl - END -END diff --git a/doc/classes/QskScrollArea.metadox b/doc/classes/QskScrollArea.metadox deleted file mode 100644 index 3f5bd8cf7..000000000 --- a/doc/classes/QskScrollArea.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskScrollArea - BASE: QskScrollView - - QMLCLASS: ScrollArea - QMLBASE: ScrollView - - HEADER: QskScrollArea.h - - DESCRIPTION - \brief QskScrollArea - END -END diff --git a/doc/classes/QskScrollView.metadox b/doc/classes/QskScrollView.metadox deleted file mode 100644 index accd2af84..000000000 --- a/doc/classes/QskScrollView.metadox +++ /dev/null @@ -1,17 +0,0 @@ -INTERFACE - CLASS: QskScrollView - BASE: QskControl - - QMLCLASS: ScrollView - QMLBASE: Control - - HEADER: QskScrollView.h - - DESCRIPTION - \brief A lightweight scroll view made of one QObject only - - \note Implementation/Design is incomplete and might be totally - different in the final version. - END -END - diff --git a/doc/classes/QskScrollViewSkinlet.metadox b/doc/classes/QskScrollViewSkinlet.metadox deleted file mode 100644 index 5f6e96fd4..000000000 --- a/doc/classes/QskScrollViewSkinlet.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskScrollViewSkinlet - BASE: QskSkinlet - - HEADER: QskScrollViewSkinlet.h - - DESCRIPTION - \brief QskScrollViewSkinlet - END -END diff --git a/doc/classes/QskSelectionSubWindow.metadox b/doc/classes/QskSelectionSubWindow.metadox deleted file mode 100644 index f5de343d7..000000000 --- a/doc/classes/QskSelectionSubWindow.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskSelectionSubWindow - BASE: QskDialogSubWindow - - QMLCLASS: SelectionSubWindow - QMLBASE: DialogSubWindow - - HEADER: QskSelectionSubWindow.h - - DESCRIPTION - \brief QskSelectionSubWindow - END -END diff --git a/doc/classes/QskSelectionWindow.metadox b/doc/classes/QskSelectionWindow.metadox deleted file mode 100644 index 76d68348a..000000000 --- a/doc/classes/QskSelectionWindow.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskSelectionWindow - BASE: QskDialogWindow - - QMLCLASS: SelectionWindow - QMLBASE: DialogWindow - - HEADER: QskSelectionWindow.h - - DESCRIPTION - \brief QskSelectionWindow - END -END diff --git a/doc/classes/QskSeparator.dox b/doc/classes/QskSeparator.dox new file mode 100644 index 000000000..6a5cb5804 --- /dev/null +++ b/doc/classes/QskSeparator.dox @@ -0,0 +1,63 @@ +/*! + \class QskSeparator QskSeparator.h + + \brief Separates a group of items from adjacent items. + + QskSeparator is used to visually distinguish between groups of items. + It can be used in horizontal or vertical direction by setting the + orientation property to Qt::Vertical or Qt::Horizontal, respectively. + + \subcontrols Panel + \skinlet QskSeparatorSkinlet +*/ + +/*! + \property Qt::Orientation QskSeparator::orientation + + \brief Orientation of the separator - Qt::Horizontal (the default) or Qt::Vertical. + + A separator is often represented by some line - for a + orientation of Qt::Horizontal it might be a vertical line. + + \accessors orientation(), setOrientation(), orientationChanged() +*/ + +/*! + \fn QskSeparator::QskSeparator( QQuickItem* ) + + Constructs a horizontal separator with the given parent. +*/ + +/*! + \fn QskSeparator::QskSeparator( Qt::Orientation, QQuickItem* ) + + Constructs a separator with the given parent. The orientation parameter + determines whether the separator is horizontal or vertical. + + \sa orientation +*/ + +/*! + \fn QskSeparator::~QskSeparator(); + Destroys this separator. +*/ + +/*! + \fn void QskSeparator::setOrientation( Qt::Orientation ); + + Set the orientation of the separator + \param orientation Qt::Vertical or Qt::Horizontal + \sa orientation +*/ + +/*! + \fn Qt::Orientation QskSeparator::orientation() const; + \return Value of the \ref orientation property +*/ + +/*! + \fn void QskSeparator::orientationChanged() + + The orientation of the layout has changed + \sa orientation +*/ diff --git a/doc/classes/QskSeparator.metadox b/doc/classes/QskSeparator.metadox deleted file mode 100644 index a5739f864..000000000 --- a/doc/classes/QskSeparator.metadox +++ /dev/null @@ -1,14 +0,0 @@ -INTERFACE - CLASS: QskSeparator - BASE: QskControl - - QMLCLASS: Separator - QMLBASE: Control - - HEADER: QskSeparator.h - - DESCRIPTION - \brief A separator line - \note Not implemented yet, but intended to work like a flat QGroupBox - END -END diff --git a/doc/classes/QskSeparatorSkinlet.metadox b/doc/classes/QskSeparatorSkinlet.metadox deleted file mode 100644 index efc57ee2f..000000000 --- a/doc/classes/QskSeparatorSkinlet.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskSeparatorSkinlet - BASE: QskSkinlet - - HEADER: QskSeparatorSkinlet.h - - DESCRIPTION - \brief QskSeparatorSkinlet - END -END diff --git a/doc/classes/QskSetup.dox b/doc/classes/QskSetup.dox new file mode 100644 index 000000000..365345d26 --- /dev/null +++ b/doc/classes/QskSetup.dox @@ -0,0 +1,38 @@ +/*! + \headerfile QskSetup.h + + \brief Singleton maintaining the global settings of an application using Qsk controls +*/ + +class QskSetup +{ + public: + + /*! + \property QskSkin* skin + \accessors skin(), setSkin(), skinChanged() + */ + + /*! + \enum Flag + + \var DeferredUpdate + \var DeferredPolish + \var DeferredLayout + \var CleanupOnVisibility + \var PreferRasterForTextures + \var DebugForceBackground + */ + + /*! + \fn void setSkin( QskSkin* ); + */ + + /*! + \fn QskSkin* skin(); + */ + + /*! + \fn void skinChanged( QskSkin* ); + */ +}; diff --git a/doc/classes/QskSetup.metadox b/doc/classes/QskSetup.metadox deleted file mode 100644 index 7aea5c067..000000000 --- a/doc/classes/QskSetup.metadox +++ /dev/null @@ -1,121 +0,0 @@ -INTERFACE - CLASS: QskSetup - BASE: QObject - - HEADER: QskSetup.h - - DESCRIPTION - \brief Singleton maintaining the global settings of an application using Qsk controls - END - - ENUM - CLASS: Flag - QMLCLASS: Flag - - DESCRIPTION - \var ClipBoundary - \var DeferredUpdate - \var DeferredPolish - \var DeferredLayout - \var CleanupOnVisibility - \var PreferRasterForTextures - \var DebugForceBackground - \var DebugSkinColors - END - END - - PROPERTY - NAME: skin - TYPE: QskSkin* - - READ: skin() - WRITE: setSkin() - NOTIFY: skinChanged() - END - - FUNCTION - SIGNATURE: void setup() - DESCRIPTION - END - END - - FUNCTION - SIGNATURE: void cleanup() - DESCRIPTION - END - END - - FUNCTION - SIGNATURE: QskSetup* instance(); - DESCRIPTION - \sa qskSetup() - END - END - - FUNCTION - SIGNATURE: void setSkin( QskSkin* ); - DESCRIPTION - END - END - - FUNCTION - SIGNATURE: QskSkin* skin(); - DESCRIPTION - END - END - - SIGNAL - SIGNATURE: void skinChanged( QskSkin* ); - DESCRIPTION - END - END - - SIGNAL - SIGNATURE: void controlFlagsChanged(); - DESCRIPTION - END - END - - FUNCTION - SIGNATURE: QskSkinlet* skinlet( const QskControl* ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void setControlFlags( Flags ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void resetControlFlags(); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: Flags controlFlags() const; - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void setControlFlag( Flag, bool on = true ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: void resetControlFlag( Flag ); - DESCRIPTION - END - END - - INVOKABLE - SIGNATURE: bool testControlFlag( Flag ); - DESCRIPTION - END - END - -END diff --git a/doc/classes/QskShortcutMap.metadox b/doc/classes/QskShortcutMap.metadox deleted file mode 100644 index 6d6467afe..000000000 --- a/doc/classes/QskShortcutMap.metadox +++ /dev/null @@ -1,9 +0,0 @@ -INTERFACE - CLASS: QskShortcutMap - - HEADER: QskShortcutMap.h - - DESCRIPTION - \brief QskShortcutMap - END -END diff --git a/doc/classes/QskSimpleListBox.metadox b/doc/classes/QskSimpleListBox.metadox deleted file mode 100644 index 72eef7202..000000000 --- a/doc/classes/QskSimpleListBox.metadox +++ /dev/null @@ -1,17 +0,0 @@ -INTERFACE - CLASS: QskSimpleListBox - BASE: QskListView - - QMLCLASS: SimpleListBox - QMLBASE: ListView - - HEADER: QskSimpleListBox.h - - DESCRIPTION - \brief A lightweight list box made from one QObject only - - \note Implementation/Design is incomplete and will be totally - different in the final version. - END -END - diff --git a/doc/classes/QskSizePolicy.metadox b/doc/classes/QskSizePolicy.metadox deleted file mode 100644 index 3df2aca0b..000000000 --- a/doc/classes/QskSizePolicy.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskSizePolicy - QMLCLASS: SizePolicy - - HEADER QskSizePolicy.h - - DESCRIPTION - \brief A size policy ( similar to QSizePolicy ) - END -END diff --git a/doc/classes/QskSkin.metadox b/doc/classes/QskSkin.metadox deleted file mode 100644 index b45976d98..000000000 --- a/doc/classes/QskSkin.metadox +++ /dev/null @@ -1,59 +0,0 @@ -INTERFACE - CLASS: QskSkin - BASE: QObject - - HEADER: QskSkin.h - - DESCRIPTION - \brief QskSkin - END -END - -/*! - \fn void QskSkin::setColor( QskAspect::Aspect aspect, QRgb color ) - - Sets the default color (as a QRgb value) for the given QskAspect::Aspect. The QskSkinHint::TypeMask is - implicitly set to QskSkinHint::Color. -*/ - -/*! - \fn void QskSkin::setColor(QskAspect::Aspect aspect, Qt::GlobalColor color) - - Sets the color (as a Qt::GlobalColor) for the given QskAspect::Aspect. The QskSkinHint::TypeMask is - implicitly set to QskSkinHint::Color. - */ - -/*! - \fn void QskSkin::setColor(QskAspect::Aspect aspect, const QColor &color) - Sets the color (as a QColor) for the given QskAspect::Aspect. The QskSkinHint::TypeMask is - implicitly set to QskSkinHint::Color. -*/ - -/*! - \fn QRgb QskSkin::color( QskAspect::Aspect aspect ) const - - Gets the color (as a QRgb value) for the given QskAspect::Aspect. Equivalent to QskSkin::skinHint( aspect ).color. -*/ - -/*! - \fn void QskSkin::setMetric(QskAspect::Aspect aspect, float metric) - - Sets the metric for the given QskAspect::Aspect. The QskSkinHint::TypeMask is - implicitly set to QskSkinHint::Metric. -*/ - -/*! - \fn float QskSkin::metric( QskAspect::Aspect aspect ) const - - Gets the metric for the given QskAspect::Aspect. Equivalent to QskSkin::skinHint( aspect ).metric. -*/ - -/*! - \fn void QskSkin::setSkinHint( QskAspect::Aspect aspect, QskSkinHint option ) - Sets the option for the given QskAspect::Aspect. */ -*/ - -/*! - \fn QskSkinHint QskSkin::skinHint( QskAspect::Aspect aspect ) const - Gets the option for the given QskAspect::Aspect. */ -*/ diff --git a/doc/classes/QskSkinFactory.metadox b/doc/classes/QskSkinFactory.metadox deleted file mode 100644 index 35da9ad89..000000000 --- a/doc/classes/QskSkinFactory.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskSkinFactory - BASE: QObject - - HEADER: QskSkinFactory.h - - DESCRIPTION - \brief QskSkinFactory - END -END diff --git a/doc/classes/QskSkinHintTable.metadox b/doc/classes/QskSkinHintTable.metadox deleted file mode 100644 index d2bc9dd7f..000000000 --- a/doc/classes/QskSkinHintTable.metadox +++ /dev/null @@ -1,9 +0,0 @@ -INTERFACE - CLASS: QskSkinHintTable - - HEADER: QskSkinHintTable.h - - DESCRIPTION - \brief QskSkinHintTable - END -END diff --git a/doc/classes/QskSkinManager.metadox b/doc/classes/QskSkinManager.metadox deleted file mode 100644 index 3b0772451..000000000 --- a/doc/classes/QskSkinManager.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskSkinManager - BASE: QObject - - HEADER: QskSkinManager.h - - DESCRIPTION - \brief QskSkinManager - END -END diff --git a/doc/classes/QskSkinTransition.metadox b/doc/classes/QskSkinTransition.metadox deleted file mode 100644 index 589da732a..000000000 --- a/doc/classes/QskSkinTransition.metadox +++ /dev/null @@ -1,9 +0,0 @@ -INTERFACE - CLASS: QskSkinTransition - - HEADER: QskSkinTransition.h - - DESCRIPTION - \brief QskSkinTransition - END -END diff --git a/doc/classes/QskSkinlet.dox b/doc/classes/QskSkinlet.dox new file mode 100644 index 000000000..85432cadf --- /dev/null +++ b/doc/classes/QskSkinlet.dox @@ -0,0 +1,17 @@ +/*! + \headerfile QskSkinlet.h + + \brief Describes the rendering interface of a QskControl. Change the + skinlet to change the appearance of the control using the low-level scene + graph API. + + \sa QskControl::setSkinlet() + \sa QskSkin + \sa setMetric() + \sa setColor() +*/ + +class QskSkinlet +{ + public: +}; diff --git a/doc/classes/QskSkinlet.metadox b/doc/classes/QskSkinlet.metadox deleted file mode 100644 index a2e7e8b51..000000000 --- a/doc/classes/QskSkinlet.metadox +++ /dev/null @@ -1,16 +0,0 @@ -INTERFACE - CLASS: QskSkinlet - - HEADER: QskSkinlet.h - - DESCRIPTION - \brief Describes the rendering interface of a QskControl. Change the - skinlet to change the appearance of the control using the low-level scene - graph API. - - \sa QskControl::setSkinlet() - \sa QskSkin - \sa setMetric() - \sa setColor() - END -END diff --git a/doc/classes/QskSkinnable.dox b/doc/classes/QskSkinnable.dox new file mode 100644 index 000000000..b3f5ca44e --- /dev/null +++ b/doc/classes/QskSkinnable.dox @@ -0,0 +1,85 @@ +/*! + \headerfile QskControl.h + \brief Base class of all Qsk controls + + QskControl is the base class for most visible Qsk controls. + + It re-establishes several concepts known from QWidget, that got lost + with QQuickItem: + + - contentsRect() + - autoFillBackground() + - support of layout rules: sizeHint(), sizePolicy() + - font, palette, locale and their propagation on the item tree + + Even if QQuickItem is part of the public C++ API it has obviously been + designed for implementing custom items, but not for using them in C++ + code. To support this use case a lot of trivial methods have been added. + + For some reason the QQuick classes introduced proprietory notfier hooks + instead of using the well established and powerful concept of events. + QskControl tries to revert this decision by mapping notifications + to events, when possible. + + The following events are currently implemented: + + - QEvent::FontChange + - QEvent::PaletteChange + - QEvent::LocaleChange + - QEvent::LayoutDirectionChange + - QEvent::ContentsRectChange + - QEvent::LayoutRequest +*/ + +class QskControl +{ +public: + /*! + \fn float metric( QskAspect::Aspect aspect ) const + + A convenience method equivalent to skinHint( aspect ).metric. The + QskSkinHint::TypeMask is set to QskSkinHint::Metric. + */ + + /*! + \fn void setSkinlet( QskSkinlet* skinlet ) + + Allows overriding the QskControl::Skin used by this control to render its + contents. + + */ + + /*! + \fn const QskSkinlet* skinlet() const; + + \return Skinlet assigned by setSkinlet(). + \sa effectiveSkinlet() + */ + + /*! + \fn QskSkinHint skinHint( QskAspect::Aspect aspect ) const + + Returns the QskSkinHint value for a QskAspect::Aspect. If none is set for + this control, the value for QskSkin::skinHint() is returned. + + \note If a QskSkinHintProvider is animating the color when called, the returned + value will be the current value, not the target value, unless a state mask + is requested as part of the aspect. + + \param aspect Aspect + */ + + /*! + \fn void updateNode( QSGNode* parentNode ) + + This method replaces the QQuickItem::updatePaintNode method as the + preferred paint method to override when subclassing QskControl. This allows + QskControl to perform some additional steps before calling updateNode(), + and provides a consistent parent node which subclasses can rely on. + + Subclasses should call their Skin's updateNode() method inside this method. + + \param parentNode The parent of the nodes to be added in this method. + \return The parent node. + */ +}; diff --git a/doc/classes/QskSkinnable.metadox b/doc/classes/QskSkinnable.metadox deleted file mode 100644 index d90ee6bcb..000000000 --- a/doc/classes/QskSkinnable.metadox +++ /dev/null @@ -1,30 +0,0 @@ -INTERFACE - CLASS: QskSkinnable - - HEADER: QskSkinnable.h - - DESCRIPTION - \brief QskSkinnable - END -END - -/*! - \fn void QskSkinnable::markDirty( QskAspect::Aspect aspect ) - - ORs the bits from aspect to the dirty state (QskSkinnable::dirtyAspects). - The dirty state is used by skinlets to minimize updates when rendering. -*/ - -/*! - \fn QskAspect::Aspect QskSkinnable::dirtyAspects() - - Returns the current dirty state. \sa QskSkinnable::markDirty -*/ - -/*! - \fn void QskSkinnable::updateNode( QSGNode* parentNode ) - - Instructs the skinnable to update its paint node(s), which should be added - to the parentNode as children. The same constrains as - QQuickItem::updatePaintNode should be observed. -*/ diff --git a/doc/classes/QskSlider.metadox b/doc/classes/QskSlider.metadox deleted file mode 100644 index 4e9b638c4..000000000 --- a/doc/classes/QskSlider.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskSlider - BASE: QskRangeControl - - QMLCLASS: Slider - QMLBASE: RangeControl - - HEADER: QskSlider.h - - DESCRIPTION - \brief A slider - END -END diff --git a/doc/classes/QskSliderSkinlet.metadox b/doc/classes/QskSliderSkinlet.metadox deleted file mode 100644 index 441b576dd..000000000 --- a/doc/classes/QskSliderSkinlet.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskSliderSkinlet - BASE: QskSkinlet - - HEADER: QskSliderSkinlet.h - - DESCRIPTION - \brief QskSliderSkinlet - END -END diff --git a/doc/classes/QskStackBox.metadox b/doc/classes/QskStackBox.metadox deleted file mode 100644 index c0392a480..000000000 --- a/doc/classes/QskStackBox.metadox +++ /dev/null @@ -1,94 +0,0 @@ -INTERFACE - CLASS: QskStackBox - BASE: QskIndexedLayoutBox - - QMLCLASS: StackBox - QMLBASE: IndexedBox - - HEADER: QskStackBox.h - - DESCRIPTION - \brief A layout, stacking quick items - END - - PROPERTY - NAME: currentIndex - TYPE: int - - READ: currentIndex() - WRITE: setCurrentIndex() - NOTIFY: currentIndexChanged() - - DESCRIPTION - END - END - - PROPERTY - NAME: currentItem - TYPE: QUICKITEM - - READ: currentItem() - WRITE: setCurrentItem() - NOTIFY: currentItemChanged() - - DESCRIPTION - END - END - - FUNCTION - SIGNATURE - QskStackBox( QUICKITEM parent = nullptr ); - END - DESCRIPTION - \brief Constructor - END - END - - FUNCTION - SIGNATURE: QskStackBox( bool autoAddChildren, QUICKITEM parent = nullptr ); - DESCRIPTION - END - END - - FUNCTION - SIGNATURE: ~QskStackBox() - DESCRIPTION - END - END - - SLOT - SIGNATURE: setCurrentIndex( int index ); - DESCRIPTION - END - END - - FUNCTION - SIGNATURE: int currentIndex() const; - DESCRIPTION - END - END - - SIGNAL - SIGNATURE: void currentIndexChanged( int index ); - DESCRIPTION - END - END - - SLOT - SIGNATURE: setCurrentItem( const QUICKITEM ); - DESCRIPTION - END - END - - FUNCTION - SIGNATURE: QUICKITEM currentItem() const; - DESCRIPTION - END - END - - SIGNAL - SIGNATURE: void currentItemChanged( QUICKITEM ); - DESCRIPTION - END - END -END diff --git a/doc/classes/QskStandardSymbol.metadox b/doc/classes/QskStandardSymbol.metadox deleted file mode 100644 index fb281937e..000000000 --- a/doc/classes/QskStandardSymbol.metadox +++ /dev/null @@ -1,8 +0,0 @@ -INTERFACE - CLASS: QskStandardSymbol - HEADER: QskStandardSymbol.h - - DESCRIPTION - \brief QskStandardSymbol - END -END diff --git a/doc/classes/QskStatusIndicator.metadox b/doc/classes/QskStatusIndicator.metadox deleted file mode 100644 index f4848c3e9..000000000 --- a/doc/classes/QskStatusIndicator.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskStatusIndicator - BASE: QskControl - - QMLCLASS: StatusIndicator - QMLBASE: Control - - HEADER: QskStatusIndicator.h - - DESCRIPTION - \brief QskStatusIndicator - END -END diff --git a/doc/classes/QskStatusIndicatorSkinlet.metadox b/doc/classes/QskStatusIndicatorSkinlet.metadox deleted file mode 100644 index 59bc7b6e2..000000000 --- a/doc/classes/QskStatusIndicatorSkinlet.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskStatusIndicatorSkinlet - BASE: QskSkinlet - - HEADER: QskStatusIndicatorSkinlet.h - - DESCRIPTION - \brief QskStatusIndicatorSkinlet - END -END diff --git a/doc/classes/QskSubWindow.metadox b/doc/classes/QskSubWindow.metadox deleted file mode 100644 index be4e6e71f..000000000 --- a/doc/classes/QskSubWindow.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskSubWindow - BASE: QskPopup - - QMLCLASS: SubWindow - QMLBASE: Popup - - HEADER: QskSubWindow.h - - DESCRIPTION - \brief QskSubWindow - END -END diff --git a/doc/classes/QskSubWindowArea.metadox b/doc/classes/QskSubWindowArea.metadox deleted file mode 100644 index 53a24c8ee..000000000 --- a/doc/classes/QskSubWindowArea.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskSubWindowArea - BASE: QskControl - - QMLCLASS: QskSubWindowArea - QMLBASE: QskControl - - HEADER: QskSubWindowArea.h - - DESCRIPTION - \brief QskSubWindowArea - END -END diff --git a/doc/classes/QskSubWindowAreaSkinlet.metadox b/doc/classes/QskSubWindowAreaSkinlet.metadox deleted file mode 100644 index 56de8e079..000000000 --- a/doc/classes/QskSubWindowAreaSkinlet.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskSubWindowAreaSkinlet - BASE: QskSkinlet - - HEADER: QskSubWindowAreaSkinlet.h - - DESCRIPTION - \brief QskSubWindowAreaSkinlet - END -END diff --git a/doc/classes/QskSubWindowSkinlet.metadox b/doc/classes/QskSubWindowSkinlet.metadox deleted file mode 100644 index 5b19597ab..000000000 --- a/doc/classes/QskSubWindowSkinlet.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskSubWindowSkinlet - BASE: QskSkinlet - - HEADER: QskSubWindowSkinlet.h - - DESCRIPTION - \brief QskSubWindowSkinlet - END -END diff --git a/doc/classes/QskTabBar.metadox b/doc/classes/QskTabBar.metadox deleted file mode 100644 index aad6863e3..000000000 --- a/doc/classes/QskTabBar.metadox +++ /dev/null @@ -1,14 +0,0 @@ -INTERFACE - CLASS: QskTabBar - BASE: QskControl - - QMLCLASS: TabBar - QMLBASE: Control - - HEADER: QskTabBar.h - - DESCRIPTION - \brief A tab bar, that can be used to implement tab view alike controls - \sa QskTabView, QskTabButton - END -END diff --git a/doc/classes/QskTabButton.metadox b/doc/classes/QskTabButton.metadox deleted file mode 100644 index 3dd9564b8..000000000 --- a/doc/classes/QskTabButton.metadox +++ /dev/null @@ -1,15 +0,0 @@ -INTERFACE - CLASS: QskTabButton - BASE: QskAbstractButton - - QMLCLASS: TabButton - QMLBASE: AbstractButton - - HEADER: QskTabButton.h - - DESCRIPTION - \brief A tab button, that can be used for tab bars - \sa QskTabBar, QskTabView - END -END - diff --git a/doc/classes/QskTabButtonSkinlet.metadox b/doc/classes/QskTabButtonSkinlet.metadox deleted file mode 100644 index 439bbac9e..000000000 --- a/doc/classes/QskTabButtonSkinlet.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskTabButtonSkinlet - BASE: QskSkinlet - - HEADER: QskTabButtonSkinlet.h - - DESCRIPTION - \brief QskTabButtonSkinlet - END -END diff --git a/doc/classes/QskTabView.metadox b/doc/classes/QskTabView.metadox deleted file mode 100644 index 9f6f09afb..000000000 --- a/doc/classes/QskTabView.metadox +++ /dev/null @@ -1,14 +0,0 @@ -INTERFACE - CLASS: QskTabView - BASE: QskControl - - QMLCLASS: TabView - QMLBASE: Control - - HEADER: QskTabView.h - - DESCRIPTION - \brief A stack of controls, with a tab bar to raise a current one - \sa QskTabButton, QskTabView - END -END diff --git a/doc/classes/QskTabViewSkinlet.metadox b/doc/classes/QskTabViewSkinlet.metadox deleted file mode 100644 index fcec0d668..000000000 --- a/doc/classes/QskTabViewSkinlet.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskTabViewSkinlet - BASE: QskSkinlet - - HEADER: QskTabViewSkinlet.h - - DESCRIPTION - \brief QskTabViewSkinlet - END -END diff --git a/doc/classes/QskTextColors.metadox b/doc/classes/QskTextColors.metadox deleted file mode 100644 index 963d3263b..000000000 --- a/doc/classes/QskTextColors.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskTextColors - QMLCLASS: TextColors - - HEADER: QskTextColors.h - - DESCRIPTION - \brief QskTextColors - END -END diff --git a/doc/classes/QskTextInput.metadox b/doc/classes/QskTextInput.metadox deleted file mode 100644 index e5f46fd1c..000000000 --- a/doc/classes/QskTextInput.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskTextInput - BASE: QskControl - - QMLCLASS: QskTextInput - QMLBASE: Control - - HEADER: QskTextInput.h - - DESCRIPTION - \brief QskTextInput - END -END diff --git a/doc/classes/QskTextInputSkinlet.metadox b/doc/classes/QskTextInputSkinlet.metadox deleted file mode 100644 index a422dff70..000000000 --- a/doc/classes/QskTextInputSkinlet.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskTextInputSkinlet - BASE: QskSkinlet - - HEADER: QskTextInputSkinlet.h - - DESCRIPTION - \brief QskTextInputSkinlet - END -END diff --git a/doc/classes/QskTextLabel.metadox b/doc/classes/QskTextLabel.metadox deleted file mode 100644 index 8052ecf2d..000000000 --- a/doc/classes/QskTextLabel.metadox +++ /dev/null @@ -1,13 +0,0 @@ -INTERFACE - CLASS: QskTextLabel - BASE: QskControl - - QMLCLASS: TextLabel - QMLBASE: Control - - HEADER: QskTextLabel.h - - DESCRIPTION - \brief A control displaying a text. - END -END diff --git a/doc/classes/QskTextLabelSkinlet.metadox b/doc/classes/QskTextLabelSkinlet.metadox deleted file mode 100644 index e8104e974..000000000 --- a/doc/classes/QskTextLabelSkinlet.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskTextLabelSkinlet - BASE: QskSkinlet - - HEADER: QskTextLabelSkinlet.h - - DESCRIPTION - \brief QskTextLabelSkinlet - END -END diff --git a/doc/classes/QskTextNode.metadox b/doc/classes/QskTextNode.metadox deleted file mode 100644 index 0c46e1b91..000000000 --- a/doc/classes/QskTextNode.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskTextNode - BASE: QSGTransformNode - - HEADER: QskTextNode.h - - DESCRIPTION - \brief QskTextNode - END -END diff --git a/doc/classes/QskTextOptions.metadox b/doc/classes/QskTextOptions.metadox deleted file mode 100644 index 50241c503..000000000 --- a/doc/classes/QskTextOptions.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskTextOptions - QMLCLASS: TextOptions - - HEADER: QskTextOptions.h - - DESCRIPTION - \brief Text attributes that can be set from QML - END -END diff --git a/doc/classes/QskTextureNode.metadox b/doc/classes/QskTextureNode.metadox deleted file mode 100644 index df24bf9af..000000000 --- a/doc/classes/QskTextureNode.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskTextureNode - BASE: QSGGeometryNode - - HEADER: QskTextureNode.h - - DESCRIPTION - \brief QskTextureNode - END -END diff --git a/doc/classes/QskVariantAnimator.metadox b/doc/classes/QskVariantAnimator.metadox deleted file mode 100644 index 738d1b604..000000000 --- a/doc/classes/QskVariantAnimator.metadox +++ /dev/null @@ -1,10 +0,0 @@ -INTERFACE - CLASS: QskVariantAnimator - BASE: QskAnimator - - HEADER: QskVariantAnimator.h - - DESCRIPTION - \brief QskVariantAnimator - END -END diff --git a/doc/classes/QskWindow.metadox b/doc/classes/QskWindow.metadox deleted file mode 100644 index fd86d7051..000000000 --- a/doc/classes/QskWindow.metadox +++ /dev/null @@ -1,53 +0,0 @@ -INTERFACE - CLASS: QskWindow - BASE: QQuickWindow - - QMLCLASS: Window - - # Window ( Qsk ) inherits from Window ( Quick ) - how to solve this ??? - QMLBASE: QuickWindow - - HEADER: QskWindow.h - - DESCRIPTION - \brief A quick window reintroducing lost concepts of the QWidget framwork. - END - - ENUM - CLASS: FramebufferMode - QMLCLASS: FramebufferMode - - DESCRIPTION - \var DefaultFramebufferMode - The default framebuffer is used for rendering. - \var OffscreenFramebufferMode - An offscreen framebuffer object (FBO) is used as the render - target, and it is blitted to the screen after rendering. - END - END - - PROPERTY - NAME: framebufferMode - TYPE: QskWindow::FramebufferMode - - READ: framebufferMode() - WRITE: setFramebufferMode() - NOTIFY: framebufferModeChanged() - - DESCRIPTION - \brief the mode to render the framebuffer - - A default QskWindow uses the default framebuffer to present its - contents. On some platforms, this may limit the number of - samples available to the the multi-sampled antialiasing (MSAA) - implementation. - - By setting the framebufferMode to OffscreenFramebufferMode, - the window will render to an offscreen surface before - flushing the contents to the screen. This generally provides - access to framebuffer objects with a greater number of - samples, leading to higher quality rendering results. The - sample count is taken from the window's surfaceFormat(). - END - END -END diff --git a/tools/metadoxfilter/DoxDumper.cpp b/tools/metadoxfilter/DoxDumper.cpp deleted file mode 100644 index 6b6660c7b..000000000 --- a/tools/metadoxfilter/DoxDumper.cpp +++ /dev/null @@ -1,245 +0,0 @@ -/****************************************************************************** - * QSkinny - Copyright (C) 2016 Uwe Rathmann - * This file may be used under the terms of the QSkinny License, Version 1.0 - *****************************************************************************/ - -#include "DoxDumper.h" -#include - -extern "C" -{ - #include "metadox.tab.h" -} - -static inline const char* toCStr( const std::string& s ) -{ - return s.empty() ? "" : s.c_str(); -} - -static inline std::string expandedString( const std::string& s, - const std::string& search, const std::string& replace ) -{ - using namespace std; - - string subject = s; - - size_t pos = 0; - while ( ( pos = subject.find( search, pos ) ) != std::string::npos ) - { - subject.replace( pos, search.length(), replace ); - pos += replace.length(); - } - - return subject; -} - -DoxDumper::DoxDumper(): - m_file( nullptr ) -{ -} - -std::string DoxDumper::expandedText( - const Interface& interface, const std::string& s ) const -{ - using namespace std; - - string expanded; - expanded = expandedString( s, "QUICKITEM", "QQuickItem *" ); - expanded = expandedString( expanded, "INHERITED", interface.baseName ); - expanded = expandedString( expanded, "CLASS", interface.className ); - - return expanded; -} - -std::string DoxDumper::expandedTextQml( - const Interface& interface, const std::string& s ) const -{ - using namespace std; - - string expanded; - expanded = expandedString( s, "QUICKITEM", "Item" ); - expanded = expandedString( expanded, "INHERITED", interface.qmlBaseName ); - expanded = expandedString( expanded, "CLASS", interface.qmlClassName ); - - return expanded; -} - -void DoxDumper::doxPrintf( const char* format, ... ) -{ - fputs( "/*!\n", m_file ); - - va_list args; - va_start ( args, format ); - vprintf ( format, args ); - va_end ( args ); - - fputs( "\n*/\n", m_file ); -} - -std::vector< std::string > DoxDumper::accessors( - const Property& property ) const -{ - using namespace std; - - vector< string > accessors; - if ( !property.read.empty() ) - accessors.push_back( property.read ); - - if ( !property.write.empty() ) - accessors.push_back( property.write ); - - if ( !property.notify.empty() ) - accessors.push_back( property.notify ); - - return accessors; -} - -std::string DoxDumper::accessorsAsString( const Property& property ) const -{ - std::vector< std::string > accessors = this->accessors( property ); - - std::string s; - for ( uint i = 0; i < accessors.size(); i++ ) - { - if ( i > 0 ) - s += ", "; - - s += accessors[i]; - } - - return s; -} - -int DoxDumper::dump( const Interface& interface, FILE* file ) -{ - if ( !interface.className.empty() ) - { - int ok = dumpCpp( interface, file ); - if ( ok != 0 ) - return ok; - } - -#if 0 // disabled until we fully support QML - if ( !interface.qmlClassName.empty() ) - { - if ( !interface.className.empty() ) - printf( "\n\n/* ========= */\n\n" ); - int ok = dumpQml( interface, file ); - if ( ok != 0 ) - return ok; - } -#endif - - return 0; -} - -int DoxDumper::dumpCpp( const Interface& interface, FILE* file ) -{ - m_file = file; - - if ( !interface.header.empty() ) - doxPrintf( "\\headerfile %s", toCStr( interface.header ) ); - - if ( !interface.description.empty() ) - { - const std::string expanded = expandedText( interface, interface.description ); - doxPrintf( "%s", toCStr( expanded ) ); - } - - // no base class, it is known from the real header - fprintf( m_file, "class %s\n{\npublic:\n", toCStr( interface.className ) ); - - for ( const auto property : interface.properties ) - { - const std::string expanded = expandedText( interface, property.description ); - - doxPrintf( "\\property %s %s\n\n%s\n\n\\accessors %s\n", - toCStr( property.type ), toCStr( property.name ), - toCStr( expanded ), toCStr( accessorsAsString( property ) ) ); - } - - for ( const auto enumdef : interface.enums ) - { - const std::string expanded = expandedText( interface, enumdef.description ); - - doxPrintf( "\\enum %s\n\n%s", - toCStr( enumdef.className ), toCStr( expanded ) ); - } - - for ( const auto method : interface.methods ) - { - const std::string expandedSignature = - expandedText( interface, method.signature ); - - const std::string expandedDescription = - expandedText( interface, method.description ); - - doxPrintf( "\\fn %s\n\n%s\n", - toCStr( expandedSignature ), toCStr( expandedDescription ) ); - } - - fprintf( m_file, "};\n" ); - - return 0; -} - -int DoxDumper::dumpQml( const Interface& interface, FILE* file ) -{ - m_file = file; - - if ( !interface.description.empty() ) - { - const std::string expanded = expandedText( interface, interface.description ); - doxPrintf( "%s\n\n\t\\sa %s", toCStr( expanded ), toCStr( interface.className ) ); - } - - if ( interface.qmlBaseName.empty() ) - { - fprintf( m_file, "class %s\n{\npublic:\n", toCStr( interface.qmlClassName ) ); - } - else - { - fprintf( m_file, "class %s: public %s\n{\n", - toCStr( interface.qmlClassName ), toCStr( interface.qmlBaseName ) ); - } - - for ( const auto property : interface.properties ) - { - const std::string expanded = expandedText( interface, property.description ); - - doxPrintf( "%s", toCStr( expanded ) ); - printf( "Q_PROPERTY( %s %s )\n\n", - toCStr( property.type ), toCStr( property.name ) ); - } - - fprintf( m_file, "public:\n" ); - - for ( const auto enumdef : interface.enums ) - { - const std::string expanded = expandedText( interface, enumdef.description ); - - doxPrintf( "\\enum %s\n\n%s", - toCStr( enumdef.qmlClassName ), toCStr( expanded ) ); - } - - for ( const auto method : interface.methods ) - { - if ( method.type == FUNCTION || method.type == SIGNAL ) - continue; - - const std::string expandedSignature = - expandedTextQml( interface, method.signature ); - - const std::string expandedDescription = - expandedTextQml( interface, method.description ); - - const std::string expanded = expandedText( interface, method.description ); - - doxPrintf( "%s", toCStr( expandedDescription ) ); - printf( "%s;\n", toCStr( expandedSignature ) ); - } - - fprintf( m_file, "};\n" ); - - return 0; -} diff --git a/tools/metadoxfilter/DoxDumper.h b/tools/metadoxfilter/DoxDumper.h deleted file mode 100644 index cf9d512b8..000000000 --- a/tools/metadoxfilter/DoxDumper.h +++ /dev/null @@ -1,36 +0,0 @@ -/****************************************************************************** - * QSkinny - Copyright (C) 2016 Uwe Rathmann - * This file may be used under the terms of the QSkinny License, Version 1.0 - *****************************************************************************/ - -#ifndef DOX_DUMPER_H -#define DOX_DUMPER_H - -#include "Interface.h" -#include - -class DoxDumper -{ - public: - DoxDumper(); - int dump( const Interface&, FILE* ); - - int dumpCpp( const Interface&, FILE* ); - int dumpQml( const Interface&, FILE* ); - - private: - void doxPrintf( const char* format, ... ); - - std::string expandedText( - const Interface&, const std::string& ) const; - - std::string expandedTextQml( - const Interface&, const std::string& ) const; - - std::vector< std::string > accessors( const Property& ) const; - std::string accessorsAsString( const Property& ) const; - - FILE* m_file; -}; - -#endif diff --git a/tools/metadoxfilter/Interface.h b/tools/metadoxfilter/Interface.h deleted file mode 100644 index 99608e68a..000000000 --- a/tools/metadoxfilter/Interface.h +++ /dev/null @@ -1,62 +0,0 @@ -/****************************************************************************** - * QSkinny - Copyright (C) 2016 Uwe Rathmann - * This file may be used under the terms of the QSkinny License, Version 1.0 - *****************************************************************************/ - -#ifndef _INTERFACE_H -#define _INTERFACE_H 1 - -#include -#include - -class Property -{ - public: - std::string name; - std::string type; - - std::string read; - std::string write; - std::string notify; - - std::string description; -}; - -class Enum -{ - public: - std::string className; - std::string qmlClassName; - std::string description; -}; - -class Method -{ - public: - Method( int methodType = -1 ): - type( methodType ) - { - } - - int type; - std::string signature; - std::string description; -}; - -class Interface -{ - public: - std::string className; - std::string baseName; - std::string qmlClassName; - std::string qmlBaseName; - std::string header; - - std::string description; - - std::vector< Property > properties; - std::vector< Enum > enums; - std::vector< Method > methods; -}; - -#endif diff --git a/tools/metadoxfilter/ParserTree.cpp b/tools/metadoxfilter/ParserTree.cpp deleted file mode 100644 index 9bc672322..000000000 --- a/tools/metadoxfilter/ParserTree.cpp +++ /dev/null @@ -1,219 +0,0 @@ -/****************************************************************************** - * QSkinny - Copyright (C) 2016 Uwe Rathmann - * This file may be used under the terms of the QSkinny License, Version 1.0 - *****************************************************************************/ - -#include "ParserTree.h" -#include -#include -#include -#include - -extern "C" -{ - #include "metadox.tab.h" -} - -static std::string trimmedString( const char* text ) -{ - using namespace std; - - string s( text ); - - s.erase( s.begin(), find_if( s.begin(), s.end(), bind1st( not_equal_to< char >(), ' ' ) ) ); - s.erase( find_if( s.rbegin(), s.rend(), bind1st( not_equal_to< char >(), ' ' ) ).base(), s.end() ); - - return s; -} - -void ParserTree::beginScope( int token ) -{ - m_scopeStack.push_back( token ); - - switch( token ) - { - case INTERFACE: - { - m_interfaces.emplace_back(); - break; - } - case PROPERTY: - { - m_interfaces.back().properties.emplace_back(); - break; - } - case ENUM: - { - m_interfaces.back().enums.emplace_back(); - break; - } - case FUNCTION: - case INVOKABLE: - case SIGNAL: - case SLOT: - { - m_interfaces.back().methods.emplace_back( token ); - break; - } - default: - ; - } -} - -void ParserTree::endScope() -{ - m_scopeStack.pop_back(); -} - -int ParserTree::scope() const -{ - return m_scopeStack.empty() ? -1 : m_scopeStack.back(); -} - -void ParserTree::addText( const char* text ) -{ - Interface& interface = m_interfaces.back(); - - int outerScope = -1; - if ( m_scopeStack.size() > 1 ) - outerScope = m_scopeStack[m_scopeStack.size() - 2]; - - if ( scope() == DESCRIPTION ) - { - std::string* description = nullptr; - - switch( outerScope ) - { - case INTERFACE: - { - description = &interface.description; - break; - } - case PROPERTY: - { - assert( !interface.properties.empty() ); - description = &interface.properties.back().description; - break; - } - case ENUM: - { - assert( !interface.enums.empty() ); - description = &interface.enums.back().description; - break; - } - default: - { - assert( !interface.methods.empty() ); - description = &interface.methods.back().description; - } - } - - if ( description ) - { - std::string& d = *description; - if ( !d.empty() ) - d += '\n'; - - if ( text ) - d += text; - } - - return; - } - - const std::string trimmed = trimmedString( text ); - - switch( scope() ) - { - // interface - case CLASS: - { - if ( outerScope == ENUM ) - { - assert( !interface.enums.empty() ); - interface.enums.back().className = trimmed; - } - else - { - interface.className = trimmed; - } - - break; - } - case BASE: - { - interface.baseName = trimmed; - break; - } - case QMLCLASS: - { - if ( outerScope == ENUM ) - { - assert( !interface.enums.empty() ); - interface.enums.back().qmlClassName = trimmed; - } - else - { - interface.qmlClassName = trimmed; - } - - break; - } - case QMLBASE: - { - interface.qmlBaseName = trimmed; - break; - } - case HEADER: - { - interface.header = trimmed; - break; - } - - // property - case NAME: - { - assert( !interface.properties.empty() ); - interface.properties.back().name = trimmed; - break; - } - case TYPE: - { - assert( !interface.properties.empty() ); - interface.properties.back().type = trimmed; - break; - } - case READ: - { - assert( !interface.properties.empty() ); - interface.properties.back().read = trimmed; - break; - } - case WRITE: - { - assert( !interface.properties.empty() ); - interface.properties.back().write = trimmed; - break; - } - case NOTIFY: - { - assert( !interface.properties.empty() ); - interface.properties.back().notify = trimmed; - break; - } - - // method - case SIGNATURE: - { - assert( !interface.methods.empty() ); - - std::string& signature = interface.methods.back().signature; - - if ( !signature.empty() ) - signature += "\n\t"; - - signature += trimmed; - break; - } - } -} diff --git a/tools/metadoxfilter/ParserTree.h b/tools/metadoxfilter/ParserTree.h deleted file mode 100644 index 3c26122b4..000000000 --- a/tools/metadoxfilter/ParserTree.h +++ /dev/null @@ -1,30 +0,0 @@ -/****************************************************************************** - * QSkinny - Copyright (C) 2016 Uwe Rathmann - * This file may be used under the terms of the QSkinny License, Version 1.0 - *****************************************************************************/ - -#ifndef _PARSER_TREE_H -#define _PARSER_TREE_H 1 - -#include "Interface.h" - -class ParserTree -{ - public: - void beginScope( int token ); - void addText( const char* ); - void endScope(); - - const std::vector< Interface >& interfaces() const - { - return m_interfaces; - } - - private: - int scope() const; - - std::vector< Interface > m_interfaces; - std::vector< int > m_scopeStack; -}; - -#endif diff --git a/tools/metadoxfilter/main.cpp b/tools/metadoxfilter/main.cpp deleted file mode 100644 index 37c7ddb5a..000000000 --- a/tools/metadoxfilter/main.cpp +++ /dev/null @@ -1,57 +0,0 @@ -/****************************************************************************** - * QSkinny - Copyright (C) 2016 Uwe Rathmann - * This file may be used under the terms of the QSkinny License, Version 1.0 - *****************************************************************************/ - -#include -#include -#include "ParserTree.h" -#include "DoxDumper.h" - -static ParserTree s_parserTree; - -extern "C" -{ - // pingpong between C/C++ - - extern int metadoxCompile( const char* ); - - void beginScope( int token ) - { - s_parserTree.beginScope( token ); - } - - void endScope() - { - s_parserTree.endScope(); - } - - void addText( const char* text ) - { - if ( text ) - s_parserTree.addText( text ); - } -} - -int main( int argc, const char* argv[] ) -{ - const char* inFileName = nullptr; - - if ( argc == 2 ) - inFileName = argv[1]; - - int ok = metadoxCompile( inFileName ); - if ( ok != 0 ) - return ok; - - DoxDumper dumper; - for ( auto interface : s_parserTree.interfaces() ) - { - ok = dumper.dump( interface, stdout ); - if ( ok != 0 ) - break; - } - - return ok; -} - diff --git a/tools/metadoxfilter/metadox.l b/tools/metadoxfilter/metadox.l deleted file mode 100644 index 957cfb3a7..000000000 --- a/tools/metadoxfilter/metadox.l +++ /dev/null @@ -1,162 +0,0 @@ -%{ - #include "metadox.tab.h" -%} - -whitespace [ \t] -comment "#".* -eol \n -colon : -end END - -%x SCOPEBEGIN -%x SCOPEBLOCK -%x SCOPELINE - -%option yylineno - -%% - -[ \t\n]+ { - /* ignore */ -} - -{comment} { - /* ignore */ -} - -"INTERFACE" { - return(INTERFACE); -} - -"PROPERTY" { - return(PROPERTY); -} - -"ENUM" { - return(ENUM); -} - -"FUNCTION" { - return(FUNCTION); -} - -"INVOKABLE" { - return(INVOKABLE); -} - -"SIGNAL" { - return(SIGNAL); -} - -"SLOT" { - return(SLOT); -} - -"CLASS" { - BEGIN SCOPEBEGIN; - return(CLASS); -} - -"BASE" { - BEGIN SCOPEBEGIN; - return(BASE); -} - -"QMLCLASS" { - BEGIN SCOPEBEGIN; - return(QMLCLASS); -} - -"QMLBASE" { - BEGIN SCOPEBEGIN; - return(QMLBASE); -} - -"HEADER" { - BEGIN SCOPEBEGIN; - return(HEADER); -} - -"NAME" { - BEGIN SCOPEBEGIN; - return(NAME); -} - -"TYPE" { - BEGIN SCOPEBEGIN; - return(TYPE); -} - -"READ" { - BEGIN SCOPEBEGIN; - return(READ); -} - -"WRITE" { - BEGIN SCOPEBEGIN; - return(WRITE); -} - -"NOTIFY" { - BEGIN SCOPEBEGIN; - return(NOTIFY); -} - -"SIGNATURE" { - BEGIN SCOPEBEGIN; - return(SIGNATURE); -} - -"DESCRIPTION" { - BEGIN SCOPEBEGIN; - return(DESCRIPTION); -} - -{end} { - return(END); -} - -{ - - {whitespace}*{colon} { - BEGIN SCOPELINE; - } - - {whitespace}*{eol} { - BEGIN SCOPEBLOCK; - } -} - -{ - - {eol} { - BEGIN INITIAL; - return(END); - } - - .* { - yylval.sval = yytext; - return(TEXT); - } -} - -{ - - ^{whitespace}*{end}{whitespace}* { - BEGIN INITIAL; - return(END); - } - - ^{whitespace}*{eol} { - yylval.sval = ""; - return(TEXT); - } - - {eol} { - } - - .* { - yylval.sval = yytext; - return(TEXT); - } -} diff --git a/tools/metadoxfilter/metadox.y b/tools/metadoxfilter/metadox.y deleted file mode 100644 index fb90012ac..000000000 --- a/tools/metadoxfilter/metadox.y +++ /dev/null @@ -1,207 +0,0 @@ -%{ -#include - -extern void beginScope( int ); -extern void endScope(); -extern void addText( const char* ); - -%} - -%error-verbose - -// Symbols. -%union -{ - char *sval; -}; - -%token TEXT -%token INTERFACE -%token CLASS -%token BASE -%token QMLCLASS -%token QMLBASE -%token HEADER -%token NAME -%token TYPE -%token READ -%token WRITE -%token NOTIFY -%token ENUM -%token PROPERTY -%token FUNCTION -%token INVOKABLE -%token SIGNAL -%token SLOT -%token SIGNATURE -%token DESCRIPTION -%token END - -%start Interfaces -%% - -Interfaces: - | Interfaces Interface; - -Interface: - INTERFACE { beginScope( INTERFACE ); } - InterfaceParts - End - -InterfaceParts: - | InterfaceParts InterfacePart - -InterfacePart: - Class | Base | QmlClass | QmlBase | Header | Description - | Enum | Property | Function | Invokable | Slots | Signals - -Enum: - ENUM { beginScope( ENUM ); } - EnumParts - End - -EnumParts: - | EnumParts EnumPart - -EnumPart: - Class | QmlClass | Description - -Property: - PROPERTY { beginScope( PROPERTY ); } - PropertyParts - End - -PropertyParts: - | PropertyParts PropertyPart - -PropertyPart: - Name | Type | Read | Write | Notify | Description - -Function: - FUNCTION { beginScope( FUNCTION ); } - FunctionParts - End - -Invokable: - INVOKABLE { beginScope( INVOKABLE ); } - FunctionParts - End - -Slots: - SLOT { beginScope( SLOT ); } - FunctionParts - End - -Signals: - SIGNAL { beginScope( SIGNAL ); } - FunctionParts - End - -FunctionParts: - Signature Description - -Signature: - SIGNATURE { beginScope( SIGNATURE ); } - Textlines - End - -Description: - DESCRIPTION { beginScope( DESCRIPTION ); } - Textlines - End - -Class: - CLASS { beginScope( CLASS ); } - Textline - End - -Base: - BASE { beginScope( BASE ); } - Textline - End - -QmlClass: - QMLCLASS { beginScope( QMLCLASS ); } - Textline - End - -QmlBase: - QMLBASE { beginScope( QMLBASE ); } - Textline - End - -Header: - HEADER { beginScope( HEADER ); } - Textline - End - -Name: - NAME { beginScope( NAME ); } - Textline - End - -Type: - TYPE { beginScope( TYPE ); } - Textline - End - -Read: - READ { beginScope( READ ); } - Textline - End - -Write: - WRITE { beginScope( WRITE ); } - Textline - End - -Notify: - NOTIFY { beginScope( NOTIFY ); } - Textline - End - -Textlines: - | Textlines Textline - -Textline: - TEXT { addText( $1 ); } - -End: - END { endScope(); } - -%% - -#include "metadox.lex.h" -#include "metadox.tab.h" -#include -#include - - -int yyerror( const char *s ) -{ - printf("Error at line %d: %s\n", yylineno, s); - return 0; -} - -int metadoxCompile( const char* fileName ) -{ - int ok; - FILE *fp = 0; - - /*yydebug = 1; */ - if ( fileName ) - { - fp = fopen( fileName, "r" ); - yyin = fp; - ok = yyparse(); - fclose(fp); - } - else - { - ok = yyparse(); - } - - return ok; -} - - diff --git a/tools/metadoxfilter/metadoxfilter.pro b/tools/metadoxfilter/metadoxfilter.pro deleted file mode 100644 index c1dedbb41..000000000 --- a/tools/metadoxfilter/metadoxfilter.pro +++ /dev/null @@ -1,64 +0,0 @@ -TEMPLATE = app - -CONFIG -= qt - -DESTDIR = $${QSK_OUT_ROOT}/tools/bin -PARSERDIR = parser - -TARGET = metadoxfilter - -FLEXSOURCES += metadox.l -BISONSOURCES += metadox.y - -HEADERS += \ - Interface.h \ - DoxDumper.h \ - ParserTree.h - -SOURCES += \ - ParserTree.cpp \ - DoxDumper.cpp \ - main.cpp - -#FLEXFLAGS = -d -#BISONFLAGS = -t - -LIBS += -lfl -ly - -INCLUDEPATH += $${PARSERDIR} -QMAKE_CFLAGS += -Wno-implicit-function-declaration -Wno-sign-compare -Wno-unused-function - -flexc.name = Lexer generator -flexc.input = FLEXSOURCES -flexc.output = $${PARSERDIR}/${QMAKE_FILE_BASE}.lex.c -flexc.variable_out = SOURCES -flexc.commands = mkdir -p $${PARSERDIR}; -flexc.commands += flex $${FLEXFLAGS} -o $${flexc.output} ${QMAKE_FILE_IN} -flexc.CONFIG += target_predeps no_link - -flexh.name = Lexer Header generator -flexh.input = FLEXSOURCES -flexh.output = $${PARSERDIR}/${QMAKE_FILE_BASE}.lex.h -flexh.variable_out = HEADERS -flexh.commands = mkdir -p $${PARSERDIR}; -flexh.commands += flex $${FLEXFLAGS} --header-file=$${flexh.output} -o /dev/null ${QMAKE_FILE_IN} -flexh.CONFIG += target_predeps no_link - -bisonc.name = Parser generator -bisonc.input = BISONSOURCES -bisonc.output = $${PARSERDIR}/${QMAKE_FILE_BASE}.tab.c -bisonc.commands = mkdir -p $${PARSERDIR}; -bisonc.commands += bison $${BISONFLAGS} -o $${bisonc.output} ${QMAKE_FILE_IN} -bisonc.variable_out = SOURCES -bisonc.CONFIG += target_predeps no_link - -bisonh.name = Parser generator -bisonh.input = BISONSOURCES -bisonh.output = $${PARSERDIR}/${QMAKE_FILE_BASE}.tab.h -bisonh.commands = mkdir -p $${PARSERDIR}; -bisonh.commands += bison $${BISONFLAGS} --defines=$${bisonh.output} -o /dev/null ${QMAKE_FILE_IN} -bisonh.variable_out = HEADERS -bisonh.CONFIG += target_predeps no_link - -QMAKE_EXTRA_COMPILERS += flexh bisonh flexc bisonc -