path: root/src/lib/elementary/efl_ui_radio.eo
diff options
authorMarcel Hollerbach <>2019-05-29 13:03:37 +0200
committerMarcel Hollerbach <>2019-06-20 16:02:00 +0200
commitc9177a9f8d75fc7bd2634a0adb63106492f3e94c (patch)
treec116e4c39d0f3f7d36233fdfc9b57dedc6b91441 /src/lib/elementary/efl_ui_radio.eo
parent42b293ae1f89aa3737fe7a4d81ebc3596fd2c631 (diff)
Introduce Efl.Ui.Radio_Group & Efl.Ui.Radio_Box
Radio_Group is a interface that manages that radio groups can be grouped inside a external object, the current API of radio was considered confusing in that regard. It is implemented in the Radio_Group_Internal class which is private to EFL, a instance of it can be found with get due to the class function in efl_ui_radio.eo. This architecture was taken like this, in order to have implementation and interface seperated. With those two seperated we can inherit from regular widgets, implement the interface, and composite attach the internal object to the regular widget. This makes a lot of things easier. Radio_Box is a class which is extending Efl.Ui.Box, which has an internal Radio_Group. This is extremly usefull for cases where you just want to have a list of radio buttons in your UI. The radio group is also exposed using composition to the internal object. Simular things can be done for the table. For now i did not add API to find the group of a radio button. However, this can be quickly added if requested. ref T7867 Reviewed-by: Mike Blumenkrantz <> Reviewed-by: Xavi Artigas <> Differential Revision:
Diffstat (limited to 'src/lib/elementary/efl_ui_radio.eo')
1 files changed, 0 insertions, 46 deletions
diff --git a/src/lib/elementary/efl_ui_radio.eo b/src/lib/elementary/efl_ui_radio.eo
index a833f39e09..e59e548300 100644
--- a/src/lib/elementary/efl_ui_radio.eo
+++ b/src/lib/elementary/efl_ui_radio.eo
@@ -19,52 +19,6 @@ class @beta Efl.Ui.Radio extends Efl.Ui.Check implements Efl.Access.Widget.Actio
19 value: int; [[The value to use if this radio object is selected.]] 19 value: int; [[The value to use if this radio object is selected.]]
20 } 20 }
21 } 21 }
22 @property value_pointer {
23 set {
24 [[Set a convenience pointer to an integer, which changes when radio group
25 value changes.
27 This sets a pointer to an integer that in addition to the radio
28 object state will also be modified directly. To stop setting the
29 object pointed to, simply use NULL as the valuep argument. If
30 valuep is not NULL then when called, the radio object
31 state will also be modified to reflect the value of the integer
32 valuep points to, just like calling elm_radio_value_set().
33 ]]
34 }
35 values {
36 valuep: ptr(int); [[Pointer to the integer to modify]]
37 }
38 }
39 @property selected_object {
40 get {
41 [[Get the selected radio object.]]
42 return: Efl.Canvas.Object; [[The selected radio object]]
43 }
44 }
45 group_add {
46 [[Add this radio to a group of other radio objects
48 Radio objects work in groups. Each member should have a different
49 integer value assigned. In order to have them work as a group, they
50 need to know about each other. This adds the given radio object to
51 the group of which the group object indicated is a member.
52 ]]
54 params {
55 @in group: Efl.Ui.Radio; [[Any radio object whose group the obj is
56 to join.]]
57 }
58 }
59 @property group_value {
60 [[Change the value of the group.
62 This will enable the radio button in the group that is assosiated with this value. A value which is not assosiated with any radio button will result in every radio button beeing disabled.
63 ]]
64 values {
65 value : int; [[The value of the radio button in the group which should be enabled.]]
66 }
67 }
68 } 22 }
69 implements { 23 implements {
70 Efl.Object.constructor; 24 Efl.Object.constructor;