Exemplo n.º 1
0
    def setdelegate(self, delegate):
        """Set the delegate for this instance.

        A delegate is an instance of a Delegator class and each
        delegate points to the next delegator in the stack.  This
        allows multiple delegators to be chained together for a
        widget.  The bottom delegate for a colorizer is a Text
        widget.

        If there is a delegate, also start the colorizing process.
        """
         
        if self.delegate is not None:
            self.unbind("<<toggle-auto-coloring>>")
        Delegator.setdelegate(self, delegate)
        
        if delegate is not None:
             
            self.config_colors()
            
            
            self.bind("<<toggle-auto-coloring>>", self.toggle_colorize_event)
            
            self.notify_range("1.0", "end")
            
        else:
            # No delegate - stop any colorizing.
            self.stop_colorizing = True
            self.allow_colorizing = False
Exemplo n.º 2
0
    def test_mydel(self):
        # Test a simple use scenario.

        # Initialize an int delegator.
        mydel = Delegator(int)
        self.assertIs(mydel.delegate, int)
        self.assertEqual(mydel._Delegator__cache, set())
        # Trying to access a non-attribute of int fails.
        self.assertRaises(AttributeError, mydel.__getattr__, 'xyz')

        # Add real int attribute 'bit_length' by accessing it.
        bl = mydel.bit_length
        self.assertIs(bl, int.bit_length)
        self.assertIs(mydel.__dict__['bit_length'], int.bit_length)
        self.assertEqual(mydel._Delegator__cache, {'bit_length'})

        # Add attribute 'numerator'.
        mydel.numerator
        self.assertEqual(mydel._Delegator__cache, {'bit_length', 'numerator'})

        # Delete 'numerator'.
        del mydel.numerator
        self.assertNotIn('numerator', mydel.__dict__)
        # The current implementation leaves  it in the name cache.
        # self.assertIn('numerator', mydel._Delegator__cache)
        # However, this is not required and not part of the specification

        # Change delegate to float, first resetting the attributes.
        mydel.setdelegate(float)  # calls resetcache
        self.assertNotIn('bit_length', mydel.__dict__)
        self.assertEqual(mydel._Delegator__cache, set())
        self.assertIs(mydel.delegate, float)
Exemplo n.º 3
0
    def test_mydel(self):
        # Test a simple use scenario.

        # Initialize an int delegator.
        mydel = Delegator(int)
        self.assertIs(mydel.delegate, int)
        self.assertEqual(mydel._Delegator__cache, set())
        # Trying to access a non-attribute of int fails.
        self.assertRaises(AttributeError, mydel.__getattr__, 'xyz')

        # Add real int attribute 'bit_length' by accessing it.
        bl = mydel.bit_length
        self.assertIs(bl, int.bit_length)
        self.assertIs(mydel.__dict__['bit_length'], int.bit_length)
        self.assertEqual(mydel._Delegator__cache, {'bit_length'})

        # Add attribute 'numerator'.
        mydel.numerator
        self.assertEqual(mydel._Delegator__cache, {'bit_length', 'numerator'})

        # Delete 'numerator'.
        del mydel.numerator
        self.assertNotIn('numerator', mydel.__dict__)
        # The current implementation leaves  it in the name cache.
        # self.assertIn('numerator', mydel._Delegator__cache)
        # However, this is not required and not part of the specification

        # Change delegate to float, first resetting the attributes.
        mydel.setdelegate(float)  # calls resetcache
        self.assertNotIn('bit_length', mydel.__dict__)
        self.assertEqual(mydel._Delegator__cache, set())
        self.assertIs(mydel.delegate, float)
Exemplo n.º 4
0
 def __init__(self, changed_callback):
     """
     changed_callback - Callable, will be called after insert
                        or delete operations with the current
                        end line number.
     """
     Delegator.__init__(self)
     self.changed_callback = changed_callback
Exemplo n.º 5
0
 def __init__(self, callback):
     """
     callback - Callable, will be called when an insert, delete or replace
                action on the text widget may require updating the shell
                sidebar.
     """
     Delegator.__init__(self)
     self.callback = callback
Exemplo n.º 6
0
 def setdelegate(self, delegate):
     if self.delegate is not None:
         self.unbind("<<undo>>")
         self.unbind("<<redo>>")
         self.unbind("<<dump-undo-state>>")
     Delegator.setdelegate(self, delegate)
     if delegate is not None:
         self.bind("<<undo>>", self.undo_event)
         self.bind("<<redo>>", self.redo_event)
         self.bind("<<dump-undo-state>>", self.dump_event)
Exemplo n.º 7
0
 def setdelegate(self, delegate):
     if self.delegate is not None:
         self.unbind("<<undo>>")
         self.unbind("<<redo>>")
         self.unbind("<<dump-undo-state>>")
     Delegator.setdelegate(self, delegate)
     if delegate is not None:
         self.bind("<<undo>>", self.undo_event)
         self.bind("<<redo>>", self.redo_event)
         self.bind("<<dump-undo-state>>", self.dump_event)
Exemplo n.º 8
0
 def setdelegate(self, delegate):
     if self.delegate is not None:
         self.unbind('<<toggle-auto-coloring>>')
     Delegator.setdelegate(self, delegate)
     if delegate is not None:
         self.config_colors()
         self.bind('<<toggle-auto-coloring>>', self.toggle_colorize_event)
         self.notify_range('1.0', 'end')
     else:
         self.stop_colorizing = True
         self.allow_colorizing = False
