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())
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())
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
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())
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())
def n(inp): return tree_lang.parse(inp, locals=globals())