-
Notifications
You must be signed in to change notification settings - Fork 2
/
WdgMantoCoperturaUnitaVolumetrica.py
80 lines (67 loc) · 3.4 KB
/
WdgMantoCoperturaUnitaVolumetrica.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# -*- coding: utf-8 -*-
"""
/***************************************************************************
Name : Omero RT
Description : Omero plugin
Date : August 15, 2010
copyright : (C) 2010 by Giuseppe Sucameli (Faunalia)
email : sucameli@faunalia.it
***************************************************************************/
Omero plugin
Works done from Faunalia (http://www.faunalia.it) with funding from Regione
Toscana - S.I.T.A. (http://www.regione.toscana.it/territorio/cartografia/index.html)
/***************************************************************************
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
***************************************************************************/
"""
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from ui.wdgMantoCoperturaUnitaVolumetrica_ui import Ui_Form
from AutomagicallyUpdater import *
class WdgMantoCoperturaUnitaVolumetrica(QWidget, MappingOne2One, Ui_Form):
def __init__(self, parent=None):
QWidget.__init__(self, parent)
MappingOne2One.__init__(self, "MANTO_COPERTURA_UNITA_VOLUMETRICA")
self.setupUi(self)
# carica i widget multivalore con i valori delle relative tabelle
tablesDict = {
self.ZZ_TIPO_MANTO_COPERTURAID: AutomagicallyUpdater.ZZTable( "ZZ_TIPO_MANTO_COPERTURA" ),
self.ZZ_STATO_CONSERVAZIONE_MANTOID: AutomagicallyUpdater.ZZTable( "ZZ_STATO_CONSERVAZIONE_MANTO" )
}
self.setupTablesUpdater(tablesDict)
self.loadTables()
# mappa i widget con i campi delle tabelle
childrenList = [
(self.ALTRO_MANTO_COPERTURA, AutomagicallyUpdater.OPTIONAL),
self.ZZ_TIPO_MANTO_COPERTURAID,
(self.DESCRIZIONE_INCONGRUENZA, AutomagicallyUpdater.OPTIONAL),
self.ZZ_STATO_CONSERVAZIONE_MANTOID
]
self.setupValuesUpdater(childrenList)
self.connect(self.ZZ_TIPO_MANTO_COPERTURAID, SIGNAL("currentIndexChanged(int)"), self.abilitaAltroManto)
self.abilitaAltroManto()
def abilitaAltroManto(self):
enabler = self.ZZ_TIPO_MANTO_COPERTURAID.currentText().endswith('Altro')
self.ALTRO_MANTO_COPERTURA.setEnabled(enabler)
def setValue(self, widget, value):
widget = self._getRealWidget(widget)
value = self._getRealValue(value)
if widget == self.DESCRIZIONE_INCONGRUENZA:
self.PRESENZA_INCONGRUENZE.setChecked( value != None and value != "" )
return AutomagicallyUpdater.setValue(widget, value)
def toHtml(self):
incongruenza = self.getValue(self.DESCRIZIONE_INCONGRUENZA)
return u"""
<tr class="line">
<td>Manto di copertura</td><td class="value">%s</td>
<td class="line">Stato di conservazione</td><td class="value">%s</td>
</tr>
<tr class="line">
<td>Presenza di elementi incogruenti</td><td class="value">%s</td><td colspan="2" class="value">%s</td>
</tr>
""" % ( self.ZZ_TIPO_MANTO_COPERTURAID.currentText() if not self.ALTRO_MANTO_COPERTURA.isEnabled() else self.getValue(self.ALTRO_MANTO_COPERTURA), self.ZZ_STATO_CONSERVAZIONE_MANTOID.currentText(), "SI" if incongruenza != None else "NO", incongruenza if incongruenza != None else "" )