Exemplo n.º 1
0
    def test_braking_big_diamond(self):
        """
        Test diamond shaped dependencies a -> b -> c -> d, a -> b' -> c' -> d
        """
        a = A()
        watcher = EventWatcher(a, self._handler)
        watcher.watch('one.two.one.two')
        #watcher.watch('one.one.one.one')
        watcher.register_handlers()

        a.one = A()
        a.one.two = A()
        a.one.two = A()
        a.one.two[0].one = A()
        a.one.two[1].one = A()
        a.one.two[0].one.two = A()
        a.one.two[1].one.two = a.one.two[0].one.two[0]

        self.assertEquals(7, len(self.events))
        self.assertEquals(6, len(self.dispatcher._handlers))

        del a.one.two[0].one
        #a.unlink()
        watcher.unregister_handlers()
        watcher.unregister_handlers()
        self.assertEquals(0, len(self.dispatcher._handlers))
Exemplo n.º 2
0
 def __init__(self, subject):
     assert subject is None or isinstance(subject, UML.NamedElement), "%s" % type(
         subject
     )
     self.subject = subject
     self.watcher = EventWatcher(subject)
     self.size_group = Gtk.SizeGroup.new(Gtk.SizeGroupMode.HORIZONTAL)
Exemplo n.º 3
0
    def __init__(self, id=None):
        UML.Presentation.__init__(self)
        EditableTextSupport.__init__(self)
        StereotypeSupport.__init__(self)

        self._id = id

        # properties, which should be saved in file
        self._persistent_props = set()

        def update(event):
            self.request_update()
        self.watcher = EventWatcher(self, default_handler=update)

        self.watch('subject') \
            .watch('subject.appliedStereotype.classifier.name', self.on_element_applied_stereotype)
Exemplo n.º 4
0
    def test_cyclic(self):
        """
        Test cyclic dependency a -> b -> c -> a.
        """
        a = A()
        watcher = EventWatcher(a, self._handler)
        watcher.watch('one.two.one.two')
        #watcher.watch('one.one.one.one')
        watcher.register_handlers()

        a.one = A()
        a.one.two = A()
        a.one.two = A()
        a.one.two[0].one = a

        self.assertEquals(4, len(self.events))

        #a.one.two[0].one.two = A()
        #a.one.two[0].one.two = A()

        a.unlink()
        self.assertEquals(1, len(self.dispatcher._handlers))
Exemplo n.º 5
0
    def test_diamond(self):
        """
        Test diamond shaped dependencies a -> b -> c, a -> b' -> c
        """
        a = A()
        watcher = EventWatcher(a, self._handler)
        watcher.watch('one.two.one.two')
        #watcher.watch('one.one.one.one')
        watcher.register_handlers()

        a.one = A()
        a.one.two = A()
        a.one.two = A()
        a.one.two[0].one = A()
        a.one.two[1].one = a.one.two[0].one
        a.one.two[0].one.two = A()

        self.assertEquals(6, len(self.events))

        a.unlink()
        watcher.unregister_handlers()
        watcher.unregister_handlers()
Exemplo n.º 6
0
 def __init__(self, subject):
     self.subject = subject
     self.watcher = EventWatcher(subject)
Exemplo n.º 7
0
 def __init__(self, item):
     super(DependencyPropertyPage, self).__init__()
     self.item = item
     self.size_group = Gtk.SizeGroup(Gtk.SizeGroupMode.HORIZONTAL)
     self.watcher = EventWatcher(self.item)
Exemplo n.º 8
0
 def __init__(self, item):
     super(OperationsPage, self).__init__()
     self.item = item
     self.watcher = EventWatcher(item.subject)
Exemplo n.º 9
0
 def __init__(self, item):
     super(AttributesPage, self).__init__()
     self.item = item
     self.watcher = EventWatcher(item.subject)
Exemplo n.º 10
0
 def __init__(self, item):
     super(DependencyPropertyPage, self).__init__()
     self.item = item
     self.size_group = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL)
     self.watcher = EventWatcher(self.item)
Exemplo n.º 11
0
 def __init__(self, subject):
     assert subject is None or isinstance(
         subject, uml2.NamedElement), '%s' % type(subject)
     self.subject = subject
     self.watcher = EventWatcher(subject)
     self.size_group = gtk.SizeGroup(gtk.SIZE_GROUP_HORIZONTAL)