1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
19 #ifndef __com_sun_star_util_XNumberFormats_idl__
20 #define __com_sun_star_util_XNumberFormats_idl__
22 #include
<com
/sun
/star
/uno
/XInterface.idl
>
24 #include
<com
/sun
/star
/beans
/XPropertySet.idl
>
26 #include
<com
/sun
/star
/lang
/Locale.idl
>
28 #include
<com
/sun
/star
/util
/MalformedNumberFormatException.idl
>
32 module com
{ module sun
{ module star
{ module util
{
35 /** provides access to multiple NumberFormats.
37 The number formats are managed by their unique key in the document.
39 published
interface XNumberFormats
: com
::sun
::star
::uno
::XInterface
43 a readonly NumberFormatProperties.
46 the key for the format
48 com
::sun
::star
::beans
::XPropertySet getByKey
( [in] long nKey
);
52 a sequence of the keys of all number formats with the specified type and language.
55 the type of number formats to return. Must be one of the
56 NumberFormat constants.
59 the locale of number formats to return.
62 `TRUE`: create new entries if no formats for the selected language exist<BR>
63 `FALSE`: return an empty list if no formats for the selected language exist
65 sequence
<long> queryKeys
( [in] short nType
,
66 [in] com
::sun
::star
::lang
::Locale nLocale
,
67 [in] boolean bCreate
);
70 /** finds a number format by its format string and returns its key.
73 the key for the format if found, otherwise -1.
76 the string representation of the number format
79 the locale for number formats to find
82 reserved for future use and should be set to false
84 long queryKey
( [in] string aFormat
,
85 [in] com
::sun
::star
::lang
::Locale nLocale
,
89 /** adds a new number format to the list, using a format string.
92 the key for new number format
95 the string representation of the number format
98 the locale for the number format
100 @throws com::sun::star::util::MalformedNumberFormatException
101 if incorrect number format is specified
103 long addNew
( [in] string aFormat
,
104 [in] com
::sun
::star
::lang
::Locale nLocale
)
105 raises
( com
::sun
::star
::util
::MalformedNumberFormatException
);
108 /** adds a new number format to the list, using a format
109 string in a different locale than the desired locale of the
110 resulting number format.
113 the key for added number format
116 the key for the number format
119 the original locale for the number format
122 the new locale for the number format to be converted
124 @throws com::sun::star::util::MalformedNumberFormatException
125 if incorrect number format is specified
127 long addNewConverted
( [in] string aFormat
,
128 [in] com
::sun
::star
::lang
::Locale nLocale
,
129 [in] com
::sun
::star
::lang
::Locale nNewLocale
)
130 raises
( com
::sun
::star
::util
::MalformedNumberFormatException
);
133 /** removes a number format from the list.
136 the key for the numberformat
138 void removeByKey
( [in] long nKey
);
141 /** generates a format string from several parameters without
142 creating an actual number format.
145 the string representation for the number format
148 the key for the number format to be used as base format
151 the locale for the number format
154 the thousands separator is shown or not
157 show negative number in red colored if `TRUE`
160 how many digits are shown after the decimal point
163 how many number of leading zeros are shown
165 string generateFormat
( [in] long nBaseKey
,
166 [in] com
::sun
::star
::lang
::Locale nLocale
,
167 [in] boolean bThousands
,
169 [in] short nDecimals
,
170 [in] short nLeading
);
179 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */