From c4d55b7b380ffe9fbbd2b8ac3b5d15c240b978bb Mon Sep 17 00:00:00 2001 From: jmoenig Date: Fri, 13 Dec 2019 09:56:45 +0100 Subject: [PATCH] added direct relabelling option to pen trails blocks' context menus --- HISTORY.md | 3 +++ snap.html | 4 ++-- src/blocks.js | 27 +++++++++++++++++++++++++-- src/objects.js | 50 ++++++-------------------------------------------- 4 files changed, 36 insertions(+), 48 deletions(-) diff --git a/HISTORY.md b/HISTORY.md index d75254fe..fbea2bd7 100755 --- a/HISTORY.md +++ b/HISTORY.md @@ -13,6 +13,9 @@ * NEW Slovak translation, thanks, Peter Lukacovic * German +### 2019-12-13 +* added direct relabelling option to pen trails blocks' context menus + ### 2019-12-10 * NEW Slovak translation, thanks, Peter Lukacovic diff --git a/snap.html b/snap.html index 5aa4cd4d..70998752 100755 --- a/snap.html +++ b/snap.html @@ -6,9 +6,9 @@ - + - + diff --git a/src/blocks.js b/src/blocks.js index bac47187..46b34f48 100644 --- a/src/blocks.js +++ b/src/blocks.js @@ -148,7 +148,7 @@ CustomCommandBlockMorph, SymbolMorph, ToggleButtonMorph, DialMorph*/ // Global stuff //////////////////////////////////////////////////////// -modules.blocks = '2019-December-03'; +modules.blocks = '2019-December-13'; var SyntaxElementMorph; var BlockMorph; @@ -2851,7 +2851,9 @@ BlockMorph.prototype.userMenu = function () { } } - // JIT-compile HOFs - experimental + // direct relabelling: + // - JIT-compile HOFs - experimental + // - vector pen trails if ( contains( ['reportMap', 'reportKeep', 'reportFindFirst', 'reportCombine'], @@ -2897,6 +2899,27 @@ BlockMorph.prototype.userMenu = function () { myself.changed(); } ); + } else if ( + contains( + ['reportPenTrailsAsCostume', 'reportPentrailsAsSVG'], + this.selector + ) + ) { + alternatives = { + reportPenTrailsAsCostume : 'reportPentrailsAsSVG', + reportPentrailsAsSVG : 'reportPenTrailsAsCostume' + }; + menu.addItem( + localize( + SpriteMorph.prototype.blocks[ + alternatives[myself.selector] + ].spec + ), + function () { + myself.setSelector(alternatives[myself.selector]); + myself.changed(); + } + ); } menu.addItem( diff --git a/src/objects.js b/src/objects.js index 08b86b27..4a7dfbd0 100644 --- a/src/objects.js +++ b/src/objects.js @@ -84,7 +84,7 @@ BlockEditorMorph, BlockDialogMorph, PrototypeHatBlockMorph, BooleanSlotMorph, localize, TableMorph, TableFrameMorph, normalizeCanvas, VectorPaintEditorMorph, HandleMorph, AlignmentMorph, Process, XML_Element, WorldMap, copyCanvas*/ -modules.objects = '2019-December-05'; +modules.objects = '2019-December-13'; var SpriteMorph; var StageMorph; @@ -688,20 +688,17 @@ SpriteMorph.prototype.initBlocks = function () { category: 'pen', spec: 'pen trails' }, + reportPentrailsAsSVG: { + type: 'reporter', + category: 'pen', + spec: 'pen vectors' + }, doPasteOn: { type: 'command', category: 'pen', spec: 'paste on %spr' }, - // Pen - experimental primitives for development mode - reportPentrailsAsSVG: { - dev: true, - type: 'reporter', - category: 'pen', - spec: 'pen vectors' - }, - // Control receiveGo: { type: 'hat', @@ -1560,9 +1557,6 @@ SpriteMorph.prototype.blockAlternatives = { changeSize: ['setSize'], setSize: ['changeSize'], - reportPenTrailsAsCostume: ['reportPentrailsAsSVG'], - reportPentrailsAsSVG: ['reportPenTrailsAsCostume'], - // control: doBroadcast: ['doBroadcastAndWait'], doBroadcastAndWait: ['doBroadcast'], @@ -2329,22 +2323,6 @@ SpriteMorph.prototype.blockTemplates = function (category) { blocks.push('='); blocks.push(this.makeBlockButton(cat)); - // for debugging: /////////////// - - if (this.world().isDevMode) { - blocks.push('-'); - txt = new TextMorph(localize( - 'development mode \ndebugging primitives:' - )); - txt.fontSize = 9; - txt.setColor(this.paletteTextColor); - blocks.push(txt); - blocks.push('-'); - blocks.push(block('reportPentrailsAsSVG')); - } - - //////////////////////////////// - } else if (cat === 'control') { blocks.push(block('receiveGo')); @@ -8476,22 +8454,6 @@ StageMorph.prototype.blockTemplates = function (category) { blocks.push('='); blocks.push(this.makeBlockButton(cat)); - // for debugging: /////////////// - - if (this.world().isDevMode) { - blocks.push('-'); - txt = new TextMorph(localize( - 'development mode \ndebugging primitives:' - )); - txt.fontSize = 9; - txt.setColor(this.paletteTextColor); - blocks.push(txt); - blocks.push('-'); - blocks.push(block('reportPentrailsAsSVG')); - } - - ///////////////////////////////// - } else if (cat === 'control') { blocks.push(block('receiveGo'));