Add missing menu options

This commit is contained in:
Evan W. Patton
2016-10-11 17:15:08 -04:00
parent f65a39692b
commit a62b22229f
2 changed files with 54 additions and 3 deletions

View File

@@ -581,7 +581,7 @@ Blockly.BlockSvg.prototype.onMouseDown_ = function(e) {
}
// This event has been handled. No need to bubble up to the document.
e.stopPropagation();
e.preventDefault();
//e.preventDefault();
};
/**
@@ -738,6 +738,20 @@ Blockly.BlockSvg.prototype.showContextMenu_ = function(e) {
menuOptions.push(disableOption);
}
// Option to copy to backpack.
var backpackOption = {
enabled:true,
text: Blockly.Msg.COPY_TO_BACKPACK +
" (" + Blockly.getMainWorkspace().backpack.count() + ")",
callback: function() {
if (Blockly.selected && Blockly.selected.isDeletable() &&
Blockly.selected.workspace == Blockly.mainWorkspace) {
Blockly.getMainWorkspace().backpack.addToBackpack(Blockly.selected);
}
}
};
menuOptions.push(backpackOption);
// Option to delete this block.
// Count the number of blocks that are nested in this block.
var descendantCount = this.getDescendants().length;

View File

@@ -742,7 +742,7 @@ Blockly.WorkspaceSvg.prototype.onMouseDown_ = function(e) {
}
// This event has been handled. No need to bubble up to the document.
e.stopPropagation();
e.preventDefault();
//e.preventDefault();
};
/**
@@ -893,6 +893,13 @@ Blockly.WorkspaceSvg.prototype.showContextMenu_ = function(e) {
menuOptions.push(cleanOption);
}
var exportOption = {enabled: true};
exportOption.text = Blockly.Msg.EXPORT_IMAGE;
exportOption.callback = function() {
Blockly.ExportBlocksImage.onclickExportBlocks(Blockly.getMainWorkspace().getMetrics());
}
menuOptions.push(exportOption);
// Add a little animation to collapsing and expanding.
var DELAY = 10;
if (this.options.collapse) {
@@ -925,7 +932,7 @@ Blockly.WorkspaceSvg.prototype.showContextMenu_ = function(e) {
ms += DELAY;
}
}
this.resetArrangements();
Blockly.getMainWorkspace().resetArrangements();
};
// Option to collapse top blocks.
@@ -1120,6 +1127,36 @@ Blockly.WorkspaceSvg.prototype.showContextMenu_ = function(e) {
arrangeOptionV.callback();
}
// Retrieve from backpack option.
var backpackRetrieve = {enabled: true};
backpackRetrieve.text = Blockly.Msg.BACKPACK_GET + " (" +
Blockly.getMainWorkspace().backpack.count() + ")";
backpackRetrieve.callback = function() {
if (Blockly.getMainWorkspace().backpack) {
Blockly.getMainWorkspace().backpack.pasteBackpack(this.backpack);
}
}
menuOptions.push(backpackRetrieve);
// Copy all blocks to backpack option.
var backpackCopyAll = {enabled: true};
backpackCopyAll.text = Blockly.Msg.COPY_ALLBLOCKS;
backpackCopyAll.callback = function() {
if (Blockly.getMainWorkspace().backpack) {
Blockly.getMainWorkspace().backpack.addAllToBackpack();
}
}
menuOptions.push(backpackCopyAll);
// Clear backpack.
var backpackClear = {enabled: true};
backpackClear.text = Blockly.Msg.BACKPACK_EMPTY;
backpackClear.callback = function() {
Blockly.getMainWorkspace().backpack.clear();
backpackRetrieve.text = Blockly.Msg.BACKPACK_GET;
}
menuOptions.push(backpackClear);
// Option to get help.
var helpOption = {enabled: false};
helpOption.text = Blockly.Msg.HELP;