Changeset 2402

Show
Ignore:
Timestamp:
09/30/08 22:56:29 (3 months ago)
Author:
bzr
Message:

Changes related to virtual buffer focus events:

  • Introduce event_virtualBuffer_gainFocus, which is fired upon entering a virtual buffer which was not the current virtual buffer before. Also introduce event_virtualBuffer_loseFocus, which does the reverse.
  • The current pass through state is now reported in event_virtualBuffer_gainFocus, rather than from api.setFocusObject().
  • Rename event_virtualBuffer_firstEnter to event_virtualBuffer_firstGainFocus for consistency.
Location:
trunk
Files:
5 modified

Legend:

Unmodified
Added
Removed
  • trunk

    • Property bzr:revision-info
      •  

        old new  
        1 timestamp: 2008-09-30 13:51:17.709000111 +1000 
         1timestamp: 2008-10-01 08:31:51.707999945 +1000 
        22committer: James Teh <jamie@jantrid.net> 
        33properties:  
        44        branch-nick: main 
         5        rebase-of: jamie@jantrid.net-20080930223151-22k59aqhuih2ype2 
    • Property bzr:revision-id:v3-list-QlpoOTFBWSZTWbrL2vUAAB1VgAAQABCAQDrrnqAgAFCgaaGRkxBoTIJ6mmaNRwhndFAoNhZjh_YY4a01fOg1ulgNNC2UrzPdXXEnDpX8XckU4UJC6y9r1A..
      •  

        old new  
        1871872193 jamie@jantrid.net-20080925230622-ikigcn2shphot7ub 
        1881882199 jamie@jantrid.net-20080930035117-ku02dg1nqmf2tb4g 
         1892201 jamie@jantrid.net-20080930223151-xhcewru2zmu8r7p9 
    • Property bzr:file-ids
      •  

        old new  
        1 dependencies.txt        46@dbe06fc7-9119-0410-a01d-9dbf589ecbba:trunk:dependencies.txt 
        2 user_docs/whats%20new.txt       559@dbe06fc7-9119-0410-a01d-9dbf589ecbba:trunk:user_docs%2Fwhats%20new.txt 
         1source/api.py   46@dbe06fc7-9119-0410-a01d-9dbf589ecbba:trunk:source%2Fapi.py 
         2source/eventHandler.py  378@dbe06fc7-9119-0410-a01d-9dbf589ecbba:trunk:source%2FeventHandler.py 
         3source/virtualBuffers/__init__.py       1675@dbe06fc7-9119-0410-a01d-9dbf589ecbba:trunk:source%2FvirtualBuffers%2F__init__.py 
         4source/virtualBuffers_old/__init__.py   1674@dbe06fc7-9119-0410-a01d-9dbf589ecbba:trunk:source%2FvirtualBuffers_old%2F__init__.py 
  • trunk/source/api.py

    r2396 r2402  
    129129                                break 
    130130                obj.virtualBuffer=virtualBufferObject 
    131                 if virtualBufferObject and hasattr(virtualBufferObject,"event_virtualBuffer_firstEnter"): 
    132                         virtualBufferObject.event_virtualBuffer_firstEnter() 
    133         elif obj.virtualBuffer: 
    134                 virtualBufferHandler.reportPassThrough(obj.virtualBuffer) 
     131                if virtualBufferObject and hasattr(virtualBufferObject,"event_virtualBuffer_firstGainFocus"): 
     132                        virtualBufferObject.event_virtualBuffer_firstGainFocus() 
     133        oldVirtualBuffer=globalVars.focusObject.virtualBuffer if globalVars.focusObject else None 
     134        if obj.virtualBuffer is not oldVirtualBuffer: 
     135                if hasattr(oldVirtualBuffer,"event_virtualBuffer_loseFocus"): 
     136                        oldVirtualBuffer.event_virtualBuffer_loseFocus() 
     137                if hasattr(obj.virtualBuffer,"event_virtualBuffer_gainFocus"): 
     138                        obj.virtualBuffer.event_virtualBuffer_gainFocus() 
    135139        globalVars.focusDifferenceLevel=focusDifferenceLevel 
    136140        globalVars.focusObject=obj 
  • trunk/source/eventHandler.py

    r2324 r2402  
    111111                        #Focus may be in this new virtualBuffer, so force focus to look up its virtualBuffer 
    112112                        focusObject.virtualBuffer=virtualBufferHandler.getVirtualBuffer(focusObject) 
    113                         if focusObject.virtualBuffer==v and hasattr(v,"event_virtualBuffer_firstEnter"): 
    114                                 v.event_virtualBuffer_firstEnter() 
     113                        if focusObject.virtualBuffer==v: 
     114                                if hasattr(v,"event_virtualBuffer_firstGainFocus"): 
     115                                        v.event_virtualBuffer_firstGainFocus() 
     116                                if hasattr(v,"event_virtualBuffer_gainFocus"): 
     117                                        v.event_virtualBuffer_gainFocus() 
     118 
    115119 
    116120def executeEvent_appModuleLevel(name,obj): 
  • trunk/source/virtualBuffers/__init__.py

    r2391 r2402  
    148148                return self.rootNVDAObject.windowHandle 
    149149 
    150         def event_virtualBuffer_firstEnter(self): 
    151                 """Triggered the first time this virtual buffer is entered. 
     150        def event_virtualBuffer_firstGainFocus(self): 
     151                """Triggered the first time this virtual buffer ever gains focus. 
    152152                """ 
    153153                speech.cancelSpeech() 
     
    156156                info=self.makeTextInfo(textHandler.POSITION_CARET) 
    157157                sayAllHandler.readText(info,sayAllHandler.CURSOR_CARET) 
     158 
     159        def event_virtualBuffer_gainFocus(self): 
     160                """Triggered when this virtual buffer gains focus. 
     161                This event is only fired upon entering this buffer when it was not the current buffer before. 
     162                This is different to L{event_gainFocus}, which is fired when an object inside this buffer gains focus, even if that object is in the same buffer. 
     163                """ 
     164                virtualBufferHandler.reportPassThrough(self) 
     165 
     166        def event_virtualBuffer_loseFocus(self): 
     167                """Triggered when this virtual buffer loses focus. 
     168                This event is only fired when the focus moves to a new object which is not within this virtual buffer; i.e. upon leaving this virtual buffer. 
     169                """ 
    158170 
    159171        def _calculateLineBreaks(self,text): 
  • trunk/source/virtualBuffers_old/__init__.py

    r2059 r2402  
    1616import controlTypes 
    1717import NVDAObjects 
     18import virtualBufferHandler 
    1819 
    1920class virtualBuffer(textBuffer.TextBufferObject): 
     
    2728        def event_focusEntered(self,obj,nextHandler): 
    2829                pass 
     30 
     31        def event_virtualBuffer_gainFocus(self): 
     32                virtualBufferHandler.reportPassThrough(self) 
    2933 
    3034        fieldInfoTemplate={