summaryrefslogtreecommitdiffstats
path: root/wizards/com/sun/star/wizards/common/NumberFormatter.py
diff options
context:
space:
mode:
Diffstat (limited to 'wizards/com/sun/star/wizards/common/NumberFormatter.py')
-rw-r--r--wizards/com/sun/star/wizards/common/NumberFormatter.py86
1 files changed, 86 insertions, 0 deletions
diff --git a/wizards/com/sun/star/wizards/common/NumberFormatter.py b/wizards/com/sun/star/wizards/common/NumberFormatter.py
new file mode 100644
index 000000000..54d84c9fc
--- /dev/null
+++ b/wizards/com/sun/star/wizards/common/NumberFormatter.py
@@ -0,0 +1,86 @@
+#
+# This file is part of the LibreOffice project.
+#
+# This Source Code Form is subject to the terms of the Mozilla Public
+# License, v. 2.0. If a copy of the MPL was not distributed with this
+# file, You can obtain one at http://mozilla.org/MPL/2.0/.
+#
+# This file incorporates work covered by the following license notice:
+#
+# 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 .
+#
+import traceback
+from com.sun.star.lang import Locale
+
+class NumberFormatter(object):
+
+ def __init__(self, _xNumberFormatsSupplier, _aLocale, _xMSF=None):
+ self.iDateFormatKey = -1
+ self.iDateTimeFormatKey = -1
+ self.iNumberFormatKey = -1
+ self.iTextFormatKey = -1
+ self.iTimeFormatKey = -1
+ self.iLogicalFormatKey = -1
+ self.bNullDateCorrectionIsDefined = False
+ self.aLocale = _aLocale
+ if _xMSF is not None:
+ self.xNumberFormatter = _xMSF.createInstance(
+ "com.sun.star.util.NumberFormatter")
+ self.xNumberFormats = _xNumberFormatsSupplier.NumberFormats
+ self.xNumberFormatSettings = \
+ _xNumberFormatsSupplier.NumberFormatSettings
+ self.xNumberFormatter.attachNumberFormatsSupplier(
+ _xNumberFormatsSupplier)
+
+ '''
+ @param _xMSF
+ @param _xNumberFormatsSupplier
+ @return
+ @throws Exception
+ @deprecated
+ '''
+
+ @classmethod
+ def createNumberFormatter(self, _xMSF, _xNumberFormatsSupplier):
+ oNumberFormatter = _xMSF.createInstance(
+ "com.sun.star.util.NumberFormatter")
+ oNumberFormatter.attachNumberFormatsSupplier(_xNumberFormatsSupplier)
+ return oNumberFormatter
+
+ '''
+ gives a key to pass to a NumberFormat object. <br/>
+ example: <br/>
+ <pre>
+ XNumberFormatsSupplier nsf =
+ (XNumberFormatsSupplier)UnoRuntime.queryInterface(...,document)
+ int key = Desktop.getNumberFormatterKey(
+ nsf, ...star.i18n.NumberFormatIndex.DATE...)
+ XNumberFormatter nf = Desktop.createNumberFormatter(xmsf, nsf);
+ nf.convertNumberToString( key, 1972 );
+ </pre>
+ @param numberFormatsSupplier
+ @param type - a constant out of i18n.NumberFormatIndex enumeration.
+ @return a key to use with a util.NumberFormat instance.
+ '''
+
+ @classmethod
+ def getNumberFormatterKey(self, numberFormatsSupplier, Type):
+ return numberFormatsSupplier.NumberFormats.getFormatIndex(
+ Type, Locale())
+
+ def convertNumberToString(self, _nkey, _dblValue, _xNumberFormatter=None):
+ if _xNumberFormatter is None:
+ return self.xNumberFormatter.convertNumberToString(
+ _nkey, _dblValue)
+ else:
+ return _xNumberFormatter.convertNumberToString(_nkey, _dblValue)
+
+ def convertStringToNumber(self, _nkey, _sString):
+ return self.xNumberFormatter.convertStringToNumber(_nkey, _sString)
+