This commit is contained in:
Uwe Rathmann 2020-12-12 14:05:09 +01:00
parent d5eadee8c5
commit 5f1b45177e
12 changed files with 370 additions and 709 deletions

View File

@ -115,7 +115,7 @@ BRIEF_MEMBER_DESC = YES
# brief descriptions will be completely suppressed.
# The default value is: YES.
REPEAT_BRIEF = YES
REPEAT_BRIEF = NO
# This tag implements a quasi-intelligent brief description abbreviator that is
# used to form the text in various listings. Each string in this list, if found
@ -719,7 +719,7 @@ SHOW_USED_FILES = NO
# (if specified).
# The default value is: YES.
SHOW_FILES = YES
SHOW_FILES = NO
# Set the SHOW_NAMESPACES tag to NO to disable the generation of the Namespaces
# page. This will remove the Namespaces entry from the Quick Index and from the
@ -864,53 +864,7 @@ INPUT_ENCODING = UTF-8
# C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd,
# *.vhdl, *.ucf, *.qsf and *.ice.
FILE_PATTERNS = *.c \
*.cc \
*.cxx \
*.cpp \
*.c++ \
*.java \
*.ii \
*.ixx \
*.ipp \
*.i++ \
*.inl \
*.idl \
*.ddl \
*.odl \
*.h \
*.hh \
*.hxx \
*.hpp \
*.h++ \
*.cs \
*.d \
*.php \
*.php4 \
*.php5 \
*.phtml \
*.inc \
*.m \
*.markdown \
*.md \
*.mm \
*.dox \
*.doc \
*.txt \
*.py \
*.pyw \
*.f90 \
*.f95 \
*.f03 \
*.f08 \
*.f18 \
*.f \
*.for \
*.vhd \
*.vhdl \
*.ucf \
*.qsf \
*.ice
FILE_PATTERNS =
# The RECURSIVE tag can be used to specify whether or not subdirectories should
# be searched for input files as well.
@ -1014,7 +968,7 @@ INPUT_FILTER =
# need to set EXTENSION_MAPPING for the extension otherwise the files are not
# properly processed by doxygen.
FILTER_PATTERNS =
FILTER_PATTERNS = *.h=doxyfilter.sh
# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
# INPUT_FILTER) will also be used to filter the input files that are used for
@ -1295,7 +1249,7 @@ HTML_DYNAMIC_MENUS = YES
# The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES.
HTML_DYNAMIC_SECTIONS = YES
HTML_DYNAMIC_SECTIONS = NO
# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of entries
# shown in the various tree structured indices initially; the user can expand
@ -1777,7 +1731,7 @@ LATEX_MAKEINDEX_CMD = makeindex
# The default value is: NO.
# This tag requires that the tag GENERATE_LATEX is set to YES.
COMPACT_LATEX = NO
COMPACT_LATEX = YES
# The PAPER_TYPE tag can be used to set the paper type that is used by the
# printer.
@ -2161,7 +2115,7 @@ MACRO_EXPANSION = YES
# The default value is: NO.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
EXPAND_ONLY_PREDEF = YES
EXPAND_ONLY_PREDEF = NO
# If the SEARCH_INCLUDES tag is set to YES, the include files in the
# INCLUDE_PATH will be searched if a #include is found.
@ -2193,9 +2147,9 @@ INCLUDE_FILE_PATTERNS =
# recursively expanded use the := operator instead of the = operator.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
PREDEFINED = \
PREDEFINED = \
Q_GADGET= \
QSK_EXPORT= \
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this
# tag can be used to specify a list of macro names that should be expanded. The
@ -2204,7 +2158,7 @@ PREDEFINED = \
# definition found in the source code.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
EXPAND_AS_DEFINED = QSK_EXPORT
#EXPAND_AS_DEFINED = QSK_SUBCONTROLS QSK_STATES
# If the SKIP_FUNCTION_MACROS tag is set to YES then doxygen's preprocessor will
# remove all references to function-like macros that are alone on a line, have
@ -2315,7 +2269,7 @@ DOT_NUM_THREADS = 0
# The default value is: Helvetica.
# This tag requires that the tag HAVE_DOT is set to YES.
DOT_FONTNAME =
DOT_FONTNAME = Helvetica
# The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
# dot graphs.
@ -2522,7 +2476,7 @@ PLANTUML_INCLUDE_PATH =
# Minimum value: 0, maximum value: 10000, default value: 50.
# This tag requires that the tag HAVE_DOT is set to YES.
DOT_GRAPH_MAX_NODES = 50
DOT_GRAPH_MAX_NODES = 20
# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the graphs
# generated by dot. A depth value of 3 means that only nodes reachable from the
@ -2546,7 +2500,7 @@ MAX_DOT_GRAPH_DEPTH = 0
# The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES.
DOT_TRANSPARENT = NO
DOT_TRANSPARENT = YES
# Set the DOT_MULTI_TARGETS tag to YES to allow dot to generate multiple output
# files in one run (i.e. multiple -o and -T options on the command line). This
@ -2563,7 +2517,7 @@ DOT_MULTI_TARGETS = NO
# The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to YES.
GENERATE_LEGEND = YES
GENERATE_LEGEND = NO
# If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
# files that are used to generate the various graphs.

