Skip to content

Commit

Permalink
Added app.deleteDraws method. Fixes #283.
Browse files Browse the repository at this point in the history
Added a delete draws button on the draw list page.
  • Loading branch information
ivmartel committed Nov 10, 2016
1 parent ca5ecce commit a09609b
Show file tree
Hide file tree
Showing 2 changed files with 51 additions and 0 deletions.
45 changes: 45 additions & 0 deletions src/app/application.js
Original file line number Diff line number Diff line change
Expand Up @@ -880,6 +880,51 @@ dwv.App = function ()
this.getDrawLayer().draw();
};

/**
* Delete all Draws from all layers.
*/
this.deleteDraws = function () {
var delcmd, layer, groups, slice, frame;
var nSlices = this.getImage().getGeometry().getSize().getNumberOfSlices();
var nFrames = this.getImage().getNumberOfFrames();
slice = 0;
while (slice < nSlices) {
frame = 0;
while (frame < nFrames) {
layer = this.getDrawLayer(slice, frame);
groups = layer.getChildren();
while (groups.length) {
var shape = groups[0].getChildren()[0];
var cmdName = "shape";
if ( shape instanceof Kinetic.Line ) {
if ( shape.points().length == 4 ) {
cmdName = "line";
}
else if ( shape.points().length == 6 ) {
cmdName = "protractor";
}
else {
cmdName = "roi";
}
}
else if ( shape instanceof Kinetic.Rect ) {
cmdName = "rectangle";
}
else if ( shape instanceof Kinetic.Ellipse ) {
cmdName = "ellipse";
}
delcmd = new dwv.tool.DeleteGroupCommand( groups[0],
cmdName, layer);
delcmd.onExecute = fireEvent;
delcmd.execute();
this.addToUndoStack(delcmd);
}
frame++;
}
slice++;
}
};

// Handler Methods -----------------------------------------------------------

/**
Expand Down
6 changes: 6 additions & 0 deletions src/gui/generic.js
Original file line number Diff line number Diff line change
Expand Up @@ -357,10 +357,16 @@ dwv.gui.base.DrawList = function (app)
tickLabel.setAttribute( "for", tickBox.id );
tickLabel.setAttribute( "class", "inline" );
tickLabel.appendChild( document.createTextNode( dwv.i18n("basics.editMode") ) );
// delete draw button
var deleteButton = document.createElement("button");
deleteButton.onclick = function () { app.deleteDraws(); };
deleteButton.setAttribute( "class", "ui-btn ui-btn-inline" );
deleteButton.appendChild( document.createTextNode( dwv.i18n("basics.deleteDraws") ) );
// checkbox div
var tickDiv = document.createElement("div");
tickDiv.appendChild(tickLabel);
tickDiv.appendChild(tickBox);
tickDiv.appendChild(deleteButton);

// search form
node.appendChild(dwv.html.getHtmlSearchForm(table));
Expand Down

0 comments on commit a09609b

Please sign in to comment.