import form1
import qt
class ItemGUI(form1.Form1):
    def __init__(self, ITEM=None, parent=None, name=None, fl=0):
        form1.Form1.__init__(self,parent, name, fl)
        self.ITEM=ITEM

        #ridimensione il textedit

        self.lineEdit1.setMaxLength(self.ITEM.len)
        self.lineEdit1.setFixedWidth(self.lineEdit1.fontMetrics().width('#' * (self.ITEM.len+1) ))

        # metti il nome
        
        self.textLabel1.setText(self.ITEM.nome)



        # carica il combobox delle scelte

        scelte=self.ITEM.scelte

        self.dizio_scelte={}
        self.dizio_combo={}
        count=0
        for key in scelte.keys():
            val=scelte[key]
            self.dizio_scelte[key]=count
            self.dizio_combo[count]=key
            count+=1
            self.comboBox1.insertItem (key+"|||"+val  )
        
        # metti il valore
        
        self.aggiornaDisplayed()
        

    def aggiornaDisplayed(self):
        testo=self.ITEM.getTesto()
        print " metto testo ", testo
        self.lineEdit1.setText(testo)
        self.aggiornaCombo()
        
    def lineEdit1_textChanged(self,a0):
        token=str(a0)
        print " ricevuto ", token
        self.ITEM.setta(token)
        self.aggiornaCombo()


    def aggiornaCombo(self):
        scelta=self.ITEM.cercaScelta()
        if(scelta[0] is None ):
            key=scelta[1]
            val=scelta[2]
            good=0
        else:
            key=scelta[0]
            val=scelta[1]
            good=1
            index=self.dizio_scelte[key]
            self.comboBox1.setCurrentItem(index)
        self.validaCombo()


    def comboBox1_activated(self):
        self.validaCombo()


    def validaCombo(self):
        index = self.comboBox1.currentItem()
        keyC = self.dizio_combo[index]
        valid = self.ITEM.ceccaCond(keyC)
        print " valid ", valid
        if(valid):
            self.comboBox1.setPaletteBackgroundColor(qt.QColor(134,255,53))
        else:
            self.comboBox1.setPaletteBackgroundColor(qt.QColor(255,134,53))
            
            
            

        
