瀏覽代碼

Inventaire presque fini!

unknown 10 年之前
父節點
當前提交
540a0cc011
共有 12 個文件被更改,包括 903 次插入85 次删除
  1. 二進制
      img/poids.png
  2. 1 1
      lib/Combattant.py
  3. 31 13
      lib/EcranEditionCombattant.py
  4. 96 0
      lib/EcranEditionObjet.py
  5. 11 1
      lib/Objet.py
  6. 二進制
      lib/biblio/combattant
  7. 1 0
      lib/ui/convertObjet.cmd
  8. 30 26
      lib/ui/dm.py
  9. 55 31
      lib/ui/ecran_editionCombattant.py
  10. 183 0
      lib/ui/ecran_editionObjet.py
  11. 41 13
      lib/ui/editionCombattant.ui
  12. 454 0
      lib/ui/editionObjet.ui

二進制
img/poids.png


+ 1 - 1
lib/Combattant.py

@@ -27,7 +27,7 @@ class Combattant(Pion):
         
         self.attaques = []   #liste des attaques pre-parametrees du pion
         self.listeAttributs = regles.listeAttributs()
-        self.inventaire = {}
+        self.inventaire = []
         self.details = {}
         self.notes = ""        
 

+ 31 - 13
lib/EcranEditionCombattant.py

@@ -7,6 +7,7 @@ from PyQt4.QtCore import *
 from PyQt4.QtGui import *
 from Combattant import Combattant
 from ui.ecran_editionCombattant import Ui_edc_fenetre
+from EcranEditionObjet import EcranEditionObjet
 from frameAttaque import FrameAttaque
 from outilsSvg import *
 from VueEditionForme import VueEditionForme
@@ -118,7 +119,8 @@ class EcranEditionCombattant(QDialog):
         self.attaqueNouvelle()
 
         #page inventaire
-        #self.majListeInventaire()
+        self.ui.edc_listeInventaire.charger(self.combattant.inventaire)
+        self.majTotauxInventaire()
 
         #page_notes
         for detail in self.combattant.details:
@@ -270,23 +272,40 @@ class EcranEditionCombattant(QDialog):
         """construction de la page inventaire"""
         self.ui.edc_listeInventaire.construire()
         self.connect(self.ui.edc_listeInventaire, SIGNAL("objetClique(int)"), self.editerObjet)
-        
-        objet = Objet(2, "caillou", 1, 1)
-        self.ui.edc_listeInventaire.ajouterObjet(objet)
-
-    def chargerInventaire(self, inventaire):
-        pass
 
     def editerObjet(self, indexObjet):
-        print len(self.ui.edc_listeInventaire.inventaire())
         if indexObjet < len(self.ui.edc_listeInventaire.inventaire()):
             objet = self.ui.edc_listeInventaire.inventaire()[indexObjet]
         else:
             objet = None
-        if objet:
-            print "editer {}".format(objet.nom)
+            
+        self.fenetreEO = EcranEditionObjet(objet)
+        self.fenetreEO.show()
+        self.fenetreEO.exec_()
+        resultat = self.fenetreEO.resultat()
+
+        if resultat:
+            if objet:
+                self.ui.edc_listeInventaire.majObjet(objet, resultat)
+            else:
+                self.ui.edc_listeInventaire.ajouterObjet(resultat)
         else:
-            print "nouvel objet"
+            if objet:
+                self.ui.edc_listeInventaire.supprimerObjet(objet)
+        
+        self.fenetreEO = None
+        self.majTotauxInventaire()
+
+    def majTotauxInventaire(self):
+        inv = self.ui.edc_listeInventaire.inventaire()
+        valeurTotale = 0.00
+        poidsTotal = 0.00
+        for obj in inv:
+            valeurTotale += obj.valeurTotale()
+            poidsTotal += obj.poidsTotal()
+        self.ui.edc_inventaire_valeur.majTexte("{} {}".format(valeurTotale, regles.nomMonnaie()))
+        self.ui.edc_inventaire_poids.majTexte("{} kg".format(poidsTotal))
+        
 
     #### barre d'outils
     def majActivationEnregistrer(self):
@@ -329,7 +348,7 @@ class EcranEditionCombattant(QDialog):
         self.combattant.attaques = listeAttaques
 
         #page inventaire
-        #a voir...
+        self.combattant.inventaire = self.ui.edc_listeInventaire.inventaire()
 
         #page notes
         listeWidget = self.ui.edc_pages.findChildren(dm.DmLineEdit)
@@ -352,7 +371,6 @@ class EcranEditionCombattant(QDialog):
 
 if __name__ == "__main__":
    app = QApplication(sys.argv)
-   #settrace(trace_calls)
    ecran = EcranEditionCombattant()
    ecran.show()
    r = app.exec_()

+ 96 - 0
lib/EcranEditionObjet.py

