1/************************************************************************* 2 * 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * Copyright 2000, 2010 Oracle and/or its affiliates. 6 * 7 * OpenOffice.org - a multi-platform office productivity suite 8 * 9 * This file is part of OpenOffice.org. 10 * 11 * OpenOffice.org is free software: you can redistribute it and/or modify 12 * it under the terms of the GNU Lesser General Public License version 3 13 * only, as published by the Free Software Foundation. 14 * 15 * OpenOffice.org is distributed in the hope that it will be useful, 16 * but WITHOUT ANY WARRANTY; without even the implied warranty of 17 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 18 * GNU Lesser General Public License version 3 for more details 19 * (a copy is included in the LICENSE file that accompanied this code). 20 * 21 * You should have received a copy of the GNU Lesser General Public License 22 * version 3 along with OpenOffice.org. If not, see 23 * <http://www.openoffice.org/license.html> 24 * for a copy of the LGPLv3 License. 25 * 26 ************************************************************************/ 27#ifndef __com_sun_star_util_XNumberFormats_idl__ 28#define __com_sun_star_util_XNumberFormats_idl__ 29 30#ifndef __com_sun_star_uno_XInterface_idl__ 31#include <com/sun/star/uno/XInterface.idl> 32#endif 33 34#ifndef __com_sun_star_beans_XPropertySet_idl__ 35#include <com/sun/star/beans/XPropertySet.idl> 36#endif 37 38#ifndef __com_sun_star_lang_Locale_idl__ 39#include <com/sun/star/lang/Locale.idl> 40#endif 41 42#ifndef __com_sun_star_util_MalformedNumberFormatException_idl__ 43#include <com/sun/star/util/MalformedNumberFormatException.idl> 44#endif 45 46 47//============================================================================= 48 49 module com { module sun { module star { module util { 50 51//============================================================================= 52 53/** provides access to multiple <type>NumberFormat</type>s. 54 */ 55published interface XNumberFormats: com::sun::star::uno::XInterface 56{ 57 //------------------------------------------------------------------------- 58 59 /** @returns 60 a readonly <type>NumberFormatProperties</type>. 61 */ 62 com::sun::star::beans::XPropertySet getByKey( [in] long nKey ); 63 64 //------------------------------------------------------------------------- 65 66 /** @returns 67 a sequence of the keys of all number formats with the specified type and language. 68 69 @param nType 70 the type of number formats to return. Must be one of the 71 <type>NumberFormat</type> constants. 72 73 @param nLanguage 74 the language of number formats to return. 75 76 @param bCreate 77 <TRUE/>: create new entries if no formats for the selected language exist<BR> 78 <FALSE/>: return an empty list if no formats for the selected language exist 79 */ 80 sequence<long> queryKeys( [in] short nType, 81 [in] com::sun::star::lang::Locale nLocale, 82 [in] boolean bCreate ); 83 84 //------------------------------------------------------------------------- 85 86 /** finds a number format by its format string and returns its key. 87 */ 88 long queryKey( [in] string aFormat, 89 [in] com::sun::star::lang::Locale nLocale, 90 [in] boolean bScan ); 91 92 //------------------------------------------------------------------------- 93 94 /** adds a new number format to the list, using a format string. 95 */ 96 long addNew( [in] string aFormat, 97 [in] com::sun::star::lang::Locale nLocale ) 98 raises( com::sun::star::util::MalformedNumberFormatException ); 99 100 //------------------------------------------------------------------------- 101 102 /** adds a new number format to the list, using a format 103 string in a different locale than the desired locale of the 104 resulting number format. 105 */ 106 long addNewConverted( [in] string aFormat, 107 [in] com::sun::star::lang::Locale nLocale, 108 [in] com::sun::star::lang::Locale nNewLocale ) 109 raises( com::sun::star::util::MalformedNumberFormatException ); 110 111 //------------------------------------------------------------------------- 112 113 /** removes a number format from the list. 114 */ 115 void removeByKey( [in] long nKey ); 116 117 //------------------------------------------------------------------------- 118 119 /** generates a format string from several parameters without 120 creating an actual number format. 121 */ 122 string generateFormat( [in] long nBaseKey, 123 [in] com::sun::star::lang::Locale nLocale, 124 [in] boolean bThousands, 125 [in] boolean bRed, 126 [in] short nDecimals, 127 [in] short nLeading ); 128 129}; 130 131//============================================================================= 132 133}; }; }; }; 134 135#endif 136 137