Esempio n. 1
0
def full_empty_doc():
    inp = """
    group: id="root"
      group: id="references" children=icons()
      group: id="drawing"
        transforms=dict(zoom=("scale", P(1.0, 1.0)),
                        scroll_xy=("translate", P(0, 0)))
      group: id="ui"
        group: id="editor" stroke_color=(0, 0.5, 0)
          mouse_xy=P(0, 0) key_name=None key_char=None key_mods=None
          mode="edit" selected=pdocument.pmap()
          callbacks=pdocument.pmap() gui_selected=None p_lastxy=P(0, 0)
          text_root="drawing"
          .path=path: stroke_color=(0, 0.5, 0)
          .text=text: value="" botleft=Ex("`self.parent.lastxy", calc="reeval")
        group: id="overlay"
          group: id="selection" root="drawing"
          group: id="selection_bbox" stroke_color=(0.5, 0, 0)
                 dash=([5, 5], 0) skip_points=True
                 children=[rectangle4(corners=exc("(`selection).bbox()"),
                                      visible=exc("len(`selection) > 1"))]
          group: id="clipboard" visible=False
          group: id="mouseover" root="drawing"
          group: id="status" root="drawing"
            text: id="foo" value="testing" p_botleft=P(0, 600)
            text: id="echo" value="" p_botleft=P(0, 400)
            text: ref_id="editor" ref_param="mode"
                  p_botleft=P(100, 600)
        group: id="grid" line_width=1 stroke_color=(0, 0, 1)
               skip_points=True
    """
    return tree_lang.parse(inp, locals=globals())
Esempio n. 2
0
def demo_empty_doc():
    inp = """
    group: id="root"
      group: id="references"
        arc: id="point_icon" radius=5 fill_color=(0, 0, 0.5) p_center=P(0, 0)
      group: id="drawing"
        transforms=dict(zoom=("scale", P(1.0, 1.0)),
                        scroll_xy=("translate", P(0, 0)))
        text: value='Press control-r to reload' p_botleft=P(0, 30)
      group: id="ui"
        group: id="editor" stroke_color=(0, 0.5, 0)
          mouse_xy=P(0, 0) key_name=None key_char=None key_mods=None
          mode="edit" selected=pdocument.pmap()
          callbacks=pdocument.pmap() gui_selected=None p_lastxy=P(0, 0)
          text_root="drawing"
          .path=path: stroke_color=(0, 0.5, 0)
          .text=text: value="" botleft=Ex("`self.parent.lastxy", calc="reeval")
        group: id="overlay"
          group: id="selection" root="drawing"
          group: id="selection_bbox" stroke_color=(0.5, 0, 0)
                 dash=([5, 5], 0) skip_points=True
                 children=[rectangle4(corners=exc("(`selection).bbox()"),
                                      visible=exc("len(`selection) > 1"))]
    """
    return tree_lang.parse(inp, locals=globals())
Esempio n. 3
0
def rectangle4(**params):
    """ Expects to receive corners as params """
    # Parsing is very slow for now for some reason.
    params_str = " ".join("%s=%s" % (key, _repr(value))
                          for key, value in params.items())
    inp = """
    path:
      %s
      topright=exr('topright(`self.corners)')
      botleft=exr('botleft(`self.corners)')
      p_botright=exr('`self.parent.corners[1]')
      p_topleft=exr('`self.parent.corners[0]')
      line: start=exr('`self.parent.topleft') end=exr('`self.parent.topright')
      line: start=exr('`self.parent.topright') end=exr('`self.parent.botright')
      line: start=exr('`self.parent.botright') end=exr('`self.parent.botleft')
      line: start=exr('`self.parent.botleft') end=exr('`self.parent.topleft')
    """ % params_str
    out = tree_lang.parse(inp, locals=globals())
    return out
Esempio n. 4
0
def rectangle2(**params):
    params_str = " ".join("%s=%s" % (key, _repr(value))
                          for key, value in params.items())
    inp = """
    group:
      corners=exc('(transformed(`self.topleft), transformed(`self.botright))')
      topright=exc('topright(`self.corners)')
      botleft=exc('botleft(`self.corners)')
      %s
      path: skip_points=True
        line: start=exc('`self.parent.parent.topleft')
              end=exc('`self.parent.parent.topright')
        line: start=exc('`self.parent.parent.topright')
              end=exc('`self.parent.parent.botright')
        line: start=exc('`self.parent.parent.botright')
              end=exc('`self.parent.parent.botleft')
        line: start=exc('`self.parent.parent.botleft')
              end=exc('`self.parent.parent.topleft')
    """ % params_str
    return tree_lang.parse(inp, locals=globals())
Esempio n. 5
0
def icons():
    inp = """
    group:
      arc: id='point_icon' radius=5 fill_color=(0, 0, 0.5) p_center=P(0, 0)
      arc: id='text_icon' radius=10 fill_color=(0, 0, 1) p_center=P(0, 0)
      arc: id='arc_icon' radius=10 fill_color=(0, 0, 0.8) p_center=P(0, 0)
      rectangle: id='rectangle_icon'
                 p_bottomright=P(10, 8) p_topleft=P(-10, -8)
      rectangle: id='square_icon' p_bottomright=P(8, 8) p_topleft=P(-8, -8)
      group: id='line_icon' skip_points=True
        rectangle: stroke_color=(0, 0, 0)
                   p_bottomright=P(10, 10) p_topleft=P(-10, -10)
        line: stroke_color=(0, 0, 0) p_start=(-5, 0) p_end=(5, 0)
      group: id='path_icon' skip_points=True
        rectangle: stroke_color=(0, 0, 0)
                   p_bottomright=P(10, 10) p_topleft=P(-10, -10)
        path: stroke_color=(0, 0, 0)
          line: p_start=P(-8, 2) p_end=P(-4, 6)
          line: p_start=P(-4, 6) p_end=P(4, -6)
          line: p_start=P(4, -6) p_end=P(8, -2)
      group: id='group_icon'
        arc: stroke_color=(0, 0, 0) radius=12 p_center=P(0, 0)
        arc: radius=4 fill_color=(0, 0, 0.8) p_center=P(0, -5)
        arc: radius=4 fill_color=(0, 0.8, 0) p_center=P(5, 4)
        arc: radius=4 fill_color=(0.8, 0, 0) p_center=P(-5, 4)
      group: id='ref_icon'
        path: stroke_color=(0, 0, 0)
          line: child_id='0' p_start=P(-10, 0) p_end=P(10, 0)
        path: stroke_color=(0, 0, 0) fill_color=(0, 0, 0)
          line: p_start=P(10, 0) p_end=P(0, -5)
          line: start=exr('`self.parent.parent.0.end') p_end=P(5, 0)
          line: start=exr('`self.parent.parent.1.end') p_end=P(0, 5)
          line: start=exr('`self.parent.parent.2.end')
                end=exr('`self.parent.parent.0.start')
    """
    return tree_lang.parse(inp, locals=globals())
Esempio n. 6
0
def n(inp):
    return tree_lang.parse(inp, locals=globals())