[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    playground/games/kmj
From:       Wolfgang Rohdewald <wolfgang () rohdewald ! de>
Date:       2009-03-31 13:54:08
Message-ID: 1238507648.117820.2838.nullmailer () svn ! kde ! org
[Download RAW message or body]

SVN commit 947433 by wrohdewald:

dragging tiles: put blue border around the board currently accepting the drop


 M  +16 -1     board.py  


--- trunk/playground/games/kmj/board.py #947432:947433
@@ -292,7 +292,7 @@
     """ a board with any number of positioned tiles"""
     def __init__(self, tileset, tiles=None,  rotation = 0):
         QGraphicsRectItem.__init__(self)
-        self.setPen(QPen(Qt.NoPen))
+        self._noPen()
         self.tileDragEnabled = False
         self.rotation = rotation
         self.rotate(rotation)
@@ -310,6 +310,19 @@
             for tile in tiles:
                 tile.board = self
 
+    def dragEnterEvent(self, event):
+        """drag enters the HandBoard: highlight it"""
+        self.setPen(QPen(QColor('blue')))
+
+    def dragLeaveEvent(self, event):
+        """drag leaves the HandBoard"""
+        self._noPen()
+
+    def _noPen(self):
+        """remove pen for this board. The pen defines the border"""
+        self.setPen(QPen(Qt.NoPen))
+
+
     def tileAt(self, xoffset, yoffset, level=0):
         """if there is a tile at this place, return it"""
         for tile in self.childItems():
@@ -527,6 +540,7 @@
         oldHand = tile.board if isinstance(tile.board, HandBoard) else None
         assert oldHand
         oldHand.remove(tile)
+        self._noPen()
         event.accept()
 
     def placeAvailable(self, tile):
@@ -657,6 +671,7 @@
         self.lowerHalf = self.mapFromScene(QPointF(event.scenePos())).y() >= self.rect().height()/2.0
         oldHand = tile.board if isinstance(tile.board, HandBoard) else None
         added = self.integrate(tile)
+        self._noPen()
         if added:
             if oldHand == self:
                 self.placeTiles()
[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic