Beispiel #1
0
    def test_draw(self):
        flow = self.create(FlowItem, UML.ControlFlow)
        context = Context(cairo=instant_cairo_context(),
                          hovered=True,
                          focused=True,
                          selected=True)

        flow.draw(context)
Beispiel #2
0
    def test_compartments(self):
        """
        Test creation of classes and working of compartments
        """
        element_factory = self.element_factory
        diagram = element_factory.create(UML.Diagram)
        klass = diagram.create(ClassItem,
                               subject=element_factory.create(UML.Class))

        assert 2 == len(compartments(klass))
        assert 0 == len(compartments(klass)[0].children)
        assert 0 == len(compartments(klass)[1].children)
        # assert (10, 10) == klass._compartments[0].get_size()

        diagram.canvas.update()

        # assert (10, 10) == klass._compartments[0].get_size()
        assert 54 == float(klass.min_height)  # min_height
        assert 100 == float(klass.min_width)

        attr = element_factory.create(UML.Property)
        attr.name = 4 * "x"  # about 44 pixels
        klass.subject.ownedAttribute = attr

        diagram.canvas.update()
        assert 1 == len(compartments(klass)[0])
        assert compartments(klass)[0].size(
            instant_cairo_context()) > (44.0, 20.0)

        oper = element_factory.create(UML.Operation)
        oper.name = 4 * "x"  # about 44 pixels
        klass.subject.ownedOperation = oper

        oper = element_factory.create(UML.Operation)
        oper.name = 6 * "x"  # about 66 pixels
        klass.subject.ownedOperation = oper

        diagram.canvas.update()
        assert 2 == len(compartments(klass)[1])
        assert compartments(klass)[1].size(
            instant_cairo_context()) > (63.0, 34.0)
Beispiel #3
0
def test_draw_on_canvas(diagram):
    exec_spec = diagram.create(ExecutionSpecificationItem)
    cr = instant_cairo_context()
    exec_spec.draw(
        DrawContext(
            cairo=cr,
            style=FALLBACK_STYLE,
            selected=False,
            focused=False,
            hovered=False,
            dropzone=False,
        ))
Beispiel #4
0
    def test_draw(self):
        flow = self.create(FlowItem, UML.ControlFlow)
        context = DrawContext(
            cairo=instant_cairo_context(),
            style=FALLBACK_STYLE,
            hovered=True,
            focused=True,
            selected=True,
            dropzone=False,
        )

        flow.draw(context)
Beispiel #5
0
 def test_draw(self, case):
     flow = case.create(FlowItem, UML.ControlFlow)
     context = DrawContext(
         cairo=instant_cairo_context(),
         style=FALLBACK_STYLE,
         hovered=True,
         focused=True,
         selected=True,
         dropzone=False,
     )
     case.diagram.update_now((flow,))
     flow.draw(context)
Beispiel #6
0
    def update_bounding_box(self, items):
        cr = (
            cairo.Context(self._back_buffer)
            if self._back_buffer
            else instant_cairo_context()
        )

        cr.save()
        cr.rectangle(0, 0, 0, 0)
        cr.clip()
        try:
            super().update_bounding_box(cr, items)
        finally:
            cr.restore()
Beispiel #7
0
    def __init__(
        self,
        text="",
        font=None,
        text_align=TextAlign.CENTER,
        default_size=(0, 0),
    ):
        self.layout = PangoCairo.create_layout(instant_cairo_context())
        self.underline = False
        self.font_id = None
        self.text = ""
        self.width = -1
        self.default_size = default_size

        if font:
            self.set_font(font)
        if text:
            self.set_text(text)
        self.set_alignment(text_align)
Beispiel #8
0
def context():
    return SizeContext(cairo=instant_cairo_context(), style={})
Beispiel #9
0
def test_draw_on_canvas():
    canvas = Canvas()
    exec_spec = ExecutionSpecificationItem()
    canvas.add(exec_spec)
    cr = instant_cairo_context()
    exec_spec.draw(Context(cairo=cr))
Beispiel #10
0
def cr():
    return instant_cairo_context()