Beispiel #1
0
    def test_iconnect(self):
        """
        Test basic glue functionality using CommentItem and CommentLine
        items.
        """
        element_factory = Application.get_service('element_factory')
        diagram = element_factory.create(UML.Diagram)

        comment = diagram.create(CommentItem,
                                 subject=element_factory.create(UML.Comment))
        #assert comment.height == 50
        #assert comment.width == 100

        actor = diagram.create(ActorItem,
                               subject=element_factory.create(UML.Actor))
        actor.matrix.translate(200, 200)
        diagram.canvas.update_matrix(actor)

        line = diagram.create(CommentLineItem)

        view = self.get_diagram_view(diagram)
        assert view, 'View should be available here'

        tool = ConnectHandleTool(view)

        # select handle:
        handle = line.handles()[-1]
        tool._grabbed_item = line
        tool._grabbed_handle = handle

        # Should glue to (238, 248)
        handle.pos = 245, 248
        item = tool.glue(line, handle, (245, 248))
        self.assertTrue(item is not None)
        self.assertEquals((238, 248),
                          view.canvas.get_matrix_i2c(line).transform_point(
                              handle.x, handle.y))

        handle.pos = 245, 248
        tool.connect(line, handle, (245, 248))
        cinfo = diagram.canvas.get_connection(handle)
        self.assertTrue(cinfo.constraint is not None)
        self.assertTrue(cinfo.connected is actor, cinfo.connected)
        self.assertEquals(
            (238, 248),
            view.get_matrix_i2v(line).transform_point(handle.x, handle.y))

        Connector(line, handle).disconnect()
        #tool.disconnect(line, handle)

        cinfo = diagram.canvas.get_connection(handle)

        self.assertTrue(cinfo is None)
Beispiel #2
0
    def test_iconnect(self):
        """
        Test basic glue functionality using CommentItem and CommentLine
        items.
        """
        element_factory = Application.get_service('element_factory')
        diagram = element_factory.create(UML.Diagram)

        comment = diagram.create(CommentItem, subject=element_factory.create(UML.Comment))
        #assert comment.height == 50
        #assert comment.width == 100

        actor = diagram.create(ActorItem, subject=element_factory.create(UML.Actor))
        actor.matrix.translate(200, 200)
        diagram.canvas.update_matrix(actor)

        line = diagram.create(CommentLineItem)

        view = self.get_diagram_view(diagram)
        assert view, 'View should be available here'

        tool = ConnectHandleTool(view)

        # select handle:
        handle = line.handles()[-1]
        tool._grabbed_item = line
        tool._grabbed_handle = handle

        # Should glue to (238, 248)
        handle.pos = 245, 248
        item = tool.glue(line, handle, (245, 248))
        self.assertTrue(item is not None)
        self.assertEquals((238, 248), view.canvas.get_matrix_i2c(line).transform_point(handle.x, handle.y))

        handle.pos = 245, 248
        tool.connect(line, handle, (245, 248))
        cinfo = diagram.canvas.get_connection(handle)
        self.assertTrue(cinfo.constraint is not None)
        self.assertTrue(cinfo.connected is actor, cinfo.connected)
        self.assertEquals((238, 248), view.get_matrix_i2v(line).transform_point(handle.x, handle.y))

        Connector(line, handle).disconnect()
        #tool.disconnect(line, handle)
        
        cinfo = diagram.canvas.get_connection(handle)

        self.assertTrue(cinfo is None)