diff -r 08a366a35143 -r 10e0c23c849e client/js/paper-renderer.js --- 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() {