| /************************************************************** |
| * |
| * 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 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| * |
| *************************************************************/ |
| |
| |
| |
| #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 <type>Calendar</type>. |
| 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 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 <type>CalendarFieldIndex</type> 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 <type>CalendarFieldIndex</type> values. |
| */ |
| short getValue( [in] short nCalendarFieldIndex ); |
| |
| //------------------------------------------------------------------------ |
| /** |
| Verify if the date fields set by a combination of |
| <member>XCalendar::setValue()</member> 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 <type>CalendarFieldIndex</type> values. |
| |
| @param nAmount |
| The amount to add. |
| */ |
| void addValue( [in] short nCalendarFieldIndex, [in] long nAmount ); |
| |
| //------------------------------------------------------------------------ |
| /** returns the first day of a week, one of <type>Weekdays</type> |
| values. |
| */ |
| short getFirstDayOfWeek(); |
| |
| //------------------------------------------------------------------------ |
| /** Set the first day of a week, one of <type>Weekdays</type> |
| 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 <type>CalendarItem</type> describing the |
| month names. |
| */ |
| sequence< CalendarItem > getMonths(); |
| |
| //------------------------------------------------------------------------ |
| /** returns a sequence of <type>CalendarItem</type> describing the |
| day names. |
| */ |
| sequence< CalendarItem > getDays(); |
| |
| //------------------------------------------------------------------------ |
| /** |
| Returns a string (name to display) matching the given parameters. |
| |
| @param nCalendarDisplayIndex |
| One of <type>CalendarDisplayIndex</type> values |
| |
| @param nIdx |
| A value matching the <em>nCalendarDisplayIndex</em> type: |
| <dl> |
| <dt><const>CalendarDisplayIndex::AM_PM</const></dt> |
| <dd>one of <type>AmPmValue</type></dd> |
| <dt><const>CalendarDisplayIndex::DAY</const></dt> |
| <dd>one of <type>Weekdays</type> or a number used as |
| an offset into the corresponding |
| <member>Calendar::Days</member> sequence</dd> |
| <dt><const>CalendarDisplayIndex::MONTH</const></dt> |
| <dd>one of <type>Months</type> or a number used as |
| an offset into the corresponding |
| <member>Calendar::Months</member> sequence</dd> |
| <dt><const>CalendarDisplayIndex::YEAR</const></dt> |
| <dd>not used, empty string returned</dd> |
| <dt><const>CalendarDisplayIndex::ERA</const></dt> |
| <dd>a number used as an offset into the |
| corresponding <member>Calendar:Eras</member> |
| sequence</dd> |
| </dl> |
| |
| <p> The value should be obtained by a previous call to |
| <member>XCalendar::getValue()</member> with an appropriate |
| <type>CalendarFieldIndex</type> argument. </p> |
| |
| @param nNameType |
| A value indicating whether to return the abbreviated or the |
| full name. |
| <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> |
| |
| <p> This parameter is not used if the |
| <em>nCalendarDisplayIndex</em> argument equals |
| <const>CalendarDisplayIndex::AM_PM</const> </p> |
| */ |
| |
| string getDisplayName( [in] short nCalendarDisplayIndex, |
| [in] short nIdx, |
| [in] short nNameType ); |
| }; |
| |
| //============================================================================ |
| }; }; }; }; |
| |
| #endif |