aboutsummaryrefslogtreecommitdiffstats
path: root/src/lib/elementary/efl_ui_calendar.eo
blob: 649b6536c4815e078c0b385c5fbd915b73ef9ef5 (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
import efl_types;

enum Efl.Ui.Calendar_Weekday
{
   [[A weekday

   See also @Efl.Ui.Calendar.first_day_of_week.set.
   ]]
   sunday, [[Sunday weekday]]
   monday, [[Monday weekday]]
   tuesday, [[Tuesday weekday]]
   wednesday, [[Wednesday weekday]]
   thursday, [[Thursday weekday]]
   friday, [[Friday weekday]]
   saturday, [[Saturday weekday]]
   last  [[Sentinel value to indicate last enum field during iteration]]
}

class Efl.Ui.Calendar (Efl.Ui.Layout, Efl.Ui.Focus.Composition, Efl.Access.Widget.Action, Efl.Ui.Format)
{
   [[Calendar widget

   It helps applications to flexibly display a calendar with day of the week,
   date, year and month. Applications are able to set specific dates to be
   reported back, when selected, in the smart callbacks of the calendar widget.
   ]]
   methods {
      @property first_day_of_week {
         [[The first day of week to use on calendar widgets.

           This is the day that will appear in the left-most column (eg. Monday
           in France or Sunday in the US).
         ]]
         values {
            day: Efl.Ui.Calendar_Weekday(Efl.Ui.Calendar_Weekday.sunday);
               [[The first day of the week.]]
         }
      }
      @property date_min {
         [[Minimum date on calendar.]]
         set {
            [[Set the minimum date on calendar.

              Set the minimum date, changing the displayed month or year if needed.
              Displayed day also to be disabled if it is smaller than minimum date.
              If the minimum date is greater than current maximum date, the minimum
              date would be changed to the maximum date with returning $false.
            ]]
            return: bool; [[$true, on success, $false otherwise]]
         }
         get {
            [[Get the minimum date.

              Default value is 1 JAN,1902.
            ]]
         }
         values {
            min: Efl.Time; [[Time structure containing the minimum date.]]
         }
      }
      @property date_max {
         [[Maximum date on calendar.]]
         set {
            [[Set the maximum date on calendar.

              Set the maximum date, changing the displayed month or year if needed.
              Displayed day also to be disabled if it is bigger than maximum date.
              If the maximum date is less than current minimum date, the maximum date
              would be changed to the minimum date with returning $false.
            ]]
            return: bool; [[$true, on success, $false otherwise]]
         }
         get {
            [[Get the maximum date.

              Default maximum year is -1.
              Default maximum day and month are 31 and DEC.

              If the maximum year is a negative value, it will be limited depending
              on the platform architecture (year 2037 for 32 bits);
            ]]
         }
         values {
            max: Efl.Time; [[Time structure containing the maximum date.]]
         }
      }
      @property date {
         [[The selected date on calendar.]]
         set {
            [[Set the selected date. If the date is greater than the maximum date,
              the date would be changed to the maximum date with returning $false.
              In the opposite case with the minimum date,
              this would give the same result.
            ]]
            return: bool; [[$true, on success, $false otherwise]]
         }
         get {
         }
         values {
            date: Efl.Time; [[Time structure containing the selected date.]]
         }
      }
   }
   implements {
      class.constructor;
      Efl.Object.constructor;
      Efl.Object.destructor;
      Efl.Canvas.Group.group_calculate;
      Efl.Ui.Widget.theme_apply;
      Efl.Ui.Widget.on_access_update;
      Efl.Ui.Focus.Object.on_focus_update;
      Efl.Ui.Widget.widget_event;
      Efl.Access.Widget.Action.elm_actions { get; }
      Efl.Ui.Format.format_cb { set; }
      Efl.Ui.Format.format_string { set; get;}
   }
   events {
      changed: void; [[Emitted when the selected date in the calendar is changed]]
   }
}