NAME

Prima::Calendar - standard calendar widget

SYNOPSIS

        use Prima qw(Calendar Application);
        my $cal = Prima::Calendar-> create(
                useLocale => 1,
                size      => [ 150, 150 ],
                onChange  => sub {
                        print $_[0]-> date_as_string, "\n";
                },
        );
        $cal-> date_from_time( localtime );
        $cal-> month( 5);
        run Prima;

DESCRIPTION

Provides interactive selection for dates between the years 1900 and 2099. The main property, date, is a three-integer array of day, month, and year, in the format of perl localtime ( see "localtime" in perlfunc ) - day's range is between 1 and 31, month's 0 to 11, year's from 0 to 199.

API

Events

Change

Called when the date property is changed.

Properties

date DAY, MONTH, YEAR

Accepts three integers in the format of localtime. DAY can be from 1 to 31, MONTH from 0 to 11, YEAR from 0 to 199.

Default value: today's date.

day INTEGER

Selects the day in the month.

firstDayOfWeek INTEGER

Selects the first day of the week, an integer between 0 and 6, where 0 is Sunday as the first day, 1 is Monday, etc.

Default value: 0

month

Selects the month

useLocale BOOLEAN

If 1, the locale-specific names of months and days of week are used. These are read by calling POSIX::strftime. If an invocation of the POSIX module fails, the property is automatically assigned to 0.

If 0, the English names of months and days of week are used.

Default value: 1

See also: date_as_string

year

Selects the year.

Methods

can_use_locale

Returns a boolean value, whether the locale information can be retrieved by calling strftime or not.

month2str MONTH

Returns the MONTH name according to the useLocale value.

make_months

Returns an array of the 12 month names according to the useLocale value.

day_of_week DAY, MONTH, YEAR, [ USE_FIRST_DAY_OF_WEEK = 1 ]

Returns an integer value between 0 and 6, the day of week on DAY, MONTH, YEAR date. If boolean USE_FIRST_DAY_OF_WEEK is set, the value of the firstDayOfWeek property is taken into account, so f ex the result of 0 means that this is a Sunday shifted forward by firstDayOfWeek days.

The switch from the Julian to the Gregorian calendar is ignored.

date_as_string [ DAY, MONTH, YEAR ]

Returns string representation of date on DAY, MONTH, YEAR according to the useLocale property value.

date_from_time SEC, MIN, HOUR, M_DAY, MONTH, YEAR, ...

Copies date from localtime or gmtime results. This helper method allows the following syntax:

        $calendar-> date_from_time( localtime( time));

AUTHOR

Dmitry Karasik, <dmitry@karasik.eu.org>.

SEE ALSO

Prima, Prima::Widget, POSIX, "localtime" in perlfunc, "time" in perlfunc, examples/calendar.pl.