summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_list_view.eo
blob: f1490b3b26a034c65fe966b99fa807ff7810f606 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
import elm_general;

struct @beta Efl.Ui.List_View_Item_Event
{
   [[Information related to item events.]] // TODO: This needs to be filled in.
   layout: Efl.Ui.Layout; [[TBD]]
   child: Efl.Model; [[TBD]]
   index: int; [[TBD]]
}
class @beta Efl.Ui.List_View extends Efl.Ui.Layout_Base implements Efl.Ui.Scrollable_Interactive, Efl.Ui.Scrollbar,
                Efl.Access.Widget.Action, Efl.Access.Selection, Efl.Ui.Focus.Composition, Efl.Ui.Focus.Manager_Sub,
                Efl.Ui.Container_Selectable, Efl.Ui.List_View_Model, Efl.Ui.Widget_Focus_Manager
{
   methods {
      @property homogeneous {
         [[When in homogeneous mode, all items have the same height and width.
           Otherwise, each item's size is respected.
         ]]
         get {
         }
         set {
         }
         values {
            homogeneous: bool; [[Homogeneous mode setting. Default is $false.]]
         }
      }
      @property select_mode {
         [[Listview select mode.]]
         get {}
         set {}
         values {
            mode: Elm.Object.Select_Mode(Elm.Object.Select_Mode.max); [[The select mode.]]
         }
      }
      @property default_style {
         [[TBD]] // TODO: This needs to be filled in. Does not seem to be in use.
         values {
            style: stringshare; [[TBD]]
         }
      }
      @property layout_factory {
         [[Listview layout factory set.]]
         set {}
         values {
            factory: Efl.Ui.Factory; [[The factory.]]
         }
      }
   }
   events {
      item,realized : Efl.Ui.List_View_Item_Event;
      item,unrealized : Efl.Ui.List_View_Item_Event;
      item,focused : Efl.Ui.List_View_Item_Event;
      item,unfocused : Efl.Ui.List_View_Item_Event;
      item,highlighted : Efl.Ui.List_View_Item_Event;
      item,unhighlighted : Efl.Ui.List_View_Item_Event;
   }

   implements {
      Efl.Object.constructor;
      Efl.Object.finalize;
      Efl.Object.destructor;
      Efl.Gfx.Entity.position { set; }
      Efl.Gfx.Entity.size { set; }
      // Smart obj
      Efl.Canvas.Group.group_member_add;
      Efl.Canvas.Group.group_calculate;

      Efl.Ui.List_View_Model.load_range { set;}
      Efl.Ui.List_View_Model.realize;
      Efl.Ui.List_View_Model.unrealize;
      Efl.Ui.List_View_Model.model_size { get; }
      Efl.Ui.List_View_Model.min_size { get; set; }

      // Widget
      Efl.Ui.Widget_Focus_Manager.focus_manager_create;
      Efl.Ui.Widget.widget_input_event_handler;
      Efl.Ui.Widget.focus_state_apply;
      Efl.Ui.Focus.Composition.prepare;
      Efl.Ui.View.model { get; set; }

      Efl.Layout.Signal.signal_callback_add;
      Efl.Layout.Signal.signal_callback_del;
      Efl.Access.Object.access_children { get; }
      Efl.Access.Selection.selected_children_count { get; }
      Efl.Access.Selection.selected_child { get; }
      Efl.Access.Selection.selected_child_deselect;
      Efl.Access.Selection.child_select;
      Efl.Access.Selection.child_deselect;
      Efl.Access.Selection.is_child_selected;
      Efl.Access.Selection.all_children_select;
      Efl.Access.Selection.access_selection_clear;
   }
   composite {
      Efl.Ui.Scrollable_Interactive;
      Efl.Ui.Scrollbar;
   }
}