View File

@ -38,8 +38,9 @@
<!-- Layout definition for a class page -->
<class>
<briefdescription visible="yes"/>
<briefdescription visible="no"/>
<includes visible="$SHOW_INCLUDE_FILES"/>
<detaileddescription title=""/>
<inheritancegraph visible="$CLASS_GRAPH"/>
<collaborationgraph visible="$COLLABORATION_GRAPH"/>
<memberdecl>
@ -76,7 +77,6 @@
<friends title=""/>
<membergroups visible="yes"/>
</memberdecl>
<detaileddescription title=""/>
<memberdef>
<inlineclasses title=""/>
<typedefs title=""/>

View File

@ -1,5 +1,5 @@
/*!
\headerfile QskControl.h
\class QskControl QskControl.h
\brief Base class of all Qsk controls
@ -31,9 +31,3 @@
- QEvent::ContentsRectChange
- QEvent::LayoutRequest
*/
class QskControl
{
public:
};

View File

@ -1,5 +1,5 @@
/*!
\headerfile QskGraphic.h
\class QskGraphic QskGraphic.h
\brief A paint device for scalable graphics
QskGraphic is the representation of a graphic that is tailored for
@ -37,11 +37,4 @@
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,154 +1,69 @@
/*!
\headerfile QskIndexedLayoutBox.h
\class QskIndexedLayoutBox QskIndexedLayoutBox.h
\brief Base class of layouts with index ordered elements
*/
class QskIndexedLayoutBox
{
public:
/*!
\property bool autoAddChildren
/*!
\property bool QskIndexedLayoutBox::autoAddChildren
\brief Flag controlling whether to automatically append children to the layout.
\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().
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
\note Children being transparent for positioners are ignored
\accessors autoAddChildren(), setAutoAddChildren(), autoAddChildrenChanged()
*/
\accessors autoAddChildren(), setAutoAddChildren(), autoAddChildrenChanged()
*/
/*!
\fn QskIndexedLayoutBox( QQuickItem * parent )
/*!
\fn QskIndexedLayoutBox::QskIndexedLayoutBox( QQuickItem* )
\brief Constructor
\brief Constructor
Create a layout having autoAddChildren set to false.
Create a layout having autoAddChildren set to false.
\param parent Parent item
*/
\param parent Parent item
*/
/*!
\fn ~QskIndexedLayoutBox()
\brief Destructor
*/
/*!
\fn QskIndexedLayoutBox::~QskIndexedLayoutBox()
\brief Destructor
*/
/*!
\fn void addItem( QQuickItem * item, Qt::Alignment alignment )
/*!
\fn void QskIndexedLayoutBox::autoAddChildrenChanged()
\brief Insert an item at the end
The autoAddChildren property has changed
\sa setAutoAddChildren(), autoAddChildren()
*/
The geometries of items being inserted be controlled by the layout.
/*!
\fn void QskIndexedLayoutBox::setAutoAddChildren( bool on )
\param item Item to be inserted
\param alignment Flags to control how to align a non expandable element
inside of the available space.
\brief En/Disable auto appending of children
\sa insertItem()
\sa QskLayout::itemAtIndex()
*/
When autoAddChildren() is enabled new children are automatically
appended to the layout. Otherwise items have to be inserted
manually using addItem() or insertItem().
/*!
\fn void insertItem( int index, QQuickItem* item,
Qt::Alignment alignment = Qt::Alignment() );
\param on When true autoAddChildren is enabled
\brief Insert an item
\note Existing children, that have not been inserted before
remain being not seen by the layout.
*/
The geometries of items being inserted be controlled by the layout.
/*!
\fn bool QskIndexedLayoutBox::autoAddChildren() const
\return Value of the \ref autoAddChildren property
*/
\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.
/*!
\fn void QskIndexedLayoutBox::itemChange( QQQuickItem *::ItemChange, const QQQuickItem *::ItemChangeData & )
\sa addItem(), QskLayout::itemAtIndex()
*/
Checking ItemChildAddedChange/ItemChildRemovedChange changes to
implement the \ref autoAddChildren mode
/*!
\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
*/
};
\sa autoAddChildren
*/

