310 lines
11 KiB
Plaintext
310 lines
11 KiB
Plaintext
import efl_types;
|
|
|
|
enum Elm.Datetime.Field_Type
|
|
{
|
|
[[Identifies a Datetime field, The widget supports 6 fields : Year, month,
|
|
Date, Hour, Minute, AM/PM
|
|
]]
|
|
|
|
legacy: elm_datetime;
|
|
year = 0, [[Indicates Year field.]]
|
|
month = 1, [[Indicates Month field.]]
|
|
date = 2, [[Indicates Date field.]]
|
|
hour = 3, [[Indicates Hour field.]]
|
|
minute = 4, [[Indicates Minute field.]]
|
|
ampm = 5, [[Indicates AM/PM field .]]
|
|
}
|
|
|
|
class Elm.Datetime (Elm.Layout)
|
|
{
|
|
legacy_prefix: elm_datetime;
|
|
eo_prefix: elm_obj_datetime;
|
|
event_prefix: elm_datetime;
|
|
methods {
|
|
@property format {
|
|
set {
|
|
[[Set the datetime format. Format is a combination of allowed
|
|
Libc date format specifiers like: "%b %d, %Y %I : %M %p".
|
|
|
|
Maximum allowed format length is 64 chars.
|
|
|
|
Format can include separators for each individual datetime
|
|
field except for AM/PM field.
|
|
|
|
Each separator can be a maximum of 6 UTF-8 bytes.
|
|
Space is also taken as a separator.
|
|
|
|
These specifiers can be arranged in any order and the widget
|
|
will display the fields accordingly.
|
|
|
|
Default format is taken as per the system locale settings.
|
|
]]
|
|
/* FIXME-doc
|
|
Following are the allowed set of format specifiers for each datetime field.
|
|
|
|
@b %%Y : The year as a decimal number including the century.
|
|
|
|
@b %%y : The year as a decimal number without a century (range 00 to 99).
|
|
|
|
@b %%m : The month as a decimal number (range 01 to 12).
|
|
|
|
@b %%b : The abbreviated month name according to the current locale.
|
|
|
|
@b %%B : The full month name according to the current locale.
|
|
|
|
@b %%h : The abbreviated month name according to the current locale(same as %%b).
|
|
|
|
@b %%d : The day of the month as a decimal number (range 01 to 31).
|
|
|
|
@b %%e : The day of the month as a decimal number (range 1 to 31). single
|
|
digits are preceded by a blank.
|
|
|
|
@b %%I : The hour as a decimal number using a 12-hour clock (range 01 to 12).
|
|
|
|
@b %%H : The hour as a decimal number using a 24-hour clock (range 00 to 23).
|
|
|
|
@b %%k : The hour (24-hour clock) as a decimal number (range 0 to 23). single
|
|
digits are preceded by a blank.
|
|
|
|
@b %%l : The hour (12-hour clock) as a decimal number (range 1 to 12); single
|
|
digits are preceded by a blank.
|
|
|
|
@b %%M : The minute as a decimal number (range 00 to 59).
|
|
|
|
@b %%p : Either 'AM' or 'PM' according to the given time value, or the
|
|
corresponding strings for the current locale. Noon is treated as 'PM'
|
|
and midnight as 'AM'.
|
|
|
|
@b %%P : Like %p but in lower case: 'am' or 'pm' or a corresponding string for
|
|
the current locale.
|
|
|
|
@b %%c : The preferred date and time representation for the current locale.
|
|
|
|
@b %%x : The preferred date representation for the current locale without the time.
|
|
|
|
@b %%X : The preferred time representation for the current locale without the date.
|
|
|
|
@b %%r : The complete calendar time using the AM/PM format of the current locale.
|
|
|
|
@b %%R : The hour and minute in decimal numbers using the format %H:%M.
|
|
|
|
@b %%T : The time of day in decimal numbers using the format %H:%M:%S.
|
|
|
|
@b %%D : The date using the format %%m/%%d/%%y.
|
|
|
|
@b %%F : The date using the format %%Y-%%m-%%d.
|
|
*/
|
|
}
|
|
get {
|
|
[[Get the datetime format.]]
|
|
}
|
|
values {
|
|
fmt: string @nullable; [[The datetime format.]]
|
|
}
|
|
}
|
|
field_limit_set {
|
|
[[Set the field limits of a field.
|
|
|
|
Limits can be set to individual fields, independently, except
|
|
for AM/PM field. Any field can display the values only in between
|
|
these minimum and maximum limits unless the corresponding time
|
|
value is restricted from MinTime to MaxTime. That is, min/max
|
|
field limits always works under the limitations of mintime/maxtime.
|
|
|
|
There is no provision to set the limits of AM/PM field.
|
|
]]
|
|
params {
|
|
@in fieldtype: Elm.Datetime.Field_Type; [[Type of the field. #ELM_DATETIME_YEAR etc.]]
|
|
@in min: int; [[Reference to field's minimum value.]]
|
|
@in max: int; [[Reference to field's maximum value.]]
|
|
}
|
|
}
|
|
field_limit_get @const {
|
|
[[ Get the field limits of a field.
|
|
|
|
Limits can be set to individual fields, independently, except
|
|
for AM/PM field. Any field can display the values only in between
|
|
these minimum and maximum limits unless the corresponding time
|
|
value is restricted from MinTime to MaxTime. That is, min/max
|
|
field limits always works under the limitations of mintime/maxtime.
|
|
|
|
There is no provision to set the limits of AM/PM field.
|
|
]]
|
|
params {
|
|
@in fieldtype: Elm.Datetime.Field_Type; [[Type of the field. #ELM_DATETIME_YEAR etc.]]
|
|
@out min: int; [[Reference to field's minimum value.]]
|
|
@out max: int; [[Reference to field's maximum value.]]
|
|
}
|
|
}
|
|
value_min_set {
|
|
[[Set the lower boundary of a field.
|
|
|
|
Year: years since 1900. Negative value represents year below 1900
|
|
(year value -30 represents 1870). Year default range is from 70
|
|
to 137.
|
|
|
|
Month: default value range is from 0 to 11.
|
|
|
|
Date: default value range is from 1 to 31 according to the month
|
|
value.
|
|
|
|
Hour: default value will be in terms of 24 hr format (0~23)
|
|
|
|
Minute: default value range is from 0 to 59.
|
|
]]
|
|
|
|
return: bool; [[$true if minimum value is accepted.]]
|
|
params {
|
|
@in mintime: const(Efl.Time)*; [[Time structure containing the minimum time value.]]
|
|
}
|
|
}
|
|
value_min_get @const {
|
|
[[Get the lower boundary of a field.
|
|
|
|
Year: years since 1900. Negative value represents year below 1900
|
|
(year value -30 represents 1870). Year default range is from 70
|
|
to 137.
|
|
|
|
Month: default value range is from 0 to 11.
|
|
|
|
Date: default value range is from 1 to 31 according to the month
|
|
value.
|
|
|
|
Hour: default value will be in terms of 24 hr format (0~23)
|
|
|
|
Minute: default value range is from 0 to 59.
|
|
]]
|
|
return: bool; [[$true if minimum value is successfully returned.]]
|
|
params {
|
|
@inout mintime: Efl.Time; [[Time structure.]]
|
|
}
|
|
}
|
|
value_set {
|
|
[[Set the current value of a Datetime object.
|
|
|
|
Year: years since 1900. Negative value represents year below 1900
|
|
(year value -30 represents 1870). Year default range is from 70
|
|
to 137.
|
|
|
|
Month: default value range is from 0 to 11.
|
|
|
|
Date: default value range is from 1 to 31 according to the month
|
|
value.
|
|
|
|
Hour: default value will be in terms of 24 hr format (0~23)
|
|
|
|
Minute: default value range is from 0 to 59.
|
|
]]
|
|
return: bool; [[$true if current time is set successfully.]]
|
|
params {
|
|
@in newtime: const(Efl.Time)*; [[Time structure filled with values to be set.]]
|
|
}
|
|
}
|
|
value_get @const {
|
|
[[Get the current value of a Datetime object.
|
|
|
|
Year: years since 1900. Negative value represents year below 1900
|
|
(year value -30 represents 1870). Year default range is from 70
|
|
to 137.
|
|
|
|
Month: default value range is from 0 to 11.
|
|
|
|
Date: default value range is from 1 to 31 according to the month
|
|
value.
|
|
|
|
Hour: default value will be in terms of 24 hr format (0~23)
|
|
|
|
Minute: default value range is from 0 to 59.
|
|
]]
|
|
return: bool; [[$true if current time is returned successfully.]]
|
|
params {
|
|
@inout currtime: Efl.Time; [[Time structure.]]
|
|
}
|
|
}
|
|
field_visible_set {
|
|
[[Set a field to be visible or not.
|
|
|
|
Setting this API to $true does not ensure that the field is
|
|
visible, apart from this, the field's format must be present
|
|
in Datetime overall format. If a field's visibility is set
|
|
to $false then it won't appear even though its format is
|
|
present in overall format. So if and only if this API is
|
|
set true and the corresponding field's format is present
|
|
in Datetime format, the field is visible.
|
|
|
|
By default the field visibility is set to $true.
|
|
]]
|
|
params {
|
|
@in fieldtype: Elm.Datetime.Field_Type; [[Type of the field. #ELM_DATETIME_YEAR etc.]]
|
|
@in visible: bool; [[$true field can be visible, $false otherwise.]]
|
|
}
|
|
}
|
|
field_visible_get @const {
|
|
[[ Get whether a field can be visible/not.]]
|
|
return: bool; [[$true, if field can be visible. $false otherwise.]]
|
|
params {
|
|
@in fieldtype: Elm.Datetime.Field_Type; [[Type of the field. #ELM_DATETIME_YEAR etc.]]
|
|
}
|
|
}
|
|
value_max_set {
|
|
[[Set the upper boundary of a field.
|
|
|
|
Year: years since 1900. Negative value represents year below 1900
|
|
(year value -30 represents 1870). Year default range is from 70
|
|
to 137.
|
|
|
|
Month: default value range is from 0 to 11.
|
|
|
|
Date: default value range is from 1 to 31 according to the month
|
|
value.
|
|
|
|
Hour: default value will be in terms of 24 hr format (0~23)
|
|
|
|
Minute: default value range is from 0 to 59.
|
|
]]
|
|
return: bool; [[$true if maximum value is accepted.]]
|
|
params {
|
|
@in maxtime: const(Efl.Time)*; [[Time structure containing the maximum time value.]]
|
|
}
|
|
}
|
|
value_max_get @const {
|
|
[[Get the upper boundary of a field.
|
|
|
|
Year: years since 1900. Negative value represents year below 1900
|
|
(year value -30 represents 1870). Year default range is from 70
|
|
to 137.
|
|
|
|
Month: default value range is from 0 to 11.
|
|
|
|
Date: default value range is from 1 to 31 according to the month
|
|
value.
|
|
|
|
Hour: default value will be in terms of 24 hr format (0~23)
|
|
|
|
Minute: default value range is from 0 to 59.
|
|
]]
|
|
return: bool; [[$true if maximum value is returned successfully.]]
|
|
params {
|
|
@inout maxtime: Efl.Time; [[Time structure containing the maximum time value.]]
|
|
}
|
|
}
|
|
}
|
|
implements {
|
|
class.constructor;
|
|
Eo.Base.constructor;
|
|
Evas.Object.Smart.add;
|
|
Evas.Object.Smart.del;
|
|
Elm.Widget.theme_apply;
|
|
Elm.Widget.focus_next_manager_is;
|
|
Elm.Widget.focus_next;
|
|
Elm.Widget.disable;
|
|
Elm.Widget.on_focus;
|
|
Elm.Widget.translate;
|
|
Elm.Layout.sizing_eval;
|
|
}
|
|
events {
|
|
changed;
|
|
}
|
|
|
|
}
|