Add popup_editor and editor_panel option to allow the editor panel to bin in an external div
Update the scene, the node editor and the edge editor to include the options
define([], function () {
'use strict';
/* ShapeBuilder Begin */
var builders = {
"circle":{
getShape: function() {
return new paper.Path.Circle([0, 0], 1);
},
getImageShape: function(center, radius) {
return new paper.Path.Circle(center, radius);
}
},
"rectangle":{
getShape: function() {
return new paper.Path.Rectangle([-2, -2], [2, 2]);
},
getImageShape: function(center, radius) {
return new paper.Path.Rectangle([-radius, -radius], [radius*2, radius*2]);
}
},
"ellipse":{
getShape: function() {
return new paper.Path.Ellipse(new paper.Rectangle([-2, -1], [2, 1]));
},
getImageShape: function(center, radius) {
return new paper.Path.Ellipse(new paper.Rectangle([-radius, -radius/2], [radius*2, radius]));
}
},
"polygon":{
getShape: function() {
return new paper.Path.RegularPolygon([0, 0], 6, 1);
},
getImageShape: function(center, radius) {
return new paper.Path.RegularPolygon([0, 0], 6, radius);
}
},
"diamond":{
getShape: function() {
var d = new paper.Path.Rectangle([-Math.SQRT2, -Math.SQRT2], [Math.SQRT2, Math.SQRT2]);
d.rotate(45);
return d;
},
getImageShape: function(center, radius) {
var d = new paper.Path.Rectangle([-radius*Math.SQRT2/2, -radius*Math.SQRT2/2], [radius*Math.SQRT2, radius*Math.SQRT2]);
d.rotate(45);
return d;
}
},
"star":{
getShape: function() {
return new paper.Path.Star([0, 0], 8, 1, 0.7);
},
getImageShape: function(center, radius) {
return new paper.Path.Star([0, 0], 8, radius*1, radius*0.7);
}
},
"svg": function(path){
return {
getShape: function() {
return new paper.Path(path);
},
getImageShape: function(center, radius) {
// No calcul for the moment
return new paper.Path();
}
};
}
};
var ShapeBuilder = function (shape){
if(shape === null || typeof shape === "undefined"){
shape = "circle";
}
if(shape.substr(0,4)==="svg:"){
return builders.svg(shape.substr(4));
}
if(!(shape in builders)){
shape = "circle";
}
return builders[shape];
};
return ShapeBuilder;
});