+ * @brief The start and end property ranges for this control.
+ * @SINCE_1_0.0
+ */
+ enum PropertyRange
+ {
+ PROPERTY_START_INDEX = Control::CONTROL_PROPERTY_END_INDEX + 1, ///< @SINCE_1_0.0
+ PROPERTY_END_INDEX = PROPERTY_START_INDEX + 1000, ///< Reserve property indices @SINCE_1_0.0
+
+ CHILD_PROPERTY_START_INDEX = CHILD_PROPERTY_REGISTRATION_START_INDEX, ///< @SINCE_1_1.36
+ CHILD_PROPERTY_END_INDEX = CHILD_PROPERTY_REGISTRATION_START_INDEX + 1000 ///< Reserve child property indices @SINCE_1_1.36
+ };
+
+ /**
+ * @brief An enumeration of properties belonging to the TableView class.
+ *
+ * LayoutRows: set the height of the rows.
+ * It has the format as follows in script:
+ * @code
+ * "layoutRows":
+ * {
+ * "0": { "policy": "fixed", "value": 40 }, //@see SetFixedHight
+ * "2": { "policy": "relative", "value": 0.33 }, //@see SetRelativeHeight
+ * "3": { "policy": "fit", "value":0.0 } //@see SetFitHeight, the value is not used, its height is decided by the children in this row
+ * }
+ * @endcode
+ *
+ * LayoutColumns: set the width of the columns.
+ * It has the format as follows in script:
+ * @code
+ * "layoutColumns":
+ * {
+ * "0": { "policy": "fixed", "value": 40 }, //@see SetFixedWidth
+ * "1": { "policy": "fit", "value":0.0 } //@see SetFitHeight, the value is not used, its width is decided by the children in this column
+ * "2": { "policy": "relative", "value": 0.33 } //@see SetRelativeWidth
+ * }
+ * @endcode
+ * @SINCE_1_0.0
+ */
+ struct Property
+ {
+ enum
+ {
+ ROWS = PROPERTY_START_INDEX, ///< name "rows", type unsigned int @SINCE_1_0.0
+ COLUMNS, ///< name "columns", type unsigned int @SINCE_1_0.0
+ CELL_PADDING, ///< name "cellPadding", type Vector2 @SINCE_1_0.0
+ LAYOUT_ROWS, ///< name "layoutRows", type Map @SINCE_1_0.0
+ LAYOUT_COLUMNS, ///< name "layoutColumns", type Map @SINCE_1_0.0
+ };
+ };
+
+ /**
+ * @brief An enumeration of child properties belonging to the TableView class.
+ * @SINCE_1_1.36
+ */
+ struct ChildProperty
+ {
+ enum
+ {
+ CELL_INDEX = CHILD_PROPERTY_START_INDEX, ///< name "cellIndex", The top-left cell this child occupies, if not set, the first available cell is used, type VECTOR2 @SINCE_1_1.36
+ ROW_SPAN, ///< name "rowSpan", The number of rows this child occupies, if not set, default value is 1, type FLOAT @SINCE_1_1.36
+ COLUMN_SPAN, ///< name "columnSpan", The number of columns this child occupies, if not set, default value is 1, type FLOAT @SINCE_1_1.36
+ CELL_HORIZONTAL_ALIGNMENT, ///< name "cellHorizontalAlignment", The horizontal alignment of this child inside the cells, if not set, default value is 'left', type STRING @SINCE_1_1.36
+ CELL_VERTICAL_ALIGNMENT ///< name "cellVerticalAlignment", The vertical alignment of this child inside the cells, if not set, default value is 'top', type STRING @SINCE_1_1.36
+ };
+ };
+
+ /**
+ * @brief Describes how the size of a row / column been set
+ * @SINCE_1_0.0
+ */
+ enum LayoutPolicy
+ {
+ FIXED, ///< Fixed with the given value. @SINCE_1_0.0
+ RELATIVE, ///< Calculated as percentage of the remainder after subtracting Padding and Fixed height/width @SINCE_1_0.0
+ FILL, ///< Default policy, get the remainder of the 100% (after subtracting Fixed, Fit and Relative height/ width) divided evenly between 'fill' rows/columns @SINCE_1_0.0
+ FIT ///< Fit around its children. @SINCE_1_0.0
+ };
+
+ /**
+ * @brief Structure to specify layout position for child actor
+ * @SINCE_1_0.0