diff --git a/history.txt b/history.txt index 36a72735..a157723d 100755 --- a/history.txt +++ b/history.txt @@ -1974,3 +1974,4 @@ ______ * Blocks: enable Costumes as Symbols and Symbols as custom block label parts * BYOB: Symbol selection menu for BlockLabelFragmentMorphs * Portuguese translation update +* Widgets: enable Symbols in InputField drop down menus diff --git a/widgets.js b/widgets.js index 45ef2d1b..47d1a23a 100644 --- a/widgets.js +++ b/widgets.js @@ -74,7 +74,7 @@ HTMLCanvasElement, fontHeight, SymbolMorph, localize, SpeechBubbleMorph, ArrowMorph, MenuMorph, isString, isNil, SliderMorph, MorphicPreferences, ScrollFrameMorph*/ -modules.widgets = '2013-July-04'; +modules.widgets = '2013-October-25'; var PushButtonMorph; var ToggleButtonMorph; @@ -2965,12 +2965,18 @@ InputFieldMorph.prototype.dropDownMenu = function () { return null; } menu.addItem(' ', null); - for (key in choices) { - if (Object.prototype.hasOwnProperty.call(choices, key)) { - if (key[0] === '~') { - menu.addLine(); - } else { - menu.addItem(key, choices[key]); + if (choices instanceof Array) { + choices.forEach(function (choice) { + menu.addItem(choice[0], choice[1]); + }); + } else { // assuming a dictionary + for (key in choices) { + if (Object.prototype.hasOwnProperty.call(choices, key)) { + if (key[0] === '~') { + menu.addLine(); + } else { + menu.addItem(key, choices[key]); + } } } }