chore(xml): make element access="bind" -> "custom" for more flexibility

This commit is contained in:
Gabor Kiss-Vamosi
2025-06-07 08:42:43 +02:00
parent a762e203e2
commit a134a56995
3 changed files with 18 additions and 15 deletions
@@ -289,14 +289,15 @@ Generates:
void my_widget_set_item_icon(lv_obj_t * parent, int32_t index, const void * icon_src);
void my_widget_set_item_color(lv_obj_t * parent, int32_t index, lv_color_t color);
access="bind"
access="custom"
~~~~~~~~~~~~~
Used to bind subjects to widget logic.
Used to describe any custom API functions with a custom name.
"custom" elements can have only arguments and no `type` so they are pure setters.
.. code-block:: xml
<element name="color" access="bind">
<element name="bind_color" access="custom">
<arg name="subject" type="subject"/>
<arg name="new_color" type="color"/>
<arg name="ref_value" type="int"/>
@@ -20,6 +20,8 @@ Screens work very similarly to Components. Both can be:
However, Screens **cannot** have an ``<api>``.
It's also possible to define ``<screen permanent="true">`` which
will make the screen created automatically.
Usage
+12 -12
View File
@@ -89,73 +89,73 @@ Example
<arg name="max" type="int" default="2000000"/>
</element>
<element name="bind_flag_if_eq" access="bind" >
<element name="bind_flag_if_eq" access="custom" >
<arg name="subject" type="subject"/>
<arg name="flag" type="enum:lv_obj_flag"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_flag_if_not_eq" access="bind" >
<element name="bind_flag_if_not_eq" access="custom" >
<arg name="subject" type="subject"/>
<arg name="flag" type="enum:lv_obj_flag"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_flag_if_gt" access="bind" >
<element name="bind_flag_if_gt" access="custom" >
<arg name="subject" type="subject"/>
<arg name="flag" type="enum:lv_obj_flag"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_flag_if_ge" access="bind" >
<element name="bind_flag_if_ge" access="custom" >
<arg name="subject" type="subject"/>
<arg name="flag" type="enum:lv_obj_flag"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_flag_if_lt" access="bind" >
<element name="bind_flag_if_lt" access="custom" >
<arg name="subject" type="subject"/>
<arg name="flag" type="enum:lv_obj_flag"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_flag_if_le" access="bind" >
<element name="bind_flag_if_le" access="custom" >
<arg name="subject" type="subject"/>
<arg name="flag" type="enum:lv_obj_flag"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_state_if_eq" access="bind" >
<element name="bind_state_if_eq" access="custom" >
<arg name="subject" type="subject"/>
<arg name="state" type="enum:lv_state"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_state_if_not_eq" access="bind" >
<element name="bind_state_if_not_eq" access="custom" >
<arg name="subject" type="subject"/>
<arg name="state" type="enum:lv_state"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_state_if_gt" access="bind" >
<element name="bind_state_if_gt" access="custom" >
<arg name="subject" type="subject"/>
<arg name="state" type="enum:lv_state"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_state_if_ge" access="bind" >
<element name="bind_state_if_ge" access="custom" >
<arg name="subject" type="subject"/>
<arg name="state" type="enum:lv_state"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_state_if_lt" access="bind" >
<element name="bind_state_if_lt" access="custom" >
<arg name="subject" type="subject"/>
<arg name="state" type="enum:lv_state"/>
<arg name="ref_value" type="int"/>
</element>
<element name="bind_state_if_le" access="bind" >
<element name="bind_state_if_le" access="custom" >
<arg name="subject" type="subject"/>
<arg name="state" type="enum:lv_state"/>
<arg name="ref_value" type="int"/>