View File

@ -1,5 +1,5 @@
/*!
\headerfile QskLinearBox.h
\class QskLinearBox QskLinearBox.h
\brief Layout stringing items in rows and columns
@ -27,444 +27,292 @@
\sa QskGridBox, QskStackBox
*/
class QskLinearBox
{
public:
/*!
\property Qt::Orientation QskLinearBox::orientation
/*!
\property Qt::Orientation orientation
\brief Direction of flow for laying out the items
\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 ).
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().
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()
*/
\sa transpose(), dimension
\accessors orientation(), setOrientation(), orientationChanged()
*/
/*!
\property uint QskLinearBox::dimension
/*!
\property uint dimension
\brief Upper limit for the number of elements in a row or column
\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.
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.
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()
*/
\sa orientation
\accessors dimension(), setDimension(), dimensionChanged()
*/
/*!
\property qreal QskLinearBox::spacing
/*!
\property qreal spacing
\brief Global layout 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.
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.
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.
\note In opposite to a spacer, the global spacing does not insert elements.
\sa setRowSpacing(), setColumnSpacing(), insertSpacer(), QskControl::setMargins()
\accessors spacing(), setSpacing(), spacingChanged()
*/
\sa setRowSpacing(), setColumnSpacing(), insertSpacer(), QskControl::setMargins()
\accessors spacing(), setSpacing(), spacingChanged()
*/
/*!
\fn QskLinearBox::QskLinearBox( QQuickItem* );
/*!
\fn QskLinearBox( QQuickItem * parent );
\brief Create a row layout
\brief Create a row layout
The \ref orientation is set to Qt::Horizontal orientation having
an unlimited \ref dimension.
The \ref orientation is set to Qt::Horizontal orientation having
an unlimited \ref dimension.
\param parent Parent item
\sa orientation, dimension
*/
\param parent Parent item
\sa orientation, dimension
*/
/*!
\fn QskLinearBox::QskLinearBox( Qt::Orientation orientation, QQuickItem * parent );
/*!
\fn QskLinearBox( Qt::Orientation orientation, QQuickItem * parent );
\brief Create a row or column layout
\brief Create a row or column layout
The \ref dimension is unlimited.
The \ref dimension is unlimited.
\param orientation Qt::Horizontal or Qt::Vertical
\param parent Parent item
\param orientation Qt::Horizontal or Qt::Vertical
\param parent Parent item
\sa orientation, dimension
*/
\sa orientation, dimension
*/
/*!
\fn QskLinearBox::QskLinearBox( Qt::Orientation, uint, QQuickItem* );
/*!
\fn QskLinearBox( Qt::Orientation orientation,
int dimension, QQuickItem * parent );
\brief Constructor
\brief Constructor
\param orientation Qt::Horizontal or Qt::Vertical
\param dimension Upper limit for the number of elements
in a row or column
\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
\param parent Parent item
\sa orientation, dimension
*/
\sa orientation, dimension
*/
/*!
\fn QskLinearBox::~QskLinearBox();
/*!
\fn ~QskLinearBox();
Destructor
*/
Destructor
*/
/*!
\fn void QskLinearBox::setOrientation( Qt::Orientation orientation );
/*!
\fn void setOrientation( Qt::Orientation orientation );
\brief Set the orientation of the layout
\param orientation Qt::Vertical or Qt::Horizontal
\sa orientation
*/
\brief Set the orientation of the layout
\param orientation Qt::Vertical or Qt::Horizontal
\sa orientation
*/
/*!
\fn Qt::Orientation QskLinearBox::orientation() const;
\return Value of the \ref orientation property
*/
/*!
\fn Qt::Orientation orientation(void) const;
\return Value of the \ref orientation property
*/
/*!
\fn void QskLinearBox::transpose()
/*!
\fn void transpose()
\brief Invert the orientation of the layout
\brief Invert the orientation of the layout
Qt::Horizontal becomes to Qt::Vertical and v.v.
\sa setOrientation(), orientation(), orientationChanged()
*/
Qt::Horizontal becomes to Qt::Vertical and v.v.
\sa setOrientation(), orientation(), orientationChanged()
*/
/*!
\fn void QskLinearBox::orientationChanged()
/*!
\fn void orientationChanged()
The orientation of the layout has changed
\sa orientation
*/
The orientation of the layout has changed
\sa orientation
*/
/*!
\fn void QskLinearBox::setDimension( uint dimension );
/*!
\fn void setDimension( uint dimension );
\brief Set the dimension of the layout
\brief Set the dimension of the layout
\param dimension Upper limit for the number of elements in a row or column
\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
*/
\warning A value of 0 is invalid and will be set to 1
\sa dimension
*/
/*!
\fn uint QskLinearBox::dimension(void);
\return Value of the \ref dimension property const
*/
/*!
\fn uint dimension(void);
\return Value of the \ref dimension property const
*/
/*!
\fn void QskLinearBox::dimensionChanged()
/*!
\fn void dimensionChanged()
The dimension of the layout has changed
\sa setDimension(), dimension()
*/
The dimension of the layout has changed
\sa setDimension(), dimension()
*/
/*!
\fn void QskLinearBox::spacingChanged()
/*!
\fn void spacingChanged()
The spacing of the layout has changed
\sa setSpacing(), spacing(), setRowSpacing(), setColumnSpacing()
*/
The spacing of the layout has changed
\sa setSpacing(), spacing(), setRowSpacing(), setColumnSpacing()
*/
/*!
\fn void QskLinearBox::setSpacing( qreal spacing )
/*!
\fn void setSpacing( qreal spacing )
\brief Set the global spacing of the layout
\param spacing Distance between each cell and row
\sa spacing
*/
\brief Set the global spacing of the layout
\param spacing Distance between each cell and row
\sa spacing
*/
/*!
\fn void QskLinearBox::resetSpacing()
/*!
\fn void resetSpacing()
\brief Reset the global spacing to its initial value
\sa spacing
*/
\brief Reset the global spacing to its initial value
\sa spacing
*/
/*!
\fn qreal QskLinearBox::spacing(void) const
\return Value of the \ref spacing property
/*!
\fn qreal spacing(void) const
\return Value of the \ref spacing property
*/
*/
/*!
\fn void QskLinearBox::addSpacer( qreal spacing, int stretchFactor )
/*!
\fn void addSpacer( qreal spacing, int stretchFactor )
\brief Append a spacer to the layout
\brief Append a spacer to the layout
The same as \ref insertSpacer( -1, spacing, stretchFactor );
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()
*/
\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 QskLinearBox::insertSpacer( int index, qreal spacing, int stretchFactor )
/*!
\fn void insertSpacer( int index, qreal spacing, int stretchFactor )
\brief Insert a spacer at a specific position
\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.
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.
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 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.
\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()
*/
\note Calling QskLayout::itemAtIndex( index ) will return a nullptr.
\sa insertItem(), QskLayout::itemAtIndex()
*/
/*!
\fn void QskLinearBox::addStretch( int stretchFactor )
/*!
\fn void addStretch( int stretchFactor )
\brief Append a stretch to the layout
\brief Append a stretch to the layout
The same as \ref insertStretch( -1, stretchFactor );
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.
\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()
*/
\sa insertStretch(), addSpacer()
*/
/*!
\fn void QskLinearBox::insertStretch( int index, int stretchFactor )
/*!
\fn void insertStretch( int index, int stretchFactor )
\brief Insert a stretch at a specific position
\brief Insert a stretch at a specific position
A stretch is simply a spacer with a spacing of 0
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.
\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()
*/
\note Calling QskLayout::itemAtIndex( index ) will return a nullptr.
\sa insertSpacer(), QskLayout::itemAtIndex()
*/
/*!
\fn void QskLinearBox::setStretchFactor( int index, int stretchFactor )
/*!
\fn void setStretchFactor( int index, int stretchFactor )
\brief Modify the stretch factor of a layout element
\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.
\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()
*/
\sa stretchFactor()
*/
/*!
\fn int QskLinearBox::stretchFactor( int index ) const
/*!
\fn int stretchFactor( int index ) const
\param index Position of the inserted element
\return Stretch factor of a layout element
\param index Position of the inserted element
\return Stretch factor of a layout element
\sa setStretchFactor()
*/
\sa setStretchFactor()
*/
/*!
\fn void QskLinearBox::setStretchFactor( const QQuickItem * item, int stretchFactor )
/*!
\fn void setStretchFactor( const QQuickItem * item, int stretchFactor )
\brief Modify the stretch factor of an inserted item
\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.
\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()
*/
\sa stretchFactor()
*/
/*!
\fn int QskLinearBox::stretchFactor( const QQuickItem * item ) const
/*!
\fn int stretchFactor( const QQuickItem * item ) const
\param item Inserted item
\return Stretch factor of a layout element
\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.
*/
};
\sa setStretchFactor()
*/

