started with the doxygen docs

This commit is contained in:
Uwe Rathmann 2020-12-08 11:02:57 +01:00
parent fbf2a33a9a
commit abca458a2e
117 changed files with 983 additions and 3769 deletions

3
doc/COPYING Normal file
View File

@ -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

View File

@ -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

View File

@ -1,9 +0,0 @@
INTERFACE
CLASS: QskAnimationHint
HEADER: QskAnimationHint.h
DESCRIPTION
\brief QskAnimationHint
END
END

View File

@ -1,9 +0,0 @@
INTERFACE
CLASS: QskAnimator
HEADER: QskAnimator.h
DESCRIPTION
\brief QskAnimator
END
END

View File

@ -1,13 +0,0 @@
INTERFACE
CLASS: QskBox
BASE: QskControl
QMLCLASS: Box
QMLBASE: Control
HEADER: QskBox.h
DESCRIPTION
\brief QskBox
END
END

View File

@ -1,9 +0,0 @@
INTERFACE
CLASS: QskBoxBorderColors
HEADER: QskBoxBorderColors.h
DESCRIPTION
\brief QskBoxBorderColors
END
END

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskBoxBorderMetrics
BASE: QskBoxBorderMetrics
HEADER: QskBoxBorderMetrics.h
DESCRIPTION
\brief Something
END
END

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskBoxClipNode
BASE: QSGClipNode
HEADER: QskBoxClipNode.h
DESCRIPTION
\brief QskBoxClipNode
END
END

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskBoxNode
BASE: QSGGeometryNode
HEADER: QskBoxNode.h
DESCRIPTION
\brief QskBoxNode
END
END

View File

@ -1,9 +0,0 @@
INTERFACE
CLASS: QskBoxShapeMetrics
HEADER: QskBoxShapeMetrics.h
DESCRIPTION
\brief QskBoxShapeMetrics
END
END

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskBoxSkinlet
BASE: QskSkinlet
HEADER: QskBoxSkinlet.h
DESCRIPTION
\brief QskBoxSkinlet
END
END

View File

@ -1,9 +0,0 @@
INTERFACE
CLASS: QskColorFilter
HEADER: QskColorFilter.h
DESCRIPTION
\brief QskColorFilter
END
END

View File

@ -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:
};

View File

@ -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

View File

@ -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

View File

@ -1,13 +0,0 @@
INTERFACE
CLASS: QskDialogButton
BASE: QskPushButton
QMLCLASS: DialogButton
QMLBASE: Button
HEADER: QskDialogButton.h
DESCRIPTION
\brief QskDialogButton
END
END

View File

@ -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

View File

@ -1,13 +0,0 @@
INTERFACE
CLASS: QskDialogSubWindow
BASE: QskSubWindow
QMLCLASS: DialogSubWindow
QMLBASE: SubWindow
HEADER: QskDialogSubWindow.h
DESCRIPTION
\brief QskDialogSubWindow
END
END

View File

@ -1,13 +0,0 @@
INTERFACE
CLASS: QskDialogWindow
BASE: QskWindow
QMLCLASS: DialogWindow
QMLBASE: Window
HEADER: QskDialogWindow.h
DESCRIPTION
\brief QskDialogWindow
END
END

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskFlickAnimator
BASE: QskAnimator
HEADER: QskFlickAnimator.h
DESCRIPTION
\brief QskFlickAnimator
END
END

View File

@ -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

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskFocusIndicatorSkinlet
BASE: QskSkinlet
HEADER: QskFocusIndicatorSkinlet.h
DESCRIPTION
\brief QskFocusIndicatorSkinlet
END
END

View File

@ -1,9 +0,0 @@
INTERFACE
CLASS: QskGesture
HEADER: QskGesture.h
DESCRIPTION
\brief QskGesture
END
END

View File

@ -1,9 +0,0 @@
INTERFACE
CLASS: QskGestureRecognizer
HEADER: QskGestureRecognizer.h
DESCRIPTION
\brief QskGestureRecognizer
END
END

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS : QskGradientStop
QMLCLASS: GradientStop
HEADER: QskGradient.h
DESCRIPTION
\brief A color stop of a gradient
END
END

View File

@ -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:
};

View File

@ -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

View File

@ -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
{
/*!
*/
}

View File

@ -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

View File

@ -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

View File

@ -1,11 +0,0 @@
/*!
\headerfile QskGraphicLabelSkin.h
\brief Base class of all skins for QskGraphicLabel
*/
class QskGraphicLabelSkin
{
/*!
*/
};

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskGraphicLabelSkinlet
BASE: QskSkinlet
HEADER: QskGraphicLabelSkinlet.h
DESCRIPTION
\brief QskGraphicLabelSkinlet
END
END

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskGraphicNode
BASE: QskTextureNode
HEADER: QskGraphicNode.h
DESCRIPTION
\brief QskGraphicNode
END
END

