LeenO computo metrico con LibreOffice  3.22.0
Il software libero per la gestione di computi metrici e contabilità lavori.
LeenoBasicBridge.py
Vai alla documentazione di questo file.
1 '''
2  PONTE TEMPORANEO TRA BASIC E PYTHON
3  IN QUESTO FILE SONO CONTENUTE TUTTE LE FUNZIONI CHIAMATE DA BASIC
4  ACCENTRATE PER POTERLE ELIMINARE PIAN PIANO
5 '''
6 
7 # set this to 1 if you want a dialog on every call from basic to python
8 # set to 0 to avoid it
9 ALERT_BASIC_CALLS = 0
10 
11 # dirty trick to have pythonpath added if missing
12 import sys, os, inspect
13 myPath = os.path.dirname(os.path.abspath(inspect.getfile(inspect.currentframe())))
14 if(myPath not in sys.path):
15  sys.path.append(myPath)
16 
17 import Dialogs
18 import SheetUtils
19 import LeenoUtils
20 import LeenoSheetUtils
21 import LeenoComputo
22 import LeenoContab
23 # ~import uno
24 
25 # builtins dictionary in portable way... sigh
26 if type(__builtins__) == type(sys):
27  bDict = __builtins__.__dict__
28 else:
29  bDict = __builtins__
30 
31 if 'CALL_SET' not in bDict:
32  bDict['CALL_SET'] = set()
33 
34 def callAlert():
35  if ALERT_BASIC_CALLS:
36  funcName = inspect.stack()[1][3]
37  if not funcName in CALL_SET:
38  Dialogs.Exclamation(Title="LeenoBasicBridge", Text=f"Chiamata da basic a\n'{funcName}'")
39  CALL_SET.add(funcName)
40 
41 import pyleeno as PL
42 
43 
44 def DlgMain():
45  '''
46  DlgMain"
47  '''
48  callAlert()
49  PL.DlgMain()
50 
51 
52 # ~def attiva_contabilita():
53  # ~'''
54  # ~attiva_contabilita
55  # ~'''
56  # ~callAlert()
57  # ~LeenoContab.attiva_contabilita()
58 
59 
61  '''
62  genera_variante
63  '''
64  callAlert()
65  PL.genera_variante()
66 
67 
68 def vai_a_M1():
69  '''
70  vai_a_M1
71  '''
72  callAlert()
73  PL.vai_a_M1()
74 
75 
76 def vai_a_S1():
77  '''
78  vai_a_S1
79  '''
80  callAlert()
81  PL.vai_a_S1()
82 
83 
84 def vai_a_S2():
85  '''
86  vai_a_S2
87  '''
88  callAlert()
89  PL.vai_a_S2()
90 
91 
93  '''
94  vai_a_variabili
95  '''
96  callAlert()
97  PL.vai_a_variabili()
98 
99 
101  '''
102  vai_a_ElencoPrezzi
103  '''
104  callAlert()
105  PL.vai_a_ElencoPrezzi()
106 
107 
109  '''
110  inizializza_analisi
111  '''
112  callAlert()
113  PL.inizializza_analisi()
114 
115 
117  '''
118  vai_a_Computo
119  '''
120  callAlert()
121  PL.vai_a_Computo()
122 
123 
125  '''
126  vai_a_Scorciatoie
127  '''
128  callAlert()
129  PL.vai_a_Scorciatoie()
130 
131 
132 def ssUltimus():
133  '''
134  ssUltimus
135  '''
136  callAlert()
137  PL.ssUltimus()
138 
139 
141  '''
142  voce_breve
143  '''
144  callAlert()
145  PL.voce_breve()
146 
147 
149  '''
150  tante_analisi_in_ep
151  '''
152  callAlert()
153  PL.tante_analisi_in_ep()
154 
155 
157  '''
158  analisi_in_ElencoPrezzi
159  '''
160  callAlert()
161  PL.analisi_in_ElencoPrezzi()
162 
163 
165  '''
166  inizializza_elenco
167  '''
168  callAlert()
169  PL.inizializza_elenco()
170 
171 
173  '''
174  riordina l' elenco prezzi
175  '''
176  callAlert()
177  oDoc = LeenoUtils.getDocument()
178  PL.riordina_ElencoPrezzi(oDoc)
179 
180 
182  '''
183  cancella_voci_non_usate
184  '''
185  callAlert()
186  PL.cancella_voci_non_usate()
187 
188 
190  '''
191  richiesta_offerta
192  '''
193  callAlert()
194  PL.richiesta_offerta()
195 
196 
197 def trova_np():
198  '''
199  trova_np
200  '''
201  callAlert()
202  PL.trova_np()
203 
204 
206  callAlert()
207  PL.sproteggi_sheet_TUTTE()
208 
209 
211  '''
212  rigenera_tutte
213  '''
214  callAlert()
215  PL.rigenera_tutte()
216 
217 
219  '''
220  trova_ricorrenze
221  '''
222  callAlert()
223  PL.trova_ricorrenze()
224 
225 
227  '''
228  imposta la larghezza delle colonne
229  a seconda del tipo di documento
230  '''
231  callAlert()
232  oDoc = LeenoUtils.getDocument()
233  oSheet = oDoc.CurrentController.ActiveSheet
235 
236 
238  '''
239  config_default
240  '''
241  callAlert()
242  PL.config_default()
243 
244 
245 def donazioni():
246  '''
247  donazioni
248  '''
249  callAlert()
250  PL.donazioni()
251 
252 
254  '''
255  invia_voce
256  '''
257  callAlert()
258  PL.MENU_invia_voce()
259 
260 
261 def rifa_nomearea(oDoc, sSheet, sRange, sName):
262  '''
263  rifa_nomearea
264  '''
265  callAlert()
266  SheetUtils.NominaArea(oDoc, sSheet, sRange, sName)
267 
268 
269 def autoexec():
270  callAlert()
271  PL.autoexec()
272 
273 
275  callAlert()
276  PL.autoexec_off()
277 
278 
279 # ~def struttura_off():
280  # ~callAlert()
281  # ~PL.struttura_off()
282 
283 
284 def setTabColor(color):
285  callAlert()
286  PL.setTabColor(color)
287 
288 
289 # ~def adatta_altezza_riga(nSheet=None):
290  # ~callAlert()
291  # ~LeenoSheetUtils.adattaAltezzaRiga(oSheet)
292 
293 
294 def paste_clip(arg=None, insCells=0):
295  callAlert()
296  PL.paste_clip(arg, insCells)
297 
298 
299 def copy_clip():
300  callAlert()
301  PL.comando('Copy')
302 
303 
305  callAlert()
306  PL.ins_voce_elenco()
307 
308 
309 # ~def Filtra_Computo_Cap():
310  # ~callAlert()
311  # ~PL.Filtra_Computo_Cap()
312 
313 
314 # ~def Filtra_Computo_SottCap():
315  # ~callAlert()
316  # ~PL.Filtra_Computo_SottCap()
317 
318 
319 # ~def Filtra_Computo_A():
320  # ~callAlert()
321  # ~PL.Filtra_Computo_A()
322 
323 
324 # ~def Filtra_Computo_B():
325  # ~callAlert()
326  # ~PL.Filtra_Computo_B()
327 
328 
329 # ~def Filtra_Computo_C():
330  # ~callAlert()
331  # ~PL.Filtra_Computo_C()
332 
333 
335  callAlert()
336  PL.EliminaVociDoppieElencoPrezzi()
337 
338 
340  callAlert()
341  oDoc = LeenoUtils.getDocument()
342  oSheet = oDoc.CurrentController.ActiveSheet
343  PL.Tutti_Subtotali(oSheet)
344 
345 
346 def salva_come(nomefile=None):
347  callAlert()
348  PL.salva_come(nomefile)
349 
350 
352  '''
353  Indica qual è il Documento Principale
354  '''
355  callAlert()
356  PL.ScriviNomeDocumentoPrincipale()
357 
358 
359 def fissa():
360  callAlert()
361  PL.fissa()
362 
363 
364 def bak0(arg=None):
365  '''
366  Fa il backup del file di lavoro all'apertura.
367  '''
368  callAlert()
369  PL.bak0()
370 
371 
372 def numera_voci(bit=1):
373  '''
374  bit { integer } : 1 rinumera tutto
375  0 rinumera dalla voce corrente in giù
376  '''
377  callAlert()
378  oDoc = LeenoUtils.getDocument()
379  oSheet = oDoc.CurrentController.ActiveSheet
380  if bit == 0:
381  lrow = PL.LeggiPosizioneCorrente()[1]
382  else:
383  lrow = 0
384  LeenoSheetUtils.numeraVoci(oSheet, lrow, True if bit == 1 else False)
385 
386 
387 # ~def parziale_verifica():
388  # ~'''
389  # ~Controlla l'esattezza del calcolo del parziale quanto le righe di
390  # ~misura vengono aggiunte o cancellate.
391  # ~'''
392  # ~callAlert()
393  # ~PL.parziale_verifica()
394 
395 
396 # ~def struttura_ComputoM():
397  # ~callAlert()
398  # ~PL.struttura_ComputoM()
399 
400 
401 # ~def struttura_Analisi():
402  # ~callAlert()
403  # ~PL.struttura_Analisi()
404 
405 
407  callAlert()
408  PL.voce_breve_ep()
409 
410 
411 # ~def inserisci_Riga_rossa():
412  # ~callAlert()
413  # ~oDoc = LeenoUtils.getDocument()
414  # ~oSheet = oDoc.CurrentController.ActiveSheet
415  # ~LeenoSheetUtils.inserisciRigaRossa(oSheet)
416 
417 
419  callAlert()
420  oDoc = LeenoUtils.getDocument()
421  oSheet = oDoc.CurrentController.ActiveSheet
422  PL.Rinumera_TUTTI_Capitoli2(oSheet)
423 
424 
426  callAlert()
427  PL.copia_riga_computo(lrow)
428 
429 
431  callAlert()
433 
434 
435 def ins_voce_contab(lrow=0, arg=1):
436  '''
437  Inserisce una nuova voce in CONTABILITA.
438  '''
439  callAlert()
440  PL.ins_voce_contab(lrow, arg)
441 
443  '''
444  pezza per Sub Duplica_Sheet_new_doc_No_Cons
445  '''
446  oDoc = LeenoUtils.getDocument()
447  oSheet = oDoc.CurrentController.ActiveSheet
448  end = SheetUtils.getLastUsedRow(oSheet)
449  for el in range(2, end):
450  if oSheet.getCellByPosition(9, el).CellStyle == 'comp sotto Euro Originale':
451  oSheet.getCellByPosition(9, el).Formula = '=I' + str(el+1) + '*H' + str(el+1)
452  return
453 
LeenoBasicBridge.sproteggi_sheet_TUTTE
def sproteggi_sheet_TUTTE()
Definition: LeenoBasicBridge.py:205
LeenoBasicBridge.vai_a_S2
def vai_a_S2()
Definition: LeenoBasicBridge.py:84
LeenoBasicBridge.bak0
def bak0(arg=None)
Definition: LeenoBasicBridge.py:364
LeenoBasicBridge.voce_breve_ep
def voce_breve_ep()
Definition: LeenoBasicBridge.py:406
LeenoBasicBridge.callAlert
def callAlert()
Definition: LeenoBasicBridge.py:34
LeenoBasicBridge.vai_a_Scorciatoie
def vai_a_Scorciatoie()
Definition: LeenoBasicBridge.py:124
LeenoBasicBridge.trova_ricorrenze
def trova_ricorrenze()
Definition: LeenoBasicBridge.py:218
LeenoComputo.ins_voce_computo
def ins_voce_computo(cod=None)
Definition: LeenoComputo.py:170
LeenoBasicBridge.donazioni
def donazioni()
Definition: LeenoBasicBridge.py:245
LeenoUtils.getDocument
def getDocument()
Definition: LeenoUtils.py:67
LeenoBasicBridge.rifa_nomearea
def rifa_nomearea(oDoc, sSheet, sRange, sName)
Definition: LeenoBasicBridge.py:261
LeenoBasicBridge.inizializza_elenco
def inizializza_elenco()
Definition: LeenoBasicBridge.py:164
LeenoBasicBridge.ins_voce_contab
def ins_voce_contab(lrow=0, arg=1)
Definition: LeenoBasicBridge.py:435
LeenoBasicBridge.vai_a_variabili
def vai_a_variabili()
Definition: LeenoBasicBridge.py:92
LeenoBasicBridge.genera_variante
def genera_variante()
Definition: LeenoBasicBridge.py:60
LeenoBasicBridge.Duplica_Sheet_new_doc_No_Cons
def Duplica_Sheet_new_doc_No_Cons()
Definition: LeenoBasicBridge.py:442
LeenoBasicBridge.config_default
def config_default()
Definition: LeenoBasicBridge.py:237
LeenoBasicBridge.Rinumera_TUTTI_Capitoli2
def Rinumera_TUTTI_Capitoli2()
Definition: LeenoBasicBridge.py:418
LeenoBasicBridge.fissa
def fissa()
Definition: LeenoBasicBridge.py:359
LeenoSheetUtils.setLarghezzaColonne
def setLarghezzaColonne(oSheet)
Definition: LeenoSheetUtils.py:95
SheetUtils.NominaArea
def NominaArea(oDoc, sSheet, sRange, sName)
Definition: SheetUtils.py:511
LeenoBasicBridge.invia_voce
def invia_voce()
Definition: LeenoBasicBridge.py:253
LeenoBasicBridge.copia_riga_computo
def copia_riga_computo(lrow)
Definition: LeenoBasicBridge.py:425
LeenoBasicBridge.vai_a_Computo
def vai_a_Computo()
Definition: LeenoBasicBridge.py:116
LeenoBasicBridge.salva_come
def salva_come(nomefile=None)
Definition: LeenoBasicBridge.py:346
LeenoBasicBridge.richiesta_offerta
def richiesta_offerta()
Definition: LeenoBasicBridge.py:189
LeenoBasicBridge.vai_a_M1
def vai_a_M1()
Definition: LeenoBasicBridge.py:68
Dialogs.Exclamation
def Exclamation(*Title='', Text='')
Definition: Dialogs.py:2536
LeenoBasicBridge.copy_clip
def copy_clip()
Definition: LeenoBasicBridge.py:299
LeenoBasicBridge.analisi_in_ElencoPrezzi
def analisi_in_ElencoPrezzi()
Definition: LeenoBasicBridge.py:156
LeenoBasicBridge.inizializza_analisi
def inizializza_analisi()
Definition: LeenoBasicBridge.py:108
LeenoBasicBridge.vai_a_ElencoPrezzi
def vai_a_ElencoPrezzi()
Definition: LeenoBasicBridge.py:100
LeenoBasicBridge.set_larghezza_colonne
def set_larghezza_colonne()
Definition: LeenoBasicBridge.py:226
LeenoBasicBridge.autoexec_off
def autoexec_off()
Definition: LeenoBasicBridge.py:274
LeenoBasicBridge.autoexec
def autoexec()
Definition: LeenoBasicBridge.py:269
LeenoBasicBridge.ins_voce_computo
def ins_voce_computo()
Definition: LeenoBasicBridge.py:430
LeenoBasicBridge.EliminaVociDoppieElencoPrezzi
def EliminaVociDoppieElencoPrezzi()
Definition: LeenoBasicBridge.py:334
LeenoBasicBridge.Tutti_Subtotali
def Tutti_Subtotali()
Definition: LeenoBasicBridge.py:339
LeenoBasicBridge.riordina_ElencoPrezzi
def riordina_ElencoPrezzi()
Definition: LeenoBasicBridge.py:172
LeenoBasicBridge.numera_voci
def numera_voci(bit=1)
Definition: LeenoBasicBridge.py:372
LeenoBasicBridge.cancella_voci_non_usate
def cancella_voci_non_usate()
Definition: LeenoBasicBridge.py:181
LeenoSheetUtils.numeraVoci
def numeraVoci(oSheet, lrow, tutte)
Definition: LeenoSheetUtils.py:730
LeenoBasicBridge.tante_analisi_in_ep
def tante_analisi_in_ep()
Definition: LeenoBasicBridge.py:148
SheetUtils.getLastUsedRow
def getLastUsedRow(oSheet)
Definition: SheetUtils.py:392
LeenoBasicBridge.trova_np
def trova_np()
Definition: LeenoBasicBridge.py:197
LeenoBasicBridge.ScriviNomeDocumentoPrincipale
def ScriviNomeDocumentoPrincipale()
Definition: LeenoBasicBridge.py:351
LeenoBasicBridge.voce_breve
def voce_breve()
Definition: LeenoBasicBridge.py:140
LeenoBasicBridge.ins_voce_elenco
def ins_voce_elenco()
Definition: LeenoBasicBridge.py:304
LeenoBasicBridge.paste_clip
def paste_clip(arg=None, insCells=0)
Definition: LeenoBasicBridge.py:294
LeenoBasicBridge.rigenera_tutte
def rigenera_tutte()
Definition: LeenoBasicBridge.py:210
LeenoBasicBridge.vai_a_S1
def vai_a_S1()
Definition: LeenoBasicBridge.py:76
LeenoBasicBridge.DlgMain
def DlgMain()
Definition: LeenoBasicBridge.py:44
LeenoBasicBridge.ssUltimus
def ssUltimus()
Definition: LeenoBasicBridge.py:132
LeenoBasicBridge.setTabColor
def setTabColor(color)
Definition: LeenoBasicBridge.py:284