From ddcf1ac969bc6f7e0391d0068537d1a8ace4f754 Mon Sep 17 00:00:00 2001 From: Neil Fraser Date: Mon, 26 Jan 2015 01:20:03 -0800 Subject: [PATCH] Factor out hues into constants. --- blocks/colour.js | 10 ++- blocks/lists.js | 26 +++--- blocks/logic.js | 22 ++--- blocks/loops.js | 14 ++-- blocks/math.js | 28 ++++--- blocks/procedures.js | 16 ++-- blocks/text.js | 34 ++++---- blocks/variables.js | 6 +- blocks_compressed.js | 192 ++++++++++++++++++++++--------------------- 9 files changed, 183 insertions(+), 165 deletions(-) diff --git a/blocks/colour.js b/blocks/colour.js index b1f4d8080..a542ed5e2 100644 --- a/blocks/colour.js +++ b/blocks/colour.js @@ -29,6 +29,8 @@ goog.provide('Blockly.Blocks.colour'); goog.require('Blockly.Blocks'); +Blockly.Blocks.colour.HUE = 20; + Blockly.Blocks['colour_picker'] = { /** * Block for colour picker. @@ -36,7 +38,7 @@ Blockly.Blocks['colour_picker'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.COLOUR_PICKER_HELPURL); - this.setColour(20); + this.setColour(Blockly.Blocks.colour.HUE); this.appendDummyInput() .appendField(new Blockly.FieldColour('#ff0000'), 'COLOUR'); this.setOutput(true, 'Colour'); @@ -51,7 +53,7 @@ Blockly.Blocks['colour_random'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.COLOUR_RANDOM_HELPURL); - this.setColour(20); + this.setColour(Blockly.Blocks.colour.HUE); this.appendDummyInput() .appendField(Blockly.Msg.COLOUR_RANDOM_TITLE); this.setOutput(true, 'Colour'); @@ -66,7 +68,7 @@ Blockly.Blocks['colour_rgb'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.COLOUR_RGB_HELPURL); - this.setColour(20); + this.setColour(Blockly.Blocks.colour.HUE); this.appendValueInput('RED') .setCheck('Number') .setAlign(Blockly.ALIGN_RIGHT) @@ -92,7 +94,7 @@ Blockly.Blocks['colour_blend'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.COLOUR_BLEND_HELPURL); - this.setColour(20); + this.setColour(Blockly.Blocks.colour.HUE); this.appendValueInput('COLOUR1') .setCheck('Colour') .setAlign(Blockly.ALIGN_RIGHT) diff --git a/blocks/lists.js b/blocks/lists.js index 38a26c773..bf5b82f87 100644 --- a/blocks/lists.js +++ b/blocks/lists.js @@ -29,6 +29,8 @@ goog.provide('Blockly.Blocks.lists'); goog.require('Blockly.Blocks'); +Blockly.Blocks.lists.HUE = 260; + Blockly.Blocks['lists_create_empty'] = { /** * Block for creating an empty list. @@ -36,7 +38,7 @@ Blockly.Blocks['lists_create_empty'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.LISTS_CREATE_EMPTY_HELPURL); - this.setColour(260); + this.setColour(Blockly.Blocks.lists.HUE); this.setOutput(true, 'Array'); this.appendDummyInput() .appendField(Blockly.Msg.LISTS_CREATE_EMPTY_TITLE); @@ -51,7 +53,7 @@ Blockly.Blocks['lists_create_with'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.LISTS_CREATE_WITH_HELPURL); - this.setColour(260); + this.setColour(Blockly.Blocks.lists.HUE); this.itemCount_ = 3; this.updateShape_(); this.setOutput(true, 'Array'); @@ -174,7 +176,7 @@ Blockly.Blocks['lists_create_with_container'] = { * @this Blockly.Block */ init: function() { - this.setColour(260); + this.setColour(Blockly.Blocks.lists.HUE); this.appendDummyInput() .appendField(Blockly.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD); this.appendStatementInput('STACK'); @@ -189,7 +191,7 @@ Blockly.Blocks['lists_create_with_item'] = { * @this Blockly.Block */ init: function() { - this.setColour(260); + this.setColour(Blockly.Blocks.lists.HUE); this.appendDummyInput() .appendField(Blockly.Msg.LISTS_CREATE_WITH_ITEM_TITLE); this.setPreviousStatement(true); @@ -206,7 +208,7 @@ Blockly.Blocks['lists_repeat'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.LISTS_REPEAT_HELPURL); - this.setColour(260); + this.setColour(Blockly.Blocks.lists.HUE); this.setOutput(true, 'Array'); this.interpolateMsg(Blockly.Msg.LISTS_REPEAT_TITLE, ['ITEM', null, Blockly.ALIGN_RIGHT], @@ -223,7 +225,7 @@ Blockly.Blocks['lists_length'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.LISTS_LENGTH_HELPURL); - this.setColour(260); + this.setColour(Blockly.Blocks.lists.HUE); this.interpolateMsg(Blockly.Msg.LISTS_LENGTH_TITLE, ['VALUE', ['Array', 'String'], Blockly.ALIGN_RIGHT], Blockly.ALIGN_RIGHT); @@ -239,7 +241,7 @@ Blockly.Blocks['lists_isEmpty'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.LISTS_IS_EMPTY_HELPURL); - this.setColour(260); + this.setColour(Blockly.Blocks.lists.HUE); this.interpolateMsg(Blockly.Msg.LISTS_IS_EMPTY_TITLE, ['VALUE', ['Array', 'String'], Blockly.ALIGN_RIGHT], Blockly.ALIGN_RIGHT); @@ -259,7 +261,7 @@ Blockly.Blocks['lists_indexOf'] = { [[Blockly.Msg.LISTS_INDEX_OF_FIRST, 'FIRST'], [Blockly.Msg.LISTS_INDEX_OF_LAST, 'LAST']]; this.setHelpUrl(Blockly.Msg.LISTS_INDEX_OF_HELPURL); - this.setColour(260); + this.setColour(Blockly.Blocks.lists.HUE); this.setOutput(true, 'Number'); this.appendValueInput('VALUE') .setCheck('Array') @@ -288,7 +290,7 @@ Blockly.Blocks['lists_getIndex'] = { [Blockly.Msg.LISTS_GET_INDEX_LAST, 'LAST'], [Blockly.Msg.LISTS_GET_INDEX_RANDOM, 'RANDOM']]; this.setHelpUrl(Blockly.Msg.LISTS_GET_INDEX_HELPURL); - this.setColour(260); + this.setColour(Blockly.Blocks.lists.HUE); var modeMenu = new Blockly.FieldDropdown(MODE, function(value) { var isStatement = (value == 'REMOVE'); this.sourceBlock_.updateStatement_(isStatement); @@ -419,7 +421,7 @@ Blockly.Blocks['lists_setIndex'] = { [Blockly.Msg.LISTS_GET_INDEX_LAST, 'LAST'], [Blockly.Msg.LISTS_GET_INDEX_RANDOM, 'RANDOM']]; this.setHelpUrl(Blockly.Msg.LISTS_SET_INDEX_HELPURL); - this.setColour(260); + this.setColour(Blockly.Blocks.lists.HUE); this.appendValueInput('LIST') .setCheck('Array') .appendField(Blockly.Msg.LISTS_SET_INDEX_INPUT_IN_LIST); @@ -520,7 +522,7 @@ Blockly.Blocks['lists_getSublist'] = { [Blockly.Msg.LISTS_GET_SUBLIST_END_FROM_END, 'FROM_END'], [Blockly.Msg.LISTS_GET_SUBLIST_END_LAST, 'LAST']]; this.setHelpUrl(Blockly.Msg.LISTS_GET_SUBLIST_HELPURL); - this.setColour(260); + this.setColour(Blockly.Blocks.lists.HUE); this.appendValueInput('LIST') .setCheck('Array') .appendField(Blockly.Msg.LISTS_GET_SUBLIST_INPUT_IN_LIST); @@ -631,7 +633,7 @@ Blockly.Blocks['lists_split'] = { } }); this.setHelpUrl(Blockly.Msg.LISTS_SPLIT_HELPURL); - this.setColour(260); + this.setColour(Blockly.Blocks.lists.HUE); this.appendValueInput('INPUT') .setCheck('String') .appendField(dropdown, 'MODE'); diff --git a/blocks/logic.js b/blocks/logic.js index ea53e3ce5..5bc81db88 100644 --- a/blocks/logic.js +++ b/blocks/logic.js @@ -29,6 +29,8 @@ goog.provide('Blockly.Blocks.logic'); goog.require('Blockly.Blocks'); +Blockly.Blocks.logic.HUE = 210; + Blockly.Blocks['controls_if'] = { /** * Block for if/elseif/else condition. @@ -36,7 +38,7 @@ Blockly.Blocks['controls_if'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.CONTROLS_IF_HELPURL); - this.setColour(210); + this.setColour(Blockly.Blocks.logic.HUE); this.appendValueInput('IF0') .setCheck('Boolean') .appendField(Blockly.Msg.CONTROLS_IF_MSG_IF); @@ -215,7 +217,7 @@ Blockly.Blocks['controls_if_if'] = { * @this Blockly.Block */ init: function() { - this.setColour(210); + this.setColour(Blockly.Blocks.logic.HUE); this.appendDummyInput() .appendField(Blockly.Msg.CONTROLS_IF_IF_TITLE_IF); this.appendStatementInput('STACK'); @@ -230,7 +232,7 @@ Blockly.Blocks['controls_if_elseif'] = { * @this Blockly.Block */ init: function() { - this.setColour(210); + this.setColour(Blockly.Blocks.logic.HUE); this.appendDummyInput() .appendField(Blockly.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF); this.setPreviousStatement(true); @@ -246,7 +248,7 @@ Blockly.Blocks['controls_if_else'] = { * @this Blockly.Block */ init: function() { - this.setColour(210); + this.setColour(Blockly.Blocks.logic.HUE); this.appendDummyInput() .appendField(Blockly.Msg.CONTROLS_IF_ELSE_TITLE_ELSE); this.setPreviousStatement(true); @@ -277,7 +279,7 @@ Blockly.Blocks['logic_compare'] = { ['\u2265', 'GTE'] ]; this.setHelpUrl(Blockly.Msg.LOGIC_COMPARE_HELPURL); - this.setColour(210); + this.setColour(Blockly.Blocks.logic.HUE); this.setOutput(true, 'Boolean'); this.appendValueInput('A'); this.appendValueInput('B') @@ -310,7 +312,7 @@ Blockly.Blocks['logic_operation'] = { [[Blockly.Msg.LOGIC_OPERATION_AND, 'AND'], [Blockly.Msg.LOGIC_OPERATION_OR, 'OR']]; this.setHelpUrl(Blockly.Msg.LOGIC_OPERATION_HELPURL); - this.setColour(210); + this.setColour(Blockly.Blocks.logic.HUE); this.setOutput(true, 'Boolean'); this.appendValueInput('A') .setCheck('Boolean'); @@ -338,7 +340,7 @@ Blockly.Blocks['logic_negate'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.LOGIC_NEGATE_HELPURL); - this.setColour(210); + this.setColour(Blockly.Blocks.logic.HUE); this.setOutput(true, 'Boolean'); this.interpolateMsg(Blockly.Msg.LOGIC_NEGATE_TITLE, ['BOOL', 'Boolean', Blockly.ALIGN_RIGHT], @@ -357,7 +359,7 @@ Blockly.Blocks['logic_boolean'] = { [[Blockly.Msg.LOGIC_BOOLEAN_TRUE, 'TRUE'], [Blockly.Msg.LOGIC_BOOLEAN_FALSE, 'FALSE']]; this.setHelpUrl(Blockly.Msg.LOGIC_BOOLEAN_HELPURL); - this.setColour(210); + this.setColour(Blockly.Blocks.logic.HUE); this.setOutput(true, 'Boolean'); this.appendDummyInput() .appendField(new Blockly.FieldDropdown(BOOLEANS), 'BOOL'); @@ -372,7 +374,7 @@ Blockly.Blocks['logic_null'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.LOGIC_NULL_HELPURL); - this.setColour(210); + this.setColour(Blockly.Blocks.logic.HUE); this.setOutput(true); this.appendDummyInput() .appendField(Blockly.Msg.LOGIC_NULL); @@ -387,7 +389,7 @@ Blockly.Blocks['logic_ternary'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.LOGIC_TERNARY_HELPURL); - this.setColour(210); + this.setColour(Blockly.Blocks.logic.HUE); this.appendValueInput('IF') .setCheck('Boolean') .appendField(Blockly.Msg.LOGIC_TERNARY_CONDITION); diff --git a/blocks/loops.js b/blocks/loops.js index 873188856..839a86cd1 100644 --- a/blocks/loops.js +++ b/blocks/loops.js @@ -29,6 +29,8 @@ goog.provide('Blockly.Blocks.loops'); goog.require('Blockly.Blocks'); +Blockly.Blocks.loops.HUE = 120; + Blockly.Blocks['controls_repeat'] = { /** * Block for repeat n times (internal number). @@ -36,7 +38,7 @@ Blockly.Blocks['controls_repeat'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.CONTROLS_REPEAT_HELPURL); - this.setColour(120); + this.setColour(Blockly.Blocks.loops.HUE); this.appendDummyInput() .appendField(Blockly.Msg.CONTROLS_REPEAT_TITLE_REPEAT) .appendField(new Blockly.FieldTextInput('10', @@ -57,7 +59,7 @@ Blockly.Blocks['controls_repeat_ext'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.CONTROLS_REPEAT_HELPURL); - this.setColour(120); + this.setColour(Blockly.Blocks.loops.HUE); this.interpolateMsg(Blockly.Msg.CONTROLS_REPEAT_TITLE, ['TIMES', 'Number', Blockly.ALIGN_RIGHT], Blockly.ALIGN_RIGHT); @@ -80,7 +82,7 @@ Blockly.Blocks['controls_whileUntil'] = { [[Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_WHILE, 'WHILE'], [Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_UNTIL, 'UNTIL']]; this.setHelpUrl(Blockly.Msg.CONTROLS_WHILEUNTIL_HELPURL); - this.setColour(120); + this.setColour(Blockly.Blocks.loops.HUE); this.appendValueInput('BOOL') .setCheck('Boolean') .appendField(new Blockly.FieldDropdown(OPERATORS), 'MODE'); @@ -108,7 +110,7 @@ Blockly.Blocks['controls_for'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.CONTROLS_FOR_HELPURL); - this.setColour(120); + this.setColour(Blockly.Blocks.loops.HUE); this.appendDummyInput() .appendField(Blockly.Msg.CONTROLS_FOR_INPUT_WITH) .appendField(new Blockly.FieldVariable(null), 'VAR'); @@ -176,7 +178,7 @@ Blockly.Blocks['controls_forEach'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.CONTROLS_FOREACH_HELPURL); - this.setColour(120); + this.setColour(Blockly.Blocks.loops.HUE); this.appendValueInput('LIST') .setCheck('Array') .appendField(Blockly.Msg.CONTROLS_FOREACH_INPUT_ITEM) @@ -231,7 +233,7 @@ Blockly.Blocks['controls_flow_statements'] = { [[Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK, 'BREAK'], [Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE, 'CONTINUE']]; this.setHelpUrl(Blockly.Msg.CONTROLS_FLOW_STATEMENTS_HELPURL); - this.setColour(120); + this.setColour(Blockly.Blocks.loops.HUE); this.appendDummyInput() .appendField(new Blockly.FieldDropdown(OPERATORS), 'FLOW'); this.setPreviousStatement(true); diff --git a/blocks/math.js b/blocks/math.js index aecf840b4..9565837b3 100644 --- a/blocks/math.js +++ b/blocks/math.js @@ -29,6 +29,8 @@ goog.provide('Blockly.Blocks.math'); goog.require('Blockly.Blocks'); +Blockly.Blocks.math.HUE = 230; + Blockly.Blocks['math_number'] = { /** * Block for numeric value. @@ -36,7 +38,7 @@ Blockly.Blocks['math_number'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.MATH_NUMBER_HELPURL); - this.setColour(230); + this.setColour(Blockly.Blocks.math.HUE); this.appendDummyInput() .appendField(new Blockly.FieldTextInput('0', Blockly.FieldTextInput.numberValidator), 'NUM'); @@ -58,7 +60,7 @@ Blockly.Blocks['math_arithmetic'] = { [Blockly.Msg.MATH_DIVISION_SYMBOL, 'DIVIDE'], [Blockly.Msg.MATH_POWER_SYMBOL, 'POWER']]; this.setHelpUrl(Blockly.Msg.MATH_ARITHMETIC_HELPURL); - this.setColour(230); + this.setColour(Blockly.Blocks.math.HUE); this.setOutput(true, 'Number'); this.appendValueInput('A') .setCheck('Number'); @@ -97,7 +99,7 @@ Blockly.Blocks['math_single'] = { ['e^', 'EXP'], ['10^', 'POW10']]; this.setHelpUrl(Blockly.Msg.MATH_SINGLE_HELPURL); - this.setColour(230); + this.setColour(Blockly.Blocks.math.HUE); this.setOutput(true, 'Number'); this.interpolateMsg('%1 %2', ['OP', new Blockly.FieldDropdown(OPERATORS)], @@ -135,7 +137,7 @@ Blockly.Blocks['math_trig'] = { [Blockly.Msg.MATH_TRIG_ACOS, 'ACOS'], [Blockly.Msg.MATH_TRIG_ATAN, 'ATAN']]; this.setHelpUrl(Blockly.Msg.MATH_TRIG_HELPURL); - this.setColour(230); + this.setColour(Blockly.Blocks.math.HUE); this.setOutput(true, 'Number'); this.appendValueInput('NUM') .setCheck('Number') @@ -171,7 +173,7 @@ Blockly.Blocks['math_constant'] = { ['sqrt(\u00bd)', 'SQRT1_2'], ['\u221e', 'INFINITY']]; this.setHelpUrl(Blockly.Msg.MATH_CONSTANT_HELPURL); - this.setColour(230); + this.setColour(Blockly.Blocks.math.HUE); this.setOutput(true, 'Number'); this.appendDummyInput() .appendField(new Blockly.FieldDropdown(CONSTANTS), 'CONSTANT'); @@ -194,7 +196,7 @@ Blockly.Blocks['math_number_property'] = { [Blockly.Msg.MATH_IS_POSITIVE, 'POSITIVE'], [Blockly.Msg.MATH_IS_NEGATIVE, 'NEGATIVE'], [Blockly.Msg.MATH_IS_DIVISIBLE_BY, 'DIVISIBLE_BY']]; - this.setColour(230); + this.setColour(Blockly.Blocks.math.HUE); this.appendValueInput('NUMBER_TO_CHECK') .setCheck('Number'); var dropdown = new Blockly.FieldDropdown(PROPERTIES, function(option) { @@ -254,7 +256,7 @@ Blockly.Blocks['math_change'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.MATH_CHANGE_HELPURL); - this.setColour(230); + this.setColour(Blockly.Blocks.math.HUE); this.interpolateMsg( // TODO: Combine these messages instead of using concatenation. Blockly.Msg.MATH_CHANGE_TITLE_CHANGE + ' %1 ' + @@ -304,7 +306,7 @@ Blockly.Blocks['math_round'] = { [Blockly.Msg.MATH_ROUND_OPERATOR_ROUNDUP, 'ROUNDUP'], [Blockly.Msg.MATH_ROUND_OPERATOR_ROUNDDOWN, 'ROUNDDOWN']]; this.setHelpUrl(Blockly.Msg.MATH_ROUND_HELPURL); - this.setColour(230); + this.setColour(Blockly.Blocks.math.HUE); this.setOutput(true, 'Number'); this.appendValueInput('NUM') .setCheck('Number') @@ -332,7 +334,7 @@ Blockly.Blocks['math_on_list'] = { // Assign 'this' to a variable for use in the closures below. var thisBlock = this; this.setHelpUrl(Blockly.Msg.MATH_ONLIST_HELPURL); - this.setColour(230); + this.setColour(Blockly.Blocks.math.HUE); this.setOutput(true, 'Number'); var dropdown = new Blockly.FieldDropdown(OPERATORS, function(newOp) { if (newOp == 'MODE') { @@ -368,7 +370,7 @@ Blockly.Blocks['math_modulo'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.MATH_MODULO_HELPURL); - this.setColour(230); + this.setColour(Blockly.Blocks.math.HUE); this.setOutput(true, 'Number'); this.interpolateMsg(Blockly.Msg.MATH_MODULO_TITLE, ['DIVIDEND', 'Number', Blockly.ALIGN_RIGHT], @@ -386,7 +388,7 @@ Blockly.Blocks['math_constrain'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.MATH_CONSTRAIN_HELPURL); - this.setColour(230); + this.setColour(Blockly.Blocks.math.HUE); this.setOutput(true, 'Number'); this.interpolateMsg(Blockly.Msg.MATH_CONSTRAIN_TITLE, ['VALUE', 'Number', Blockly.ALIGN_RIGHT], @@ -405,7 +407,7 @@ Blockly.Blocks['math_random_int'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.MATH_RANDOM_INT_HELPURL); - this.setColour(230); + this.setColour(Blockly.Blocks.math.HUE); this.setOutput(true, 'Number'); this.interpolateMsg(Blockly.Msg.MATH_RANDOM_INT_TITLE, ['FROM', 'Number', Blockly.ALIGN_RIGHT], @@ -423,7 +425,7 @@ Blockly.Blocks['math_random_float'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.MATH_RANDOM_FLOAT_HELPURL); - this.setColour(230); + this.setColour(Blockly.Blocks.math.HUE); this.setOutput(true, 'Number'); this.appendDummyInput() .appendField(Blockly.Msg.MATH_RANDOM_FLOAT_TITLE_RANDOM); diff --git a/blocks/procedures.js b/blocks/procedures.js index 263d339e5..85722e2a6 100644 --- a/blocks/procedures.js +++ b/blocks/procedures.js @@ -29,6 +29,8 @@ goog.provide('Blockly.Blocks.procedures'); goog.require('Blockly.Blocks'); +Blockly.Blocks.procedures.HUE = 290; + Blockly.Blocks['procedures_defnoreturn'] = { /** * Block for defining a procedure with no return value. @@ -36,7 +38,7 @@ Blockly.Blocks['procedures_defnoreturn'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.PROCEDURES_DEFNORETURN_HELPURL); - this.setColour(290); + this.setColour(Blockly.Blocks.procedures.HUE); var name = Blockly.Procedures.findLegalName( Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE, this); this.appendDummyInput() @@ -329,7 +331,7 @@ Blockly.Blocks['procedures_defreturn'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.PROCEDURES_DEFRETURN_HELPURL); - this.setColour(290); + this.setColour(Blockly.Blocks.procedures.HUE); var name = Blockly.Procedures.findLegalName( Blockly.Msg.PROCEDURES_DEFRETURN_PROCEDURE, this); this.appendDummyInput() @@ -376,7 +378,7 @@ Blockly.Blocks['procedures_mutatorcontainer'] = { * @this Blockly.Block */ init: function() { - this.setColour(290); + this.setColour(Blockly.Blocks.procedures.HUE); this.appendDummyInput() .appendField(Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TITLE); this.appendStatementInput('STACK'); @@ -394,7 +396,7 @@ Blockly.Blocks['procedures_mutatorarg'] = { * @this Blockly.Block */ init: function() { - this.setColour(290); + this.setColour(Blockly.Blocks.procedures.HUE); this.appendDummyInput() .appendField(Blockly.Msg.PROCEDURES_MUTATORARG_TITLE) .appendField(new Blockly.FieldTextInput('x', this.validator_), 'NAME'); @@ -425,7 +427,7 @@ Blockly.Blocks['procedures_callnoreturn'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.PROCEDURES_CALLNORETURN_HELPURL); - this.setColour(290); + this.setColour(Blockly.Blocks.procedures.HUE); this.appendDummyInput() .appendField(Blockly.Msg.PROCEDURES_CALLNORETURN_CALL) .appendField('', 'NAME') @@ -628,7 +630,7 @@ Blockly.Blocks['procedures_callreturn'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.PROCEDURES_CALLRETURN_HELPURL); - this.setColour(290); + this.setColour(Blockly.Blocks.procedures.HUE); this.appendDummyInput() .appendField(Blockly.Msg.PROCEDURES_CALLRETURN_CALL) .appendField('', 'NAME') @@ -656,7 +658,7 @@ Blockly.Blocks['procedures_ifreturn'] = { */ init: function() { this.setHelpUrl('http://c2.com/cgi/wiki?GuardClause'); - this.setColour(290); + this.setColour(Blockly.Blocks.procedures.HUE); this.appendValueInput('CONDITION') .setCheck('Boolean') .appendField(Blockly.Msg.CONTROLS_IF_MSG_IF); diff --git a/blocks/text.js b/blocks/text.js index 5068556be..9fe2919f8 100644 --- a/blocks/text.js +++ b/blocks/text.js @@ -24,11 +24,13 @@ */ 'use strict'; -goog.provide('Blockly.Blocks.text'); +goog.provide('Blockly.Blocks.texts'); goog.require('Blockly.Blocks'); +Blockly.Blocks.texts.HUE = 160; + Blockly.Blocks['text'] = { /** * Block for text value. @@ -36,7 +38,7 @@ Blockly.Blocks['text'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.TEXT_TEXT_HELPURL); - this.setColour(160); + this.setColour(Blockly.Blocks.texts.HUE); this.appendDummyInput() .appendField(this.newQuote_(true)) .appendField(new Blockly.FieldTextInput(''), 'TEXT') @@ -67,7 +69,7 @@ Blockly.Blocks['text_join'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.TEXT_JOIN_HELPURL); - this.setColour(160); + this.setColour(Blockly.Blocks.texts.HUE); this.itemCount_ = 2; this.updateShape_(); this.setOutput(true, 'String'); @@ -193,7 +195,7 @@ Blockly.Blocks['text_create_join_container'] = { * @this Blockly.Block */ init: function() { - this.setColour(160); + this.setColour(Blockly.Blocks.texts.HUE); this.appendDummyInput() .appendField(Blockly.Msg.TEXT_CREATE_JOIN_TITLE_JOIN); this.appendStatementInput('STACK'); @@ -208,7 +210,7 @@ Blockly.Blocks['text_create_join_item'] = { * @this Blockly.Block */ init: function() { - this.setColour(160); + this.setColour(Blockly.Blocks.texts.HUE); this.appendDummyInput() .appendField(Blockly.Msg.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM); this.setPreviousStatement(true); @@ -225,7 +227,7 @@ Blockly.Blocks['text_append'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.TEXT_APPEND_HELPURL); - this.setColour(160); + this.setColour(Blockly.Blocks.texts.HUE); this.appendValueInput('TEXT') .appendField(Blockly.Msg.TEXT_APPEND_TO) .appendField(new Blockly.FieldVariable( @@ -269,7 +271,7 @@ Blockly.Blocks['text_length'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.TEXT_LENGTH_HELPURL); - this.setColour(160); + this.setColour(Blockly.Blocks.texts.HUE); this.interpolateMsg(Blockly.Msg.TEXT_LENGTH_TITLE, ['VALUE', ['String', 'Array'], Blockly.ALIGN_RIGHT], Blockly.ALIGN_RIGHT); @@ -285,7 +287,7 @@ Blockly.Blocks['text_isEmpty'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.TEXT_ISEMPTY_HELPURL); - this.setColour(160); + this.setColour(Blockly.Blocks.texts.HUE); this.interpolateMsg(Blockly.Msg.TEXT_ISEMPTY_TITLE, ['VALUE', ['String', 'Array'], Blockly.ALIGN_RIGHT], Blockly.ALIGN_RIGHT); @@ -304,7 +306,7 @@ Blockly.Blocks['text_indexOf'] = { [[Blockly.Msg.TEXT_INDEXOF_OPERATOR_FIRST, 'FIRST'], [Blockly.Msg.TEXT_INDEXOF_OPERATOR_LAST, 'LAST']]; this.setHelpUrl(Blockly.Msg.TEXT_INDEXOF_HELPURL); - this.setColour(160); + this.setColour(Blockly.Blocks.texts.HUE); this.setOutput(true, 'Number'); this.appendValueInput('VALUE') .setCheck('String') @@ -333,7 +335,7 @@ Blockly.Blocks['text_charAt'] = { [Blockly.Msg.TEXT_CHARAT_LAST, 'LAST'], [Blockly.Msg.TEXT_CHARAT_RANDOM, 'RANDOM']]; this.setHelpUrl(Blockly.Msg.TEXT_CHARAT_HELPURL); - this.setColour(160); + this.setColour(Blockly.Blocks.texts.HUE); this.setOutput(true, 'String'); this.appendValueInput('VALUE') .setCheck('String') @@ -421,7 +423,7 @@ Blockly.Blocks['text_getSubstring'] = { [Blockly.Msg.TEXT_GET_SUBSTRING_END_FROM_END, 'FROM_END'], [Blockly.Msg.TEXT_GET_SUBSTRING_END_LAST, 'LAST']]; this.setHelpUrl(Blockly.Msg.TEXT_GET_SUBSTRING_HELPURL); - this.setColour(160); + this.setColour(Blockly.Blocks.texts.HUE); this.appendValueInput('STRING') .setCheck('String') .appendField(Blockly.Msg.TEXT_GET_SUBSTRING_INPUT_IN_TEXT); @@ -522,7 +524,7 @@ Blockly.Blocks['text_changeCase'] = { [Blockly.Msg.TEXT_CHANGECASE_OPERATOR_LOWERCASE, 'LOWERCASE'], [Blockly.Msg.TEXT_CHANGECASE_OPERATOR_TITLECASE, 'TITLECASE']]; this.setHelpUrl(Blockly.Msg.TEXT_CHANGECASE_HELPURL); - this.setColour(160); + this.setColour(Blockly.Blocks.texts.HUE); this.appendValueInput('TEXT') .setCheck('String') .appendField(new Blockly.FieldDropdown(OPERATORS), 'CASE'); @@ -542,7 +544,7 @@ Blockly.Blocks['text_trim'] = { [Blockly.Msg.TEXT_TRIM_OPERATOR_LEFT, 'LEFT'], [Blockly.Msg.TEXT_TRIM_OPERATOR_RIGHT, 'RIGHT']]; this.setHelpUrl(Blockly.Msg.TEXT_TRIM_HELPURL); - this.setColour(160); + this.setColour(Blockly.Blocks.texts.HUE); this.appendValueInput('TEXT') .setCheck('String') .appendField(new Blockly.FieldDropdown(OPERATORS), 'MODE'); @@ -558,7 +560,7 @@ Blockly.Blocks['text_print'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.TEXT_PRINT_HELPURL); - this.setColour(160); + this.setColour(Blockly.Blocks.texts.HUE); this.interpolateMsg(Blockly.Msg.TEXT_PRINT_TITLE, ['TEXT', null, Blockly.ALIGN_RIGHT], Blockly.ALIGN_RIGHT); @@ -580,7 +582,7 @@ Blockly.Blocks['text_prompt'] = { // Assign 'this' to a variable for use in the closure below. var thisBlock = this; this.setHelpUrl(Blockly.Msg.TEXT_PROMPT_HELPURL); - this.setColour(160); + this.setColour(Blockly.Blocks.texts.HUE); var dropdown = new Blockly.FieldDropdown(TYPES, function(newOp) { if (newOp == 'NUMBER') { thisBlock.changeOutput('Number'); @@ -617,7 +619,7 @@ Blockly.Blocks['text_prompt_ext'] = { // Assign 'this' to a variable for use in the closure below. var thisBlock = this; this.setHelpUrl(Blockly.Msg.TEXT_PROMPT_HELPURL); - this.setColour(160); + this.setColour(Blockly.Blocks.texts.HUE); var dropdown = new Blockly.FieldDropdown(TYPES, function(newOp) { if (newOp == 'NUMBER') { thisBlock.changeOutput('Number'); diff --git a/blocks/variables.js b/blocks/variables.js index 9d6fd991e..9c6274fbd 100644 --- a/blocks/variables.js +++ b/blocks/variables.js @@ -29,6 +29,8 @@ goog.provide('Blockly.Blocks.variables'); goog.require('Blockly.Blocks'); +Blockly.Blocks.variables.HUE = 330; + Blockly.Blocks['variables_get'] = { /** * Block for variable getter. @@ -36,7 +38,7 @@ Blockly.Blocks['variables_get'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.VARIABLES_GET_HELPURL); - this.setColour(330); + this.setColour(Blockly.Blocks.variables.HUE); this.appendDummyInput() .appendField(Blockly.Msg.VARIABLES_GET_TITLE) .appendField(new Blockly.FieldVariable( @@ -92,7 +94,7 @@ Blockly.Blocks['variables_set'] = { */ init: function() { this.setHelpUrl(Blockly.Msg.VARIABLES_SET_HELPURL); - this.setColour(330); + this.setColour(Blockly.Blocks.variables.HUE); this.interpolateMsg( // TODO: Combine these messages instead of using concatenation. Blockly.Msg.VARIABLES_SET_TITLE + ' %1 ' + diff --git a/blocks_compressed.js b/blocks_compressed.js index 67999e4eb..3ce437abd 100644 --- a/blocks_compressed.js +++ b/blocks_compressed.js @@ -3,95 +3,95 @@ // Copyright 2012 Google Inc. Apache License 2.0 -Blockly.Blocks.colour={};Blockly.Blocks.colour_picker={init:function(){this.setHelpUrl(Blockly.Msg.COLOUR_PICKER_HELPURL);this.setColour(20);this.appendDummyInput().appendField(new Blockly.FieldColour("#ff0000"),"COLOUR");this.setOutput(!0,"Colour");this.setTooltip(Blockly.Msg.COLOUR_PICKER_TOOLTIP)}}; -Blockly.Blocks.colour_random={init:function(){this.setHelpUrl(Blockly.Msg.COLOUR_RANDOM_HELPURL);this.setColour(20);this.appendDummyInput().appendField(Blockly.Msg.COLOUR_RANDOM_TITLE);this.setOutput(!0,"Colour");this.setTooltip(Blockly.Msg.COLOUR_RANDOM_TOOLTIP)}}; -Blockly.Blocks.colour_rgb={init:function(){this.setHelpUrl(Blockly.Msg.COLOUR_RGB_HELPURL);this.setColour(20);this.appendValueInput("RED").setCheck("Number").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.COLOUR_RGB_TITLE).appendField(Blockly.Msg.COLOUR_RGB_RED);this.appendValueInput("GREEN").setCheck("Number").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.COLOUR_RGB_GREEN);this.appendValueInput("BLUE").setCheck("Number").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.COLOUR_RGB_BLUE); +Blockly.Blocks.colour={};Blockly.Blocks.colour.HUE=20;Blockly.Blocks.colour_picker={init:function(){this.setHelpUrl(Blockly.Msg.COLOUR_PICKER_HELPURL);this.setColour(Blockly.Blocks.colour.HUE);this.appendDummyInput().appendField(new Blockly.FieldColour("#ff0000"),"COLOUR");this.setOutput(!0,"Colour");this.setTooltip(Blockly.Msg.COLOUR_PICKER_TOOLTIP)}}; +Blockly.Blocks.colour_random={init:function(){this.setHelpUrl(Blockly.Msg.COLOUR_RANDOM_HELPURL);this.setColour(Blockly.Blocks.colour.HUE);this.appendDummyInput().appendField(Blockly.Msg.COLOUR_RANDOM_TITLE);this.setOutput(!0,"Colour");this.setTooltip(Blockly.Msg.COLOUR_RANDOM_TOOLTIP)}}; +Blockly.Blocks.colour_rgb={init:function(){this.setHelpUrl(Blockly.Msg.COLOUR_RGB_HELPURL);this.setColour(Blockly.Blocks.colour.HUE);this.appendValueInput("RED").setCheck("Number").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.COLOUR_RGB_TITLE).appendField(Blockly.Msg.COLOUR_RGB_RED);this.appendValueInput("GREEN").setCheck("Number").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.COLOUR_RGB_GREEN);this.appendValueInput("BLUE").setCheck("Number").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.COLOUR_RGB_BLUE); this.setOutput(!0,"Colour");this.setTooltip(Blockly.Msg.COLOUR_RGB_TOOLTIP)}}; -Blockly.Blocks.colour_blend={init:function(){this.setHelpUrl(Blockly.Msg.COLOUR_BLEND_HELPURL);this.setColour(20);this.appendValueInput("COLOUR1").setCheck("Colour").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.COLOUR_BLEND_TITLE).appendField(Blockly.Msg.COLOUR_BLEND_COLOUR1);this.appendValueInput("COLOUR2").setCheck("Colour").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.COLOUR_BLEND_COLOUR2);this.appendValueInput("RATIO").setCheck("Number").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.COLOUR_BLEND_RATIO);this.setOutput(!0, -"Colour");this.setTooltip(Blockly.Msg.COLOUR_BLEND_TOOLTIP)}}; +Blockly.Blocks.colour_blend={init:function(){this.setHelpUrl(Blockly.Msg.COLOUR_BLEND_HELPURL);this.setColour(Blockly.Blocks.colour.HUE);this.appendValueInput("COLOUR1").setCheck("Colour").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.COLOUR_BLEND_TITLE).appendField(Blockly.Msg.COLOUR_BLEND_COLOUR1);this.appendValueInput("COLOUR2").setCheck("Colour").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.COLOUR_BLEND_COLOUR2);this.appendValueInput("RATIO").setCheck("Number").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.COLOUR_BLEND_RATIO); +this.setOutput(!0,"Colour");this.setTooltip(Blockly.Msg.COLOUR_BLEND_TOOLTIP)}}; // Copyright 2012 Google Inc. Apache License 2.0 -Blockly.Blocks.lists={};Blockly.Blocks.lists_create_empty={init:function(){this.setHelpUrl(Blockly.Msg.LISTS_CREATE_EMPTY_HELPURL);this.setColour(260);this.setOutput(!0,"Array");this.appendDummyInput().appendField(Blockly.Msg.LISTS_CREATE_EMPTY_TITLE);this.setTooltip(Blockly.Msg.LISTS_CREATE_EMPTY_TOOLTIP)}}; -Blockly.Blocks.lists_create_with={init:function(){this.setHelpUrl(Blockly.Msg.LISTS_CREATE_WITH_HELPURL);this.setColour(260);this.itemCount_=3;this.updateShape_();this.setOutput(!0,"Array");this.setMutator(new Blockly.Mutator(["lists_create_with_item"]));this.setTooltip(Blockly.Msg.LISTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("items",this.itemCount_);return a},domToMutation:function(a){this.itemCount_=parseInt(a.getAttribute("items"), +Blockly.Blocks.lists={};Blockly.Blocks.lists.HUE=260;Blockly.Blocks.lists_create_empty={init:function(){this.setHelpUrl(Blockly.Msg.LISTS_CREATE_EMPTY_HELPURL);this.setColour(Blockly.Blocks.lists.HUE);this.setOutput(!0,"Array");this.appendDummyInput().appendField(Blockly.Msg.LISTS_CREATE_EMPTY_TITLE);this.setTooltip(Blockly.Msg.LISTS_CREATE_EMPTY_TOOLTIP)}}; +Blockly.Blocks.lists_create_with={init:function(){this.setHelpUrl(Blockly.Msg.LISTS_CREATE_WITH_HELPURL);this.setColour(Blockly.Blocks.lists.HUE);this.itemCount_=3;this.updateShape_();this.setOutput(!0,"Array");this.setMutator(new Blockly.Mutator(["lists_create_with_item"]));this.setTooltip(Blockly.Msg.LISTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("items",this.itemCount_);return a},domToMutation:function(a){this.itemCount_=parseInt(a.getAttribute("items"), 10);this.updateShape_()},decompose:function(a){var b=Blockly.Block.obtain(a,"lists_create_with_container");b.initSvg();for(var c=b.getInput("STACK").connection,d=0;d","LT"],["\u2265","LTE"],["<","GT"],["\u2264","GTE"]]:[["=","EQ"],["\u2260","NEQ"],["<","LT"],["\u2264","LTE"],[">","GT"],["\u2265","GTE"]];this.setHelpUrl(Blockly.Msg.LOGIC_COMPARE_HELPURL);this.setColour(210);this.setOutput(!0,"Boolean");this.appendValueInput("A");this.appendValueInput("B").appendField(new Blockly.FieldDropdown(a),"OP");this.setInputsInline(!0);var b=this;this.setTooltip(function(){var a= +b++;break;case "controls_if_else":d=this.getInput("ELSE");a.statementConnection_=d&&d.connection.targetConnection;break;default:throw"Unknown block type.";}a=a.nextConnection&&a.nextConnection.targetBlock()}}};Blockly.Blocks.controls_if_if={init:function(){this.setColour(Blockly.Blocks.logic.HUE);this.appendDummyInput().appendField(Blockly.Msg.CONTROLS_IF_IF_TITLE_IF);this.appendStatementInput("STACK");this.setTooltip(Blockly.Msg.CONTROLS_IF_IF_TOOLTIP);this.contextMenu=!1}}; +Blockly.Blocks.controls_if_elseif={init:function(){this.setColour(Blockly.Blocks.logic.HUE);this.appendDummyInput().appendField(Blockly.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip(Blockly.Msg.CONTROLS_IF_ELSEIF_TOOLTIP);this.contextMenu=!1}}; +Blockly.Blocks.controls_if_else={init:function(){this.setColour(Blockly.Blocks.logic.HUE);this.appendDummyInput().appendField(Blockly.Msg.CONTROLS_IF_ELSE_TITLE_ELSE);this.setPreviousStatement(!0);this.setTooltip(Blockly.Msg.CONTROLS_IF_ELSE_TOOLTIP);this.contextMenu=!1}}; +Blockly.Blocks.logic_compare={init:function(){var a=Blockly.RTL?[["=","EQ"],["\u2260","NEQ"],[">","LT"],["\u2265","LTE"],["<","GT"],["\u2264","GTE"]]:[["=","EQ"],["\u2260","NEQ"],["<","LT"],["\u2264","LTE"],[">","GT"],["\u2265","GTE"]];this.setHelpUrl(Blockly.Msg.LOGIC_COMPARE_HELPURL);this.setColour(Blockly.Blocks.logic.HUE);this.setOutput(!0,"Boolean");this.appendValueInput("A");this.appendValueInput("B").appendField(new Blockly.FieldDropdown(a),"OP");this.setInputsInline(!0);var b=this;this.setTooltip(function(){var a= b.getFieldValue("OP");return{EQ:Blockly.Msg.LOGIC_COMPARE_TOOLTIP_EQ,NEQ:Blockly.Msg.LOGIC_COMPARE_TOOLTIP_NEQ,LT:Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LT,LTE:Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LTE,GT:Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GT,GTE:Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GTE}[a]})}}; -Blockly.Blocks.logic_operation={init:function(){var a=[[Blockly.Msg.LOGIC_OPERATION_AND,"AND"],[Blockly.Msg.LOGIC_OPERATION_OR,"OR"]];this.setHelpUrl(Blockly.Msg.LOGIC_OPERATION_HELPURL);this.setColour(210);this.setOutput(!0,"Boolean");this.appendValueInput("A").setCheck("Boolean");this.appendValueInput("B").setCheck("Boolean").appendField(new Blockly.FieldDropdown(a),"OP");this.setInputsInline(!0);var b=this;this.setTooltip(function(){var a=b.getFieldValue("OP");return{AND:Blockly.Msg.LOGIC_OPERATION_TOOLTIP_AND, -OR:Blockly.Msg.LOGIC_OPERATION_TOOLTIP_OR}[a]})}};Blockly.Blocks.logic_negate={init:function(){this.setHelpUrl(Blockly.Msg.LOGIC_NEGATE_HELPURL);this.setColour(210);this.setOutput(!0,"Boolean");this.interpolateMsg(Blockly.Msg.LOGIC_NEGATE_TITLE,["BOOL","Boolean",Blockly.ALIGN_RIGHT],Blockly.ALIGN_RIGHT);this.setTooltip(Blockly.Msg.LOGIC_NEGATE_TOOLTIP)}}; -Blockly.Blocks.logic_boolean={init:function(){var a=[[Blockly.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Blockly.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setHelpUrl(Blockly.Msg.LOGIC_BOOLEAN_HELPURL);this.setColour(210);this.setOutput(!0,"Boolean");this.appendDummyInput().appendField(new Blockly.FieldDropdown(a),"BOOL");this.setTooltip(Blockly.Msg.LOGIC_BOOLEAN_TOOLTIP)}}; -Blockly.Blocks.logic_null={init:function(){this.setHelpUrl(Blockly.Msg.LOGIC_NULL_HELPURL);this.setColour(210);this.setOutput(!0);this.appendDummyInput().appendField(Blockly.Msg.LOGIC_NULL);this.setTooltip(Blockly.Msg.LOGIC_NULL_TOOLTIP)}}; -Blockly.Blocks.logic_ternary={init:function(){this.setHelpUrl(Blockly.Msg.LOGIC_TERNARY_HELPURL);this.setColour(210);this.appendValueInput("IF").setCheck("Boolean").appendField(Blockly.Msg.LOGIC_TERNARY_CONDITION);this.appendValueInput("THEN").appendField(Blockly.Msg.LOGIC_TERNARY_IF_TRUE);this.appendValueInput("ELSE").appendField(Blockly.Msg.LOGIC_TERNARY_IF_FALSE);this.setOutput(!0);this.setTooltip(Blockly.Msg.LOGIC_TERNARY_TOOLTIP)}}; +Blockly.Blocks.logic_operation={init:function(){var a=[[Blockly.Msg.LOGIC_OPERATION_AND,"AND"],[Blockly.Msg.LOGIC_OPERATION_OR,"OR"]];this.setHelpUrl(Blockly.Msg.LOGIC_OPERATION_HELPURL);this.setColour(Blockly.Blocks.logic.HUE);this.setOutput(!0,"Boolean");this.appendValueInput("A").setCheck("Boolean");this.appendValueInput("B").setCheck("Boolean").appendField(new Blockly.FieldDropdown(a),"OP");this.setInputsInline(!0);var b=this;this.setTooltip(function(){var a=b.getFieldValue("OP");return{AND:Blockly.Msg.LOGIC_OPERATION_TOOLTIP_AND, +OR:Blockly.Msg.LOGIC_OPERATION_TOOLTIP_OR}[a]})}};Blockly.Blocks.logic_negate={init:function(){this.setHelpUrl(Blockly.Msg.LOGIC_NEGATE_HELPURL);this.setColour(Blockly.Blocks.logic.HUE);this.setOutput(!0,"Boolean");this.interpolateMsg(Blockly.Msg.LOGIC_NEGATE_TITLE,["BOOL","Boolean",Blockly.ALIGN_RIGHT],Blockly.ALIGN_RIGHT);this.setTooltip(Blockly.Msg.LOGIC_NEGATE_TOOLTIP)}}; +Blockly.Blocks.logic_boolean={init:function(){var a=[[Blockly.Msg.LOGIC_BOOLEAN_TRUE,"TRUE"],[Blockly.Msg.LOGIC_BOOLEAN_FALSE,"FALSE"]];this.setHelpUrl(Blockly.Msg.LOGIC_BOOLEAN_HELPURL);this.setColour(Blockly.Blocks.logic.HUE);this.setOutput(!0,"Boolean");this.appendDummyInput().appendField(new Blockly.FieldDropdown(a),"BOOL");this.setTooltip(Blockly.Msg.LOGIC_BOOLEAN_TOOLTIP)}}; +Blockly.Blocks.logic_null={init:function(){this.setHelpUrl(Blockly.Msg.LOGIC_NULL_HELPURL);this.setColour(Blockly.Blocks.logic.HUE);this.setOutput(!0);this.appendDummyInput().appendField(Blockly.Msg.LOGIC_NULL);this.setTooltip(Blockly.Msg.LOGIC_NULL_TOOLTIP)}}; +Blockly.Blocks.logic_ternary={init:function(){this.setHelpUrl(Blockly.Msg.LOGIC_TERNARY_HELPURL);this.setColour(Blockly.Blocks.logic.HUE);this.appendValueInput("IF").setCheck("Boolean").appendField(Blockly.Msg.LOGIC_TERNARY_CONDITION);this.appendValueInput("THEN").appendField(Blockly.Msg.LOGIC_TERNARY_IF_TRUE);this.appendValueInput("ELSE").appendField(Blockly.Msg.LOGIC_TERNARY_IF_FALSE);this.setOutput(!0);this.setTooltip(Blockly.Msg.LOGIC_TERNARY_TOOLTIP)}}; // Copyright 2012 Google Inc. Apache License 2.0 -Blockly.Blocks.loops={}; -Blockly.Blocks.controls_repeat={init:function(){this.setHelpUrl(Blockly.Msg.CONTROLS_REPEAT_HELPURL);this.setColour(120);this.appendDummyInput().appendField(Blockly.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new Blockly.FieldTextInput("10",Blockly.FieldTextInput.nonnegativeIntegerValidator),"TIMES").appendField(Blockly.Msg.CONTROLS_REPEAT_TITLE_TIMES);this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip(Blockly.Msg.CONTROLS_REPEAT_TOOLTIP)}}; -Blockly.Blocks.controls_repeat_ext={init:function(){this.setHelpUrl(Blockly.Msg.CONTROLS_REPEAT_HELPURL);this.setColour(120);this.interpolateMsg(Blockly.Msg.CONTROLS_REPEAT_TITLE,["TIMES","Number",Blockly.ALIGN_RIGHT],Blockly.ALIGN_RIGHT);this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setInputsInline(!0);this.setTooltip(Blockly.Msg.CONTROLS_REPEAT_TOOLTIP)}}; -Blockly.Blocks.controls_whileUntil={init:function(){var a=[[Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];this.setHelpUrl(Blockly.Msg.CONTROLS_WHILEUNTIL_HELPURL);this.setColour(120);this.appendValueInput("BOOL").setCheck("Boolean").appendField(new Blockly.FieldDropdown(a),"MODE");this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_WHILEUNTIL_INPUT_DO);this.setPreviousStatement(!0);this.setNextStatement(!0);var b=this; -this.setTooltip(function(){var a=b.getFieldValue("MODE");return{WHILE:Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[a]})}}; -Blockly.Blocks.controls_for={init:function(){this.setHelpUrl(Blockly.Msg.CONTROLS_FOR_HELPURL);this.setColour(120);this.appendDummyInput().appendField(Blockly.Msg.CONTROLS_FOR_INPUT_WITH).appendField(new Blockly.FieldVariable(null),"VAR");this.interpolateMsg(Blockly.Msg.CONTROLS_FOR_INPUT_FROM_TO_BY,["FROM","Number",Blockly.ALIGN_RIGHT],["TO","Number",Blockly.ALIGN_RIGHT],["BY","Number",Blockly.ALIGN_RIGHT],Blockly.ALIGN_RIGHT);this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_FOR_INPUT_DO); +Blockly.Blocks.loops={};Blockly.Blocks.loops.HUE=120; +Blockly.Blocks.controls_repeat={init:function(){this.setHelpUrl(Blockly.Msg.CONTROLS_REPEAT_HELPURL);this.setColour(Blockly.Blocks.loops.HUE);this.appendDummyInput().appendField(Blockly.Msg.CONTROLS_REPEAT_TITLE_REPEAT).appendField(new Blockly.FieldTextInput("10",Blockly.FieldTextInput.nonnegativeIntegerValidator),"TIMES").appendField(Blockly.Msg.CONTROLS_REPEAT_TITLE_TIMES);this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO);this.setPreviousStatement(!0);this.setNextStatement(!0); +this.setTooltip(Blockly.Msg.CONTROLS_REPEAT_TOOLTIP)}};Blockly.Blocks.controls_repeat_ext={init:function(){this.setHelpUrl(Blockly.Msg.CONTROLS_REPEAT_HELPURL);this.setColour(Blockly.Blocks.loops.HUE);this.interpolateMsg(Blockly.Msg.CONTROLS_REPEAT_TITLE,["TIMES","Number",Blockly.ALIGN_RIGHT],Blockly.ALIGN_RIGHT);this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_REPEAT_INPUT_DO);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setInputsInline(!0);this.setTooltip(Blockly.Msg.CONTROLS_REPEAT_TOOLTIP)}}; +Blockly.Blocks.controls_whileUntil={init:function(){var a=[[Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_WHILE,"WHILE"],[Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_UNTIL,"UNTIL"]];this.setHelpUrl(Blockly.Msg.CONTROLS_WHILEUNTIL_HELPURL);this.setColour(Blockly.Blocks.loops.HUE);this.appendValueInput("BOOL").setCheck("Boolean").appendField(new Blockly.FieldDropdown(a),"MODE");this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_WHILEUNTIL_INPUT_DO);this.setPreviousStatement(!0);this.setNextStatement(!0); +var b=this;this.setTooltip(function(){var a=b.getFieldValue("MODE");return{WHILE:Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE,UNTIL:Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}[a]})}}; +Blockly.Blocks.controls_for={init:function(){this.setHelpUrl(Blockly.Msg.CONTROLS_FOR_HELPURL);this.setColour(Blockly.Blocks.loops.HUE);this.appendDummyInput().appendField(Blockly.Msg.CONTROLS_FOR_INPUT_WITH).appendField(new Blockly.FieldVariable(null),"VAR");this.interpolateMsg(Blockly.Msg.CONTROLS_FOR_INPUT_FROM_TO_BY,["FROM","Number",Blockly.ALIGN_RIGHT],["TO","Number",Blockly.ALIGN_RIGHT],["BY","Number",Blockly.ALIGN_RIGHT],Blockly.ALIGN_RIGHT);this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_FOR_INPUT_DO); this.setPreviousStatement(!0);this.setNextStatement(!0);this.setInputsInline(!0);var a=this;this.setTooltip(function(){return Blockly.Msg.CONTROLS_FOR_TOOLTIP.replace("%1",a.getFieldValue("VAR"))})},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(a,b){Blockly.Names.equals(a,this.getFieldValue("VAR"))&&this.setFieldValue(b,"VAR")},customContextMenu:function(a){if(!this.isCollapsed()){var b={enabled:!0},c=this.getFieldValue("VAR");b.text=Blockly.Msg.VARIABLES_SET_CREATE_GET.replace("%1", c);c=goog.dom.createDom("field",null,c);c.setAttribute("name","VAR");c=goog.dom.createDom("block",null,c);c.setAttribute("type","variables_get");b.callback=Blockly.ContextMenu.callbackFactory(this,c);a.push(b)}}}; -Blockly.Blocks.controls_forEach={init:function(){this.setHelpUrl(Blockly.Msg.CONTROLS_FOREACH_HELPURL);this.setColour(120);this.appendValueInput("LIST").setCheck("Array").appendField(Blockly.Msg.CONTROLS_FOREACH_INPUT_ITEM).appendField(new Blockly.FieldVariable(null),"VAR").appendField(Blockly.Msg.CONTROLS_FOREACH_INPUT_INLIST);Blockly.Msg.CONTROLS_FOREACH_INPUT_INLIST_TAIL&&(this.appendDummyInput().appendField(Blockly.Msg.CONTROLS_FOREACH_INPUT_INLIST_TAIL),this.setInputsInline(!0));this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_FOREACH_INPUT_DO); -this.setPreviousStatement(!0);this.setNextStatement(!0);var a=this;this.setTooltip(function(){return Blockly.Msg.CONTROLS_FOREACH_TOOLTIP.replace("%1",a.getFieldValue("VAR"))})},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(a,b){Blockly.Names.equals(a,this.getFieldValue("VAR"))&&this.setFieldValue(b,"VAR")},customContextMenu:Blockly.Blocks.controls_for.customContextMenu}; -Blockly.Blocks.controls_flow_statements={init:function(){var a=[[Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];this.setHelpUrl(Blockly.Msg.CONTROLS_FLOW_STATEMENTS_HELPURL);this.setColour(120);this.appendDummyInput().appendField(new Blockly.FieldDropdown(a),"FLOW");this.setPreviousStatement(!0);var b=this;this.setTooltip(function(){var a=b.getFieldValue("FLOW");return{BREAK:Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK, +Blockly.Blocks.controls_forEach={init:function(){this.setHelpUrl(Blockly.Msg.CONTROLS_FOREACH_HELPURL);this.setColour(Blockly.Blocks.loops.HUE);this.appendValueInput("LIST").setCheck("Array").appendField(Blockly.Msg.CONTROLS_FOREACH_INPUT_ITEM).appendField(new Blockly.FieldVariable(null),"VAR").appendField(Blockly.Msg.CONTROLS_FOREACH_INPUT_INLIST);Blockly.Msg.CONTROLS_FOREACH_INPUT_INLIST_TAIL&&(this.appendDummyInput().appendField(Blockly.Msg.CONTROLS_FOREACH_INPUT_INLIST_TAIL),this.setInputsInline(!0)); +this.appendStatementInput("DO").appendField(Blockly.Msg.CONTROLS_FOREACH_INPUT_DO);this.setPreviousStatement(!0);this.setNextStatement(!0);var a=this;this.setTooltip(function(){return Blockly.Msg.CONTROLS_FOREACH_TOOLTIP.replace("%1",a.getFieldValue("VAR"))})},getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(a,b){Blockly.Names.equals(a,this.getFieldValue("VAR"))&&this.setFieldValue(b,"VAR")},customContextMenu:Blockly.Blocks.controls_for.customContextMenu}; +Blockly.Blocks.controls_flow_statements={init:function(){var a=[[Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK,"BREAK"],[Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE,"CONTINUE"]];this.setHelpUrl(Blockly.Msg.CONTROLS_FLOW_STATEMENTS_HELPURL);this.setColour(Blockly.Blocks.loops.HUE);this.appendDummyInput().appendField(new Blockly.FieldDropdown(a),"FLOW");this.setPreviousStatement(!0);var b=this;this.setTooltip(function(){var a=b.getFieldValue("FLOW");return{BREAK:Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK, CONTINUE:Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}[a]})},onchange:function(){if(this.workspace){var a=!1,b=this;do{if("controls_repeat"==b.type||"controls_repeat_ext"==b.type||"controls_forEach"==b.type||"controls_for"==b.type||"controls_whileUntil"==b.type){a=!0;break}b=b.getSurroundParent()}while(b);a?this.setWarningText(null):this.setWarningText(Blockly.Msg.CONTROLS_FLOW_STATEMENTS_WARNING)}}}; // Copyright 2012 Google Inc. Apache License 2.0 -Blockly.Blocks.math={};Blockly.Blocks.math_number={init:function(){this.setHelpUrl(Blockly.Msg.MATH_NUMBER_HELPURL);this.setColour(230);this.appendDummyInput().appendField(new Blockly.FieldTextInput("0",Blockly.FieldTextInput.numberValidator),"NUM");this.setOutput(!0,"Number");this.setTooltip(Blockly.Msg.MATH_NUMBER_TOOLTIP)}}; -Blockly.Blocks.math_arithmetic={init:function(){var a=[[Blockly.Msg.MATH_ADDITION_SYMBOL,"ADD"],[Blockly.Msg.MATH_SUBTRACTION_SYMBOL,"MINUS"],[Blockly.Msg.MATH_MULTIPLICATION_SYMBOL,"MULTIPLY"],[Blockly.Msg.MATH_DIVISION_SYMBOL,"DIVIDE"],[Blockly.Msg.MATH_POWER_SYMBOL,"POWER"]];this.setHelpUrl(Blockly.Msg.MATH_ARITHMETIC_HELPURL);this.setColour(230);this.setOutput(!0,"Number");this.appendValueInput("A").setCheck("Number");this.appendValueInput("B").setCheck("Number").appendField(new Blockly.FieldDropdown(a), +Blockly.Blocks.math={};Blockly.Blocks.math.HUE=230;Blockly.Blocks.math_number={init:function(){this.setHelpUrl(Blockly.Msg.MATH_NUMBER_HELPURL);this.setColour(Blockly.Blocks.math.HUE);this.appendDummyInput().appendField(new Blockly.FieldTextInput("0",Blockly.FieldTextInput.numberValidator),"NUM");this.setOutput(!0,"Number");this.setTooltip(Blockly.Msg.MATH_NUMBER_TOOLTIP)}}; +Blockly.Blocks.math_arithmetic={init:function(){var a=[[Blockly.Msg.MATH_ADDITION_SYMBOL,"ADD"],[Blockly.Msg.MATH_SUBTRACTION_SYMBOL,"MINUS"],[Blockly.Msg.MATH_MULTIPLICATION_SYMBOL,"MULTIPLY"],[Blockly.Msg.MATH_DIVISION_SYMBOL,"DIVIDE"],[Blockly.Msg.MATH_POWER_SYMBOL,"POWER"]];this.setHelpUrl(Blockly.Msg.MATH_ARITHMETIC_HELPURL);this.setColour(Blockly.Blocks.math.HUE);this.setOutput(!0,"Number");this.appendValueInput("A").setCheck("Number");this.appendValueInput("B").setCheck("Number").appendField(new Blockly.FieldDropdown(a), "OP");this.setInputsInline(!0);var b=this;this.setTooltip(function(){var a=b.getFieldValue("OP");return{ADD:Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_ADD,MINUS:Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS,MULTIPLY:Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY,DIVIDE:Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE,POWER:Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_POWER}[a]})}}; -Blockly.Blocks.math_single={init:function(){var a=[[Blockly.Msg.MATH_SINGLE_OP_ROOT,"ROOT"],[Blockly.Msg.MATH_SINGLE_OP_ABSOLUTE,"ABS"],["-","NEG"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]];this.setHelpUrl(Blockly.Msg.MATH_SINGLE_HELPURL);this.setColour(230);this.setOutput(!0,"Number");this.interpolateMsg("%1 %2",["OP",new Blockly.FieldDropdown(a)],["NUM","Number",Blockly.ALIGN_RIGHT],Blockly.ALIGN_RIGHT);var b=this;this.setTooltip(function(){var a=b.getFieldValue("OP");return{ROOT:Blockly.Msg.MATH_SINGLE_TOOLTIP_ROOT, -ABS:Blockly.Msg.MATH_SINGLE_TOOLTIP_ABS,NEG:Blockly.Msg.MATH_SINGLE_TOOLTIP_NEG,LN:Blockly.Msg.MATH_SINGLE_TOOLTIP_LN,LOG10:Blockly.Msg.MATH_SINGLE_TOOLTIP_LOG10,EXP:Blockly.Msg.MATH_SINGLE_TOOLTIP_EXP,POW10:Blockly.Msg.MATH_SINGLE_TOOLTIP_POW10}[a]})}}; -Blockly.Blocks.math_trig={init:function(){var a=[[Blockly.Msg.MATH_TRIG_SIN,"SIN"],[Blockly.Msg.MATH_TRIG_COS,"COS"],[Blockly.Msg.MATH_TRIG_TAN,"TAN"],[Blockly.Msg.MATH_TRIG_ASIN,"ASIN"],[Blockly.Msg.MATH_TRIG_ACOS,"ACOS"],[Blockly.Msg.MATH_TRIG_ATAN,"ATAN"]];this.setHelpUrl(Blockly.Msg.MATH_TRIG_HELPURL);this.setColour(230);this.setOutput(!0,"Number");this.appendValueInput("NUM").setCheck("Number").appendField(new Blockly.FieldDropdown(a),"OP");var b=this;this.setTooltip(function(){var a=b.getFieldValue("OP"); -return{SIN:Blockly.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Blockly.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Blockly.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Blockly.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Blockly.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Blockly.Msg.MATH_TRIG_TOOLTIP_ATAN}[a]})}}; -Blockly.Blocks.math_constant={init:function(){this.setHelpUrl(Blockly.Msg.MATH_CONSTANT_HELPURL);this.setColour(230);this.setOutput(!0,"Number");this.appendDummyInput().appendField(new Blockly.FieldDropdown([["\u03c0","PI"],["e","E"],["\u03c6","GOLDEN_RATIO"],["sqrt(2)","SQRT2"],["sqrt(\u00bd)","SQRT1_2"],["\u221e","INFINITY"]]),"CONSTANT");this.setTooltip(Blockly.Msg.MATH_CONSTANT_TOOLTIP)}}; -Blockly.Blocks.math_number_property={init:function(){var a=[[Blockly.Msg.MATH_IS_EVEN,"EVEN"],[Blockly.Msg.MATH_IS_ODD,"ODD"],[Blockly.Msg.MATH_IS_PRIME,"PRIME"],[Blockly.Msg.MATH_IS_WHOLE,"WHOLE"],[Blockly.Msg.MATH_IS_POSITIVE,"POSITIVE"],[Blockly.Msg.MATH_IS_NEGATIVE,"NEGATIVE"],[Blockly.Msg.MATH_IS_DIVISIBLE_BY,"DIVISIBLE_BY"]];this.setColour(230);this.appendValueInput("NUMBER_TO_CHECK").setCheck("Number");a=new Blockly.FieldDropdown(a,function(a){this.sourceBlock_.updateShape_("DIVISIBLE_BY"== +Blockly.Blocks.math_single={init:function(){var a=[[Blockly.Msg.MATH_SINGLE_OP_ROOT,"ROOT"],[Blockly.Msg.MATH_SINGLE_OP_ABSOLUTE,"ABS"],["-","NEG"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]];this.setHelpUrl(Blockly.Msg.MATH_SINGLE_HELPURL);this.setColour(Blockly.Blocks.math.HUE);this.setOutput(!0,"Number");this.interpolateMsg("%1 %2",["OP",new Blockly.FieldDropdown(a)],["NUM","Number",Blockly.ALIGN_RIGHT],Blockly.ALIGN_RIGHT);var b=this;this.setTooltip(function(){var a=b.getFieldValue("OP"); +return{ROOT:Blockly.Msg.MATH_SINGLE_TOOLTIP_ROOT,ABS:Blockly.Msg.MATH_SINGLE_TOOLTIP_ABS,NEG:Blockly.Msg.MATH_SINGLE_TOOLTIP_NEG,LN:Blockly.Msg.MATH_SINGLE_TOOLTIP_LN,LOG10:Blockly.Msg.MATH_SINGLE_TOOLTIP_LOG10,EXP:Blockly.Msg.MATH_SINGLE_TOOLTIP_EXP,POW10:Blockly.Msg.MATH_SINGLE_TOOLTIP_POW10}[a]})}}; +Blockly.Blocks.math_trig={init:function(){var a=[[Blockly.Msg.MATH_TRIG_SIN,"SIN"],[Blockly.Msg.MATH_TRIG_COS,"COS"],[Blockly.Msg.MATH_TRIG_TAN,"TAN"],[Blockly.Msg.MATH_TRIG_ASIN,"ASIN"],[Blockly.Msg.MATH_TRIG_ACOS,"ACOS"],[Blockly.Msg.MATH_TRIG_ATAN,"ATAN"]];this.setHelpUrl(Blockly.Msg.MATH_TRIG_HELPURL);this.setColour(Blockly.Blocks.math.HUE);this.setOutput(!0,"Number");this.appendValueInput("NUM").setCheck("Number").appendField(new Blockly.FieldDropdown(a),"OP");var b=this;this.setTooltip(function(){var a= +b.getFieldValue("OP");return{SIN:Blockly.Msg.MATH_TRIG_TOOLTIP_SIN,COS:Blockly.Msg.MATH_TRIG_TOOLTIP_COS,TAN:Blockly.Msg.MATH_TRIG_TOOLTIP_TAN,ASIN:Blockly.Msg.MATH_TRIG_TOOLTIP_ASIN,ACOS:Blockly.Msg.MATH_TRIG_TOOLTIP_ACOS,ATAN:Blockly.Msg.MATH_TRIG_TOOLTIP_ATAN}[a]})}}; +Blockly.Blocks.math_constant={init:function(){this.setHelpUrl(Blockly.Msg.MATH_CONSTANT_HELPURL);this.setColour(Blockly.Blocks.math.HUE);this.setOutput(!0,"Number");this.appendDummyInput().appendField(new Blockly.FieldDropdown([["\u03c0","PI"],["e","E"],["\u03c6","GOLDEN_RATIO"],["sqrt(2)","SQRT2"],["sqrt(\u00bd)","SQRT1_2"],["\u221e","INFINITY"]]),"CONSTANT");this.setTooltip(Blockly.Msg.MATH_CONSTANT_TOOLTIP)}}; +Blockly.Blocks.math_number_property={init:function(){var a=[[Blockly.Msg.MATH_IS_EVEN,"EVEN"],[Blockly.Msg.MATH_IS_ODD,"ODD"],[Blockly.Msg.MATH_IS_PRIME,"PRIME"],[Blockly.Msg.MATH_IS_WHOLE,"WHOLE"],[Blockly.Msg.MATH_IS_POSITIVE,"POSITIVE"],[Blockly.Msg.MATH_IS_NEGATIVE,"NEGATIVE"],[Blockly.Msg.MATH_IS_DIVISIBLE_BY,"DIVISIBLE_BY"]];this.setColour(Blockly.Blocks.math.HUE);this.appendValueInput("NUMBER_TO_CHECK").setCheck("Number");a=new Blockly.FieldDropdown(a,function(a){this.sourceBlock_.updateShape_("DIVISIBLE_BY"== a)});this.appendDummyInput().appendField(a,"PROPERTY");this.setInputsInline(!0);this.setOutput(!0,"Boolean");this.setTooltip(Blockly.Msg.MATH_IS_TOOLTIP)},mutationToDom:function(){var a=document.createElement("mutation"),b="DIVISIBLE_BY"==this.getFieldValue("PROPERTY");a.setAttribute("divisor_input",b);return a},domToMutation:function(a){a="true"==a.getAttribute("divisor_input");this.updateShape_(a)},updateShape_:function(a){var b=this.getInput("DIVISOR");a?b||this.appendValueInput("DIVISOR").setCheck("Number"): b&&this.removeInput("DIVISOR")}}; -Blockly.Blocks.math_change={init:function(){this.setHelpUrl(Blockly.Msg.MATH_CHANGE_HELPURL);this.setColour(230);this.interpolateMsg(Blockly.Msg.MATH_CHANGE_TITLE_CHANGE+" %1 "+Blockly.Msg.MATH_CHANGE_INPUT_BY+" %2",["VAR",new Blockly.FieldVariable(Blockly.Msg.MATH_CHANGE_TITLE_ITEM)],["DELTA","Number",Blockly.ALIGN_RIGHT],Blockly.ALIGN_RIGHT);this.setPreviousStatement(!0);this.setNextStatement(!0);var a=this;this.setTooltip(function(){return Blockly.Msg.MATH_CHANGE_TOOLTIP.replace("%1",a.getFieldValue("VAR"))})}, +Blockly.Blocks.math_change={init:function(){this.setHelpUrl(Blockly.Msg.MATH_CHANGE_HELPURL);this.setColour(Blockly.Blocks.math.HUE);this.interpolateMsg(Blockly.Msg.MATH_CHANGE_TITLE_CHANGE+" %1 "+Blockly.Msg.MATH_CHANGE_INPUT_BY+" %2",["VAR",new Blockly.FieldVariable(Blockly.Msg.MATH_CHANGE_TITLE_ITEM)],["DELTA","Number",Blockly.ALIGN_RIGHT],Blockly.ALIGN_RIGHT);this.setPreviousStatement(!0);this.setNextStatement(!0);var a=this;this.setTooltip(function(){return Blockly.Msg.MATH_CHANGE_TOOLTIP.replace("%1",a.getFieldValue("VAR"))})}, getVars:function(){return[this.getFieldValue("VAR")]},renameVar:function(a,b){Blockly.Names.equals(a,this.getFieldValue("VAR"))&&this.setFieldValue(b,"VAR")}}; -Blockly.Blocks.math_round={init:function(){var a=[[Blockly.Msg.MATH_ROUND_OPERATOR_ROUND,"ROUND"],[Blockly.Msg.MATH_ROUND_OPERATOR_ROUNDUP,"ROUNDUP"],[Blockly.Msg.MATH_ROUND_OPERATOR_ROUNDDOWN,"ROUNDDOWN"]];this.setHelpUrl(Blockly.Msg.MATH_ROUND_HELPURL);this.setColour(230);this.setOutput(!0,"Number");this.appendValueInput("NUM").setCheck("Number").appendField(new Blockly.FieldDropdown(a),"OP");this.setTooltip(Blockly.Msg.MATH_ROUND_TOOLTIP)}}; -Blockly.Blocks.math_on_list={init:function(){var a=[[Blockly.Msg.MATH_ONLIST_OPERATOR_SUM,"SUM"],[Blockly.Msg.MATH_ONLIST_OPERATOR_MIN,"MIN"],[Blockly.Msg.MATH_ONLIST_OPERATOR_MAX,"MAX"],[Blockly.Msg.MATH_ONLIST_OPERATOR_AVERAGE,"AVERAGE"],[Blockly.Msg.MATH_ONLIST_OPERATOR_MEDIAN,"MEDIAN"],[Blockly.Msg.MATH_ONLIST_OPERATOR_MODE,"MODE"],[Blockly.Msg.MATH_ONLIST_OPERATOR_STD_DEV,"STD_DEV"],[Blockly.Msg.MATH_ONLIST_OPERATOR_RANDOM,"RANDOM"]],b=this;this.setHelpUrl(Blockly.Msg.MATH_ONLIST_HELPURL);this.setColour(230); +Blockly.Blocks.math_round={init:function(){var a=[[Blockly.Msg.MATH_ROUND_OPERATOR_ROUND,"ROUND"],[Blockly.Msg.MATH_ROUND_OPERATOR_ROUNDUP,"ROUNDUP"],[Blockly.Msg.MATH_ROUND_OPERATOR_ROUNDDOWN,"ROUNDDOWN"]];this.setHelpUrl(Blockly.Msg.MATH_ROUND_HELPURL);this.setColour(Blockly.Blocks.math.HUE);this.setOutput(!0,"Number");this.appendValueInput("NUM").setCheck("Number").appendField(new Blockly.FieldDropdown(a),"OP");this.setTooltip(Blockly.Msg.MATH_ROUND_TOOLTIP)}}; +Blockly.Blocks.math_on_list={init:function(){var a=[[Blockly.Msg.MATH_ONLIST_OPERATOR_SUM,"SUM"],[Blockly.Msg.MATH_ONLIST_OPERATOR_MIN,"MIN"],[Blockly.Msg.MATH_ONLIST_OPERATOR_MAX,"MAX"],[Blockly.Msg.MATH_ONLIST_OPERATOR_AVERAGE,"AVERAGE"],[Blockly.Msg.MATH_ONLIST_OPERATOR_MEDIAN,"MEDIAN"],[Blockly.Msg.MATH_ONLIST_OPERATOR_MODE,"MODE"],[Blockly.Msg.MATH_ONLIST_OPERATOR_STD_DEV,"STD_DEV"],[Blockly.Msg.MATH_ONLIST_OPERATOR_RANDOM,"RANDOM"]],b=this;this.setHelpUrl(Blockly.Msg.MATH_ONLIST_HELPURL);this.setColour(Blockly.Blocks.math.HUE); this.setOutput(!0,"Number");a=new Blockly.FieldDropdown(a,function(a){"MODE"==a?b.outputConnection.setCheck("Array"):b.outputConnection.setCheck("Number")});this.appendValueInput("LIST").setCheck("Array").appendField(a,"OP");this.setTooltip(function(){var a=b.getFieldValue("OP");return{SUM:Blockly.Msg.MATH_ONLIST_TOOLTIP_SUM,MIN:Blockly.Msg.MATH_ONLIST_TOOLTIP_MIN,MAX:Blockly.Msg.MATH_ONLIST_TOOLTIP_MAX,AVERAGE:Blockly.Msg.MATH_ONLIST_TOOLTIP_AVERAGE,MEDIAN:Blockly.Msg.MATH_ONLIST_TOOLTIP_MEDIAN, -MODE:Blockly.Msg.MATH_ONLIST_TOOLTIP_MODE,STD_DEV:Blockly.Msg.MATH_ONLIST_TOOLTIP_STD_DEV,RANDOM:Blockly.Msg.MATH_ONLIST_TOOLTIP_RANDOM}[a]})}};Blockly.Blocks.math_modulo={init:function(){this.setHelpUrl(Blockly.Msg.MATH_MODULO_HELPURL);this.setColour(230);this.setOutput(!0,"Number");this.interpolateMsg(Blockly.Msg.MATH_MODULO_TITLE,["DIVIDEND","Number",Blockly.ALIGN_RIGHT],["DIVISOR","Number",Blockly.ALIGN_RIGHT],Blockly.ALIGN_RIGHT);this.setInputsInline(!0);this.setTooltip(Blockly.Msg.MATH_MODULO_TOOLTIP)}}; -Blockly.Blocks.math_constrain={init:function(){this.setHelpUrl(Blockly.Msg.MATH_CONSTRAIN_HELPURL);this.setColour(230);this.setOutput(!0,"Number");this.interpolateMsg(Blockly.Msg.MATH_CONSTRAIN_TITLE,["VALUE","Number",Blockly.ALIGN_RIGHT],["LOW","Number",Blockly.ALIGN_RIGHT],["HIGH","Number",Blockly.ALIGN_RIGHT],Blockly.ALIGN_RIGHT);this.setInputsInline(!0);this.setTooltip(Blockly.Msg.MATH_CONSTRAIN_TOOLTIP)}}; -Blockly.Blocks.math_random_int={init:function(){this.setHelpUrl(Blockly.Msg.MATH_RANDOM_INT_HELPURL);this.setColour(230);this.setOutput(!0,"Number");this.interpolateMsg(Blockly.Msg.MATH_RANDOM_INT_TITLE,["FROM","Number",Blockly.ALIGN_RIGHT],["TO","Number",Blockly.ALIGN_RIGHT],Blockly.ALIGN_RIGHT);this.setInputsInline(!0);this.setTooltip(Blockly.Msg.MATH_RANDOM_INT_TOOLTIP)}}; -Blockly.Blocks.math_random_float={init:function(){this.setHelpUrl(Blockly.Msg.MATH_RANDOM_FLOAT_HELPURL);this.setColour(230);this.setOutput(!0,"Number");this.appendDummyInput().appendField(Blockly.Msg.MATH_RANDOM_FLOAT_TITLE_RANDOM);this.setTooltip(Blockly.Msg.MATH_RANDOM_FLOAT_TOOLTIP)}}; +MODE:Blockly.Msg.MATH_ONLIST_TOOLTIP_MODE,STD_DEV:Blockly.Msg.MATH_ONLIST_TOOLTIP_STD_DEV,RANDOM:Blockly.Msg.MATH_ONLIST_TOOLTIP_RANDOM}[a]})}};Blockly.Blocks.math_modulo={init:function(){this.setHelpUrl(Blockly.Msg.MATH_MODULO_HELPURL);this.setColour(Blockly.Blocks.math.HUE);this.setOutput(!0,"Number");this.interpolateMsg(Blockly.Msg.MATH_MODULO_TITLE,["DIVIDEND","Number",Blockly.ALIGN_RIGHT],["DIVISOR","Number",Blockly.ALIGN_RIGHT],Blockly.ALIGN_RIGHT);this.setInputsInline(!0);this.setTooltip(Blockly.Msg.MATH_MODULO_TOOLTIP)}}; +Blockly.Blocks.math_constrain={init:function(){this.setHelpUrl(Blockly.Msg.MATH_CONSTRAIN_HELPURL);this.setColour(Blockly.Blocks.math.HUE);this.setOutput(!0,"Number");this.interpolateMsg(Blockly.Msg.MATH_CONSTRAIN_TITLE,["VALUE","Number",Blockly.ALIGN_RIGHT],["LOW","Number",Blockly.ALIGN_RIGHT],["HIGH","Number",Blockly.ALIGN_RIGHT],Blockly.ALIGN_RIGHT);this.setInputsInline(!0);this.setTooltip(Blockly.Msg.MATH_CONSTRAIN_TOOLTIP)}}; +Blockly.Blocks.math_random_int={init:function(){this.setHelpUrl(Blockly.Msg.MATH_RANDOM_INT_HELPURL);this.setColour(Blockly.Blocks.math.HUE);this.setOutput(!0,"Number");this.interpolateMsg(Blockly.Msg.MATH_RANDOM_INT_TITLE,["FROM","Number",Blockly.ALIGN_RIGHT],["TO","Number",Blockly.ALIGN_RIGHT],Blockly.ALIGN_RIGHT);this.setInputsInline(!0);this.setTooltip(Blockly.Msg.MATH_RANDOM_INT_TOOLTIP)}}; +Blockly.Blocks.math_random_float={init:function(){this.setHelpUrl(Blockly.Msg.MATH_RANDOM_FLOAT_HELPURL);this.setColour(Blockly.Blocks.math.HUE);this.setOutput(!0,"Number");this.appendDummyInput().appendField(Blockly.Msg.MATH_RANDOM_FLOAT_TITLE_RANDOM);this.setTooltip(Blockly.Msg.MATH_RANDOM_FLOAT_TOOLTIP)}}; // Copyright 2012 Google Inc. Apache License 2.0 -Blockly.Blocks.procedures={}; -Blockly.Blocks.procedures_defnoreturn={init:function(){this.setHelpUrl(Blockly.Msg.PROCEDURES_DEFNORETURN_HELPURL);this.setColour(290);var a=Blockly.Procedures.findLegalName(Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE,this);this.appendDummyInput().appendField(Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE).appendField(new Blockly.FieldTextInput(a,Blockly.Procedures.rename),"NAME").appendField("","PARAMS");this.setMutator(new Blockly.Mutator(["procedures_mutatorarg"]));this.setTooltip(Blockly.Msg.PROCEDURES_DEFNORETURN_TOOLTIP);this.arguments_= -[];this.setStatements_(!0);this.statementConnection_=null},setStatements_:function(a){this.hasStatements_!==a&&(a?(this.appendStatementInput("STACK").appendField(Blockly.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),this.hasStatements_=a)},updateParams_:function(){for(var a=!1,b={},c=0;c