- // Properties
- static const Property::Index PROPERTY_DISABLED; ///< name "disabled", @see SetDisabled(), type BOOLEAN
- static const Property::Index PROPERTY_AUTO_REPEATING; ///< name "auto-repeating", @see SetAutoRepeating(), type BOOLEAN
- static const Property::Index PROPERTY_INITIAL_AUTO_REPEATING_DELAY; ///< name "initial-auto-repeating-delay", @see SetInitialAutoRepeatingDelay(), type FLOAT
- static const Property::Index PROPERTY_NEXT_AUTO_REPEATING_DELAY; ///< name "next-auto-repeating-delay", @see SetNextAutoRepeatingDelay(), type FLOAT
- static const Property::Index PROPERTY_TOGGLABLE; ///< name "togglable", @see SetTogglableButton(), type BOOLEAN
- static const Property::Index PROPERTY_SELECTED; ///< name "selected", @see SetSelected(), type BOOLEAN
- static const Property::Index PROPERTY_NORMAL_STATE_ACTOR; ///< name "normal-state-actor", @see SetButtonImage(), type MAP
- static const Property::Index PROPERTY_SELECTED_STATE_ACTOR; ///< name "selected-state-actor", @see SetSelectedImage(), type MAP
- static const Property::Index PROPERTY_DISABLED_STATE_ACTOR; ///< name "disabled-state-actor", @see SetDisabledImage(), type MAP
- static const Property::Index PROPERTY_LABEL_ACTOR; ///< name "label-actor", @see SetLabel(), type MAP
+ /**
+ * @brief Enumeration for 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
+ };
+
+ /**
+ * @brief Enumeration for the instance of properties belonging to the Button class.
+ * @SINCE_1_0.0
+ */
+ struct Property
+ {
+ /**
+ * @brief Enumeration for the instance of properties belonging to the Button class.
+ * @SINCE_1_0.0
+ */
+ enum
+ {
+ /**
+ * @brief name "disabled", type bool
+ * @details Sets the button as \e disabled.
+ * @SINCE_1_0.0
+ */
+ DISABLED = PROPERTY_START_INDEX,
+
+ /**
+ * @brief name "autoRepeating", type bool
+ * @details If the \e autorepeating property is set to \e true then the \e togglable property is set to false
+ * @SINCE_1_0.0
+ */
+ AUTO_REPEATING,
+
+ /**
+ * @brief name "initialAutoRepeatingDelay", type float
+ * @details By default this value is set to 0.15 seconds.
+ * @SINCE_1_0.0
+ */
+ INITIAL_AUTO_REPEATING_DELAY,
+
+ /**
+ * @brief name "nextAutoRepeatingDelay", type float
+ * @details default this value is set to 0.05 seconds
+ * @SINCE_1_0.0
+ */
+ NEXT_AUTO_REPEATING_DELAY,
+
+ /**
+ * @brief name "togglable", type bool
+ * @details If the \e togglable property is set to \e true, then the \e autorepeating property is set to false.
+ * @SINCE_1_0.0
+ */
+ TOGGLABLE,
+
+ /**
+ * @brief name "selected", type bool
+ * @details Sets the togglable button as either selected or unselected, \e togglable property must be set to \e true.
+ * @SINCE_1_0.0
+ */
+ SELECTED,
+
+ /**
+ * @DEPRECATED_1_1.XX Use UNSELECTED_VISUAL
+ * @brief name "unselectedStateImage", type string if it is a url, map otherwise
+ * @details Sets the unselected button foreground image
+ * @SINCE_1_0.0
+ */
+ UNSELECTED_STATE_IMAGE,
+
+ /**
+ * @DEPRECATED_1_1.XX Use SELECTED_VISUAL
+ * @brief name "selectedStateImage", type string if it is a url, map otherwise
+ * @details Sets the selected button foreground image
+ * @SINCE_1_0.0
+ */
+ SELECTED_STATE_IMAGE,
+
+ /**
+ * @DEPRECATED_1_1.XX Use DISABLED_UNSELECTED_VISUAL
+ * @brief name "disabledStateImage", type string if it is a url, map otherwise
+ * @details Sets the disabled whilst unselected foreground button visual
+ * @SINCE_1_0.0
+ */
+ DISABLED_STATE_IMAGE,
+
+ /**
+ * @DEPRECATED_1_1.XX Use UNSELECTED_BACKGROUND_VISUAL
+ * @brief name "unselectedColor", type Vector4
+ * @SINCE_1_0.0
+ */
+ UNSELECTED_COLOR,
+
+ /**
+ * @DEPRECATED_1_1.XX Use SELECTED_BACKGROUND_VISUAL
+ * @brief name "selectedColor", type Vector4
+ * @SINCE_1_0.0
+ */
+ SELECTED_COLOR,
+
+ /**
+ * @brief name "label", type Property::Map or std::string
+ * @SINCE_1_0.0
+ */
+ LABEL,
+
+ /**
+ * @DEPRECATED_1_1.32 Use LABEL
+ * @brief name "labelText", type std::string
+ * @SINCE_1_0.0
+ */
+ LABEL_TEXT
+ };
+ };