LeenO computo metrico con LibreOffice  3.22.0
Il software libero per la gestione di computi metrici e contabilità lavori.
LeenoFormat.py
Vai alla documentazione di questo file.
1 import uno
2 import LeenoUtils
3 
4 
5 def getNumFormat(FormatString):
6  '''
7  Restituisce il numero identificativo del formato sulla base di una
8  stringa di riferimento.
9  FormatString { string } : codifica letterale del numero; es.: "#.##0,00"
10  '''
11  oDoc = LeenoUtils.getDocument()
12 
13  LocalSettings = uno.createUnoStruct("com.sun.star.lang.Locale")
14  LocalSettings.Language = "it"
15  LocalSettings.Country = "IT"
16  NumberFormats = oDoc.NumberFormats
17  # FormatString # = "#.##0,00"
18  NumberFormatId = NumberFormats.queryKey(FormatString, LocalSettings, True)
19 
20  if NumberFormatId == -1:
21  NumberFormatId = NumberFormats.addNew(FormatString, LocalSettings)
22  return NumberFormatId
23 
24 
25 def getFormatString(stile_cella):
26  '''
27  Recupera la stringa di riferimento dal nome dello stile di cella.
28  stile_cella { string } : nome dello stile di cella
29  '''
30  oDoc = LeenoUtils.getDocument()
31  num = oDoc.StyleFamilies.getByName("CellStyles").getByName(stile_cella).NumberFormat
32  return oDoc.getNumberFormats().getByKey(num).FormatString
33 
34 
35 def setCellStyleDecimalPlaces(nome_stile, n):
36  '''
37  Cambia il numero dei decimali dello stile di cella.
38  stile_cella { string } : nome stile di cella
39  n { int } : nuovo numero decimali
40  '''
41  oDoc = LeenoUtils.getDocument()
42  stringa = getFormatString(nome_stile).split(';')
43  new = list()
44  for el in stringa:
45  new.append(el.split(',')[0] + ',' + '0' * n)
46  oDoc.StyleFamilies.getByName('CellStyles').getByName(nome_stile).NumberFormat = getNumFormat(';'.join(new))
LeenoUtils.getDocument
def getDocument()
Definition: LeenoUtils.py:67
LeenoFormat.getNumFormat
def getNumFormat(FormatString)
Definition: LeenoFormat.py:5
LeenoFormat.getFormatString
def getFormatString(stile_cella)
Definition: LeenoFormat.py:25
LeenoFormat.setCellStyleDecimalPlaces
def setCellStyleDecimalPlaces(nome_stile, n)
Definition: LeenoFormat.py:35