aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/elementary/elm_dayselector.eo
blob: 56b35044fb8e3bd86ff50d8f9fbe6e58327444dc (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
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
enum Elm.Dayselector.Day
{
   [[Identifies the day of the week. API can call the selection/unselection
     of day with this as a parameter.

     See also @Elm.Dayselector.day_selected_set, @Elm.Dayselector.day_selected_get.
   ]]

   legacy: elm_dayselector;
   sun = 0,[[Indicates Sunday.]]
   mon,    [[Indicates Monday.]]
   tue,    [[Indicates Tuesday.]]
   wed,    [[Indicates Wednesday.]]
   thu,    [[Indicates Thursday.]]
   fri,    [[Indicates Friday.]]
   sat,    [[Indicates Saturday.]]
   max     [[Sentinel value to indicate last enum field during iteration]]
}

class Elm.Dayselector (Efl.Ui.Layout, Efl.Ui.Legacy)
{
   [[Elementary dayselector class]]
   legacy_prefix: elm_dayselector;
   eo_prefix: elm_obj_dayselector;
   event_prefix: elm_dayselector;
   methods {
      @property week_start {
         set {
            [[Set the starting day of Dayselector.

              See also @Elm.Dayselector.Day,
              @.week_start.get.
            ]]
         }
         get {
            [[Get the starting day of Dayselector.

              See also @Elm.Dayselector.Day,
              @.week_start.set.
            ]]
         }
         values {
            day: Elm.Dayselector.Day; [[Dayselector_Day the first day that the user wants to display.]]
         }
      }
      @property weekend_length {
         set {
            [[Set the weekend length of Dayselector.

              See also @.weekend_length.get.
            ]]
         }
         get {
            [[Get the weekend length of Dayselector.

              See also @Elm.Dayselector.Day,
              @.weekend_length.set.
            ]]
         }
         values {
            length: uint; [[Weekend length, number of days as an integer.]]
         }
      }
      @property weekend_start {
         set {
            [[Set the weekend starting day of Dayselector.

              See also @Elm.Dayselector.Day,
              @.weekend_start.get.
            ]]
         }
         get {
            [[Get the weekend starting day of Dayselector.

              See also @Elm.Dayselector.Day,
              @.weekend_start.set.
            ]]
         }
         values {
            day: Elm.Dayselector.Day; [[Dayselector_Day the first day from where weekend starts.]]
         }
      }
      weekdays_names_set {
         [[Set weekdays names to be displayed by the Dayselector.

           By default or if weekdays is $null, weekdays abbreviations get from system are displayed:
           E.g. for an en_US locale: "Sun, Mon, Tue, Wed, Thu, Fri, Sat"

           The first string should be related to Sunday, the second to Monday...

           See also @.weekdays_names_get,
           @.weekend_start.set.

           @since 1.8
         ]]
           /* FIXME-doc
            *
            * The usage should be like this:
            * @code
            * const char *weekdays[] =
            * {
            * "Sunday", "Monday", "Tuesday", "Wednesday",
            * "Thursday", "Friday", "Saturday"
            * };
            * elm_dayselector_wekdays_names_set(calendar, weekdays);
            * @endcode
            */

         params {
            @in weekdays: legacy(ptr(string)) @nullable; [[Array of seven strings to be used as weekday names.
            Warning: It must have 7 elements, or it will access invalid memory.
            Warning: The strings must be NULL terminated ('@\0').]]
         }
      }
      weekdays_names_get @const {
         [[Get weekdays names displayed by the calendar.

           By default, weekdays abbreviations get from system are displayed:
           E.g. for an en_US locale: "Sun, Mon, Tue, Wed, Thu, Fri, Sat"
           The first string is related to Sunday, the second to Monday...

           See also @.weekdays_names_set.

           @since 1.8
         ]]
         return: list<stringshare @owned> @owned @warn_unused; [[A list of seven strings to be used as weekday names.]]
      }
      day_selected_set {
         [[Set the state of given Dayselector_Day.

           See also @Elm.Dayselector.Day,
           @.day_selected_get.
         ]]
         params {
            @in day: Elm.Dayselector.Day; [[Dayselector_Day that the user want to set state.]]
            @in selected: bool; [[State of the day. $true is selected.]]
         }
      }
      day_selected_get @const {
         [[Get the state of given Dayselector_Day.

           See also @Elm.Dayselector.Day,
           @.day_selected_set.
         ]]
         return: bool; [[$true on success, $false on failure]]
         params {
            @in day: Elm.Dayselector.Day; [[Dayselector_Day that the user want to know state.]]
         }
      }
   }
   implements {
      class.constructor;
      Efl.Object.constructor;
      Efl.Ui.Widget.theme_apply;
      Efl.Ui.Translatable.translation_update;
      Efl.Part.part_get;
   }
   events {
      /* FIXME: Nobody emits this
      dayselector,changed; [[Called when dayselector widget changed]]
      */
   }
}