// // This work is licensed under the Creative Commons Attribution 2.5 License. To // view a copy of this license, visit // http://creativecommons.org/licenses/by/2.5/ // or send a letter to Creative Commons, 543 Howard Street, 5th Floor, San // Francisco, California, 94105, USA. // // All copies and derivatives of this source must contain the license statement // above and the following attribution: // // Author: Kyle Scholz http://kylescholz.com/ // Copyright: 2006 // /** * DOMGraphView: * * Represents a view on a GraphModel. */ var DOMGraphView = function( model, frameLeft, frameTop ) { this.initialize( model, frameLeft, frameTop ); }; DOMGraphView.prototype = { /* * */ addNode: function( node, domElement ) { var domNode = domElement; domNode.style.left = (node['position']['x'] - parseInt(domNode['offsetWidth']/2) + this.frameLeft) + 'px'; domNode.style.top = (node['position']['y'] - parseInt(domNode['offsetHeight']/2) + this.frameTop) + 'px'; domNode.style.zIndex = 10; document.body.appendChild( domNode ); this['nodes'][node.id]=domNode; return domNode; }, /* * */ addEdge: function( nodeA, nodeB, visible ) { if ( !this['edges'][nodeA.id] ) { this['edges'][nodeA.id]={}; } this['edges'][nodeA.id][nodeB.id]=visible; }, /* * */ drawNode: function( node ) { var domNode = this['nodes'][node.id]; domNode.style.left = (node['position']['x'] - parseInt(domNode['offsetWidth']/2) + this.frameLeft) + 'px'; domNode.style.top = (node['position']['y'] - parseInt(domNode['offsetHeight']/2) + this.frameTop) + 'px'; for ( var i=0; i