diff -r 7722ec70c01b -r f5297dde9053 client/js/main.js --- a/client/js/main.js Fri Jul 27 12:22:10 2012 +0200 +++ b/client/js/main.js Fri Jul 27 19:15:32 2012 +0200 @@ -19,8 +19,13 @@ /* Declaring the Renkan Namespace Rkns */ Rkns = { - _FROM_GRAPHICS: 0, - _FROM_DATA: 1 + _NODE_RADIUS: 20, + _NODE_FONT_SIZE: 14, + _ARROW_LENGTH: 20, + _ARROW_WIDTH: 15, + _RENDER: 1, + _SAVE: 2, + _RENDER_AND_SAVE: 3 } Rkns.$ = jQuery; @@ -61,6 +66,8 @@ } } +Rkns.Serializers._Base.prototype.save = function() {} + Rkns.Renderers = {}; Rkns.Renderers._Base = function(_project) { @@ -80,14 +87,52 @@ this.users = new Rkns.Model.List(); this.nodes = new Rkns.Model.List(); this.edges = new Rkns.Model.List(); + if (typeof this._opts.user === "object") { + this.current_user = this.addUser(this._opts.user) + } this.serializer = new Rkns.Serializers[_opts.serializer](this); this.renderer = new Rkns.Renderers[_opts.renderer](this); var _this = this; this.serializer.onLoad(function() { + if (typeof _this.current_user === "undefined") { + _this.current_user = _proj.users[0]; + } _this.renderer.draw(); }); } +Rkns.Project.prototype.addNode = function(_props, _render_save) { + var _node = new Rkns.Model.Node(this, _props); + this.nodes.push(_node); + if (typeof _render_save !== "undefined" && (_render_save&Rkns._RENDER)) { + var _controller = this.renderer.addElement("Node", _node); + _controller.redraw(); + } + if (typeof _render_save !== "undefined" && (_render_save&Rkns._SAVE)) { + this.serializer.save(); + } + return _node; +} + +Rkns.Project.prototype.addEdge = function(_props, _render_save) { + var _edge = new Rkns.Model.Edge(this, _props); + this.edges.push(_edge); + if (typeof _render_save !== "undefined" && (_render_save&Rkns._RENDER)) { + var _controller = this.renderer.addElement("Edge", _edge); + _controller.redraw(); + } + if (typeof _render_save !== "undefined" && (_render_save&Rkns._SAVE)) { + this.serializer.save(); + } + return _edge; +} + +Rkns.Project.prototype.addUser = function(_props, _render_save) { + var _user = new Rkns.Model.User(this, _props); + this.users.push(_user); + return _user; +} + /* Utility functions */ Rkns.Utils = {