/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */ /************************************************************************* * * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. * * Copyright 2000, 2010 Oracle and/or its affiliates. * * OpenOffice.org - a multi-platform office productivity suite * * This file is part of OpenOffice.org. * * OpenOffice.org is free software: you can redistribute it and/or modify * it under the terms of the GNU Lesser General Public License version 3 * only, as published by the Free Software Foundation. * * OpenOffice.org is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Lesser General Public License version 3 for more details * (a copy is included in the LICENSE file that accompanied this code). * * You should have received a copy of the GNU Lesser General Public License * version 3 along with OpenOffice.org. If not, see * * for a copy of the LGPLv3 License. * ************************************************************************/ #ifndef __com_sun_star_i18n_XCalendar_idl__ #define __com_sun_star_i18n_XCalendar_idl__ #include #include #include //============================================================================ 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, "Gregorian" */ string getUniqueID(); //------------------------------------------------------------------------ /** Set the 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 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. 12 short getNumberOfMonthsInYear(); //------------------------------------------------------------------------ /// returns the number of days in a week, e.g. 7 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 nCalendarDisplayIndex type:
CalendarDisplayIndex::AM_PM
one of AmPmValue
CalendarDisplayIndex::DAY
one of Weekdays or a number used as an offset into the corresponding Calendar::Days sequence
CalendarDisplayIndex::MONTH
one of Months or a number used as an offset into the corresponding Calendar::Months sequence
CalendarDisplayIndex::YEAR
not used, empty string returned
CalendarDisplayIndex::ERA
a number used as an offset into the corresponding Calendar:Eras sequence
CalendarDisplayIndex::GENITIVE_MONTH
a number used as an offset into the corresponding Calendar2:GenitiveMonth sequence

The value should be obtained by a previous call to XCalendar::getValue() with an appropriate CalendarFieldIndex argument.

@param nNameType A value indicating whether to return the abbreviated or the full name, or the narrow name for some CalendarDisplayIndex values.
0
abbreviated name, e.g. "Jan"
1
full name, e.g. "January"
2
narrow name, e.g. "J"
Valid only for CalendarDisplayIndex::DAY, CalendarDisplayIndex::MONTH and CalendarDisplayIndex::GENITIVE_MONTH
@since LibreOffice 3.5

This parameter is not used if the nCalendarDisplayIndex argument equals CalendarDisplayIndex::AM_PM

*/ string getDisplayName( [in] short nCalendarDisplayIndex, [in] short nIdx, [in] short nNameType ); }; //============================================================================ }; }; }; }; #endif /* vim:set shiftwidth=4 softtabstop=4 expandtab: */