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. # brief descriptions will be completely suppressed.
# The default value is: YES. # The default value is: YES.
REPEAT_BRIEF = YES REPEAT_BRIEF = NO
# This tag implements a quasi-intelligent brief description abbreviator that is # 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 # 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). # (if specified).
# The default value is: YES. # 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 # 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 # 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, # C comment), *.py, *.pyw, *.f90, *.f95, *.f03, *.f08, *.f18, *.f, *.for, *.vhd,
# *.vhdl, *.ucf, *.qsf and *.ice. # *.vhdl, *.ucf, *.qsf and *.ice.
FILE_PATTERNS = *.c \ FILE_PATTERNS =
*.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
# The RECURSIVE tag can be used to specify whether or not subdirectories should # The RECURSIVE tag can be used to specify whether or not subdirectories should
# be searched for input files as well. # 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 # need to set EXTENSION_MAPPING for the extension otherwise the files are not
# properly processed by doxygen. # 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 # 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 # 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. # The default value is: NO.
# This tag requires that the tag GENERATE_HTML is set to YES. # 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 # 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 # 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. # The default value is: NO.
# This tag requires that the tag GENERATE_LATEX is set to YES. # 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 # The PAPER_TYPE tag can be used to set the paper type that is used by the
# printer. # printer.
@ -2161,7 +2115,7 @@ MACRO_EXPANSION = YES
# The default value is: NO. # The default value is: NO.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. # 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 # If the SEARCH_INCLUDES tag is set to YES, the include files in the
# INCLUDE_PATH will be searched if a #include is found. # 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. # recursively expanded use the := operator instead of the = operator.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. # This tag requires that the tag ENABLE_PREPROCESSING is set to YES.
PREDEFINED = \ PREDEFINED = \
Q_GADGET= \ Q_GADGET= \
QSK_EXPORT= \
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then this # 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 # 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. # definition found in the source code.
# This tag requires that the tag ENABLE_PREPROCESSING is set to YES. # 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 # 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 # 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. # The default value is: Helvetica.
# This tag requires that the tag HAVE_DOT is set to YES. # 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 # The DOT_FONTSIZE tag can be used to set the size (in points) of the font of
# dot graphs. # dot graphs.
@ -2522,7 +2476,7 @@ PLANTUML_INCLUDE_PATH =
# Minimum value: 0, maximum value: 10000, default value: 50. # Minimum value: 0, maximum value: 10000, default value: 50.
# This tag requires that the tag HAVE_DOT is set to YES. # 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 # 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 # 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. # The default value is: NO.
# This tag requires that the tag HAVE_DOT is set to YES. # 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 # 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 # 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. # The default value is: YES.
# This tag requires that the tag HAVE_DOT is set to 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 # If the DOT_CLEANUP tag is set to YES, doxygen will remove the intermediate dot
# files that are used to generate the various graphs. # files that are used to generate the various graphs.

View File

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

View File

