--- a/client/js/main.js Mon Jul 30 18:44:59 2012 +0200
+++ b/client/js/main.js Tue Jul 31 18:00:13 2012 +0200
@@ -69,21 +69,10 @@
Rkns.Serializers._Base.prototype.save = function() {}
-Rkns.Renderers = {};
-
-Rkns.Renderers._Base = function(_project) {
- if (typeof _project !== "undefined") {
- this._project = _project;
- }
-}
-
Rkns.Project = function(_opts) {
if (typeof _opts.serializer == "undefined") {
_opts.serializer = "BasicJson";
}
- if (typeof _opts.renderer == "undefined") {
- _opts.renderer = "Paper";
- }
if (typeof _opts.language == "undefined" || typeof Rkns.i18n[_opts.language] == "undefined") {
_opts.language = "en";
}
@@ -96,7 +85,7 @@
this.current_user = this.addUser(this._opts.user)
}
this.serializer = new Rkns.Serializers[_opts.serializer](this);
- this.renderer = new Rkns.Renderers[_opts.renderer](this);
+ this.renderer = new Rkns.Renderer.Scene(this);
var _this = this;
this.serializer.onLoad(function() {
if (typeof _this.current_user === "undefined") {
@@ -143,7 +132,6 @@
_element[_k] = _v;
});
if (typeof _render_save !== "undefined" && (_render_save&Rkns._RENDER)) {
- console.log("Shall redraw");
if (typeof _element.__controller !== "undefined") {
_element.__controller.redraw();
} else {
@@ -155,6 +143,31 @@
}
}
+Rkns.Project.prototype.removeNode = function(_node, _render_save) {
+ this.nodes.removeId(_node.id);
+ if (typeof _node.__controller !== "undefined") {
+ console.log("Controllers", this.renderer.controllers.length);
+ this.renderer.removeController(_node.__controller);
+ console.log("Controllers", this.renderer.controllers.length);
+ }
+ console.log(this.edges.length);
+ var _this = this;
+ this.edges = this.edges.filter(function(_edge) {
+ var _keep = _edge.from !== _node && _edge.to !== _node;
+ if (!_keep && typeof _edge.__controller !== "undefined") {
+ _this.renderer.removeController(_edge.__controller);
+ }
+ return _keep;
+ });
+ if (typeof _render_save !== "undefined" && (_render_save&Rkns._RENDER)) {
+ this.renderer.redraw();
+ }
+ if (typeof _render_save !== "undefined" && (_render_save&Rkns._SAVE)) {
+ this.serializer.save();
+ }
+ return _node;
+}
+
/* Utility functions */
Rkns.Utils = {