diff options
| author | jmoenig <jens@moenig.org> | 2013-10-25 12:38:39 +0200 |
|---|---|---|
| committer | jmoenig <jens@moenig.org> | 2013-10-25 12:38:39 +0200 |
| commit | f92b4891c1d95f6f3e1383ef6b03b0c072c46ea5 (patch) | |
| tree | b4d9e90a2866be96e624f05addb81bd190ecc800 | |
| parent | 2226f0c92a105bee07e26e0281da5ebba042b792 (diff) | |
| download | snap-f92b4891c1d95f6f3e1383ef6b03b0c072c46ea5.tar.gz snap-f92b4891c1d95f6f3e1383ef6b03b0c072c46ea5.zip | |
Symbol selection menu for BlockLabelFragmentMorphs
| -rw-r--r-- | byob.js | 32 | ||||
| -rwxr-xr-x | history.txt | 3 |
2 files changed, 32 insertions, 3 deletions
@@ -101,11 +101,12 @@ Context, StringMorph, nop, newCanvas, radians, BoxMorph, ArrowMorph, PushButtonMorph, contains, InputSlotMorph, ShadowMorph, ToggleButtonMorph, IDE_Morph, MenuMorph, copy, ToggleElementMorph, Morph, fontHeight, StageMorph, SyntaxElementMorph, SnapSerializer, -CommentMorph, localize, CSlotMorph, SpeechBubbleMorph, MorphicPreferences*/ +CommentMorph, localize, CSlotMorph, SpeechBubbleMorph, MorphicPreferences, +SymbolMorph*/ // Global stuff //////////////////////////////////////////////////////// -modules.byob = '2013-October-04'; +modules.byob = '2013-October-25'; // Declarations @@ -2067,6 +2068,33 @@ BlockLabelFragmentMorph.prototype.updateBlockLabel = function (newFragment) { } }; +BlockLabelFragmentMorph.prototype.userMenu = function () { + // show a menu of built-in special symbols + var myself = this, + symbolColor = new Color(100, 100, 130), + menu = new MenuMorph( + function (string) { + var tuple = myself.text.split('-'); + myself.changed(); + tuple[0] = '$' + string; + myself.text = tuple.join('-'); + myself.fragment.labelString = myself.text; + myself.drawNew(); + myself.changed(); + }, + null, + this, + this.fontSize + ); + SymbolMorph.prototype.names.forEach(function (name) { + menu.addItem( + [new SymbolMorph(name, menu.fontSize, symbolColor), name], + name + ); + }); + return menu; +}; + // BlockLabelPlaceHolderMorph /////////////////////////////////////////////// /* diff --git a/history.txt b/history.txt index 527d6e8..b47e628 100755 --- a/history.txt +++ b/history.txt @@ -1971,4 +1971,5 @@ ______ 131025 ——— -* Blocks: - enable Costumes as Symbols and Symbols as custom block label parts +* Blocks: enable Costumes as Symbols and Symbols as custom block label parts +* BYOB: Symbol selection menu for BlockLabelFragmentMorphs |
