Commit Graph

30 Commits

Author SHA1 Message Date
Jeff Avallone
57ccd4b0c5 Refactoring to enhance the SyntaxNode extending 2014-12-17 11:53:04 -05:00
Jeff Avallone
84d3fe797d Removing unnecessary binds 2014-12-15 22:00:24 -05:00
Jeff Avallone
d22ab35b68 Converting uses of Snap.format to use template literals 2014-12-15 21:51:17 -05:00
Jeff Avallone
95af49e385 Adding horizontal connecting lines 2014-12-14 21:37:56 -05:00
Jeff Avallone
c2d8473425 Adding node-type-specific anchor code 2014-12-14 19:13:08 -05:00
Jeff Avallone
9ba2b8579e Updating major positioning code to use anchor position 2014-12-14 19:13:03 -05:00
Jeff Avallone
97b816ffc9 Extracting a method to ease readability 2014-12-14 17:03:40 -05:00
Jeff Avallone
cb9785de91 Folding _position methods into render method promises 2014-12-13 12:55:03 -05:00
Jeff Avallone
773fd5c1a6 Refactoring how _position is called to be promise-based
The render method now returns a promise. Once this promise is resolved,
the _position method for that node will be called (if applicable). This
promise must be resolved only after all subordinate nodes have completed
their render phase (the promise returned by subordinate node's render
method has resolved). Node that do not have subordinates can return the
result of calling terminalRender, and proxied renders only need to
return the result of calling proxy.

With this change, it is no longer necessary to explicitly position
subordinate nodes. They will already be positioned once their render
promise is resolved.
2014-12-13 09:09:58 -05:00
Jeff Avallone
dbcdd583ed Removing need for separate setContainer calls 2014-12-10 19:31:07 -05:00
Jeff Avallone
521ab74723 Cleanup of path code 2014-12-10 19:09:31 -05:00
Jeff Avallone
f0c25dfc41 Simplifying code related to passing rendering through to nested node 2014-12-10 19:01:57 -05:00
Jeff Avallone
fc7032241f Short-circuiting the render of nodes.
This will reduce the depth of nesting of elements (and hopefully make
final positioning easier)
2014-12-10 17:16:21 -05:00
Jeff Avallone
b13ee3add2 Removing some connecting lines
This is in preparation for properly aligning nodes and simplifying the
connecting lines to reduce the number of path elements required.
2014-12-10 17:13:23 -05:00
Jeff Avallone
6ab5b2993b Removing references to "self" 2014-12-10 17:01:21 -05:00
Jeff Avallone
0b85f552c3 Setting class names of nodes automatically 2014-12-10 16:57:42 -05:00
Jeff Avallone
4a8103f404 Still working on the connecting lines 2014-12-09 21:32:13 -05:00
Jeff Avallone
629faf7086 Adjusting connecting line positioning 2014-12-09 21:10:42 -05:00
Jeff Avallone
e6e8a1ed54 Tweaking connector lines 2014-12-09 21:04:14 -05:00
Jeff Avallone
7082a670d6 Extracting code to layout elements vertically 2014-12-09 20:08:34 -05:00
Jeff Avallone
cd11b7e6e5 Centralizing some of the layout code 2014-12-09 19:02:31 -05:00
Jeff Avallone
e1c299453c Reducing the number of path elements that are generated 2014-12-03 20:35:26 -05:00
Jeff Avallone
a88c4821b7 Refactoring to remove the container argument to render methods
A reference was being kept generally, so it was more useful to keep it
connected to the node
2014-12-03 18:59:59 -05:00
Jeff Avallone
6a9d498bf6 Refactoring to not render connectors for a Regexp with one Match 2014-12-03 18:46:48 -05:00
Jeff Avallone
b9dd80a142 Adding type values to node extensions
These will be useful later
2014-12-02 20:10:56 -05:00
Jeff Avallone
1ffcd785f8 Changing names of grammar elements.
Starting with an "_" will prevent collisions with extensions
2014-12-02 19:59:10 -05:00
Jeff Avallone
5afb4fa717 First pass for getting flow lines in place
This could use some refactoring
2014-11-30 21:20:03 -05:00
Jeff Avallone
f8cded8eac Adding first cut of code to render alternations
Still need to implement lines to the individual parts
2014-11-30 17:54:12 -05:00
Jeff Avallone
30d88810d0 Creating Base module and extracting placeholder rendering 2014-11-30 14:10:27 -05:00
Jeff Avallone
facb99e8bc Beginning to add some functionality to the parser 2014-11-26 18:24:40 -05:00