# -*- coding: utf-8 -*- """ensemble des widgets surchargés""" from PyQt4.QtCore import * from PyQt4.QtGui import * class DmGraphicsView(QGraphicsView): """surcharge de QGraphicsView""" def __init__(self, parent = None): super(DmGraphicsView, self).__init__(parent) def resizeEvent(self, event): super(DmGraphicsView, self).resizeEvent(event) self.emit(SIGNAL("resizeEvent()")) class DmTableWidget(QTableWidget): """surcharge de QTableWidget""" def __init__(self, parent = None): super(DmTableWidget, self).__init__(parent) self.majEnCours = False def vider(self): """supprime toutes les lignes""" self.majEnCours = True while self.rowCount() > 0: self.removeRow(0) self.majEnCours = False def masquerColonneId(self): """masque la colonne en position 0 qui contient les identifiants""" self.fenetre.ui.cp_listeTerrains.hideColumn(0) class DmTableBiblio(DmTableWidget): """table utilisee pour afficher les bibliotheques d'objets: terrains, decors, creatures""" def __init__(self, fichier, parent = None): """prend en parametre le fichier de sauvegarde contenant les objets""" super(DmTableBiblio, self).__init__(parent) self.fichier = fichier self.masquerColonneId() def remplir(self): """remplit la table avec les donnees contenues dans le dictionnaire de la savuvegarde""" dico = afficheSvg(self.fichier) self.majEnCours = True self.setSortingEnabled(False) for elt in dico: objet = dico[elt] self.insertRow(int(index)) #code de l'objet self.setItem(int(index),0,QTableWidgetItem(QString.fromUtf8(elt))) #icone et nom icon = QIcon("img\\"+objet.logo()) item = QTableWidgetItem(icon,QString.fromUtf8(objet.nom)) self.setItem(int(index),1,item) index += 1 self.setIconSize(QSize(30,20)) self.sizeHintForColumn(1) self.setSortingEnabled(True) self.sortItems(1) self.majEnCours = False def maj(self): self.vider() self.remplir() def actuel(self): """renvoie l'objet actuellement selectionne""" objet = None index = self.item(self.currentRow(), 0) if index > 0: objet = charger(self.fichier, str(index.text().toUtf8())) return objet