abstract parent for all modes. No to be used for inheritation because the more specialized
  edit mode has all the methods for editing - just override what you need to change
        
            | Methods |  | 
        
        |  | 
            |  | __init__ | 
        
        | 
__init__ ( self )
 | 
            |  | clean_key_queue | 
        
        | 
clean_key_queue ( self )
 cleans status of all special keys;
    needed because especially after C-x C-f the C-release is grabed by dialog
    and never makes it to paper, therefor paper calls this after a file was read | 
            |  | cleanup | 
        
        | 
cleanup ( self )
 called when switching to another mode | 
            |  | enter_object | 
        
        | 
enter_object (
        self,
        object,
        event,
        )
 | 
            |  | get_name | 
        
        | 
get_name ( self )
 | 
            |  | get_submode | 
        
        | 
get_submode ( self,  i )
 | 
            |  | key_pressed | 
        
        | 
key_pressed ( self,  event )
 | 
            |  | key_released | 
        
        | 
key_released ( self,  event )
 | 
            |  | leave_object | 
        
        | 
leave_object ( self,  event )
 | 
            |  | mouse_click | 
        
        | 
mouse_click ( self,  event )
 | 
            |  | mouse_down | 
        
        | 
mouse_down (
        self,
        event,
        modifiers=[],
        )
 | 
            |  | mouse_down2 | 
        
        | 
mouse_down2 (
        self,
        event,
        modifiers=[],
        )
 | 
            |  | mouse_down3 | 
        
        | 
mouse_down3 (
        self,
        event,
        modifiers=[],
        )
 | 
            |  | mouse_drag | 
        
        | 
mouse_drag ( self,  event )
 | 
            |  | mouse_move | 
        
        | 
mouse_move ( self,  event )
 | 
            |  | mouse_up | 
        
        | 
mouse_up ( self,  event )
 | 
            |  | on_paper_switch | 
        
        | 
on_paper_switch (
        self,
        old_paper,
        new_paper,
        )
called when paper is switched | 
            |  | on_submode_switch | 
        
        | 
on_submode_switch (
        self,
        submode_index,
        name='',
        )
called when submode is switched | 
            |  | register_key_sequence | 
        
        | 
register_key_sequence (
        self,
        sequence,
        function,
        use_warning=1,
        )
registers a function with its coresponding key sequence
    when use_warning is true (default) than issues warning about overriden
    or shadowed bindings. In most cases its good idea to let it check the bindings. | 
            |  | register_key_sequence_ending_with_number_range | 
        
        | 
register_key_sequence_ending_with_number_range (
        self,
        sequence_base,
        function,
        numbers=[],
        )
 | 
            |  | set_submode | 
        
        | 
set_submode ( self,  name )
 | 
            |  | startup | 
        
        | 
startup ( self )
 called when switching to this mode | 
            |  | unregister_all_sequences | 
        
        | 
unregister_all_sequences ( self )
 |