View File

@ -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

View File

@ -1,9 +0,0 @@
INTERFACE
CLASS: QskGraphicProviderMap
HEADER: QskGraphicProviderMap.h
DESCRIPTION
\brief QskGraphicProviderMap
END
END

View File

@ -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

View File

@ -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

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskHintAnimator
BASE: QskVariantAnimator
HEADER: QskHintAnimator.h
DESCRIPTION
\brief QskHintAnimator
END
END

View File

@ -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
*/
};

View File

@ -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

View File

@ -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.
*/
};

View File

@ -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

View File

@ -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

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskListViewSkinlet
BASE: QskSkinlet
HEADER: QskListViewSkinlet.h
DESCRIPTION
\brief QskListViewSkinlet
END
END

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskMargins
BASE: QMarginsF
HEADER: QskMargins.h
DESCRIPTION
\brief A stupid wrapper around QMarginsF
END
END

View File

@ -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

View File

@ -1,13 +0,0 @@
INTERFACE
CLASS: QskMessageSubWindow
BASE: QskDialogSubWindow
QMLCLASS: MessageSubWindow
QMLBASE: DialogSubWindow
HEADER: QskMessageSubWindow.h
DESCRIPTION
\brief QskMessageSubWindow
END
END

View File

@ -1,13 +0,0 @@
INTERFACE
CLASS: QskMessageWindow
BASE: QskDialogWindow
QMLCLASS: MessageWindow
QMLBASE: DialogWindow
HEADER: QskDialogWindow.h
DESCRIPTION
\brief QskDialogWindow
END
END

View File

@ -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

View File

@ -1,13 +0,0 @@
INTERFACE
CLASS: QskPageIndicator
BASE: QskControl
QMLCLASS: PageIndicator
QMLBASE: Control
HEADER: QskPageIndicator.h
DESCRIPTION
\brief A page indicator
END
END

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskPageIndicatorSkinlet
BASE: QskSkinlet
HEADER: QskPageIndicatorSkinlet.h
DESCRIPTION
\brief QskPageIndicatorSkinlet
END
END

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskPaintedNode
BASE: QskTextureNode
HEADER: QskPaintedNode.h
DESCRIPTION
\brief QskPaintedNode
END
END

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskPanGestureRecognizer
BASE: QskGestureRecognizer
HEADER: QskPanGestureRecognizer.h
DESCRIPTION
\brief QskPanGestureRecognizer
END
END

View File

@ -1,13 +0,0 @@
INTERFACE
CLASS: QskPopup
BASE: QskControl
QMLCLASS: QskPopup
QMLBASE: Control
HEADER: QskPopup.h
DESCRIPTION
\brief Something
END
END

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskPopupSkinlet
BASE: QskSkinlet
HEADER: QskPopupSkinlet.h
DESCRIPTION
\brief QskPopupSkinlet
END
END

View File

@ -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

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskPushButtonSkinlet
BASE: QskSkinlet
HEADER: QskPushButtonSkinlet.h
DESCRIPTION
\brief QskPushButtonSkinlet
END
END

View File

@ -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;
*/

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskQuickItem
BASE: QQuickItem
HEADER: QskQuickItem.h
DESCRIPTION
\brief QskQuickItem
END
END

View File

@ -1,13 +0,0 @@
INTERFACE
CLASS: QskRangeControl
BASE: QskControl
QMLCLASS: RangeControl
QMLBASE: Control
HEADER: QskRangeControl.h
DESCRIPTION
\brief QskRangeControl
END
END

View File

@ -1,13 +0,0 @@
INTERFACE
CLASS: QskScrollArea
BASE: QskScrollView
QMLCLASS: ScrollArea
QMLBASE: ScrollView
HEADER: QskScrollArea.h
DESCRIPTION
\brief QskScrollArea
END
END

View File

@ -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

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskScrollViewSkinlet
BASE: QskSkinlet
HEADER: QskScrollViewSkinlet.h
DESCRIPTION
\brief QskScrollViewSkinlet
END
END

View File

@ -1,13 +0,0 @@
INTERFACE
CLASS: QskSelectionSubWindow
BASE: QskDialogSubWindow
QMLCLASS: SelectionSubWindow
QMLBASE: DialogSubWindow
HEADER: QskSelectionSubWindow.h
DESCRIPTION
\brief QskSelectionSubWindow
END
END

View File

@ -1,13 +0,0 @@
INTERFACE
CLASS: QskSelectionWindow
BASE: QskDialogWindow
QMLCLASS: SelectionWindow
QMLBASE: DialogWindow
HEADER: QskSelectionWindow.h
DESCRIPTION
\brief QskSelectionWindow
END
END

