Jeff Avallone
5917d2b035
Updating getBBox and anchor code to improve performance
...
This change will reduce the number of calls to this.container.getBBox
when calculating the bounding box of a node
2015-04-16 17:13:12 -04:00
Jeff Avallone
7328825204
Changing when subexpression numbers are generated
...
Generating subexp numbers during setup was leading to nested expressions
being numbered in reverse order.
Fixes #7
2015-03-13 20:23:04 -04:00
Jeff Avallone
000809752e
Removing some unnecessary extend calls
2014-12-23 23:27:09 -05:00
Jeff Avallone
9bf5328da7
Adding specs for Subexp nodes
2014-12-21 12:05:55 -05:00
Jeff Avallone
80ec29cd6b
Refactoring parser code to remove global state
...
This allows canceling an in-progress render and moves some of the
rendering code to a more appropriate location.
2014-12-18 11:13:15 -05:00
Jeff Avallone
17a95392a8
Refactoring property definition code
2014-12-17 16:04:55 -05:00
Jeff Avallone
f93388dec0
Converting getAnchor into a property
2014-12-17 15:24:27 -05:00
Jeff Avallone
c5c98ad62f
Simplifying node proxy code
2014-12-17 15:12:04 -05:00
Jeff Avallone
e362a54551
Converting methods into properties where possible/reasonable
2014-12-17 14:44:48 -05:00
Jeff Avallone
57ccd4b0c5
Refactoring to enhance the SyntaxNode extending
2014-12-17 11:53:04 -05:00
Jeff Avallone
c2d8473425
Adding node-type-specific anchor code
2014-12-14 19:13:08 -05:00
Jeff Avallone
407167a4ae
Folding labeled box positioning into rendering
2014-12-13 13:26:43 -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
f81ba6535f
Adding transform method to Base node
2014-12-10 20:28:02 -05:00
Jeff Avallone
dbcdd583ed
Removing need for separate setContainer calls
2014-12-10 19:31:07 -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
ff7525a6e4
De-duplicating code to render subexp and charset containers
2014-12-10 18:27:07 -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
0b85f552c3
Setting class names of nodes automatically
2014-12-10 16:57:42 -05:00
Jeff Avallone
60d7cab504
Adding code to indicate subexpression numbers
2014-12-10 06:18:55 -05:00
Jeff Avallone
e26d91bae5
Fixing label positioning in subexp nodes
2014-12-09 20:22:44 -05:00
Jeff Avallone
cd11b7e6e5
Centralizing some of the layout code
2014-12-09 19:02:31 -05:00
Jeff Avallone
ae064b2b8e
Adding rendering for Subexp
2014-12-07 21:16:23 -05:00
Jeff Avallone
7d84669536
First cut of rendering match elements
...
This is currently broken, but a starting point for further work.
2014-12-02 21:02:48 -05:00