Exemplo n.º 9
0
 def setdelegate(self, delegate):
     if self.delegate is not None:
         self.unbind("<<toggle-auto-coloring>>")
     Delegator.setdelegate(self, delegate)
     if delegate is not None:
         self.config_colors()
         self.bind("<<toggle-auto-coloring>>", self.toggle_colorize_event)
         self.notify_range("1.0", "end")
     else:
         # No delegate - stop any colorizing
         self.stop_colorizing = True
         self.allow_colorizing = False
Exemplo n.º 10
0
 def setdelegate(self, delegate):
     if self.delegate is not None:
         self.unbind("<<toggle-auto-coloring>>")
     Delegator.setdelegate(self, delegate)
     if delegate is not None:
         self.config_colors()
         self.bind("<<toggle-auto-coloring>>", self.toggle_colorize_event)
         self.notify_range("1.0", "end")
     else:
         # No delegate - stop any colorizing
         self.stop_colorizing = True
         self.allow_colorizing = False
Exemplo n.º 11
0
 def __init__(self, text):
     self.text = text
     self.redir = WidgetRedirector(text)
     self.top = self.bottom = Delegator(text)
     self.bottom.insert = self.redir.register('insert', self.insert)
     self.bottom.delete = self.redir.register('delete', self.delete)
     self.filters = []
Exemplo n.º 12
0
 def test_mydel(self):
     mydel = Delegator(int)
     self.assertIs(mydel.delegate, int)
     self.assertEqual(mydel._Delegator__cache, set())
     self.assertRaises(AttributeError, mydel.__getattr__, 'xyz')
     bl = mydel.bit_length
     self.assertIs(bl, int.bit_length)
     self.assertIs(mydel.__dict__['bit_length'], int.bit_length)
     self.assertEqual(mydel._Delegator__cache, {'bit_length'})
     mydel.numerator
     self.assertEqual(mydel._Delegator__cache, {'bit_length', 'numerator'})
     del mydel.numerator
     self.assertNotIn('numerator', mydel.__dict__)
     mydel.setdelegate(float)
     self.assertNotIn('bit_length', mydel.__dict__)
     self.assertEqual(mydel._Delegator__cache, set())
     self.assertIs(mydel.delegate, float)
Exemplo n.º 13
0
 def __init__(self, text):
     # XXX would be nice to inherit from Delegator
     self.text = text
     self.redir = WidgetRedirector(text)
     self.top = self.bottom = Delegator(text)
     self.bottom.insert = self.redir.register("insert", self.insert)
     self.bottom.delete = self.redir.register("delete", self.delete)
     self.filters = []
Exemplo n.º 14
0
    def setdelegate(self, delegate):
        """Set the delegate for this instance.

        A delegate is an instance of a Delegator class and each
        delegate points to the next delegator in the stack.  This
        allows multiple delegators to be chained together for a
        widget.  The bottom delegate for a colorizer is a Text
        widget.

        If there is a delegate, also start the colorizing process.
        """
        if self.delegate is not None:
            self.unbind("<<toggle-auto-coloring>>")
        Delegator.setdelegate(self, delegate)
        if delegate is not None:
            self.config_colors()
            self.bind("<<toggle-auto-coloring>>", self.toggle_colorize_event)
            self.notify_range("1.0", "end")
        else:
            # No delegate - stop any colorizing.
            self.stop_colorizing = True
            self.allow_colorizing = False
Exemplo n.º 15
0
 def __init__(self):
     Delegator.__init__(self)
     self.reset_undo()
Exemplo n.º 16
0
 def __init__(self, line_number_instance):
     Delegator.__init__(self)
     self.ext = line_number_instance
Exemplo n.º 17
0
 def __init__(self):
     Delegator.__init__(self)
     self.reset_undo()
Exemplo n.º 18
0
 def __init__(self, callback):
     Delegator.__init__(self)
     self.callback = callback
     self.paste = False
Exemplo n.º 19
0
 def __init__(self):
     Delegator.__init__(self)
     self.prog = prog
     self.idprog = idprog
     self.LoadTagDefs()
Exemplo n.º 20
0
 def __init__(self):
     Delegator.__init__(self)
     self.prog = prog
     self.idprog = idprog
     self.LoadTagDefs()
Exemplo n.º 21
0
 def __init__(self,lang=None):
     Delegator.__init__(self)
     self.init_state()
     self.prog = prog(lang)
     self.idprog = idprog
     self.LoadTagDefs()
Exemplo n.º 22
0
 def __init__(self, name):
     self.name = name
     Delegator.__init__(self, None)
Exemplo n.º 23
0
 def __init__(self, name):
     self.name = name
     Delegator.__init__(self, None)
Exemplo n.º 24
0
 def __init__(self, line_number_instance):
     Delegator.__init__(self)
     self.ext = line_number_instance
Exemplo n.º 25
0
 def __init__(self, text):
     self.text = text
     self.text_frame = self.text.master
     self.per = Percolator(text)
     self.undo = Delegator()
     self.per.insertfilter(self.undo)
Exemplo n.º 26
0
 def __init__(self, changed_callback):
     Delegator.__init__(self)
     self.changed_callback = changed_callback