Add createLayer() to Drawing and tests
git-svn-id: http://svg-edit.googlecode.com/svn/trunk@1941 eee81c28-f429-11dd-99c0-75d572ba1ddd
This commit is contained in:
@@ -277,7 +277,8 @@ svgedit.draw.Drawing.prototype.setCurrentLayer = function(name) {
|
||||
};
|
||||
|
||||
// Function: svgedit.draw.Drawing.identifyLayers
|
||||
// Updates layer system
|
||||
// Updates layer system and sets the current layer to the
|
||||
// top-most layer (last <g> child of this drawing).
|
||||
svgedit.draw.Drawing.prototype.identifyLayers = function() {
|
||||
this.all_layers = [];
|
||||
var numchildren = this.svgElem_.childNodes.length;
|
||||
@@ -341,5 +342,25 @@ svgedit.draw.Drawing.prototype.identifyLayers = function() {
|
||||
this.current_layer.setAttribute("style","pointer-events:all");
|
||||
};
|
||||
|
||||
// Function: svgedit.draw.Drawing.createLayer
|
||||
// Creates a new top-level layer in the drawing with the given name and
|
||||
// sets the current layer to it.
|
||||
//
|
||||
// Parameters:
|
||||
// name - The given name
|
||||
//
|
||||
// Returns:
|
||||
// The SVGGElement of the new layer, which is also the current layer
|
||||
// of this drawing.
|
||||
svgedit.draw.Drawing.prototype.createLayer = function(name) {
|
||||
var svgdoc = this.svgElem_.ownerDocument;
|
||||
var new_layer = svgdoc.createElementNS(svg_ns, "g");
|
||||
var layer_title = svgdoc.createElementNS(svg_ns, "title");
|
||||
layer_title.textContent = name;
|
||||
new_layer.appendChild(layer_title);
|
||||
this.svgElem_.appendChild(new_layer);
|
||||
this.identifyLayers();
|
||||
return new_layer;
|
||||
};
|
||||
|
||||
})();
|
||||
|
||||
@@ -6974,16 +6974,10 @@ var identifyLayers = canvas.identifyLayers = function() {
|
||||
// name - The given name
|
||||
this.createLayer = function(name) {
|
||||
var batchCmd = new BatchCommand("Create Layer");
|
||||
var new_layer = svgdoc.createElementNS(svgns, "g");
|
||||
var layer_title = svgdoc.createElementNS(svgns, "title");
|
||||
layer_title.textContent = name;
|
||||
new_layer.appendChild(layer_title);
|
||||
new_layer = svgcontent.appendChild(new_layer);
|
||||
var new_layer = getCurrentDrawing().createLayer(name);
|
||||
batchCmd.addSubCommand(new InsertElementCommand(new_layer));
|
||||
addCommandToHistory(batchCmd);
|
||||
clearSelection();
|
||||
identifyLayers();
|
||||
canvas.setCurrentLayer(name);
|
||||
call("changed", [new_layer]);
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user