
chrome
------

fire LOSTFOCUS 
   on JSBLUR with target = isInGrid AND notSame 
fire GAINEDFOCUS
   on JSFOCUS  with target = isInGrid or notSame

====== events ===================

edit -> otherControl                           want LOSTFOCUS

   GWT Blur (Editor)
**    endEdit moves focus to focusPanel
**      focusTarget -> focusPanel
**      blurTarget -> grid
   JS Blur (Editor,other)       notSame         JSBLUR notSame  (editor, other)
   JS FocusOut  (Editor,other)  notSame
      focusTarget -> other
      blurTarget -> other
   JS Focus   (other,grid)      notSame         JSFocus notSame  (other, grid)
   GWT focus (grid)
   GWT focus (panel)
      focusTarget -> grid
      focusTarget -> grid
   JS FocusIn (grid, other)     notSame

cell->otherControl                               want LOSTFOCUS
    JS BLUR (grid, other)       notSame          JSBlur (notSame)
    GWT BLUR (grid)
    GWT BLUR (panel)
       blurTarget -> grid
       blurTarget -> grid
    JS FocusOut (grid, other)   notSame          JSFocus (notSame)
       lastFocus -> othr


otherControl -> cell                             want GAINEDFOCUS
       lastBlur -> other
     JS Focus (grid, other)     notSame          JSFocus(grid, other)
     GWT Focus(grid)
     GWT Focus(grid)
     JS FocusIn (grid, other)   notSame

otherControl -> edit                             want GAINEDFOCus
       lastBlur -> other   
     JS Focus (grid, other)     notSame          JSFocus(grid, other)
     GWT Focus (grid)
     GWT Fcous (panel)
       lastFocus -> grid
       lastFocus -> grid
     JS FocusIn (grid, other)   notSame
        lastFocus -> editor
     JS Blur (grid, editor)     same             JSBlur(same)
     GWT Blur (grid)
     GWT Blur (panel)
        lastBlur -> grid
        lastBlur -> grid
     JS FocusOut (grid, editor)  same
     GWT Focus (editor)
        lastFocus -> grid
     JS Focus (grid, editor)     same
     JS FocusIn (grid, editor)     same

edit -> cell
   GWT Blur (Editor)
**    endEdit moves focus to focusPanel
**      focusTarget -> focusPanel
**      blurTarget -> grid       
    JS Blur (editor, grid)       same
    JS FocusOut (editor, grid)   same
    JS Focus  (grid, editor)     same
    GWT Focus (grid)
    GWT Focus (panel)
      focusTarget -> grid
      focusTarget -> grid
    GWT FocusIn (grid, editor)   same



cell -> edit
 
   lastFocus -> editor
   JSBlur (grid, editor)       same
   GWT Blur (grid)
   GWT Blur (panel)
       blurTarget -> grid
       blurTarget -> grid
   JS focusOut (grid, editor)  same  
   GWT Focus (editor)
       lastFocus -> grid  
   JS Focus (editor, grid)     same
   JS FocusIn (editor, grid)   same
  


  
edit -> other window                              want LOSTFOCUS
   GWT Blur (editor)  
     endEdit sets focus to panel
      lastFocus -> panel
      lastBlur -> grid
   JS Blur (editor, null)        relatedNull      JSBlur (relatedNull)
   JS FocusOut (editor, null)    relatedNull
   JS Focus (grid, null)         relatedNull
   GWT Focus (grid)
   GWT Focus (panel)
       lastFocus -> grid  
       lastFocus -> grid  
   JS FocusIn (grid, null)       relatedNull   
   
cell -> otherWindow                                want LOSTFOCUS
   JS Blur (grid, null)          relatedNull       JSBlur (relatedNull)
   GWT Blur (grid)
   GWT Blur (panel)
      lastBlur -> grid
      lastBlur -> grid

otherWindow -> cell                                (want GAINED FOCUS)
   JS Focus (grid, null)         relatedNULL       JSFocus (relatedNull)
   GWT Focus (grid)
   GWT Focus (panel)
       lastFocus -> grid  
       lastFocus -> grid  

otherWindow -> edit  if focus previously on other  (want GAINED FOCUS)
    lastFocus -> other
    lastBlur -> other
    JS Focus (grid, other)      notSame            JSFocus (notSame)
    GWT Focus (grid)
    GWT Focus (panel)
       lastFocus -> grid  
       lastFocus -> grid  
   JS FocusIn (grid, other)     notSame
       lastFocus -> editor
   JS Blur (grid, editor)       same
   GWT Blur (grid)
   GWT Blur (panel)
      lastBlur -> grid
      lastBlur -> grid
   JS focusOut (grid, editor)   same
   GWT focus (editor)
       lastFocus -> grid  
   JS Focus (editor, grid)      same
   JS FocusIn (editor, grid)    same

otherWindow -> edit  if focus previously on grid    (want GAiNEDFOCUS)
   JS Focus (grid, null)        relatedNull         JSFocus(relatedNull)
   GWT Focus (grid)
   GWT Focus (panel)
       lastFocus -> grid
       lastFocus -> grid
       lastFocus -> editor
   JS Blur (grid, editor        same
   GWT Blur (grid)
   GWT Blur (panel)
      lastBlur -> grid
      lastBlur -> grid
   JS FocusOut (grid, editor)   same
   GWT Focus (editor)
       lastFocus -> grid
   JS Focus (editor, grid)      same
   JS focusIn (editor, grid)    same



edit  altTab                        TOO MANY EVENTS

  GWT Blur (editor)
     endEdit does setFocus()
     lastFocus -> panel
     lastBlur -> grid
   JS Blur (editor, null)        LOSTFOCUS     ALTINFLIGHT = true  leaving=true  
   GWTBlur(input)
      lastBlur -> grid           
   JS Blur (editor, null)       LOSTFOCuS
   JS FocusOut(editor, 
   JS Focus(grid, null)         GAINEDFOCUS
   GWT Focus(grid)
   GWT Focus(panel)
      lastFocus -> grid
      lastFocus -> grid
   JS FocusIn(grid, null)

cell  altTab
   altInFlight = true
   JS Blur (grid, null)
   GWT Blur(grid)
   GWT Blur(panel)
      lastBlur -> grid
      lastBlur -> grid


