@ -1,5 +1,5 @@
/*! /*!
\headerfile QskControl.h \class QskControl QskControl.h
\brief Base class of all Qsk controls \brief Base class of all Qsk controls
@ -31,9 +31,3 @@
- QEvent::ContentsRectChange - QEvent::ContentsRectChange
- QEvent::LayoutRequest - 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 \brief A paint device for scalable graphics
QskGraphic is the representation of a graphic that is tailored for 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 ) 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 scaling with a fixed aspect ratio always needs to be calculated from the
control point rectangle. 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 \brief Base class of layouts with index ordered elements
*/ */
class QskIndexedLayoutBox /*!
{ \property bool QskIndexedLayoutBox::autoAddChildren
public:
/*!
\property bool 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 When autoAddChildren is enabled new children are automatically
appended to the layout. Otherwise items have to be inserted appended to the layout. Otherwise items have to be inserted
manually using addItem() or insertItem(). 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() \fn QskIndexedLayoutBox::~QskIndexedLayoutBox()
\brief Destructor \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 \brief En/Disable auto appending of children
\param alignment Flags to control how to align a non expandable element
inside of the available space.
\sa insertItem() When autoAddChildren() is enabled new children are automatically
\sa QskLayout::itemAtIndex() appended to the layout. Otherwise items have to be inserted
*/ manually using addItem() or insertItem().
/*! \param on When true autoAddChildren is enabled
\fn void insertItem( int index, QQuickItem* item,
Qt::Alignment alignment = Qt::Alignment() );
\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. \fn void QskIndexedLayoutBox::itemChange( QQQuickItem *::ItemChange, const QQQuickItem *::ItemChangeData & )
\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() Checking ItemChildAddedChange/ItemChildRemovedChange changes to
*/ implement the \ref autoAddChildren mode
/*! \sa autoAddChildren
\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,5 +1,5 @@
/*! /*!
\headerfile QskLinearBox.h \class QskLinearBox QskLinearBox.h
\brief Layout stringing items in rows and columns \brief Layout stringing items in rows and columns
@ -27,444 +27,292 @@
\sa QskGridBox, QskStackBox \sa QskGridBox, QskStackBox
*/ */
class QskLinearBox /*!
{ \property Qt::Orientation QskLinearBox::orientation
public:
/*! \brief Direction of flow for laying out the items
\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 ).
In case of Qt::Horizontal the elements are organized horizontally The horizontal layout direction is affected by its state
increasing the column index, when appending an item. When the of QskControl::layoutMirroring(), what might depend on the
number of columns exceeds the \ref dimension the next item will be QskControl::locale().
in the first column of the next row ( v.v for Qt::Vertical ).
The horizontal layout direction is affected by its state \sa transpose(), dimension
of QskControl::layoutMirroring(), what might depend on the \accessors orientation(), setOrientation(), orientationChanged()
QskControl::locale(). */
\sa transpose(), dimension /*!
\accessors orientation(), setOrientation(), orientationChanged() \property uint QskLinearBox::dimension
*/
/*! \brief Upper limit for the number of elements in a row or column
\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.
According to the orientation the layout is organized in When the number of elements exceeds the dimension the following element
rows or columns. The dimension is an upper limit for the number will be inserted in the following row/column.
of elements in a row/column.
When the number of elements exceeds the dimension the following element \sa orientation
will be inserted in the following row/column. \accessors dimension(), setDimension(), dimensionChanged()
*/
\sa orientation /*!
\accessors dimension(), setDimension(), dimensionChanged() \property qreal QskLinearBox::spacing
*/
/*! \brief Global layout spacing
\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.
The spacing is the distance between each cell and row Beside setting the global spacing it is also possible to add
of the layout. Its initial value depend on the current theme. individual spacings at the end of each row and column.
Beside setting the global spacing it is also possible to add \note In opposite to a spacer, the global spacing does not insert elements.
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()
*/
\sa setRowSpacing(), setColumnSpacing(), insertSpacer(), QskControl::setMargins() /*!
\accessors spacing(), setSpacing(), spacingChanged() \fn QskLinearBox::QskLinearBox( QQuickItem* );
*/
/*! \brief Create a row layout
\fn QskLinearBox( QQuickItem * parent );
\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 \param parent Parent item
an unlimited \ref dimension. \sa orientation, dimension
*/
\param parent Parent item /*!
\sa orientation, dimension \fn QskLinearBox::QskLinearBox( Qt::Orientation orientation, QQuickItem * parent );
*/
/*! \brief Create a row or column layout
\fn QskLinearBox( Qt::Orientation orientation, QQuickItem * parent );
\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 \sa orientation, dimension
\param parent Parent item */
\sa orientation, dimension /*!
*/ \fn QskLinearBox::QskLinearBox( Qt::Orientation, uint, QQuickItem* );
/*! \brief Constructor
\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 orientation Qt::Horizontal or Qt::Vertical \param parent Parent item
\param dimension Upper limit for the number of elements
in a row or column
\param parent Parent item \sa orientation, dimension
*/
\sa orientation, dimension /*!
*/ \fn QskLinearBox::~QskLinearBox();
/*! Destructor
\fn ~QskLinearBox(); */
Destructor /*!
*/ \fn void QskLinearBox::setOrientation( Qt::Orientation orientation );
/*! \brief Set the orientation of the layout
\fn void setOrientation( Qt::Orientation orientation ); \param orientation Qt::Vertical or Qt::Horizontal
\sa orientation
*/
\brief Set the orientation of the layout /*!
\param orientation Qt::Vertical or Qt::Horizontal \fn Qt::Orientation QskLinearBox::orientation() const;
\sa orientation \return Value of the \ref orientation property
*/ */
/*! /*!
\fn Qt::Orientation orientation(void) const; \fn void QskLinearBox::transpose()
\return Value of the \ref orientation property
*/
/*! \brief Invert the orientation of the layout
\fn void transpose()
\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()
*/
/*! The orientation of the layout has changed
\fn void orientationChanged() \sa orientation
*/
The orientation of the layout has changed /*!
\sa orientation \fn void QskLinearBox::setDimension( uint dimension );
*/
/*! \brief Set the dimension of the layout
\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
\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); \fn void QskLinearBox::dimensionChanged()
\return Value of the \ref dimension property const
*/
/*! The dimension of the layout has changed
\fn void dimensionChanged() \sa setDimension(), dimension()
*/
The dimension of the layout has changed /*!
\sa setDimension(), dimension() \fn void QskLinearBox::spacingChanged()
*/
/*! The spacing of the layout has changed
\fn void spacingChanged() \sa setSpacing(), spacing(), setRowSpacing(), setColumnSpacing()
*/
The spacing of the layout has changed /*!
\sa setSpacing(), spacing(), setRowSpacing(), setColumnSpacing() \fn void QskLinearBox::setSpacing( qreal spacing )
*/
/*! \brief Set the global spacing of the layout
\fn void setSpacing( qreal spacing ) \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 \fn void QskLinearBox::resetSpacing()
\sa spacing
*/
/*! \brief Reset the global spacing to its initial value
\fn void resetSpacing() \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 )
/*! \brief Append a spacer to the layout
\fn void addSpacer( qreal spacing, int stretchFactor )
\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]. \fn void QskLinearBox::insertSpacer( int index, qreal spacing, int stretchFactor )
The ratio of the stretch factors of expandable
candidates decides about how to distribute extra space.
\sa insertSpacer()
*/
/*! \brief Insert a spacer at a specific position
\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.
Spacers being inserted to the layout are elements having A spacer is treated like being an item with a preferred
an index - like regular QQuickItem *s and participate in the width/height of spacing. In case of having a stretchFactor > 0
calculation of the geometries. the width/height might exceed spacing.
A spacer is treated like being an item with a preferred \param index Position, where to insert the spacer. If index is < 0
width/height of spacing. In case of having a stretchFactor > 0 or beyond QskLayout::itemCount() the spacer will be appended.
the width/height might exceed spacing.
\param index Position, where to insert the spacer. If index is < 0 \param spacing Spacing Minimum for width/height
or beyond QskLayout::itemCount() the spacer 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 spacing Spacing Minimum for width/height \note Calling QskLayout::itemAtIndex( index ) will return a nullptr.
\param stretchFactor A value between [0..10]. \sa insertItem(), QskLayout::itemAtIndex()
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 QskLinearBox::addStretch( int stretchFactor )
*/
/*! \brief Append a stretch to the layout
\fn void addStretch( int stretchFactor )
\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]. \sa insertStretch(), addSpacer()
The ratio of the stretch factors of expandable */
candidates decides about how to distribute extra space.
\sa insertStretch(), addSpacer() /*!
*/ \fn void QskLinearBox::insertStretch( int index, int stretchFactor )
/*! \brief Insert a stretch at a specific position
\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
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 \note Calling QskLayout::itemAtIndex( index ) will return a nullptr.
or beyond QskLayout::itemCount() the stretch will be appended. \sa insertSpacer(), QskLayout::itemAtIndex()
\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 QskLinearBox::setStretchFactor( int index, int stretchFactor )
*/
/*! \brief Modify the stretch factor of a layout element
\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.
\param index Position of the element \sa 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 stretchFactor() /*!
*/ \fn int QskLinearBox::stretchFactor( int index ) const
/*! \param index Position of the inserted element
\fn int stretchFactor( int index ) const \return Stretch factor of a layout element
\param index Position of the inserted element \sa setStretchFactor()
\return Stretch factor of a layout element */
\sa setStretchFactor() /*!
*/ \fn void QskLinearBox::setStretchFactor( const QQuickItem * item, int stretchFactor )
/*! \brief Modify the stretch factor of an inserted item
\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.
\param item Inserted item \sa 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 stretchFactor() /*!
*/ \fn int QskLinearBox::stretchFactor( const QQuickItem * item ) const
/*! \param item Inserted item
\fn int stretchFactor( const QQuickItem * item ) const \return Stretch factor of a layout element
\param item Inserted item \sa setStretchFactor()
\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,67 +1,65 @@
/*! /*!
\headerfile QskQuickItem.h \class QskQuickItem QskQuickItem.h
\brief what a quick item
*/ */
class QskQuickItem /*!
{ \enum QskQuickItem::Flag
public:
/*! Qt/Quick classes have a tendency to update items too early
\enum Flag 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 The default setting enables all attributes.
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
\var DeferredUpdate Creating of paint nodes is blocked for all invisible nodes
( QQuickItem::isVisible() ).
Creating of paint nodes is blocked for all invisible nodes \note Some more advanced algorithms have not yet been implemented,
( QQuickItem::isVisible() ). such as viewport frustrum culling (i.e. hiding items outside of the
window geometry).
\note Some more advanced algorithms have not yet been implemented, \var DeferredPolish
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() ).
Calculation of layouts ( updateLayout() ) is blocked for all invisible \var DeferredLayout
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.
Updates of the implicit size is blocked until effectiveConstraint() or sizeHint() \var CleanupOnVisibility
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.
Delete scene graph nodes, when the item becomes hidden ( QQuickItem::isVisible() ). \var PreferRasterForTextures
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.
When creating textures from QskGraphic, prefer the raster paint \var DebugForceBackground
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.
Always fill the background of thecontrol with a random color. \sa controlFlags(), setControlFlags(), resetControlFlags()
\note This flag is useful when analyzing layouts. testControlFlag(), setControlFlag(), resetControlFlag()
*/ */
/*! /*!
\fn void setControlFlag( Flag, bool on = true ); \fn void QskQuickItem::setControlFlag( Flag, bool on = true );
*/ */
/*! /*!
\fn void resetControlFlag( Flag ); \fn void QskQuickItem::resetControlFlag( Flag );
*/ */
/*! /*!
\fn bool testControlFlag( Flag ) const; \fn bool QskQuickItem::testControlFlag( Flag ) const;
*/ */

