| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889 |
- # -*- coding: utf-8 -*-
- """ensemble des widgets surchargés"""
- from PyQt4.QtCore import *
- from PyQt4.QtGui import *
- from lib.outilsSvg 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.setColumnWidth(0, 0)
-
- class DmTableBiblio(DmTableWidget):
- """table utilisee pour afficher les bibliotheques d'objets:
- terrains, decors, creatures"""
- def __init__(self, parent = None):
- super(DmTableBiblio, self).__init__(parent)
- self.fichier = ""
- self.masquerColonneId()
- def defFichier(self, fichier):
- """definit le fichier de sauvegarde qui la source des donnees de la table"""
- self.fichier = fichier
- def initAffichage(self):
- """fait les differents reglages relatifs a l'apparence"""
- self.setColumnWidth(0, 0)
- self.setIconSize(QSize(30,20))
- self.horizontalHeader().setStretchLastSection(True)
-
- 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)
- index = 0
- 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.icone())
- item = QTableWidgetItem(icon,QString.fromUtf8(objet.nom))
- self.setItem(int(index),1,item)
-
- index += 1
- 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
-
|