client/js/paper-renderer.js
changeset 35 10e0c23c849e
parent 34 08a366a35143
child 36 d249d36ecc37
--- a/client/js/paper-renderer.js	Mon Sep 03 17:21:35 2012 +0200
+++ b/client/js/paper-renderer.js	Mon Sep 03 18:51:32 2012 +0200
@@ -5,7 +5,7 @@
     _NODE_RADIUS: 15,
     _NODE_BUTTON_INNER: 16,
     _NODE_BUTTON_OUTER: 50,
-    _EDGE_BUTTON_INNER: 3,
+    _EDGE_BUTTON_INNER: 1,
     _EDGE_BUTTON_OUTER: 40,
     _NODE_FONT_SIZE: 10,
     _EDGE_FONT_SIZE: 9,
@@ -251,13 +251,13 @@
 }
 
 Rkns.Renderer.Node.prototype.unselect = function(_newTarget) {
-    if (!_newTarget || (_newTarget !== this.edit_button && _newTarget !== this.remove_button && _newTarget !== this.link_button)) {
+    if (!_newTarget || _newTarget.node_representation !== this) {
         this.edit_button.hide();
         this.remove_button.hide();
         this.link_button.hide();
+        this.circle.strokeWidth = 1;
+        Rkns.$('.Rk-Bin-Item').removeClass("selected");
     }
-    this.circle.strokeWidth = 1;
-    Rkns.$('.Rk-Bin-Item').removeClass("selected");
 }
 
 Rkns.Renderer.Node.prototype.highlight = function() {
@@ -365,11 +365,11 @@
 }
 
 Rkns.Renderer.Edge.prototype.unselect = function(_newTarget) {
-    if (!_newTarget || (_newTarget !== this.edit_button && _newTarget !== this.remove_button)) {
+    if (!_newTarget || _newTarget.edge_representation !== this) {
         this.edit_button.hide();
         this.remove_button.hide();
+        this.line.strokeWidth = 1;
     }
-    this.line.strokeWidth = 1;
 }
 
 Rkns.Renderer.Edge.prototype.mouseup = function(_event) {
@@ -607,9 +607,9 @@
 Rkns.Renderer.NodeEditButton = Rkns.Utils.inherit(Rkns.Renderer._BaseRepresentation);
 
 Rkns.Renderer.NodeEditButton.prototype._init = function() {
-    this.renderer.node_layer.activate();
+    this.renderer.overlay_layer.activate();
     this.type = "Node-edit-button";
-    this.sector = Rkns.Renderer.Utils.sector(this, Rkns.Renderer._NODE_BUTTON_INNER, Rkns.Renderer._NODE_BUTTON_OUTER, - 90, 30, 2, 'img/edit.png');
+    this.sector = Rkns.Renderer.Utils.sector(this, Rkns.Renderer._NODE_BUTTON_INNER, Rkns.Renderer._NODE_BUTTON_OUTER, - 90, 30, 1, 'img/edit.png');
 }
 
 Rkns.Renderer.NodeEditButton.prototype.moveTo = function(_pos) {
@@ -628,11 +628,11 @@
     this.sector.select();
 }
 
-Rkns.Renderer.NodeEditButton.prototype.unselect = function() {
+Rkns.Renderer.NodeEditButton.prototype.unselect = function(_newTarget) {
     this.sector.unselect();
-    this.hide();
-    this.node_representation.remove_button.hide();
-    this.node_representation.link_button.hide();
+    if (!_newTarget || (_newTarget !== this.node_representation && _newTarget.node_representation !== this.node_representation)) {
+        this.node_representation.unselect();
+    }
 }
 
 Rkns.Renderer.NodeEditButton.prototype.mouseup = function() {
@@ -650,9 +650,9 @@
 Rkns.Renderer.NodeRemoveButton = Rkns.Utils.inherit(Rkns.Renderer._BaseRepresentation);
 
 Rkns.Renderer.NodeRemoveButton.prototype._init = function() {
-    this.renderer.node_layer.activate();
+    this.renderer.overlay_layer.activate();
     this.type = "Node-remove-button";
-    this.sector = Rkns.Renderer.Utils.sector(this, Rkns.Renderer._NODE_BUTTON_INNER, Rkns.Renderer._NODE_BUTTON_OUTER, -210, -90, 2, 'img/remove.png');
+    this.sector = Rkns.Renderer.Utils.sector(this, Rkns.Renderer._NODE_BUTTON_INNER, Rkns.Renderer._NODE_BUTTON_OUTER, -210, -90, 1, 'img/remove.png');
 }
 
 Rkns.Renderer.NodeRemoveButton.prototype.moveTo = function(_pos) {
@@ -671,11 +671,11 @@
     this.sector.select();
 }
 
-Rkns.Renderer.NodeRemoveButton.prototype.unselect = function() {
+Rkns.Renderer.NodeRemoveButton.prototype.unselect = function(_newTarget) {
     this.sector.unselect();
-    this.hide();
-    this.node_representation.edit_button.hide();
-    this.node_representation.link_button.hide();
+    if (!_newTarget || (_newTarget !== this.node_representation && _newTarget.node_representation !== this.node_representation)) {
+        this.node_representation.unselect();
+    }
 }
 
 Rkns.Renderer.NodeRemoveButton.prototype.mouseup = function() {
@@ -693,9 +693,9 @@
 Rkns.Renderer.NodeLinkButton = Rkns.Utils.inherit(Rkns.Renderer._BaseRepresentation);
 
 Rkns.Renderer.NodeLinkButton.prototype._init = function() {
-    this.renderer.node_layer.activate();
+    this.renderer.overlay_layer.activate();
     this.type = "Node-link-button";
-    this.sector = Rkns.Renderer.Utils.sector(this, Rkns.Renderer._NODE_BUTTON_INNER, Rkns.Renderer._NODE_BUTTON_OUTER, 30, 150, 2, 'img/link.png');
+    this.sector = Rkns.Renderer.Utils.sector(this, Rkns.Renderer._NODE_BUTTON_INNER, Rkns.Renderer._NODE_BUTTON_OUTER, 30, 150, 1, 'img/link.png');
 }
 
 Rkns.Renderer.NodeLinkButton.prototype.moveTo = function(_pos) {
@@ -714,11 +714,11 @@
     this.sector.select();
 }
 
-Rkns.Renderer.NodeLinkButton.prototype.unselect = function() {
+Rkns.Renderer.NodeLinkButton.prototype.unselect = function(_newTarget) {
     this.sector.unselect();
-    this.hide();
-    this.node_representation.edit_button.hide();
-    this.node_representation.remove_button.hide();
+    if (!_newTarget || (_newTarget !== this.node_representation && _newTarget.node_representation !== this.node_representation)) {
+        this.node_representation.unselect();
+    }
 }
 
 Rkns.Renderer.NodeLinkButton.prototype.destroy = function() {
@@ -730,9 +730,9 @@
 Rkns.Renderer.EdgeEditButton = Rkns.Utils.inherit(Rkns.Renderer._BaseRepresentation);
 
 Rkns.Renderer.EdgeEditButton.prototype._init = function() {
-    this.renderer.edge_layer.activate();
+    this.renderer.overlay_layer.activate();
     this.type = "Edge-edit-button";
-    this.sector = Rkns.Renderer.Utils.sector(this, Rkns.Renderer._EDGE_BUTTON_INNER, Rkns.Renderer._EDGE_BUTTON_OUTER, - 60, 60, 2, 'img/edit.png');
+    this.sector = Rkns.Renderer.Utils.sector(this, Rkns.Renderer._EDGE_BUTTON_INNER, Rkns.Renderer._EDGE_BUTTON_OUTER, - 90, 90, 1, 'img/edit.png');
 }
 
 Rkns.Renderer.EdgeEditButton.prototype.moveTo = function(_pos) {
@@ -751,10 +751,11 @@
     this.sector.select();
 }
 
-Rkns.Renderer.EdgeEditButton.prototype.unselect = function() {
+Rkns.Renderer.EdgeEditButton.prototype.unselect = function(_newTarget) {
     this.sector.unselect();
-    this.hide();
-    this.edge_representation.remove_button.hide();
+    if (!_newTarget || (_newTarget !== this.edge_representation && _newTarget.edge_representation !== this.edge_representation)) {
+        this.edge_representation.unselect();
+    }
 }
 
 Rkns.Renderer.EdgeEditButton.prototype.mouseup = function() {
@@ -772,9 +773,9 @@
 Rkns.Renderer.EdgeRemoveButton = Rkns.Utils.inherit(Rkns.Renderer._BaseRepresentation);
 
 Rkns.Renderer.EdgeRemoveButton.prototype._init = function() {
-    this.renderer.edge_layer.activate();
+    this.renderer.overlay_layer.activate();
     this.type = "Edge-remove-button";
-    this.sector = Rkns.Renderer.Utils.sector(this, Rkns.Renderer._EDGE_BUTTON_INNER, Rkns.Renderer._EDGE_BUTTON_OUTER, - 240, -120, 2, 'img/remove.png');
+    this.sector = Rkns.Renderer.Utils.sector(this, Rkns.Renderer._EDGE_BUTTON_INNER, Rkns.Renderer._EDGE_BUTTON_OUTER, - 270, -90, 1, 'img/remove.png');
 }
 Rkns.Renderer.EdgeRemoveButton.prototype.moveTo = function(_pos) {
     this.sector.moveTo(_pos);
@@ -792,10 +793,11 @@
     this.sector.select();
 }
 
-Rkns.Renderer.EdgeRemoveButton.prototype.unselect = function() {
+Rkns.Renderer.EdgeRemoveButton.prototype.unselect = function(_newTarget) {
     this.sector.unselect();
-    this.hide();
-    this.edge_representation.edit_button.hide();
+    if (!_newTarget || (_newTarget !== this.edge_representation && _newTarget.edge_representation !== this.edge_representation)) {
+        this.edge_representation.unselect();
+    }
 }
 
 Rkns.Renderer.EdgeRemoveButton.prototype.mouseup = function() {