View File

@ -7,7 +7,7 @@
It can be used in horizontal or vertical direction by setting the It can be used in horizontal or vertical direction by setting the
orientation property to Qt::Vertical or Qt::Horizontal, respectively. orientation property to Qt::Vertical or Qt::Horizontal, respectively.
\subcontrols Panel \subcontrols QskSeparator::Panel
\skinlet QskSeparatorSkinlet \skinlet QskSeparatorSkinlet
*/ */
@ -22,6 +22,11 @@
\accessors orientation(), setOrientation(), orientationChanged() \accessors orientation(), setOrientation(), orientationChanged()
*/ */
/*!
\var QskSeparator::Panel
\sa QskSeparatorSkinlet
*/
/*! /*!
\fn QskSeparator::QskSeparator( QQuickItem* ) \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 \brief Singleton maintaining the global settings of an application using Qsk controls
*/ */
class QskSetup /*!
{ \property QskSkin* QskSetup::skin
public: \accessors skin(), setSkin(), skinChanged()
*/
/*! /*!
\property QskSkin* skin \enum QskSetup::Flag
\accessors skin(), setSkin(), skinChanged()
*/
/*!
\enum Flag
\var DeferredUpdate \var DeferredUpdate
\var DeferredPolish \var DeferredPolish
@ -22,17 +18,16 @@ class QskSetup
\var CleanupOnVisibility \var CleanupOnVisibility
\var PreferRasterForTextures \var PreferRasterForTextures
\var DebugForceBackground \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 \brief Describes the rendering interface of a QskControl. Change the
skinlet to change the appearance of the control using the low-level scene skinlet to change the appearance of the control using the low-level scene
graph API. graph API.
\sa QskControl::setSkinlet() \sa QskSkinnable::effectiveSkinlet(), QskSkinnable::setSkinlet(),
\sa QskSkin QskSkin::declareSkinlet(), QskSkin::skinlet()
\sa setMetric()
\sa setColor()
*/ */
class QskSkinlet
{
public:
};

