162 lines
6.9 KiB
C++
162 lines
6.9 KiB
C++
#ifndef YOGAWIDGET_H
|
|
#define YOGAWIDGET_H
|
|
#include <QWidget>
|
|
#include <QDebug>
|
|
#include "nodestyle.h"
|
|
#include "src/cpp/core/FlexLayout/flexitem.h"
|
|
|
|
/*
|
|
All Widgets for which you need to set yoga props via qstylesheet should
|
|
1. inherit from YogaWidget
|
|
2. should add Q_OBJECT macro so that Q_PROPERTY inside YogaWidget can work.
|
|
3. should call the macro SET_YOGA_WIDGET_Q_PROPERTIES inside them to add all necessary q_properties.
|
|
4. Lastly, since Q_OBJECT is used they should make a call to qt moc.
|
|
*/
|
|
|
|
#ifndef SET_YOGA_WIDGET_Q_PROPERTIES
|
|
#define SET_YOGA_WIDGET_Q_PROPERTIES \
|
|
Q_PROPERTY(QString display MEMBER _yDisplay WRITE setYDisplay) \
|
|
Q_PROPERTY(QString alignItems MEMBER _yAlignItems WRITE setYAlignItems) \
|
|
Q_PROPERTY(QString alignContent MEMBER _yAlignContent WRITE setYAlignContent) \
|
|
Q_PROPERTY(QString alignSelf MEMBER _yAlignSelf WRITE setYAlignSelf) \
|
|
Q_PROPERTY(QString justifyContent MEMBER _yJustifyContent WRITE setYJustifyContent) \
|
|
Q_PROPERTY(QString direction MEMBER _yDirection WRITE setYDirection) \
|
|
Q_PROPERTY(QString flexDirection MEMBER _yFlexDirection WRITE setYFlexDirection) \
|
|
Q_PROPERTY(QString overflow MEMBER _yOverflow WRITE setYOverflow) \
|
|
Q_PROPERTY(QString position MEMBER _yPosition WRITE setYPosition) \
|
|
Q_PROPERTY(QString flexWrap MEMBER _yFlexWrap WRITE setYFlexWrap) \
|
|
Q_PROPERTY(float flex MEMBER _yFlex WRITE setYFlex) \
|
|
Q_PROPERTY(float flexGrow MEMBER _yFlexGrow WRITE setYFlexGrow) \
|
|
Q_PROPERTY(float flexShrink MEMBER _yFlexShrink WRITE setYFlexShrink) \
|
|
Q_PROPERTY(float aspectRatio MEMBER _yAspectRatio WRITE setYAspectRatio) \
|
|
Q_PROPERTY(QString top MEMBER _yTop WRITE setYNodeTop) \
|
|
Q_PROPERTY(QString right MEMBER _yRight WRITE setYNodeRight) \
|
|
Q_PROPERTY(QString bottom MEMBER _yBottom WRITE setYNodeBottom) \
|
|
Q_PROPERTY(QString left MEMBER _yLeft WRITE setYNodeLeft) \
|
|
Q_PROPERTY(QString flexBasis MEMBER _yFlexBasis WRITE setYFlexBasis) \
|
|
Q_PROPERTY(QString minWidth MEMBER _yMinWidth WRITE setYMinWidth) \
|
|
Q_PROPERTY(QString minHeight MEMBER _yMinHeight WRITE setYMinHeight) \
|
|
Q_PROPERTY(QString maxWidth MEMBER _yMaxWidth WRITE setYMaxWidth) \
|
|
Q_PROPERTY(QString maxHeight MEMBER _yMaxHeight WRITE setYMaxHeight) \
|
|
Q_PROPERTY(QString paddingTop MEMBER _yPaddingTop WRITE setYPaddingTop) \
|
|
Q_PROPERTY(QString paddingRight MEMBER _yPaddingRight WRITE setYPaddingRight) \
|
|
Q_PROPERTY(QString paddingBottom MEMBER _yPaddingBottom WRITE setYPaddingBottom) \
|
|
Q_PROPERTY(QString paddingLeft MEMBER _yPaddingLeft WRITE setYPaddingLeft) \
|
|
Q_PROPERTY(QString paddingHorizontal MEMBER _yPaddingHorizontal WRITE setYPaddingHorizontal) \
|
|
Q_PROPERTY(QString paddingVertical MEMBER _yPaddingVertical WRITE setYPaddingVertical) \
|
|
Q_PROPERTY(QString padding MEMBER _yPadding WRITE setYPadding) \
|
|
Q_PROPERTY(QString marginTop MEMBER _yMarginTop WRITE setYMarginTop) \
|
|
Q_PROPERTY(QString marginRight MEMBER _yMarginRight WRITE setYMarginRight) \
|
|
Q_PROPERTY(QString marginBottom MEMBER _yMarginBottom WRITE setYMarginBottom) \
|
|
Q_PROPERTY(QString marginLeft MEMBER _yMarginLeft WRITE setYMarginLeft) \
|
|
Q_PROPERTY(QString marginHorizontal MEMBER _yMarginHorizontal WRITE setYMarginHorizontal) \
|
|
Q_PROPERTY(QString marginVertical MEMBER _yMarginVertical WRITE setYMarginVertical) \
|
|
Q_PROPERTY(QString margin MEMBER _yMargin WRITE setYMarginAll) \
|
|
Q_PROPERTY(float borderTop MEMBER _yBorderTop WRITE setYBorderTop) \
|
|
Q_PROPERTY(float borderRight MEMBER _yBorderRight WRITE setYBorderRight) \
|
|
Q_PROPERTY(float borderBottom MEMBER _yBorderBottom WRITE setYBorderBottom) \
|
|
Q_PROPERTY(float borderLeft MEMBER _yBorderLeft WRITE setYBorderLeft) \
|
|
Q_PROPERTY(float borderHorizontal MEMBER _yBorderHorizontal WRITE setYBorderHorizontal) \
|
|
Q_PROPERTY(float borderVertical MEMBER _yBorderVertical WRITE setYBorderVertical) \
|
|
Q_PROPERTY(float border MEMBER _yBorder WRITE setYBorder)
|
|
|
|
#endif
|
|
|
|
|
|
class YogaWidget: public FlexItem
|
|
{
|
|
public:
|
|
QString _yDisplay;
|
|
QString _yAlignItems;
|
|
QString _yAlignContent;
|
|
QString _yAlignSelf;
|
|
QString _yJustifyContent;
|
|
QString _yDirection;
|
|
QString _yFlexDirection;
|
|
QString _yOverflow;
|
|
QString _yPosition;
|
|
QString _yFlexWrap;
|
|
float _yFlex;
|
|
float _yFlexGrow;
|
|
float _yFlexShrink;
|
|
float _yAspectRatio;
|
|
QString _yTop;
|
|
QString _yRight;
|
|
QString _yBottom;
|
|
QString _yLeft;
|
|
QString _yFlexBasis;
|
|
QString _yMinWidth;
|
|
QString _yMinHeight;
|
|
QString _yMaxWidth;
|
|
QString _yMaxHeight;
|
|
QString _yPaddingTop;
|
|
QString _yPaddingRight;
|
|
QString _yPaddingBottom;
|
|
QString _yPaddingLeft;
|
|
QString _yPaddingHorizontal;
|
|
QString _yPaddingVertical;
|
|
QString _yPadding;
|
|
QString _yMarginTop;
|
|
QString _yMarginRight;
|
|
QString _yMarginBottom;
|
|
QString _yMarginLeft;
|
|
QString _yMarginHorizontal;
|
|
QString _yMarginVertical;
|
|
QString _yMargin;
|
|
float _yBorderTop;
|
|
float _yBorderRight;
|
|
float _yBorderBottom;
|
|
float _yBorderLeft;
|
|
float _yBorderHorizontal;
|
|
float _yBorderVertical;
|
|
float _yBorder;
|
|
|
|
void setYDisplay(QString display);
|
|
void setYAlignItems(QString alignItems);
|
|
void setYAlignContent(QString alignContent);
|
|
void setYAlignSelf(QString alignSelf);
|
|
void setYJustifyContent(QString justifyContent);
|
|
void setYDirection(QString direction);
|
|
void setYFlexDirection(QString flexDirection);
|
|
void setYOverflow(QString overflow);
|
|
void setYPosition(QString position);
|
|
void setYFlexWrap(QString flexWrap);
|
|
void setYFlex(float flex);
|
|
void setYFlexGrow(float flexGrow);
|
|
void setYFlexShrink(float flexShrink);
|
|
void setYAspectRatio(float aspectRatio);
|
|
void setYNodeTop(QString rawValue);
|
|
void setYNodeRight(QString rawValue);
|
|
void setYNodeBottom(QString rawValue);
|
|
void setYNodeLeft(QString rawValue);
|
|
void setYFlexBasis(QString rawValue);
|
|
void setYMinWidth(QString rawValue);
|
|
void setYMinHeight(QString rawValue);
|
|
void setYMaxWidth(QString rawValue);
|
|
void setYMaxHeight(QString rawValue);
|
|
void setYPaddingTop(QString rawValue);
|
|
void setYPaddingRight(QString rawValue);
|
|
void setYPaddingBottom(QString rawValue);
|
|
void setYPaddingLeft(QString rawValue);
|
|
void setYPaddingHorizontal(QString rawValue);
|
|
void setYPaddingVertical(QString rawValue);
|
|
void setYPadding(QString rawValue);
|
|
void setYMarginTop(QString rawValue);
|
|
void setYMarginRight(QString rawValue);
|
|
void setYMarginBottom(QString rawValue);
|
|
void setYMarginLeft(QString rawValue);
|
|
void setYMarginHorizontal(QString rawValue);
|
|
void setYMarginVertical(QString rawValue);
|
|
void setYMarginAll(QString rawValue);
|
|
void setYBorderTop(float rawValue);
|
|
void setYBorderRight(float rawValue);
|
|
void setYBorderBottom(float rawValue);
|
|
void setYBorderLeft(float rawValue);
|
|
void setYBorderHorizontal(float rawValue);
|
|
void setYBorderVertical(float rawValue);
|
|
void setYBorder(float rawValue);
|
|
};
|
|
|
|
|
|
#endif // YOGAWIDGET_H
|