View File

@ -1,67 +1,65 @@
/*!
\headerfile QskQuickItem.h
\brief what a quick item
\class QskQuickItem QskQuickItem.h
*/
class QskQuickItem
{
public:
/*!
\enum QskQuickItem::Flag
/*!
\enum Flag
Qt/Quick classes have a tendency to update items too early
and too often. To avoid processing of unwanted operations
QskQuickItem implements a couple of modifications, that
can be en/disabled individually.
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.
The default setting enables all attributes.
\var DeferredUpdate
\var DeferredUpdate
Creating of paint nodes is blocked for all invisible nodes
( QQuickItem::isVisible() ).
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).
\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
\var DeferredPolish
Calculation of layouts ( updateLayout() ) is blocked for all invisible
nodes ( QQuickItem::isVisible() ).
Calculation of layouts ( updateLayout() ) is blocked for all invisible
nodes ( QQuickItem::isVisible() ).
\var DeferredLayout
\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.
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
\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.
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
\var PreferRasterForTextures
When creating textures from QskGraphic, prefer the raster paint
engine over the OpenGL paint engine.
When creating textures from QskGraphic, prefer the raster paint
engine over the OpenGL paint engine.
\var DebugForceBackground
\var DebugForceBackground
Always fill the background of thecontrol with a random color.
\note This flag is useful when analyzing layouts.
Always fill the background of thecontrol with a random color.
\note This flag is useful when analyzing layouts.
*/
\sa controlFlags(), setControlFlags(), resetControlFlags()
testControlFlag(), setControlFlag(), resetControlFlag()
*/
/*!
\fn void setControlFlag( Flag, bool on = true );
*/
/*!
\fn void resetControlFlag( Flag );
*/
/*!
\fn bool testControlFlag( Flag ) const;
*/
/*!
\fn void QskQuickItem::setControlFlag( Flag, bool on = true );
*/
/*!
\fn void QskQuickItem::resetControlFlag( Flag );
*/
/*!
\fn bool QskQuickItem::testControlFlag( Flag ) const;
*/

View File

@ -7,7 +7,7 @@
It can be used in horizontal or vertical direction by setting the
orientation property to Qt::Vertical or Qt::Horizontal, respectively.
\subcontrols Panel
\subcontrols QskSeparator::Panel
\skinlet QskSeparatorSkinlet
*/
@ -22,6 +22,11 @@
\accessors orientation(), setOrientation(), orientationChanged()
*/
/*!
\var QskSeparator::Panel
\sa QskSeparatorSkinlet
*/
/*!
\fn QskSeparator::QskSeparator( QQuickItem* )

View File

@ -1,20 +1,16 @@
/*!
\headerfile QskSetup.h
\class QskSetup QskSetup.h
\brief Singleton maintaining the global settings of an application using Qsk controls
*/
class QskSetup
{
public:
/*!
\property QskSkin* QskSetup::skin
\accessors skin(), setSkin(), skinChanged()
*/
/*!
\property QskSkin* skin
\accessors skin(), setSkin(), skinChanged()
*/
/*!
\enum Flag
/*!
\enum QskSetup::Flag
\var DeferredUpdate
\var DeferredPolish
@ -22,17 +18,16 @@ class QskSetup
\var CleanupOnVisibility
\var PreferRasterForTextures
\var DebugForceBackground
*/
*/
/*!
\fn void setSkin( QskSkin* );
*/
/*!
\fn void QskSetup::setSkin( QskSkin* );
*/
/*!
\fn QskSkin* skin();
*/
/*!
\fn QskSkin* QskSetup::skin();
*/
/*!
\fn void skinChanged( QskSkin* );
*/
};
/*!
\fn void QskSetup::skinChanged( QskSkin* );
*/

View File

@ -1,17 +1,10 @@
/*!
\headerfile QskSkinlet.h
\class QskSkinlet 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()
\sa QskSkinnable::effectiveSkinlet(), QskSkinnable::setSkinlet(),
QskSkin::declareSkinlet(), QskSkin::skinlet()
*/
class QskSkinlet
{
public:
};

View File

@ -1,85 +1,52 @@
/*!
\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 QskSkinnable QskSkinnable.h
*/
class QskControl
{
public:
/*!
\fn float metric( QskAspect::Aspect aspect ) const
/*!
\fn void QskSkinnable::setSkinlet( QskSkinlet* )
A convenience method equivalent to skinHint( aspect ).metric. The
QskSkinHint::TypeMask is set to QskSkinHint::Metric.
*/
Allows overriding the QskControl::Skin used by this control to render its
contents.
/*!
\fn void setSkinlet( QskSkinlet* skinlet )
*/
Allows overriding the QskControl::Skin used by this control to render its
contents.
/*!
\fn const QskSkinlet* QskSkinnable::skinlet() const;
*/
\return Skinlet assigned by setSkinlet().
\sa effectiveSkinlet()
*/
/*!
\fn const QskSkinlet* skinlet() const;
/*!
\fn QVariant QskSkinnable::effectiveHint( QskAspect::Aspect, QskSkinHintStatus* ) const
\return Skinlet assigned by setSkinlet().
\sa effectiveSkinlet()
*/
Returns the QskSkinHint value for a QskAspect::Aspect. If none is set for
this control, the value for QskSkin::skinHint() is returned.
/*!
\fn QskSkinHint skinHint( QskAspect::Aspect aspect ) const
\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.
Returns the QskSkinHint value for a QskAspect::Aspect. If none is set for
this control, the value for QskSkin::skinHint() is returned.
\param aspect Aspect
*/
\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.
/*!
\fn qreal QskSkinnable::metric( QskAspect::Aspect, QskSkinHintStatus* ) const
\param aspect Aspect
*/
A convenience method equivalent to skinHint( aspect ).metric. The
QskSkinHint::TypeMask is set to QskSkinHint::Metric.
*/
/*!
\fn void updateNode( QSGNode* parentNode )
/*!
\fn void QskSkinnable::updateNode( QSGNode* )
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.
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.
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.
*/
};
\param parentNode The parent of the nodes to be added in this method.
\return The parent node.
*/

View File

@ -155,7 +155,6 @@
\class QskMessageWindow
\class QskSelectionSubWindow
\class QskSelectionWindow
\class QskSeparator
\class QskSimpleListBox
\}