Two different macros are provided depending on whether the property is to be an event-side only property or an animatable property.
-<b>There are two stages:</b>
+<b>There are three stages:</b>
-- Define the properties as an enum in the public-api header file, along with a definition of the property ranges.
+- Define the property ranges as an enum in the public-api header file. There are two ranges, one for event-side only properties, and one for animatable properties. Each range should follow on from the range defined in the parent class.
+- Define the properties as an enum in the public-api header file
- Define the property details using the pre-defined macros to perform the type-registering of the properties. This is done for signals and actions also.
<b>Example: ImageView</b>
Source file: <b>image-view.h</b>:
-Note that the “PropertyRange” contents “PROPERTY_START_INDEX” & "ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX" are also used by the macro for order checking.
+ Note that the “PropertyRange” contents “PROPERTY_START_INDEX” & "ANIMATABLE_PROPERTY_REGISTRATION_START_INDEX" are also used by the macro for order checking, so should always have these names.
@code
/**
<br>
<hr>
-@section property-use-example-js Property use in JavaScript
-
-Note that constraints cannot be used within JavaScript, so below is a simple example that sets one of the default properties; scale:
-
-@code
-var imageView = new dali.Control( "ImageView" );
-
-// by default an actor is anchored to the top-left of it's parent actor
-// change it to the middle
-imageView.parentOrigin = dali.CENTER;
-
-// Set an image view property
-imageView.image = {
- "visualType" : "IMAGE",
- "url": "images/icon-0.png",
- "desiredWidth" : 100,
- "desiredHeight" : 100
-};
-
-// add to the stage
-dali.stage.add( imageView );
-@endcode
-
-<br>
-<hr>
@section property-use-example-json Property use in JSON
This is a basic example of a button defined in JSON by setting the default properties.