equal
  deleted
  inserted
  replaced
  
    
    
     1 Focus  | 
     1 Focus  | 
     2 =====  | 
     2 =====  | 
     3   | 
     3   | 
     4 Only one non-container widget can have focus at the time.  | 
     4 Only one widget can have focus at the time.  | 
     5 All parent containers also have focus.  | 
     5 Top widget has link to currently focused widget in 'focuswidget'.  | 
     6   | 
     6   | 
     7 Events emitted on change: focus, unfocus  | 
     7 Events emitted on change: focus, unfocus  | 
     8   | 
     8   | 
     9 mousedown - focus widget under mouse or its parent if canfocus() == false  | 
     9 mousedown - focus widget under mouse  | 
    10   | 
    10   | 
    11 tab - focus next child in container  | 
    11 tab - focus next child in container (depends on canfocus())  | 
    12 shift-tab - previous child  | 
    12 shift-tab - previous child  | 
    13   | 
    13   | 
    14 hide() -> unfocus  | 
    14 hide() -> unfocus  | 
         | 
    15   | 
         | 
    16 tab/shift-tab into / out off containers?  |