Changeset 2137

Show
Ignore:
Timestamp:
09/20/07 02:17:54 (1 year ago)
Author:
arj..@yirdis.nl
Message:

Fix #81. grabbed handle and item attributes are now properly reset after a button release event.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • gaphas/trunk/gaphas/tool.py

    r1916 r2137  
    357357        self._grabbed_handle = handle 
    358358 
     359    def ungrab_handle(self): 
     360        """ 
     361        Reset _grabbed_handle and _grabbed_item. 
     362        """ 
     363        self._grabbed_handle = None 
     364        self._grabbed_item = None 
    359365 
    360366    def _find_handle(self, view, event, item): 
     
    458464        """ 
    459465        # queue extra redraw to make sure the item is drawn properly 
     466        grabbed_handle, grabbed_item = self._grabbed_handle, self._grabbed_item 
    460467        try: 
    461468            view = context.view 
    462             if self._grabbed_handle and self._grabbed_handle.connectable: 
    463                 self.connect(view, self._grabbed_item, self._grabbed_handle, event.x, event.y) 
     469            if grabbed_handle and grabbed_handle.connectable: 
     470                self.connect(view, grabbed_item, grabbed_handle, event.x, event.y) 
    464471        finally: 
    465472            context.ungrab() 
    466         if self._grabbed_handle: 
    467             self._grabbed_item.request_update() 
     473            self.ungrab_handle() 
     474 
     475        if grabbed_handle: 
     476            grabbed_item.request_update() 
    468477        return True 
    469478