View File

@ -1,85 +1,52 @@
/*! /*!
\headerfile QskControl.h \class QskSkinnable QskSkinnable.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 /*!
{ \fn void QskSkinnable::setSkinlet( QskSkinlet* )
public:
/*!
\fn float metric( QskAspect::Aspect aspect ) const
A convenience method equivalent to skinHint( aspect ).metric. The Allows overriding the QskControl::Skin used by this control to render its
QskSkinHint::TypeMask is set to QskSkinHint::Metric. 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(). Returns the QskSkinHint value for a QskAspect::Aspect. If none is set for
\sa effectiveSkinlet() this control, the value for QskSkin::skinHint() is returned.
*/
/*! \note If a QskSkinHintProvider is animating the color when called, the returned
\fn QskSkinHint skinHint( QskAspect::Aspect aspect ) const 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 \param aspect Aspect
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 \fn qreal QskSkinnable::metric( QskAspect::Aspect, QskSkinHintStatus* ) const
is requested as part of the aspect.
\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 This method replaces the QQuickItem::updatePaintNode method as the
preferred paint method to override when subclassing QskControl. This allows preferred paint method to override when subclassing QskControl. This allows
QskControl to perform some additional steps before calling updateNode(), QskControl to perform some additional steps before calling updateNode(),
and provides a consistent parent node which subclasses can rely on. 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. \param parentNode The parent of the nodes to be added in this method.
\return The parent node. \return The parent node.
*/ */
};

View File

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