def setDao(self, dao):
     if dao is None:
         # Crea un nuovo Dao vuoto
         self.dao = CategoriaTrasporto()
     else:
         # Ricrea il Dao con una connessione al DBMS SQL
         self.dao = CategoriaTrasporto().getRecord(id=dao.id)
     self._refresh()
class AnagraficaCategoriaTrasportoEdit(AnagraficaEdit):
    """ Modifica un record dell'anagrafica delle categorie di trasporto """

    def __init__(self, anagrafica):
        AnagraficaEdit.__init__(self,
                                anagrafica,
                                _('Dati categoria di trasporto'),
                                root='anagrafica_categorie_trasporto_detail_table',

                                path='ADR/gui/_anagrafica_categorie_trasporto_elements.glade',
                                isModule=True)
        self._widgetFirstFocus = self.denominazione_entry

    def draw(self, cplx=False):
        pass

    def setDao(self, dao):
        if dao is None:
            # Crea un nuovo Dao vuoto
            self.dao = CategoriaTrasporto()
        else:
            # Ricrea il Dao con una connessione al DBMS SQL
            self.dao = CategoriaTrasporto().getRecord(id=dao.id)
        self._refresh()

    def _refresh(self):
        self.denominazione_entry.set_text(self.dao.denominazione or '')
        self.quantita_massima_trasportabile_entry.set_text(('%s') % (self.dao.quantita_massima_trasportabile or '0'))
        self.coefficiente_moltiplicazione_virtuale_entry.set_text(('%s') % (self.dao.coefficiente_moltiplicazione_virtuale or '0'))
        textview_set_text(self.note_textview, self.dao.note or '')

    def saveDao(self, tipo=None):
        if (self.denominazione_entry.get_text() == ''):
            obligatoryField(self.dialogTopLevel, self.denominazione_entry)

        if (self.quantita_massima_trasportabile_entry.get_text() == ''):
            obligatoryField(self.dialogTopLevel, self.quantita_massima_trasportabile_entry)

        if (self.coefficiente_moltiplicazione_virtuale_entry.get_text() == ''):
            obligatoryField(self.dialogTopLevel, self.coefficiente_moltiplicazione_virtuale_entry)

        self.dao.denominazione = self.denominazione_entry.get_text()
        self.dao.quantita_massima_trasportabile = self.quantita_massima_trasportabile_entry.get_text()
        self.dao.coefficiente_moltiplicazione_virtuale = self.coefficiente_moltiplicazione_virtuale_entry.get_text()
        self.dao.note = textview_get_text(self.note_textview)
        self.dao.persist()