@@ -0,0 +1,96 @@
+#from __future__ import unicode_literals
+# -*- coding: utf-8 -*-
+from __future__ import division
+import os, sys
+from PyQt4.QtCore import *
+from PyQt4.QtGui import *
+from Objet import Objet
+from ui.ecran_editionObjet import Ui_eo_fenetre
+import regles
+
+class EcranEditionObjet(QDialog):
+    """interface de creation/edition de terrains"""
+    def __init__(self, objet=None, parent=None):
+        """initialisation de la fenetre"""
+        super (EcranEditionObjet, self).__init__(parent)
+        self._resultat = objet
+        self.createWidgets()
+        self.ouverture(objet)
+          
+    def createWidgets(self):
+        """construction de l'interface"""
+        #construction de l'interface
+        self.ui = Ui_eo_fenetre()
+        self.ui.setupUi(self)
+        self.setModal(True)
+
+        self.connect(self.ui.eo_enregistrer, SIGNAL("clicked()"), self.enregistrer)
+        self.connect(self.ui.eo_annuler, SIGNAL("clicked()"), self.annuler)
+        self.connect(self.ui.eo_supprimer, SIGNAL("clicked()"), self.supprimer)
+        self.connect(self.ui.eo_ajouter, SIGNAL("clicked()"), self.ajouter)
+        self.connect(self.ui.eo_retirer, SIGNAL("clicked()"), self.retirer)
+        self.connect(self.ui.eo_nom, SIGNAL("textEdited(QString)"), self.majAffichage)
+        
+    def ouverture(self, objet):
+        """ouverture en mode edition"""
+        if objet:
+            self.ui.eo_nom.majTexte(objet.nom)
+            self.ui.eo_quantite.setValue(objet.quantite)
+            self.ui.eo_poids.setValue(objet.poids)
+            self.ui.eo_valeur.setValue(objet.valeur)
+            self.ui.eo_monnaie.majTexte(regles.nomMonnaie())
+            self.ui.eo_type.setCurrentIndex(objet.typeObjet)
+            self.ui.eo_consommable.setChecked(objet.estConsommable)
+        else:
+            self.ui.eo_ajouter.setVisible(False)
+            self.ui.eo_retirer.setVisible(False)
+            self.ui.eo_supprimer.setVisible(False)
+        self.majAffichage()
+
+    def objet(self):
+        objet = Objet()
+        objet.nom = self.ui.eo_nom.texte()
+        objet.quantite = self.ui.eo_quantite.value()
+        objet.type = self.ui.eo_type.currentIndex()
+        objet.estConsommable = self.ui.eo_consommable.isChecked()
+        objet.poids = self.ui.eo_poids.value()
+        objet.valeur = self.ui.eo_valeur.value()
+        return objet
+
+    def resultat(self):
+        return self._resultat
+
+    def enregistrer(self):
+        """enregistre le terrain cree/edite"""
+        self._resultat = self.objet()
+        self.done(1)
+
+    def supprimer(self):
+        """supprimer l'enregistrement de ce terrain"""
+        self._resultat = None
+        self.done(1)
+
+    def annuler(self):
+        """annule la creation/edition"""
+        self.done(0)
+
+    def majAffichage(self):
+        """verifie la validite des saisies"""
+        self.ui.eo_enregistrer.setEnabled(len(self.ui.eo_nom.texte()) > 0)
+
+    def ajouter(self):
+        pass
+    
+    def retirer(self):
+        pass
+
+
+if __name__ == "__main__":
+   app = QApplication(sys.argv)
+   ecran = EcranEditionObjet()
+   ecran.show()
+   r = app.exec_()
+   exit(r)  
+
+
+ 

+ 11 - 1
lib/Objet.py

@@ -9,7 +9,7 @@ class ActionObjet():
 class Objet():
     """objets tels qu'ils apparaissent dans l'inventaire"""
     def __init__(self, quantite = 1, nom = "Objet", poids = 0, valeur = 0, \
-                 monnaie = regles.nomMonnaie(), description = "", typeObjet = "autre", \
+                 monnaie = regles.nomMonnaie(), description = "", typeObjet = 4, \
                  estConsommable = False):
         self.id = ""
         self.quantite = quantite
@@ -38,3 +38,13 @@ class Objet():
     def valeurTotale(self):
         return (self.quantite * self.valeur)    
 
+    def nomTypeObjet(self):
+        types = ["Monnaie", "Arme / Armure", "Consommable", "Butin", "Autre"]
+        return types[self.typeObjet]
+
+
+
+
+
+
+        

二進制
lib/biblio/combattant


+ 1 - 0
lib/ui/convertObjet.cmd

@@ -0,0 +1 @@
+pyuic4 -x editionObjet.ui -o ecran_editionObjet.py

+ 30 - 26
lib/ui/dm.py

@@ -354,7 +354,6 @@ class DmTableInventaire(DmTableWidget):
     def __init__(self, parent = None):
         super(DmTableInventaire, self).__init__(parent)
         self._inventaire = []
-        self._ligneSurvolee = None
         
         #pour la gestion des survols
         self.setMouseTracking(True)
@@ -366,45 +365,45 @@ class DmTableInventaire(DmTableWidget):
         self.connect(self, SIGNAL("itemClicked(QTableWidgetItem*)"), self.itemClique)
 
     def construire(self):
-        self.setColumnWidth(0, 40)
-        self.setColumnWidth(1, 311)
-        self.setColumnWidth(2, 60)
-        self.setColumnWidth(3, 60)
-        self.setColumnWidth(4, 20)
-        
-##        for col in self.colonnes():
-##            item = QTableWidgetItem()
-##            item.setFlags(Qt.NoItemFlags)
-##            if col == 1:
-##                item.setText(0, " ")
-##                item.setData(0, " ")
-##            self.setItem(ligne, col, item)
-##        self._inventaire.append(objet)
+        self.setColumnWidth(0, 0);self.setColumnWidth(1, 0);self.setColumnWidth(2, 20);self.setColumnWidth(3, 40)
+        self.setColumnWidth(4, 291);self.setColumnWidth(5, 60);self.setColumnWidth(6, 60);self.setColumnWidth(7, 20)
 
     def ajouterObjet(self, objet):
         ligne = self.rowCount() - 1   #avant la ligne 'ajouter'
         self.insertRow(ligne)
-        donnees = [objet.quantite, objet.nom, objet.valeurTotale(), objet.poidsTotal(), ""]
-        for col in self.colonnes():
-            item = QTableWidgetItem()
-            item.setFlags(Qt.NoItemFlags)
-            item.setData(0, donnees[col])
-            self.setItem(ligne, col, item)
+        self.remplirLigne(ligne, objet)
         self._inventaire.append(objet)
 
     def charger(self, inventaire):
         """charge l'inventaire en parametre"""
-        self._inventaire = inventaire
         for objet in inventaire:
             self.ajouterObjet(objet)
 
-    def majObjet(self, objet):
+    def majObjet(self, ancien, nouveau):
         """maj la ligne correspondant a l'objet"""
