kopia lustrzana https://github.com/backface/turtlestitch
refactored custom block input slot options / menus
avoid errors in case users edit menus in ways that are not supportedpull/89/head
rodzic
89fb1ac36f
commit
7478efdca9
|
@ -36,6 +36,9 @@
|
||||||
* Greek, thanks, Alexandros!
|
* Greek, thanks, Alexandros!
|
||||||
* German
|
* German
|
||||||
|
|
||||||
|
### 2019-02-06
|
||||||
|
* Blocks, BYOB: refactored custom block input options and drop-down menus
|
||||||
|
|
||||||
### 2019-02-05
|
### 2019-02-05
|
||||||
* BYOB: radio button symbols for special slot / drop-down menu options
|
* BYOB: radio button symbols for special slot / drop-down menu options
|
||||||
|
|
||||||
|
|
|
@ -6,13 +6,13 @@
|
||||||
<link rel="shortcut icon" href="src/favicon.ico">
|
<link rel="shortcut icon" href="src/favicon.ico">
|
||||||
<script type="text/javascript" src="src/morphic.js?version=2019-01-10"></script>
|
<script type="text/javascript" src="src/morphic.js?version=2019-01-10"></script>
|
||||||
<script type="text/javascript" src="src/widgets.js?version=2018-10-02"></script>
|
<script type="text/javascript" src="src/widgets.js?version=2018-10-02"></script>
|
||||||
<script type="text/javascript" src="src/blocks.js?version=2019-02-04"></script>
|
<script type="text/javascript" src="src/blocks.js?version=2019-02-06"></script>
|
||||||
<script type="text/javascript" src="src/threads.js?version=2019-01-28"></script>
|
<script type="text/javascript" src="src/threads.js?version=2019-01-28"></script>
|
||||||
<script type="text/javascript" src="src/objects.js?version=2019-01-28"></script>
|
<script type="text/javascript" src="src/objects.js?version=2019-01-28"></script>
|
||||||
<script type="text/javascript" src="src/gui.js?version=2019-01-28"></script>
|
<script type="text/javascript" src="src/gui.js?version=2019-01-28"></script>
|
||||||
<script type="text/javascript" src="src/paint.js?version=2018-10-02"></script>
|
<script type="text/javascript" src="src/paint.js?version=2018-10-02"></script>
|
||||||
<script type="text/javascript" src="src/lists.js?version=2019-01-10"></script>
|
<script type="text/javascript" src="src/lists.js?version=2019-01-10"></script>
|
||||||
<script type="text/javascript" src="src/byob.js?version=2019-02-05"></script>
|
<script type="text/javascript" src="src/byob.js?version=2019-02-06"></script>
|
||||||
<script type="text/javascript" src="src/tables.js?version=2018-10-02"></script>
|
<script type="text/javascript" src="src/tables.js?version=2018-10-02"></script>
|
||||||
<script type="text/javascript" src="src/symbols.js?version=2019-01-14"></script>
|
<script type="text/javascript" src="src/symbols.js?version=2019-01-14"></script>
|
||||||
<script type="text/javascript" src="src/sketch.js?version=2018-10-02"></script>
|
<script type="text/javascript" src="src/sketch.js?version=2018-10-02"></script>
|
||||||
|
|
|
@ -148,7 +148,7 @@ CustomCommandBlockMorph, SymbolMorph, ToggleButtonMorph, DialMorph*/
|
||||||
|
|
||||||
// Global stuff ////////////////////////////////////////////////////////
|
// Global stuff ////////////////////////////////////////////////////////
|
||||||
|
|
||||||
modules.blocks = '2019-February-04';
|
modules.blocks = '2019-February-06';
|
||||||
|
|
||||||
var SyntaxElementMorph;
|
var SyntaxElementMorph;
|
||||||
var BlockMorph;
|
var BlockMorph;
|
||||||
|
@ -8917,6 +8917,10 @@ InputSlotMorph.prototype.pianoKeyboardMenu = function () {
|
||||||
menu.selectKey(+this.evaluate());
|
menu.selectKey(+this.evaluate());
|
||||||
};
|
};
|
||||||
|
|
||||||
|
InputSlotMorph.prototype.directionDialMenu = function () {
|
||||||
|
return {'§_dir': null};
|
||||||
|
};
|
||||||
|
|
||||||
InputSlotMorph.prototype.setChoices = function (dict, readonly) {
|
InputSlotMorph.prototype.setChoices = function (dict, readonly) {
|
||||||
// externally specify choices and read-only status,
|
// externally specify choices and read-only status,
|
||||||
// used for custom blocks
|
// used for custom blocks
|
||||||
|
|
19
src/byob.js
19
src/byob.js
|
@ -108,7 +108,7 @@ BooleanSlotMorph, XML_Serializer, SnapTranslator*/
|
||||||
|
|
||||||
// Global stuff ////////////////////////////////////////////////////////
|
// Global stuff ////////////////////////////////////////////////////////
|
||||||
|
|
||||||
modules.byob = '2019-February-05';
|
modules.byob = '2019-February-06';
|
||||||
|
|
||||||
// Declarations
|
// Declarations
|
||||||
|
|
||||||
|
@ -320,9 +320,20 @@ CustomBlockDefinition.prototype.dropDownMenuOf = function (inputName) {
|
||||||
var fname;
|
var fname;
|
||||||
if (this.declarations.has(inputName) &&
|
if (this.declarations.has(inputName) &&
|
||||||
this.declarations.get(inputName)[2]) {
|
this.declarations.get(inputName)[2]) {
|
||||||
if ( (this.declarations.get(inputName)[2].indexOf('§_') === 0)) {
|
if ((this.declarations.get(inputName)[2].indexOf('§_') === 0)) {
|
||||||
fname = this.declarations.get(inputName)[2].slice(2);
|
fname = this.declarations.get(inputName)[2].slice(2);
|
||||||
if (fname !== 'dir') {
|
if (contains(
|
||||||
|
[
|
||||||
|
'messagesReceivedMenu',
|
||||||
|
'objectsMenu',
|
||||||
|
'costumesMenu',
|
||||||
|
'soundsMenu',
|
||||||
|
'getVarNamesDict',
|
||||||
|
'pianoKeyboardMenu',
|
||||||
|
'directionDialMenu'
|
||||||
|
],
|
||||||
|
fname
|
||||||
|
)) {
|
||||||
return fname;
|
return fname;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3713,6 +3724,8 @@ InputSlotDialogMorph.prototype.specialOptionsMenu = function () {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// +++ add another radio button for "options"
|
||||||
|
addSpecialOptions('(none)', '');
|
||||||
addSpecialOptions('messages', '§_messagesReceivedMenu');
|
addSpecialOptions('messages', '§_messagesReceivedMenu');
|
||||||
addSpecialOptions('objects', '§_objectsMenu');
|
addSpecialOptions('objects', '§_objectsMenu');
|
||||||
// addSpecialOptions('data types', '§_typesMenu');
|
// addSpecialOptions('data types', '§_typesMenu');
|
||||||
|
|
Ładowanie…
Reference in New Issue