summaryrefslogtreecommitdiff
path: root/offapi
diff options
context:
space:
mode:
authorEike Rathke <erack@redhat.com>2011-11-17 19:44:36 +0100
committerEike Rathke <erack@redhat.com>2011-11-19 16:15:19 +0100
commit122fae4e2d8443de1545ab927d2035dc8263184c (patch)
tree91bf6f3750938c638ebf734ad9e78ba10f2a4fb9 /offapi
parentafe9ca99ebbf8b18d3a3208c56df1e39d4d41661 (diff)
add possessive genitive case month names to i18n locale data API
Diffstat (limited to 'offapi')
-rw-r--r--offapi/UnoApi_offapi.mk3
-rw-r--r--offapi/com/sun/star/i18n/Calendar2.idl68
-rw-r--r--offapi/com/sun/star/i18n/CalendarDisplayCode.idl42
-rw-r--r--offapi/com/sun/star/i18n/CalendarDisplayIndex.idl15
-rw-r--r--offapi/com/sun/star/i18n/LocaleCalendar.idl2
-rw-r--r--offapi/com/sun/star/i18n/LocaleData.idl2
-rw-r--r--offapi/com/sun/star/i18n/XCalendar.idl4
-rw-r--r--offapi/com/sun/star/i18n/XCalendar3.idl71
-rw-r--r--offapi/com/sun/star/i18n/XLocaleData3.idl65
9 files changed, 251 insertions, 21 deletions
diff --git a/offapi/UnoApi_offapi.mk b/offapi/UnoApi_offapi.mk
index 8cd2ecfa59ed..01d8eed8b26a 100644
--- a/offapi/UnoApi_offapi.mk
+++ b/offapi/UnoApi_offapi.mk
@@ -2556,6 +2556,7 @@ $(eval $(call gb_UnoApiTarget_add_idlfiles,offapi,offapi/com/sun/star/i18n,\
BreakType \
CTLScriptType \
Calendar \
+ Calendar2 \
CalendarDisplayCode \
CalendarDisplayIndex \
CalendarFieldIndex \
@@ -2603,6 +2604,7 @@ $(eval $(call gb_UnoApiTarget_add_idlfiles,offapi,offapi/com/sun/star/i18n,\
WordType \
XBreakIterator \
XCalendar \
+ XCalendar3 \
XCharacterClassification \
XCollator \
XExtendedCalendar \
@@ -2615,6 +2617,7 @@ $(eval $(call gb_UnoApiTarget_add_idlfiles,offapi,offapi/com/sun/star/i18n,\
XInputSequenceChecker \
XLocaleData \
XLocaleData2 \
+ XLocaleData3 \
XNativeNumberSupplier \
XNumberFormatCode \
XOrdinalSuffix \
diff --git a/offapi/com/sun/star/i18n/Calendar2.idl b/offapi/com/sun/star/i18n/Calendar2.idl
new file mode 100644
index 000000000000..0be7a22bae69
--- /dev/null
+++ b/offapi/com/sun/star/i18n/Calendar2.idl
@@ -0,0 +1,68 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Copyright (C) 2011 Eike Rathke <erack@redhat.com> (initial developer)
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#ifndef __com_sun_star_i18n_Calendar2_idl__
+#define __com_sun_star_i18n_Calendar2_idl__
+
+#include <com/sun/star/i18n/Calendar.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module i18n {
+
+//=============================================================================
+
+/**
+ Calendar items as returned in a sequence by
+ <member>XLocaleData3::getAllCalendars2()</member>.
+
+ <p> Derived from
+ <type scope="::com::sun::star::i18n">Calendar</type> this provides
+ an additional member with a sequence of possessive (genitive case)
+ month names for locales that use them, for example Slavic locales.
+ If a locale does not provide the possessive form, the names are
+ identical to the nouns in <member>Calendar::Months</member>
+
+ @see XLocaleData
+ for links to DTD of XML locale data files.
+
+ @since LibreOffice 3.5
+ */
+
+published struct Calendar2 : com::sun::star::i18n::Calendar
+{
+ /** the months of the year in possessive genitive case, see also
+ <type>CalendarItem</type>.
+ */
+ sequence< CalendarItem > GenitiveMonths;
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
diff --git a/offapi/com/sun/star/i18n/CalendarDisplayCode.idl b/offapi/com/sun/star/i18n/CalendarDisplayCode.idl
index 780a88eb8fa7..5f77985951e6 100644
--- a/offapi/com/sun/star/i18n/CalendarDisplayCode.idl
+++ b/offapi/com/sun/star/i18n/CalendarDisplayCode.idl
@@ -48,40 +48,50 @@ module com { module sun { module star { module i18n {
published constants CalendarDisplayCode
{
/// Day of month, one or two digits, no leading zero.
- const long SHORT_DAY = 1;
+ const long SHORT_DAY = 1;
/// Day of month, two digits, with leading zero.
- const long LONG_DAY = 2;
+ const long LONG_DAY = 2;
/// Day of week, abbreviated name.
- const long SHORT_DAY_NAME = 3;
+ const long SHORT_DAY_NAME = 3;
/// Day of week, full name.
- const long LONG_DAY_NAME = 4;
+ const long LONG_DAY_NAME = 4;
/// Month of year, one or two digits, no leading zero.
- const long SHORT_MONTH = 5;
+ const long SHORT_MONTH = 5;
/// Month of year, with leading zero.
- const long LONG_MONTH = 6;
+ const long LONG_MONTH = 6;
/// Full month name.
- const long SHORT_MONTH_NAME = 7;
+ const long SHORT_MONTH_NAME = 7;
/// Abbreviated month name.
- const long LONG_MONTH_NAME = 8;
+ const long LONG_MONTH_NAME = 8;
/// Year, two digits.
- const long SHORT_YEAR = 9;
+ const long SHORT_YEAR = 9;
/// Year, four digits.
- const long LONG_YEAR = 10;
+ const long LONG_YEAR = 10;
/// Full era name, for example, "Before Christ" or "Anno Dominus".
- const long SHORT_ERA = 11;
+ const long SHORT_ERA = 11;
/// Abbreviated era name, for example, BC or AD.
- const long LONG_ERA = 12;
+ const long LONG_ERA = 12;
/// Combined short year and era, order depends on locale/calendar.
- const long SHORT_YEAR_AND_ERA = 13;
+ const long SHORT_YEAR_AND_ERA = 13;
/// Combined full year and era, order depends on locale/calendar.
- const long LONG_YEAR_AND_ERA = 14;
+ const long LONG_YEAR_AND_ERA = 14;
/// Short quarter, for example, "Q1"
- const long SHORT_QUARTER = 15;
+ const long SHORT_QUARTER = 15;
/// Long quarter, for example, "1st quarter"
- const long LONG_QUARTER = 16;
+ const long LONG_QUARTER = 16;
+
+ /** Abbreviated possessive genitive case month name.
+ @since LibreOffice 3.5
+ */
+ const long SHORT_GENITIVE_MONTH_NAME = 17;
+
+ /** Full possessive genitive case month name.
+ @since LibreOffice 3.5
+ */
+ const long LONG_GENITIVE_MONTH_NAME = 18;
};
//=============================================================================
diff --git a/offapi/com/sun/star/i18n/CalendarDisplayIndex.idl b/offapi/com/sun/star/i18n/CalendarDisplayIndex.idl
index 4338ad50742f..76f17e37c976 100644
--- a/offapi/com/sun/star/i18n/CalendarDisplayIndex.idl
+++ b/offapi/com/sun/star/i18n/CalendarDisplayIndex.idl
@@ -41,15 +41,20 @@ module com { module sun { module star { module i18n {
published constants CalendarDisplayIndex
{
/// name of an AM/PM value
- const short AM_PM = 0;
+ const short AM_PM = 0;
/// name of a day of week
- const short DAY = 1;
+ const short DAY = 1;
/// name of a month
- const short MONTH = 2;
+ const short MONTH = 2;
/// name of a year (if used for a specific calendar)
- const short YEAR = 3;
+ const short YEAR = 3;
/// name of an era, like BC/AD
- const short ERA = 4;
+ const short ERA = 4;
+
+ /** name of a possessive genitive case month
+ @since LibreOffice 3.5
+ */
+ const short GENITIVE_MONTH = 5;
};
//=============================================================================
diff --git a/offapi/com/sun/star/i18n/LocaleCalendar.idl b/offapi/com/sun/star/i18n/LocaleCalendar.idl
index e34d88731378..44a4211956cf 100644
--- a/offapi/com/sun/star/i18n/LocaleCalendar.idl
+++ b/offapi/com/sun/star/i18n/LocaleCalendar.idl
@@ -31,6 +31,7 @@
#include <com/sun/star/lang/XServiceInfo.idl>
#include <com/sun/star/i18n/XCalendar.idl>
#include <com/sun/star/i18n/XExtendedCalendar.idl>
+#include <com/sun/star/i18n/XCalendar3.idl>
//============================================================================
@@ -45,6 +46,7 @@ published service LocaleCalendar
interface com::sun::star::lang::XServiceInfo;
[optional] interface com::sun::star::i18n::XExtendedCalendar;
+ [optional] interface com::sun::star::i18n::XCalendar3;
};
//============================================================================
diff --git a/offapi/com/sun/star/i18n/LocaleData.idl b/offapi/com/sun/star/i18n/LocaleData.idl
index 69846c11948f..26f1a690c2a6 100644
--- a/offapi/com/sun/star/i18n/LocaleData.idl
+++ b/offapi/com/sun/star/i18n/LocaleData.idl
@@ -30,6 +30,7 @@
#include <com/sun/star/lang/XServiceInfo.idl>
#include <com/sun/star/i18n/XLocaleData2.idl>
+#include <com/sun/star/i18n/XLocaleData3.idl>
//============================================================================
@@ -44,6 +45,7 @@ published service LocaleData
interface com::sun::star::lang::XServiceInfo;
[optional] interface com::sun::star::i18n::XLocaleData2;
+ [optional] interface com::sun::star::i18n::XLocaleData3;
};
//============================================================================
diff --git a/offapi/com/sun/star/i18n/XCalendar.idl b/offapi/com/sun/star/i18n/XCalendar.idl
index ec300cfe20ed..49ab4b690dd8 100644
--- a/offapi/com/sun/star/i18n/XCalendar.idl
+++ b/offapi/com/sun/star/i18n/XCalendar.idl
@@ -197,6 +197,10 @@ published interface XCalendar : com::sun::star::uno::XInterface
<dd>a number used as an offset into the
corresponding <member>Calendar:Eras</member>
sequence</dd>
+ <dt><const>CalendarDisplayIndex::GENITIVE_MONTH</const></dt>
+ <dd>a number used as an offset into the
+ corresponding <member>Calendar2:GenitiveMonth</member>
+ sequence</dd>
</dl>
<p> The value should be obtained by a previous call to
diff --git a/offapi/com/sun/star/i18n/XCalendar3.idl b/offapi/com/sun/star/i18n/XCalendar3.idl
new file mode 100644
index 000000000000..8de955031518
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XCalendar3.idl
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Copyright (C) 2011 Eike Rathke <erack@redhat.com> (initial developer)
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#ifndef __com_sun_star_i18n_XCalendar3_idl__
+#define __com_sun_star_i18n_XCalendar3_idl__
+
+#include <com/sun/star/i18n/XExtendedCalendar.idl>
+#include <com/sun/star/i18n/Calendar2.idl>
+
+//=============================================================================
+
+module com { module sun { module star { module i18n {
+
+//=============================================================================
+
+
+/**
+ This interface provides access to locale specific calendar
+ systems.
+
+ <p> It is derived from
+ <type scope="::com::sun::star::i18n">XExtendedCalendar</type> and
+ provides additional methods to obtain <type>Calendar2</type> items
+ that include the possessive genitive case month names. </p>
+
+ @since LibreOffice 3.5
+ */
+published interface XCalendar3 : com::sun::star::i18n::XExtendedCalendar
+{
+ //------------------------------------------------------------------------
+ /// Get the currently loaded <type>Calendar2</type>.
+ Calendar2 getLoadedCalendar2();
+
+ //------------------------------------------------------------------------
+ /** returns a sequence of <type>CalendarItem</type> describing the
+ genitive case month names.
+ */
+ sequence< CalendarItem > getGenitiveMonths();
+
+};
+
+//=============================================================================
+}; }; }; };
+
+#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/offapi/com/sun/star/i18n/XLocaleData3.idl b/offapi/com/sun/star/i18n/XLocaleData3.idl
new file mode 100644
index 000000000000..870f615afded
--- /dev/null
+++ b/offapi/com/sun/star/i18n/XLocaleData3.idl
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*
+ * Version: MPL 1.1 / GPLv3+ / LGPLv3+
+ *
+ * The contents of this file are subject to the Mozilla Public License Version
+ * 1.1 (the "License"); you may not use this file except in compliance with
+ * the License or as specified alternatively below. You may obtain a copy of
+ * the License at http://www.mozilla.org/MPL/
+ *
+ * Software distributed under the License is distributed on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
+ * for the specific language governing rights and limitations under the
+ * License.
+ *
+ * Major Contributor(s):
+ * Copyright (C) 2011 Eike Rathke <erack@redhat.com> (initial developer)
+ *
+ * All Rights Reserved.
+ *
+ * For minor contributions see the git repository.
+ *
+ * Alternatively, the contents of this file may be used under the terms of
+ * either the GNU General Public License Version 3 or later (the "GPLv3+"), or
+ * the GNU Lesser General Public License Version 3 or later (the "LGPLv3+"),
+ * in which case the provisions of the GPLv3+ or the LGPLv3+ are applicable
+ * instead of those above.
+ */
+
+#ifndef __com_sun_star_i18n_XLocaleData3_idl__
+#define __com_sun_star_i18n_XLocaleData3_idl__
+
+#include <com/sun/star/i18n/XLocaleData2.idl>
+#include <com/sun/star/i18n/Calendar2.idl>
+
+//============================================================================
+
+module com { module sun { module star { module i18n {
+
+//============================================================================
+
+/**
+ Access locale specific data.
+
+ <p> Derived from <type
+ scope="::com::sun::star::i18n">XLocaleData2</type> this provides an
+ additional method to return a sequence of all <type
+ scope="::com::sun::star::i18n">Calendar2</type> elements available
+ for that locale.
+
+ @since LibreOffice 3.5
+ */
+
+published interface XLocaleData3 : com::sun::star::i18n::XLocaleData2
+{
+ /** returns all LC_CALENDAR calendars for a locale.
+ */
+ sequence< Calendar2 > getAllCalendars2(
+ [in] com::sun::star::lang::Locale aLocale );
+};
+
+//============================================================================
+}; }; }; };
+
+#endif
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */