| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- #from __future__ import unicode_literals
- # -*- coding: utf-8 -*-
- from __future__ import division
- from PyQt4.QtCore import *
- from PyQt4.QtGui import *
- class Cache(QGraphicsPolygonItem):
- """cache place sur le plateau"""
- def __init__(self, plateau, numCache = 0, parent=None):
- """initialisation de la fenetre"""
- super (Cache, self).__init__()
- self.parent = plateau
- self.plateau = plateau
- self.numCache = numCache
- self.transparence = 130
- self.setVisible(False)
- self.plateau.addItem(self)
- self.setFlag(QGraphicsItem.ItemIsFocusable)
- self.setAcceptHoverEvents(True)
- def afficher(self, actif, listeCases = []):
- """affiche le cache sur la liste des cases en parametre"""
- """met a jour l'affichage des cases selon les parametres enregistres pour le cache"""
- if actif and len(listeCases) > 0:
- if not self.isVisible():
- self.setPolygon(self.plateau.polygoneAgglo(listeCases))
- self.setBrush(QColor(0,0,0,130))
- pinceau = QPen(QColor("black"))
- pinceau.setWidth(10)
- self.setPen(pinceau)
- text = QGraphicsTextItem(QString.fromUtf8(str(self.numCache)))
- pos = self.plateau.cases[self.plateau.coordCentreListeCases(listeCases)].centreGraphique
- text.setPos(self.mapFromScene(pos))
- police = QFont("Arial",30)
- police.setBold(True)
- text.setFont(police)
- text.setDefaultTextColor(QColor(50,50,50,180))
- text.setParentItem(self)
- self.setVisible(actif and len(listeCases) > 0)
-
- def mousePressEvent(self, event):
- event.accept()
- def mouseReleaseEvent(self, event):
- event.accept()
- def mouseMoveEvent(self, event):
- event.accept()
- def mouseDoubleClickEvent(self, event):
- event.accept()
- def hoverEnterEvent(self, event):
- event.accept()
- def hoverLeaveEvent(self, event):
- event.accept()
- def hoverMoveEvent(self, event):
- event.accept()
|