summaryrefslogtreecommitdiff
path: root/src/lib/elementary/efl_ui_pager.eo
blob: a9da1243e72f844b16eae301d1b750db0bbe6cf8 (plain)
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
98
99
100
101
102
enum Efl.Ui.Pager.Loop
{
   [[Efl ui pager loop mode]]
   disabled,
   enabled
}

class Efl.Ui.Pager (Efl.Ui.Layout, Efl.Pack.Linear)
{
   [[Pager widget

     A pager contains many pages in a linear fashion and allows users to scroll
     through pages. Each page is numbered according to linear order and
     one of the pages is marked as 'current page' and displayed in the middle.
     The way each page is displayed is defined by @Efl.Page.Transition object,
     allowing users to adopt different types of transition.
     The most common use case of this widget is the home screen of mobile devices.
   ]]
   methods {
      @property transition {
         [[Page transition effect

           Page transition is in charge of displaying pages in a specific way and
           invoked every time page layout needs to be updated.
         ]]
         set {
            [[Set a page transition effect]]
         }
         values {
            transition: Efl.Page.Transition @nullable; [[transition effect]]
         }
      }
      @property indicator {
         [[Page indicator

           Page indicator, located on the top layer of pager widget, helps users
           to know the number of pages and the current page's index without scrolling.
         ]]
         set {
            [[Set a page indicator]]
         }
         values {
            indicator: Efl.Page.Indicator @nullable; [[indicator class]]
         }
      }
      @property current_page {
         [[One page is selected as the current page and mainly displayed.]]
         set {
            [[Set one page as current page]]
         }
         get {
            [[Get the current page]]
         }
         values {
            index: int;
         }
      }
      @property scroll_block {
         [[Pages can be scrolled back and forth by default. This property allows
           limiting the direction of scrolling, or blocking scroll gesture at all.
         ]]
         values {
            prev: bool;
            next: bool;
         }
      }
      @property loop_mode {
         [[Pager is not scrolled after it's scrolled to the end by default.
           This property gives the option to make a loop through pages.
         ]]
         values {
            loop: Efl.Ui.Pager.Loop;
         }
      }
      @property page_size {
         values {
            size: Eina.Size2D;
         }
      }
      @property padding {
         values {
            padding: int;
         }
      }
   }
   implements {
      Efl.Object.constructor;
      Efl.Object.finalize;
      Efl.Container.content_count;
      Efl.Pack.pack_clear;             //TODO
      Efl.Pack.unpack_all;             //TODO
      Efl.Pack.unpack;                 //TODO
      Efl.Pack.Linear.pack_begin;
      Efl.Pack.Linear.pack_end;
      Efl.Pack.Linear.pack_before;
      Efl.Pack.Linear.pack_after;
      Efl.Pack.Linear.pack_at;
      Efl.Pack.Linear.pack_content_get;
      Efl.Pack.Linear.pack_index_get;
      Efl.Pack.Linear.pack_unpack_at;  //TODO
   }
}