View File

@ -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
*/

View File

@ -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

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskSeparatorSkinlet
BASE: QskSkinlet
HEADER: QskSeparatorSkinlet.h
DESCRIPTION
\brief QskSeparatorSkinlet
END
END

38
doc/classes/QskSetup.dox Normal file
View File

@ -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* );
*/
};

View File

@ -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

View File

@ -1,9 +0,0 @@
INTERFACE
CLASS: QskShortcutMap
HEADER: QskShortcutMap.h
DESCRIPTION
\brief QskShortcutMap
END
END

View File

@ -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

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskSizePolicy
QMLCLASS: SizePolicy
HEADER QskSizePolicy.h
DESCRIPTION
\brief A size policy ( similar to QSizePolicy )
END
END

View File

@ -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. */
*/

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskSkinFactory
BASE: QObject
HEADER: QskSkinFactory.h
DESCRIPTION
\brief QskSkinFactory
END
END

View File

@ -1,9 +0,0 @@
INTERFACE
CLASS: QskSkinHintTable
HEADER: QskSkinHintTable.h
DESCRIPTION
\brief QskSkinHintTable
END
END

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskSkinManager
BASE: QObject
HEADER: QskSkinManager.h
DESCRIPTION
\brief QskSkinManager
END
END

View File

@ -1,9 +0,0 @@
INTERFACE
CLASS: QskSkinTransition
HEADER: QskSkinTransition.h
DESCRIPTION
\brief QskSkinTransition
END
END

View File

@ -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:
};

View File

@ -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

View File

@ -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.
*/
};

View File

@ -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.
*/

View File

@ -1,13 +0,0 @@
INTERFACE
CLASS: QskSlider
BASE: QskRangeControl
QMLCLASS: Slider
QMLBASE: RangeControl
HEADER: QskSlider.h
DESCRIPTION
\brief A slider
END
END

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskSliderSkinlet
BASE: QskSkinlet
HEADER: QskSliderSkinlet.h
DESCRIPTION
\brief QskSliderSkinlet
END
END

View File

@ -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

View File

@ -1,8 +0,0 @@
INTERFACE
CLASS: QskStandardSymbol
HEADER: QskStandardSymbol.h
DESCRIPTION
\brief QskStandardSymbol
END
END

View File

@ -1,13 +0,0 @@
INTERFACE
CLASS: QskStatusIndicator
BASE: QskControl
QMLCLASS: StatusIndicator
QMLBASE: Control
HEADER: QskStatusIndicator.h
DESCRIPTION
\brief QskStatusIndicator
END
END

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskStatusIndicatorSkinlet
BASE: QskSkinlet
HEADER: QskStatusIndicatorSkinlet.h
DESCRIPTION
\brief QskStatusIndicatorSkinlet
END
END

View File

@ -1,13 +0,0 @@
INTERFACE
CLASS: QskSubWindow
BASE: QskPopup
QMLCLASS: SubWindow
QMLBASE: Popup
HEADER: QskSubWindow.h
DESCRIPTION
\brief QskSubWindow
END
END

View File

@ -1,13 +0,0 @@
INTERFACE
CLASS: QskSubWindowArea
BASE: QskControl
QMLCLASS: QskSubWindowArea
QMLBASE: QskControl
HEADER: QskSubWindowArea.h
DESCRIPTION
\brief QskSubWindowArea
END
END

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskSubWindowAreaSkinlet
BASE: QskSkinlet
HEADER: QskSubWindowAreaSkinlet.h
DESCRIPTION
\brief QskSubWindowAreaSkinlet
END
END

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskSubWindowSkinlet
BASE: QskSkinlet
HEADER: QskSubWindowSkinlet.h
DESCRIPTION
\brief QskSubWindowSkinlet
END
END

View File

@ -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

View File

@ -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

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskTabButtonSkinlet
BASE: QskSkinlet
HEADER: QskTabButtonSkinlet.h
DESCRIPTION
\brief QskTabButtonSkinlet
END
END

View File

@ -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

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskTabViewSkinlet
BASE: QskSkinlet
HEADER: QskTabViewSkinlet.h
DESCRIPTION
\brief QskTabViewSkinlet
END
END

View File

@ -1,10 +0,0 @@
INTERFACE
CLASS: QskTextColors
QMLCLASS: TextColors
HEADER: QskTextColors.h
DESCRIPTION
\brief QskTextColors
END
END

View File

@ -1,13 +0,0 @@
INTERFACE
CLASS: QskTextInput
BASE: QskControl
QMLCLASS: QskTextInput
QMLBASE: Control
HEADER: QskTextInput.h
DESCRIPTION
\brief QskTextInput
END
END

Some files were not shown because too many files have changed in this diff Show More