-        pass    
-
+        index = self._inventaire.index(ancien)
+        self._inventaire[index] = nouveau
+        self.remplirLigne(index, nouveau)
+        
     def supprimerObjet(self, objet):
         """ajoute la ligne correspondant a l'objet"""
-        pass        
+        index = self._inventaire.index(objet)  
+        self._inventaire.remove(objet)
+        self.removeRow(index)
+
+    def remplirLigne(self, ligne, objet):
+        """remplit les cellules de la ligne avec les donnees de l'objet"""
+        imgType = ["pieces.png", "armes.png", "chimie.png", "diamant.png", "boiteOutils.png"]
+        donnees = ["{}{}".format(objet.typeObjet, objet.nom), objet.typeObjet, "", \
+                   objet.quantite, objet.nom, objet.valeurTotale(), objet.poidsTotal(), ""]
+        for col in self.colonnes():
+            if col == 3:
+                item = QTableWidgetItem(QIcon("\\img\\{}".format(imgType[objet.typeObjet])), QString(""))
+            else:
+                item = QTableWidgetItem(QString().fromUtf8(str(donnees[col])))
+            item.setFlags(Qt.NoItemFlags)
+##            item.setData(0, donnees[col])
+            self.setItem(ligne, col, item)
 
     def inventaire(self):
         """cree un inventaire a partir des donnees de la table"""
@@ -446,6 +445,11 @@ class DmTableInventaire(DmTableWidget):
         return QTableWidget.eventFilter(self, widget, event)
 
 
+class DmTableInventaireCombat(DmTableInventaire):
+    """inventaire affiche dans le panneau de combat"""
+    def __init__(self, parent = None):
+        super(DmTableInventaireCombat, self).__init__(parent)    
+
             
 
 ##class DmTableListeAttaques(DmTableWidget):

+ 55 - 31
lib/ui/ecran_editionCombattant.py

@@ -2,7 +2,7 @@
 
 # Form implementation generated from reading ui file 'editionCombattant.ui'
 #
-# Created: Fri Jun 19 11:41:43 2015
+# Created: Fri Jun 19 16:13:07 2015
 #      by: PyQt4 UI code generator 4.10.4
 #
 # WARNING! All changes made in this file will be lost!
@@ -565,7 +565,7 @@ class Ui_edc_fenetre(object):
         self.page_invent = QtGui.QWidget()
         self.page_invent.setObjectName(_fromUtf8("page_invent"))
         self.edc_listeInventaire = DmTableInventaire(self.page_invent)
-        self.edc_listeInventaire.setGeometry(QtCore.QRect(0, 80, 491, 341))
+        self.edc_listeInventaire.setGeometry(QtCore.QRect(0, 80, 491, 321))
         palette = QtGui.QPalette()
         brush = QtGui.QBrush(QtGui.QColor(255, 255, 255, 150))
         brush.setStyle(QtCore.Qt.SolidPattern)
@@ -591,7 +591,7 @@ class Ui_edc_fenetre(object):
         self.edc_listeInventaire.setShowGrid(True)
         self.edc_listeInventaire.setGridStyle(QtCore.Qt.SolidLine)
         self.edc_listeInventaire.setObjectName(_fromUtf8("edc_listeInventaire"))
-        self.edc_listeInventaire.setColumnCount(5)
+        self.edc_listeInventaire.setColumnCount(8)
         self.edc_listeInventaire.setRowCount(1)
         item = QtGui.QTableWidgetItem()
         self.edc_listeInventaire.setVerticalHeaderItem(0, item)
@@ -606,20 +606,29 @@ class Ui_edc_fenetre(object):
         item = QtGui.QTableWidgetItem()
         self.edc_listeInventaire.setHorizontalHeaderItem(4, item)
         item = QtGui.QTableWidgetItem()
-        self.edc_listeInventaire.setItem(0, 0, item)
+        self.edc_listeInventaire.setHorizontalHeaderItem(5, item)
+        item = QtGui.QTableWidgetItem()
+        self.edc_listeInventaire.setHorizontalHeaderItem(6, item)
+        item = QtGui.QTableWidgetItem()
+        self.edc_listeInventaire.setHorizontalHeaderItem(7, item)
+        item = QtGui.QTableWidgetItem()
+        item.setFlags(QtCore.Qt.NoItemFlags)
+        self.edc_listeInventaire.setItem(0, 2, item)
+        item = QtGui.QTableWidgetItem()
+        self.edc_listeInventaire.setItem(0, 3, item)
         item = QtGui.QTableWidgetItem()
         font = QtGui.QFont()
         font.setFamily(_fromUtf8("Verdana"))
         font.setPointSize(8)
         font.setItalic(True)
         item.setFont(font)
-        self.edc_listeInventaire.setItem(0, 1, item)
+        self.edc_listeInventaire.setItem(0, 4, item)
         item = QtGui.QTableWidgetItem()
-        self.edc_listeInventaire.setItem(0, 2, item)
+        self.edc_listeInventaire.setItem(0, 5, item)
         item = QtGui.QTableWidgetItem()
-        self.edc_listeInventaire.setItem(0, 3, item)
+        self.edc_listeInventaire.setItem(0, 6, item)
         item = QtGui.QTableWidgetItem()
-        self.edc_listeInventaire.setItem(0, 4, item)
+        self.edc_listeInventaire.setItem(0, 7, item)
         self.edc_listeInventaire.horizontalHeader().setVisible(False)
         self.edc_listeInventaire.horizontalHeader().setCascadingSectionResizes(False)
         self.edc_listeInventaire.horizontalHeader().setDefaultSectionSize(60)
@@ -627,18 +636,6 @@ class Ui_edc_fenetre(object):
         self.edc_listeInventaire.verticalHeader().setVisible(False)
         self.edc_listeInventaire.verticalHeader().setDefaultSectionSize(18)
         self.edc_listeInventaire.verticalHeader().setMinimumSectionSize(14)
