diff options
Diffstat (limited to 'offapi/com/sun/star/i18n/XCalendar.idl')
-rw-r--r-- | offapi/com/sun/star/i18n/XCalendar.idl | 211 |
1 files changed, 211 insertions, 0 deletions
diff --git a/offapi/com/sun/star/i18n/XCalendar.idl b/offapi/com/sun/star/i18n/XCalendar.idl new file mode 100644 index 000000000..fd89a5273 --- /dev/null +++ b/offapi/com/sun/star/i18n/XCalendar.idl @@ -0,0 +1,211 @@ +/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ +/* + * This file is part of the LibreOffice project. + * + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this + * file, You can obtain one at http://mozilla.org/MPL/2.0/. + * + * This file incorporates work covered by the following license notice: + * + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed + * with this work for additional information regarding copyright + * ownership. The ASF licenses this file to you under the Apache + * License, Version 2.0 (the "License"); you may not use this file + * except in compliance with the License. You may obtain a copy of + * the License at http://www.apache.org/licenses/LICENSE-2.0 . + */ + +#ifndef __com_sun_star_i18n_XCalendar_idl__ +#define __com_sun_star_i18n_XCalendar_idl__ + +#include <com/sun/star/lang/Locale.idl> +#include <com/sun/star/i18n/Calendar.idl> +#include <com/sun/star/i18n/CalendarItem.idl> + + +module com { module sun { module star { module i18n { + + +/** + Access to locale specific calendar systems. + */ + +published interface XCalendar : com::sun::star::uno::XInterface +{ + /// Load the default calendar for the given locale. + void loadDefaultCalendar( [in] ::com::sun::star::lang::Locale rLocale ); + + /// Load a specific calendar for the given locale. + void loadCalendar( [in] string uniqueID, + [in] ::com::sun::star::lang::Locale rLocale ); + + /// Get the currently loaded Calendar. + Calendar getLoadedCalendar(); + + /// Returns all available calendars for the given locale. + sequence< string > getAllCalendars( [in] ::com::sun::star::lang::Locale rLocale ); + + /** Returns the ID string of the loaded calendar, for example, + <b>"Gregorian"</b> + */ + string getUniqueID(); + + /** + Set the UTC date/time as an offset to the start of the calendar + at 1-Jan-1970 00:00. The integer part represents the number of + days passed since start date. The fractional part represents + fractions of a day, thus 0.5 means 12 hours. + */ + void setDateTime( [in] double nTimeInDays ); + + /** + Get the UTC date/time as an offset to the start of the calendar + at 1-Jan-1970 00:00. The integer part represents the number of + days passed since start date. The fractional part represents + fractions of a day, thus 0.5 means 12 hours. + */ + double getDateTime(); + + /** + Set the value of a field. + + @param nCalendarFieldIndex + One of CalendarFieldIndex values. + + @param nValue + A value of the allowed range for the field index. + */ + void setValue( [in] short nCalendarFieldIndex, [in] short nValue ); + + /** + Get the value of a field. + + @param nCalendarFieldIndex + One of CalendarFieldIndex values. + */ + short getValue( [in] short nCalendarFieldIndex ); + + /** + Verify if the date fields set by a combination of + XCalendar::setValue() calls is valid. It has a + side-effect because it will internally calculate the final value + for the date fields + */ + boolean isValid(); + + /** + Add an amount to a field. + + @param nCalendarFieldIndex + One of CalendarFieldIndex values. + + @param nAmount + The amount to add. + */ + void addValue( [in] short nCalendarFieldIndex, [in] long nAmount ); + + /** returns the first day of a week, one of Weekdays + values. + */ + short getFirstDayOfWeek(); + + /** Set the first day of a week, one of Weekdays + values. + */ + void setFirstDayOfWeek( [in] short nDay ); + + /** Set how many days of a week must reside in the first week of a + year. + */ + void setMinimumNumberOfDaysForFirstWeek( [in] short nDays ); + + /** returns how many days of a week must reside in the first week of + a year. + */ + short getMinimumNumberOfDaysForFirstWeek(); + + /// returns the number of months in a year, e.g. <b>12</b> + short getNumberOfMonthsInYear(); + + /// returns the number of days in a week, e.g. <b>7</b> + short getNumberOfDaysInWeek(); + + /** returns a sequence of CalendarItem describing the + month names. + */ + sequence< CalendarItem > getMonths(); + + /** returns a sequence of CalendarItem describing the + day names. + */ + sequence< CalendarItem > getDays(); + + /** + Returns a string (name to display) matching the given parameters. + + @param nCalendarDisplayIndex + One of CalendarDisplayIndex values + + @param nIdx + A value matching the <em>nCalendarDisplayIndex</em> type: + <dl> + <dt>CalendarDisplayIndex::AM_PM</dt> + <dd>one of AmPmValue</dd> + <dt>CalendarDisplayIndex::DAY</dt> + <dd>one of Weekdays or a number used as + an offset into the corresponding + Calendar::Days sequence</dd> + <dt>CalendarDisplayIndex::MONTH</dt> + <dd>one of Months or a number used as + an offset into the corresponding + Calendar::Months sequence</dd> + <dt>CalendarDisplayIndex::YEAR</dt> + <dd>not used, empty string returned</dd> + <dt>CalendarDisplayIndex::ERA</dt> + <dd>a number used as an offset into the + corresponding Calendar:Eras + sequence</dd> + <dt>CalendarDisplayIndex::GENITIVE_MONTH</dt> + <dd>a number used as an offset into the + corresponding Calendar2:GenitiveMonth + sequence</dd> + </dl> + + <p> The value should be obtained by a previous call to + XCalendar::getValue() with an appropriate + CalendarFieldIndex argument. </p> + + @param nNameType + A value indicating whether to return the abbreviated or the + full name, or the narrow name for some + CalendarDisplayIndex values. + <dl> + <dt> 0 </dt> + <dd>abbreviated name, e.g. <b>"Jan"</b></dd> + <dt> 1 </dt> + <dd>full name, e.g. <b>"January"</b></dd> + <dt> 2 </dt> + <dd>narrow name, e.g. <b>"J"</b> <br> + Valid only for CalendarDisplayIndex::DAY, + CalendarDisplayIndex::MONTH and + CalendarDisplayIndex::GENITIVE_MONTH <br> + @since LibreOffice 3.5 + </dd> + + <p> This parameter is not used if the + <em>nCalendarDisplayIndex</em> argument equals + CalendarDisplayIndex::AM_PM </p> + */ + + string getDisplayName( [in] short nCalendarDisplayIndex, + [in] short nIdx, + [in] short nNameType ); +}; + +}; }; }; }; + +#endif + +/* vim:set shiftwidth=4 softtabstop=4 expandtab: */ |