LeenO computo metrico con LibreOffice  3.22.0
Il software libero per la gestione di computi metrici e contabilità lavori.
LeenoToolbars.py
Vai alla documentazione di questo file.
1 '''
2 LeenoToolbars
3 Gestione delle toolbars di LeenO
4 '''
5 from com.sun.star.awt import Point
6 
7 import os
8 import sys
9 import LeenoUtils
10 from LeenoConfig import Config
11 
12 # i nome delle toolbars di LeenO
13 _TOOLBAR_NAMES = (
14  'private:resource/toolbar/addon_ULTIMUS_3.OfficeToolBar',
15  'private:resource/toolbar/addon_ULTIMUS_3.OfficeToolBar_ELENCO',
16  'private:resource/toolbar/addon_ULTIMUS_3.OfficeToolBar_ANALISI',
17  'private:resource/toolbar/addon_ULTIMUS_3.OfficeToolBar_COMPUTO',
18  'private:resource/toolbar/addon_ULTIMUS_3.OfficeToolBar_CATEG',
19  'private:resource/toolbar/addon_ULTIMUS_3.OfficeToolBar_CONTABILITA',
20 )
21 
22 import pyleeno as PL
23 
24 def Vedi(arg=None):
25  '''
26  accende tutte le toolbars (se non sono richieste quelle contestuali)
27  oppure solo quelle relative alla pagina visualizzata, se richieste le contestuali
28  '''
29  oDoc = LeenoUtils.getDocument()
30 
31  if sys.platform == 'linux' or sys.platform == 'darwin':
32  var = 'HOME'
33  else:
34  var = 'HOMEPATH'
35  try:
36  if 'giuserpe' in os.getlogin():
37  On('private:resource/toolbar/addon_ULTIMUS_3.OfficeToolBar_DEV', 1)
38  else:
39  On('private:resource/toolbar/addon_ULTIMUS_3.OfficeToolBar_DEV', 0)
40  except:
41  pass
42  try:
43  oLayout = oDoc.CurrentController.getFrame().LayoutManager
44 
45  if Config().read('Generale', 'toolbar_contestuali') == '0':
46  # toolbar sempre visibili
47  AllOn()
48  else:
49  # toolbar contestualizzate
50  AllOff()
51  Ordina()
52  oLayout.showElement("private:resource/toolbar/addon_ULTIMUS_3.OfficeToolBar")
53  nSheet = oDoc.CurrentController.ActiveSheet.Name
54 
55  if nSheet == 'Elenco Prezzi':
56  On('private:resource/toolbar/addon_ULTIMUS_3.OfficeToolBar_ELENCO', 1)
57  elif nSheet == 'Analisi di Prezzo':
58  On('private:resource/toolbar/addon_ULTIMUS_3.OfficeToolBar_ANALISI', 1)
59  elif nSheet in ('COMPUTO', 'VARIANTE'):
60  On('private:resource/toolbar/addon_ULTIMUS_3.OfficeToolBar_COMPUTO', 1)
61  On('private:resource/toolbar/addon_ULTIMUS_3.OfficeToolBar_CATEG', 1)
62  elif nSheet == 'CONTABILITA':
63  On('private:resource/toolbar/addon_ULTIMUS_3.OfficeToolBar_COMPUTO', 1)
64  On('private:resource/toolbar/addon_ULTIMUS_3.OfficeToolBar_CONTABILITA', 1)
65  #accende la toolbar delle categorie solo sulla postazione di giuserpe
66  if 'giuserpe' in os.getlogin():
67  On('private:resource/toolbar/addon_ULTIMUS_3.OfficeToolBar_CATEG', 1)
68  else:
69  On('private:resource/toolbar/addon_ULTIMUS_3.OfficeToolBar_CATEG', 0)
70 
71  except Exception:
72  pass
73  #~PL.fissa()
74 
75 
76 def On(toolbarURL, flag):
77  '''
78  toolbarURL { string } : indirizzo toolbar
79  flag { integer } : 1 = acceso; 0 = spento
80  Visualizza o nascondi una toolbar
81  '''
82  oDoc = LeenoUtils.getDocument()
83  oLayout = oDoc.CurrentController.getFrame().LayoutManager
84  if flag:
85  oLayout.showElement(toolbarURL)
86  else:
87  oLayout.hideElement(toolbarURL)
88 
89 
90 def Ordina():
91  '''
92  @@ DA DOCUMENTARE
93  '''
94  # https://www.openoffice.org/api/docs/common/ref/com/sun/star/ui/DockingArea.html
95  oDoc = LeenoUtils.getDocument()
96  oLayout = oDoc.CurrentController.getFrame().LayoutManager
97  i = 0
98  for aBar in _TOOLBAR_NAMES:
99  oLayout.dockWindow(aBar, 'DOCKINGAREA_TOP', Point(i, 4))
100  i += 1
101  oLayout.dockWindow(
102  'private:resource/toolbar/addon_ULTIMUS_3.OfficeToolBar_DEV',
103  'DOCKINGAREA_RIGHT', Point(0, 0))
104 
105 
106 def AllOn(flag=True):
107  '''
108  Accende o spegne tutte le toolbar di LeenO
109  '''
110  for aBar in _TOOLBAR_NAMES:
111  On(aBar, flag)
112 
113 
114 def AllOff():
115  '''
116  Spegne tutte le toolbar di LeenO
117  '''
118  AllOn(False)
119 
120 
121 def Switch(arg):
122  '''
123  Nasconde o mostra le toolbar di Libreoffice.
124  '''
125  oDoc = LeenoUtils.getDocument()
126  oLayout = oDoc.CurrentController.getFrame().LayoutManager
127  for el in oLayout.Elements:
128  if el.ResourceURL not in _TOOLBAR_NAMES + (
129  'private:resource/menubar/menubar',
130  'private:resource/toolbar/addon_ULTIMUS_3.OfficeToolBar_DEV',
131  'private:resource/toolbar/findbar',
132  'private:resource/statusbar/statusbar',
133  ):
134  # if oLayout.isElementVisible(el.ResourceURL):
135  if arg:
136  oLayout.showElement(el.ResourceURL)
137  else:
138  oLayout.hideElement(el.ResourceURL)
LeenoUtils.getDocument
def getDocument()
Definition: LeenoUtils.py:67
LeenoToolbars.AllOff
def AllOff()
Definition: LeenoToolbars.py:114
LeenoToolbars.Switch
def Switch(arg)
Definition: LeenoToolbars.py:121
LeenoToolbars.AllOn
def AllOn(flag=True)
Definition: LeenoToolbars.py:106
LeenoToolbars.Vedi
def Vedi(arg=None)
Definition: LeenoToolbars.py:24
LeenoConfig.Config
Definition: LeenoConfig.py:26
LeenoToolbars.Ordina
def Ordina()
Definition: LeenoToolbars.py:90
LeenoToolbars.On
def On(toolbarURL, flag)
Definition: LeenoToolbars.py:76