-        self.edc_inventaire_supprimer = QtGui.QToolButton(self.page_invent)
-        self.edc_inventaire_supprimer.setGeometry(QtCore.QRect(200, 10, 31, 31))
-        icon9 = QtGui.QIcon()
-        icon9.addPixmap(QtGui.QPixmap(_fromUtf8("img/gomme.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.edc_inventaire_supprimer.setIcon(icon9)
-        self.edc_inventaire_supprimer.setObjectName(_fromUtf8("edc_inventaire_supprimer"))
-        self.edc_inventaire_nouveau = QtGui.QToolButton(self.page_invent)
-        self.edc_inventaire_nouveau.setGeometry(QtCore.QRect(160, 10, 31, 31))
-        icon10 = QtGui.QIcon()
-        icon10.addPixmap(QtGui.QPixmap(_fromUtf8("img/plus.png")), QtGui.QIcon.Normal, QtGui.QIcon.Off)
-        self.edc_inventaire_nouveau.setIcon(icon10)
-        self.edc_inventaire_nouveau.setObjectName(_fromUtf8("edc_inventaire_nouveau"))
         self.edc_inventaire_e1 = QtGui.QLabel(self.page_invent)
         self.edc_inventaire_e1.setGeometry(QtCore.QRect(3, 50, 61, 21))
         self.edc_inventaire_e1.setObjectName(_fromUtf8("edc_inventaire_e1"))
@@ -657,6 +654,24 @@ class Ui_edc_fenetre(object):
         self.edc_inventaire_e6.setPixmap(QtGui.QPixmap(_fromUtf8("img/poids.png")))
         self.edc_inventaire_e6.setScaledContents(True)
         self.edc_inventaire_e6.setObjectName(_fromUtf8("edc_inventaire_e6"))
+        self.label = QtGui.QLabel(self.page_invent)
+        self.label.setGeometry(QtCore.QRect(10, 400, 51, 21))
+        font = QtGui.QFont()
+        font.setItalic(True)
+        self.label.setFont(font)
+        self.label.setObjectName(_fromUtf8("label"))
+        self.edc_inventaire_valeur = DmLabel(self.page_invent)
+        self.edc_inventaire_valeur.setGeometry(QtCore.QRect(345, 400, 61, 20))
+        font = QtGui.QFont()
+        font.setItalic(True)
+        self.edc_inventaire_valeur.setFont(font)
+        self.edc_inventaire_valeur.setObjectName(_fromUtf8("edc_inventaire_valeur"))
+        self.edc_inventaire_poids = DmLabel(self.page_invent)
+        self.edc_inventaire_poids.setGeometry(QtCore.QRect(435, 400, 61, 20))
+        font = QtGui.QFont()
+        font.setItalic(True)
+        self.edc_inventaire_poids.setFont(font)
+        self.edc_inventaire_poids.setObjectName(_fromUtf8("edc_inventaire_poids"))
         self.edc_pages.addWidget(self.page_invent)
         self.page_notes = QtGui.QWidget()
         self.page_notes.setObjectName(_fromUtf8("page_notes"))
@@ -1041,32 +1056,41 @@ class Ui_edc_fenetre(object):
         item = self.edc_listeInventaire.verticalHeaderItem(0)
         item.setText(_translate("edc_fenetre", "Nouvelle ligne", None))
         item = self.edc_listeInventaire.horizontalHeaderItem(0)
-        item.setText(_translate("edc_fenetre", "Nombre", None))
+        item.setText(_translate("edc_fenetre", "tri", None))
         item = self.edc_listeInventaire.horizontalHeaderItem(1)
-        item.setText(_translate("edc_fenetre", "Objet", None))
+        item.setText(_translate("edc_fenetre", "codeType", None))
         item = self.edc_listeInventaire.horizontalHeaderItem(2)
-        item.setText(_translate("edc_fenetre", "Poids", None))
+        item.setText(_translate("edc_fenetre", "Type", None))
         item = self.edc_listeInventaire.horizontalHeaderItem(3)
-        item.setText(_translate("edc_fenetre", "Valeur", None))
+        item.setText(_translate("edc_fenetre", "Nombre", None))
         item = self.edc_listeInventaire.horizontalHeaderItem(4)
+        item.setText(_translate("edc_fenetre", "Objet", None))
+        item = self.edc_listeInventaire.horizontalHeaderItem(5)
+        item.setText(_translate("edc_fenetre", "Poids", None))
+        item = self.edc_listeInventaire.horizontalHeaderItem(6)
+        item.setText(_translate("edc_fenetre", "Valeur", None))
+        item = self.edc_listeInventaire.horizontalHeaderItem(7)
         item.setText(_translate("edc_fenetre", "vide", None))
         __sortingEnabled = self.edc_listeInventaire.isSortingEnabled()
         self.edc_listeInventaire.setSortingEnabled(False)
-        item = self.edc_listeInventaire.item(0, 0)
-        item.setText(_translate("edc_fenetre", " ", None))
-        item = self.edc_listeInventaire.item(0, 1)
-        item.setText(_translate("edc_fenetre", "(Cliquer pour ajouter un item)", None))
         item = self.edc_listeInventaire.item(0, 2)
         item.setText(_translate("edc_fenetre", " ", None))
         item = self.edc_listeInventaire.item(0, 3)
         item.setText(_translate("edc_fenetre", " ", None))
         item = self.edc_listeInventaire.item(0, 4)
+        item.setText(_translate("edc_fenetre", "(Cliquer pour ajouter un item)", None))
+        item = self.edc_listeInventaire.item(0, 5)
+        item.setText(_translate("edc_fenetre", " ", None))
+        item = self.edc_listeInventaire.item(0, 6)
+        item.setText(_translate("edc_fenetre", " ", None))
+        item = self.edc_listeInventaire.item(0, 7)
         item.setText(_translate("edc_fenetre", " ", None))
         self.edc_listeInventaire.setSortingEnabled(__sortingEnabled)
-        self.edc_inventaire_supprimer.setText(_translate("edc_fenetre", "...", None))
-        self.edc_inventaire_nouveau.setText(_translate("edc_fenetre", "...", None))
         self.edc_inventaire_e1.setText(_translate("edc_fenetre", "Quantité", None))
         self.edc_inventaire_e2.setText(_translate("edc_fenetre", "Objet", None))
+        self.label.setText(_translate("edc_fenetre", "Au total : ", None))
+        self.edc_inventaire_valeur.setText(_translate("edc_fenetre", "... po", None))
+        self.edc_inventaire_poids.setText(_translate("edc_fenetre", "... kg", None))
         self.label_16.setText(_translate("edc_fenetre", "Age : ", None))
         self.label_17.setText(_translate("edc_fenetre", "Sexe : ", None))
         self.label_37.setText(_translate("edc_fenetre", "Yeux :", None))
@@ -1085,7 +1109,7 @@ class Ui_edc_fenetre(object):
         self.edc_enregistrer.setText(_translate("edc_fenetre", "Enregistrer", None))
         self.edc_annuler.setText(_translate("edc_fenetre", "Annuler", None))
 
-from dm import DmLabelChoixImage, DmTableInventaire, DmTableMenu, DmLineEdit
+from dm import DmLabelChoixImage, DmTableInventaire, DmTableMenu, DmLabel, DmLineEdit
 
 if __name__ == "__main__":
     import sys

+ 183 - 0
lib/ui/ecran_editionObjet.py

@@ -0,0 +1,183 @@
+# -*- coding: utf-8 -*-
+
+# Form implementation generated from reading ui file 'editionObjet.ui'
+#
+# Created: Fri Jun 19 12:49:18 2015
+#      by: PyQt4 UI code generator 4.10.4
+#
+# WARNING! All changes made in this file will be lost!
+
+from PyQt4 import QtCore, QtGui
+
+try:
+    _fromUtf8 = QtCore.QString.fromUtf8
+except AttributeError:
+    def _fromUtf8(s):
+        return s
+
+try:
+    _encoding = QtGui.QApplication.UnicodeUTF8
+    def _translate(context, text, disambig):
+        return QtGui.QApplication.translate(context, text, disambig, _encoding)
+except AttributeError:
+    def _translate(context, text, disambig):
+        return QtGui.QApplication.translate(context, text, disambig)
+
+class Ui_eo_fenetre(object):
+    def setupUi(self, eo_fenetre):
+        eo_fenetre.setObjectName(_fromUtf8("eo_fenetre"))
+        eo_fenetre.resize(479, 237)
+        self.eo_nom = DmLineEdit(eo_fenetre)
+        self.eo_nom.setGeometry(QtCore.QRect(70, 10, 241, 31))
+        palette = QtGui.QPalette()
+        brush = QtGui.QBrush(QtGui.QColor(248, 248, 248))
+        brush.setStyle(QtCore.Qt.SolidPattern)
+        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
+        brush = QtGui.QBrush(QtGui.QColor(248, 248, 248))
+        brush.setStyle(QtCore.Qt.SolidPattern)
+        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
+        brush = QtGui.QBrush(QtGui.QColor(240, 240, 240))
+        brush.setStyle(QtCore.Qt.SolidPattern)
+        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
+        self.eo_nom.setPalette(palette)
+        self.eo_nom.setObjectName(_fromUtf8("eo_nom"))
+        self.label = QtGui.QLabel(eo_fenetre)
+        self.label.setGeometry(QtCore.QRect(30, 12, 41, 21))
+        self.label.setObjectName(_fromUtf8("label"))
+        self.eo_quantite = QtGui.QSpinBox(eo_fenetre)
+        self.eo_quantite.setGeometry(QtCore.QRect(90, 50, 71, 31))
+        palette = QtGui.QPalette()
+        brush = QtGui.QBrush(QtGui.QColor(248, 248, 248))
+        brush.setStyle(QtCore.Qt.SolidPattern)
+        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
+        brush = QtGui.QBrush(QtGui.QColor(248, 248, 248))
+        brush.setStyle(QtCore.Qt.SolidPattern)
+        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
+        brush = QtGui.QBrush(QtGui.QColor(240, 240, 240))
+        brush.setStyle(QtCore.Qt.SolidPattern)
+        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
+        self.eo_quantite.setPalette(palette)
+        self.eo_quantite.setMaximum(1000000)
+        self.eo_quantite.setProperty("value", 1)
+        self.eo_quantite.setObjectName(_fromUtf8("eo_quantite"))
+        self.label_2 = QtGui.QLabel(eo_fenetre)
+        self.label_2.setGeometry(QtCore.QRect(30, 50, 61, 31))
+        self.label_2.setObjectName(_fromUtf8("label_2"))
+        self.eo_poids = QtGui.QSpinBox(eo_fenetre)
+        self.eo_poids.setGeometry(QtCore.QRect(130, 140, 71, 31))
+        palette = QtGui.QPalette()
+        brush = QtGui.QBrush(QtGui.QColor(248, 248, 248))
+        brush.setStyle(QtCore.Qt.SolidPattern)
+        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
+        brush = QtGui.QBrush(QtGui.QColor(248, 248, 248))
+        brush.setStyle(QtCore.Qt.SolidPattern)
+        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
+        brush = QtGui.QBrush(QtGui.QColor(240, 240, 240))
+        brush.setStyle(QtCore.Qt.SolidPattern)
+        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
+        self.eo_poids.setPalette(palette)
+        self.eo_poids.setMaximum(1000000)
+        self.eo_poids.setProperty("value", 1)
+        self.eo_poids.setObjectName(_fromUtf8("eo_poids"))
+        self.label_3 = QtGui.QLabel(eo_fenetre)
+        self.label_3.setGeometry(QtCore.QRect(30, 140, 101, 31))
+        self.label_3.setObjectName(_fromUtf8("label_3"))
+        self.label_4 = QtGui.QLabel(eo_fenetre)
+        self.label_4.setGeometry(QtCore.QRect(250, 140, 101, 31))
+        self.label_4.setObjectName(_fromUtf8("label_4"))
+        self.eo_valeur = QtGui.QSpinBox(eo_fenetre)
+        self.eo_valeur.setGeometry(QtCore.QRect(350, 140, 71, 31))
+        palette = QtGui.QPalette()
+        brush = QtGui.QBrush(QtGui.QColor(248, 248, 248))
+        brush.setStyle(QtCore.Qt.SolidPattern)
+        palette.setBrush(QtGui.QPalette.Active, QtGui.QPalette.Base, brush)
+        brush = QtGui.QBrush(QtGui.QColor(248, 248, 248))
+        brush.setStyle(QtCore.Qt.SolidPattern)
+        palette.setBrush(QtGui.QPalette.Inactive, QtGui.QPalette.Base, brush)
+        brush = QtGui.QBrush(QtGui.QColor(240, 240, 240))
+        brush.setStyle(QtCore.Qt.SolidPattern)
+        palette.setBrush(QtGui.QPalette.Disabled, QtGui.QPalette.Base, brush)
+        self.eo_valeur.setPalette(palette)
+        self.eo_valeur.setMaximum(1000000)
+        self.eo_valeur.setProperty("value", 1)
+        self.eo_valeur.setObjectName(_fromUtf8("eo_valeur"))
+        self.eo_consommable = QtGui.QCheckBox(eo_fenetre)
+        self.eo_consommable.setGeometry(QtCore.QRect(310, 50, 101, 17))
+        self.eo_consommable.setObjectName(_fromUtf8("eo_consommable"))
+        self.label_5 = QtGui.QLabel(eo_fenetre)
+        self.label_5.setGeometry(QtCore.QRect(280, 70, 211, 41))
+        font = QtGui.QFont()
+        font.setItalic(True)
+        self.label_5.setFont(font)
+        self.label_5.setObjectName(_fromUtf8("label_5"))
+        self.eo_enregistrer = QtGui.QPushButton(eo_fenetre)
+        self.eo_enregistrer.setGeometry(QtCore.QRect(350, 190, 111, 31))
+        self.eo_enregistrer.setObjectName(_fromUtf8("eo_enregistrer"))
+        self.eo_annuler = QtGui.QPushButton(eo_fenetre)
+        self.eo_annuler.setGeometry(QtCore.QRect(230, 190, 111, 31))
+        self.eo_annuler.setObjectName(_fromUtf8("eo_annuler"))
+        self.eo_type = QtGui.QComboBox(eo_fenetre)
+        self.eo_type.setGeometry(QtCore.QRect(110, 90, 131, 31))
+        font = QtGui.QFont()
+        font.setBold(True)
+        font.setWeight(75)
+        self.eo_type.setFont(font)
+        self.eo_type.setObjectName(_fromUtf8("eo_type"))
+        self.eo_type.addItem(_fromUtf8(""))
+        self.eo_type.addItem(_fromUtf8(""))
+        self.eo_type.addItem(_fromUtf8(""))
+        self.eo_type.addItem(_fromUtf8(""))
+        self.eo_type.addItem(_fromUtf8(""))
+        self.label_6 = QtGui.QLabel(eo_fenetre)
+        self.label_6.setGeometry(QtCore.QRect(30, 90, 71, 31))
+        self.label_6.setObjectName(_fromUtf8("label_6"))
+        self.eo_ajouter = QtGui.QPushButton(eo_fenetre)
+        self.eo_ajouter.setGeometry(QtCore.QRect(180, 50, 31, 31))
+        self.eo_ajouter.setObjectName(_fromUtf8("eo_ajouter"))
+        self.eo_retirer = QtGui.QPushButton(eo_fenetre)
+        self.eo_retirer.setGeometry(QtCore.QRect(220, 50, 31, 31))
+        self.eo_retirer.setObjectName(_fromUtf8("eo_retirer"))
+        self.eo_monnaie = DmLabel(eo_fenetre)
+        self.eo_monnaie.setGeometry(QtCore.QRect(430, 150, 46, 13))
+        self.eo_monnaie.setObjectName(_fromUtf8("eo_monnaie"))
+        self.eo_supprimer = QtGui.QPushButton(eo_fenetre)
+        self.eo_supprimer.setGeometry(QtCore.QRect(10, 190, 111, 31))
+        self.eo_supprimer.setObjectName(_fromUtf8("eo_supprimer"))
+
+        self.retranslateUi(eo_fenetre)
+        QtCore.QMetaObject.connectSlotsByName(eo_fenetre)
+
+    def retranslateUi(self, eo_fenetre):
+        eo_fenetre.setWindowTitle(_translate("eo_fenetre", "Créer / éditer un objet", None))
+        self.label.setText(_translate("eo_fenetre", "Nom: ", None))
+        self.label_2.setText(_translate("eo_fenetre", "Quantité : ", None))
+        self.label_3.setText(_translate("eo_fenetre", "Poids d\'un objet : ", None))
+        self.label_4.setText(_translate("eo_fenetre", "Valeur d\'un objet : ", None))
+        self.eo_consommable.setText(_translate("eo_fenetre", "Consommable", None))
+        self.label_5.setText(_translate("eo_fenetre", "(la quantité diminue de 1 à l\'utilisation;\n"
+"seuls les consommables apparaissent\n"
+"dans l\'inventaire rapide lors d\'iun combat)", None))
+        self.eo_enregistrer.setText(_translate("eo_fenetre", "Enregistrer", None))
+        self.eo_annuler.setText(_translate("eo_fenetre", "Annuler", None))
+        self.eo_type.setItemText(0, _translate("eo_fenetre", "Monnaie", None))
+        self.eo_type.setItemText(1, _translate("eo_fenetre", "Arme / armure", None))
+        self.eo_type.setItemText(2, _translate("eo_fenetre", "Consommable", None))
+        self.eo_type.setItemText(3, _translate("eo_fenetre", "Butin", None))
+        self.eo_type.setItemText(4, _translate("eo_fenetre", "Autre", None))
+        self.label_6.setText(_translate("eo_fenetre", "Type d\'objet : ", None))
+        self.eo_ajouter.setText(_translate("eo_fenetre", "+", None))
+        self.eo_retirer.setText(_translate("eo_fenetre", "-", None))
+        self.eo_monnaie.setText(_translate("eo_fenetre", "po", None))
+        self.eo_supprimer.setText(_translate("eo_fenetre", "Supprimer", None))
+
+from dm import DmLineEdit, DmLabel
+
+if __name__ == "__main__":
+    import sys
+    app = QtGui.QApplication(sys.argv)
+    eo_fenetre = QtGui.QDialog()
+    ui = Ui_eo_fenetre()
+    ui.setupUi(eo_fenetre)
+    eo_fenetre.show()
+    sys.exit(app.exec_())
+

+ 41 - 13
lib/ui/editionCombattant.ui

@@ -1550,9 +1550,9 @@ image</string>
            <property name="geometry">
             <rect>
              <x>0</x>
-             <y>50</y>
+             <y>80</y>
              <width>491</width>
-             <height>351</height>
+             <height>321</height>
             </rect>
            </property>
            <property name="palette">
@@ -1653,6 +1653,21 @@ image</string>
              <string>Nouvelle ligne</string>
             </property>
            </row>
+           <column>
+            <property name="text">
+             <string>tri</string>
+            </property>
+           </column>
+           <column>
+            <property name="text">
+             <string>codeType</string>
+            </property>
+           </column>
+           <column>
+            <property name="text">
+             <string>Type</string>
+            </property>
+           </column>
            <column>
             <property name="text">
              <string>Nombre</string>
@@ -1678,12 +1693,20 @@ image</string>
              <string>vide</string>
             </property>
            </column>
-           <item row="0" column="0">
+           <item row="0" column="2">
+            <property name="text">
+             <string> </string>
+            </property>
+            <property name="flags">
+             <set>NoItemFlags</set>
+            </property>
+           </item>
+           <item row="0" column="3">
             <property name="text">
              <string> </string>
             </property>
            </item>
-           <item row="0" column="1">
+           <item row="0" column="4">
             <property name="text">
              <string>(Cliquer pour ajouter un item)</string>
             </property>
@@ -1695,17 +1718,17 @@ image</string>
              </font>
             </property>
            </item>
-           <item row="0" column="2">
+           <item row="0" column="5">
             <property name="text">
              <string> </string>
             </property>
            </item>
-           <item row="0" column="3">
+           <item row="0" column="6">
             <property name="text">
              <string> </string>
             </property>
            </item>
-           <item row="0" column="4">
+           <item row="0" column="7">
             <property name="text">
              <string> </string>
             </property>
@@ -1715,7 +1738,7 @@ image</string>
            <property name="geometry">
             <rect>
              <x>3</x>
-             <y>20</y>
+             <y>50</y>
              <width>61</width>
              <height>21</height>
             </rect>
@@ -1728,7 +1751,7 @@ image</string>
            <property name="geometry">
             <rect>
              <x>70</x>
-             <y>20</y>
+             <y>50</y>
              <width>211</width>
              <height>21</height>
             </rect>
@@ -1741,7 +1764,7 @@ image</string>
            <property name="geometry">
             <rect>
              <x>410</x>
-             <y>20</y>
+             <y>50</y>
              <width>20</width>
              <height>20</height>
             </rect>
@@ -1760,7 +1783,7 @@ image</string>
            <property name="geometry">
             <rect>
              <x>450</x>
-             <y>20</y>
+             <y>50</y>
              <width>21</width>
              <height>21</height>
             </rect>
@@ -1793,7 +1816,7 @@ image</string>
             <string>Au total : </string>
            </property>
           </widget>
-          <widget class="QLabel" name="label_6">
+          <widget class="DmLabel" name="edc_inventaire_valeur">
            <property name="geometry">
             <rect>
              <x>345</x>
@@ -1811,7 +1834,7 @@ image</string>
             <string>... po</string>
            </property>
           </widget>
-          <widget class="QLabel" name="label_7">
+          <widget class="DmLabel" name="edc_inventaire_poids">
            <property name="geometry">
             <rect>
              <x>435</x>
@@ -2803,6 +2826,11 @@ parlées : </string>
    <extends>QTableWidget</extends>
    <header location="global">dm.h</header>
   </customwidget>
+  <customwidget>
+   <class>DmLabel</class>
+   <extends>QLabel</extends>
+   <header location="global">dm.h</header>
+  </customwidget>
  </customwidgets>
  <resources/>
  <connections>

+ 454 - 0
lib/ui/editionObjet.ui

@@ -0,0 +1,454 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>eo_fenetre</class>
+ <widget class="QDialog" name="eo_fenetre">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>479</width>
+    <height>237</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>Créer / éditer un objet</string>
+  </property>
+  <widget class="DmLineEdit" name="eo_nom">
+   <property name="geometry">
+    <rect>
+     <x>70</x>
+     <y>10</y>
+     <width>241</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="palette">
+    <palette>
+     <active>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>248</red>
+         <green>248</green>
+         <blue>248</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </active>
+     <inactive>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>248</red>
+         <green>248</green>
+         <blue>248</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </inactive>
+     <disabled>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>240</red>
+         <green>240</green>
+         <blue>240</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </disabled>
+    </palette>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label">
+   <property name="geometry">
+    <rect>
+     <x>30</x>
+     <y>12</y>
+     <width>41</width>
+     <height>21</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>Nom: </string>
+   </property>
+  </widget>
+  <widget class="QSpinBox" name="eo_quantite">
+   <property name="geometry">
+    <rect>
+     <x>90</x>
+     <y>50</y>
+     <width>71</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="palette">
+    <palette>
+     <active>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>248</red>
+         <green>248</green>
+         <blue>248</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </active>
+     <inactive>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>248</red>
+         <green>248</green>
+         <blue>248</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </inactive>
+     <disabled>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>240</red>
+         <green>240</green>
+         <blue>240</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </disabled>
+    </palette>
+   </property>
+   <property name="maximum">
+    <number>1000000</number>
+   </property>
+   <property name="value">
+    <number>1</number>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_2">
+   <property name="geometry">
+    <rect>
+     <x>30</x>
+     <y>50</y>
+     <width>61</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>Quantité : </string>
+   </property>
+  </widget>
+  <widget class="QDoubleSpinBox" name="eo_poids">
+   <property name="geometry">
+    <rect>
+     <x>130</x>
+     <y>140</y>
+     <width>71</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="palette">
+    <palette>
+     <active>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>248</red>
+         <green>248</green>
+         <blue>248</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </active>
+     <inactive>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>248</red>
+         <green>248</green>
+         <blue>248</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </inactive>
+     <disabled>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>240</red>
+         <green>240</green>
+         <blue>240</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </disabled>
+    </palette>
+   </property>
+   <property name="decimals">
+    <number>2</number>
+   </property>
+   <property name="maximum">
+    <double>99999999.989999994635582</double>
+   </property>
+   <property name="singleStep">
+    <double>1.000000000000000</double>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_3">
+   <property name="geometry">
+    <rect>
+     <x>30</x>
+     <y>140</y>
+     <width>101</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>Poids d'un objet : </string>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_4">
+   <property name="geometry">
+    <rect>
+     <x>250</x>
+     <y>140</y>
+     <width>101</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>Valeur d'un objet : </string>
+   </property>
+  </widget>
+  <widget class="QDoubleSpinBox" name="eo_valeur">
+   <property name="geometry">
+    <rect>
+     <x>350</x>
+     <y>140</y>
+     <width>71</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="palette">
+    <palette>
+     <active>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>248</red>
+         <green>248</green>
+         <blue>248</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </active>
+     <inactive>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>248</red>
+         <green>248</green>
+         <blue>248</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </inactive>
+     <disabled>
+      <colorrole role="Base">
+       <brush brushstyle="SolidPattern">
+        <color alpha="255">
+         <red>240</red>
+         <green>240</green>
+         <blue>240</blue>
+        </color>
+       </brush>
+      </colorrole>
+     </disabled>
+    </palette>
+   </property>
+   <property name="maximum">
+    <double>999999999.990000009536743</double>
+   </property>
+  </widget>
+  <widget class="QCheckBox" name="eo_consommable">
+   <property name="geometry">
+    <rect>
+     <x>310</x>
+     <y>50</y>
+     <width>101</width>
+     <height>17</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>Consommable</string>
+   </property>
+  </widget>
+  <widget class="QLabel" name="label_5">
+   <property name="geometry">
+    <rect>
+     <x>280</x>
+     <y>70</y>
+     <width>211</width>
+     <height>41</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <italic>true</italic>
+    </font>
+   </property>
+   <property name="text">
+    <string>(la quantité diminue de 1 à l'utilisation;
+seuls les consommables apparaissent
+dans l'inventaire rapide lors d'iun combat)</string>
+   </property>
+  </widget>
+  <widget class="QPushButton" name="eo_enregistrer">
+   <property name="geometry">
+    <rect>
+     <x>350</x>
+     <y>190</y>
+     <width>111</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>Enregistrer</string>
+   </property>
+  </widget>
+  <widget class="QPushButton" name="eo_annuler">
+   <property name="geometry">
+    <rect>
+     <x>230</x>
+     <y>190</y>
+     <width>111</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>Annuler</string>
+   </property>
+  </widget>
+  <widget class="QComboBox" name="eo_type">
+   <property name="geometry">
+    <rect>
+     <x>110</x>
+     <y>90</y>
+     <width>131</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="font">
+    <font>
+     <weight>75</weight>
+     <bold>true</bold>
+    </font>
+   </property>
+   <item>
+    <property name="text">
+     <string>Monnaie</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>Arme / armure</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>Consommable</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>Butin</string>
+    </property>
+   </item>
+   <item>
+    <property name="text">
+     <string>Autre</string>
+    </property>
+   </item>
+  </widget>
+  <widget class="QLabel" name="label_6">
+   <property name="geometry">
+    <rect>
+     <x>30</x>
+     <y>90</y>
+     <width>71</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>Type d'objet : </string>
+   </property>
+  </widget>
+  <widget class="QPushButton" name="eo_ajouter">
+   <property name="geometry">
+    <rect>
+     <x>180</x>
+     <y>50</y>
+     <width>31</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>+</string>
+   </property>
+  </widget>
+  <widget class="QPushButton" name="eo_retirer">
+   <property name="geometry">
+    <rect>
+     <x>220</x>
+     <y>50</y>
+     <width>31</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>-</string>
+   </property>
+  </widget>
+  <widget class="DmLabel" name="eo_monnaie">
+   <property name="geometry">
+    <rect>
+     <x>430</x>
+     <y>150</y>
+     <width>46</width>
+     <height>13</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>po</string>
+   </property>
+  </widget>
+  <widget class="QPushButton" name="eo_supprimer">
+   <property name="geometry">
+    <rect>
+     <x>10</x>
+     <y>190</y>
+     <width>111</width>
+     <height>31</height>
+    </rect>
+   </property>
+   <property name="text">
+    <string>Supprimer</string>
+   </property>
+  </widget>
+ </widget>
+ <customwidgets>
+  <customwidget>
+   <class>DmLineEdit</class>
+   <extends>QLineEdit</extends>
+   <header location="global">dm.h</header>
+  </customwidget>
+  <customwidget>
+   <class>DmLabel</class>
+   <extends>QLabel</extends>
+   <header location="global">dm.h</header>
+  </customwidget>
+ </customwidgets>
+ <resources/>
+ <connections/>
+</ui>