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 .
22 module com
{ module sun
{ module star
{ module util
{
25 /** provides access to multiple NumberFormats.
27 The number formats are managed by their unique key in the document.
29 published
interface XNumberFormats
: com
::sun
::star
::uno
::XInterface
33 a readonly NumberFormatProperties.
36 the key for the format
38 com
::sun
::star
::beans
::XPropertySet getByKey
( [in] long nKey
);
42 a sequence of the keys of all number formats with the specified type and language.
45 the type of number formats to return. Must be one of the
46 NumberFormat constants.
49 the locale of number formats to return.
52 `TRUE`: create new entries if no formats for the selected language exist<BR>
53 `FALSE`: return an empty list if no formats for the selected language exist
55 sequence
<long> queryKeys
( [in] short nType
,
56 [in] com
::sun
::star
::lang
::Locale nLocale
,
57 [in] boolean bCreate
);
60 /** finds a number format by its format string and returns its key.
63 the key for the format if found, otherwise -1.
66 the string representation of the number format
69 the locale for number formats to find
72 reserved for future use and should be set to false
74 long queryKey
( [in] string aFormat
,
75 [in] com
::sun
::star
::lang
::Locale nLocale
,
79 /** adds a new number format to the list, using a format string.
82 the key for new number format
85 the string representation of the number format
88 the locale for the number format
90 @throws com::sun::star::util::MalformedNumberFormatException
91 if incorrect number format is specified
93 long addNew
( [in] string aFormat
,
94 [in] com
::sun
::star
::lang
::Locale nLocale
)
95 raises
( com
::sun
::star
::util
::MalformedNumberFormatException
);
98 /** adds a new number format to the list, using a format
99 string in a different locale than the desired locale of the
100 resulting number format.
103 the key for added number format
106 the key for the number format
109 the original locale for the number format
112 the new locale for the number format to be converted
114 @throws com::sun::star::util::MalformedNumberFormatException
115 if incorrect number format is specified
117 long addNewConverted
( [in] string aFormat
,
118 [in] com
::sun
::star
::lang
::Locale nLocale
,
119 [in] com
::sun
::star
::lang
::Locale nNewLocale
)
120 raises
( com
::sun
::star
::util
::MalformedNumberFormatException
);
123 /** removes a number format from the list.
126 the key for the numberformat
128 void removeByKey
( [in] long nKey
);
131 /** generates a format string from several parameters without
132 creating an actual number format.
135 the string representation for the number format
138 the key for the number format to be used as base format
141 the locale for the number format
144 the thousands separator is shown or not
147 show negative number in red colored if `TRUE`
150 how many digits are shown after the decimal point
153 how many number of leading zeros are shown
155 string generateFormat
( [in] long nBaseKey
,
156 [in] com
::sun
::star
::lang
::Locale nLocale
,
157 [in] boolean bThousands
,
159 [in] short nDecimals
,
160 [in] short nLeading
);
167 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */