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)
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)
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, ))
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)
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)
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()
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)
def context(): return SizeContext(cairo=instant_cairo_context(), style={})
def test_draw_on_canvas(): canvas = Canvas() exec_spec = ExecutionSpecificationItem() canvas.add(exec_spec) cr = instant_cairo_context() exec_spec.draw(Context(cairo=cr))
def cr(): return instant_cairo_context()