From ea211c50805acb20039b95768425b61d626a54c7 Mon Sep 17 00:00:00 2001 From: "ellen.spertus" Date: Fri, 20 Dec 2013 16:25:26 -0800 Subject: [PATCH] Manual commit --- apps/blockfactory/blocks.js | 276 ++++----- apps/blockfactory/factory.js | 138 ++--- apps/blockfactory/index.html | 36 +- apps/code/code.js | 6 +- apps/code/generated/af.js | 2 +- apps/code/generated/ar.js | 2 +- apps/code/generated/arz.js | 2 +- apps/code/generated/az.js | 2 +- apps/code/generated/be-tarask.js | 2 +- apps/code/generated/bg.js | 2 +- apps/code/generated/bn.js | 2 +- apps/code/generated/br.js | 2 +- apps/code/generated/ca.js | 2 +- apps/code/generated/cdo.js | 2 +- apps/code/generated/cs.js | 2 +- apps/code/generated/da.js | 2 +- apps/code/generated/de.js | 2 +- apps/code/generated/diq.js | 2 +- apps/code/generated/el.js | 2 +- apps/code/generated/en.js | 2 +- apps/code/generated/es.js | 2 +- apps/code/generated/eu.js | 2 +- apps/code/generated/fa.js | 2 +- apps/code/generated/fi.js | 2 +- apps/code/generated/fo.js | 2 +- apps/code/generated/fr.js | 2 +- apps/code/generated/frr.js | 2 +- apps/code/generated/gl.js | 2 +- apps/code/generated/gn.js | 2 +- apps/code/generated/hak.js | 2 +- apps/code/generated/he.js | 2 +- apps/code/generated/hu.js | 2 +- apps/code/generated/ia.js | 2 +- apps/code/generated/is.js | 2 +- apps/code/generated/it.js | 2 +- apps/code/generated/ja.js | 2 +- apps/code/generated/ka.js | 2 +- apps/code/generated/km.js | 2 +- apps/code/generated/ko.js | 2 +- apps/code/generated/ksh.js | 2 +- apps/code/generated/ku-latn.js | 2 +- apps/code/generated/ky.js | 2 +- apps/code/generated/la.js | 2 +- apps/code/generated/lb.js | 2 +- apps/code/generated/lt.js | 2 +- apps/code/generated/lv.js | 2 +- apps/code/generated/mk.js | 2 +- apps/code/generated/ml.js | 2 +- apps/code/generated/mr.js | 2 +- apps/code/generated/ms.js | 2 +- apps/code/generated/mzn.js | 2 +- apps/code/generated/nb.js | 2 +- apps/code/generated/nl.js | 2 +- apps/code/generated/oc.js | 2 +- apps/code/generated/pa.js | 2 +- apps/code/generated/pl.js | 4 +- apps/code/generated/pms.js | 2 +- apps/code/generated/ps.js | 2 +- apps/code/generated/pt-br.js | 2 +- apps/code/generated/pt.js | 2 +- apps/code/generated/ro.js | 2 +- apps/code/generated/ru.js | 2 +- apps/code/generated/sk.js | 2 +- apps/code/generated/sr.js | 2 +- apps/code/generated/sv.js | 2 +- apps/code/generated/sw.js | 2 +- apps/code/generated/ta.js | 2 +- apps/code/generated/te.js | 2 +- apps/code/generated/th.js | 2 +- apps/code/generated/tr.js | 2 +- apps/code/generated/tzm.js | 2 +- apps/code/generated/uk.js | 2 +- apps/code/generated/vi.js | 2 +- apps/code/generated/zh-hans.js | 2 +- apps/code/generated/zh-hant.js | 2 +- apps/code/template.soy | 34 +- apps/common.js | 16 +- apps/common.soy | 2 +- apps/graph/blocks.js | 4 +- apps/graph/generated/af.js | 2 +- apps/graph/generated/ar.js | 2 +- apps/graph/generated/arz.js | 2 +- apps/graph/generated/be-tarask.js | 2 +- apps/graph/generated/bg.js | 2 +- apps/graph/generated/bn.js | 2 +- apps/graph/generated/br.js | 2 +- apps/graph/generated/ca.js | 2 +- apps/graph/generated/cdo.js | 2 +- apps/graph/generated/cs.js | 2 +- apps/graph/generated/da.js | 2 +- apps/graph/generated/de.js | 2 +- apps/graph/generated/diq.js | 2 +- apps/graph/generated/el.js | 2 +- apps/graph/generated/en.js | 2 +- apps/graph/generated/es.js | 2 +- apps/graph/generated/eu.js | 2 +- apps/graph/generated/fa.js | 2 +- apps/graph/generated/fi.js | 2 +- apps/graph/generated/fo.js | 2 +- apps/graph/generated/fr.js | 2 +- apps/graph/generated/frr.js | 2 +- apps/graph/generated/gl.js | 2 +- apps/graph/generated/gn.js | 2 +- apps/graph/generated/hak.js | 2 +- apps/graph/generated/he.js | 2 +- apps/graph/generated/hu.js | 2 +- apps/graph/generated/ia.js | 2 +- apps/graph/generated/is.js | 2 +- apps/graph/generated/it.js | 2 +- apps/graph/generated/ja.js | 2 +- apps/graph/generated/ka.js | 2 +- apps/graph/generated/km.js | 2 +- apps/graph/generated/ko.js | 2 +- apps/graph/generated/ksh.js | 2 +- apps/graph/generated/ku-latn.js | 2 +- apps/graph/generated/ky.js | 2 +- apps/graph/generated/la.js | 2 +- apps/graph/generated/lb.js | 2 +- apps/graph/generated/lt.js | 2 +- apps/graph/generated/lv.js | 2 +- apps/graph/generated/mk.js | 2 +- apps/graph/generated/ml.js | 2 +- apps/graph/generated/mr.js | 2 +- apps/graph/generated/ms.js | 2 +- apps/graph/generated/mzn.js | 2 +- apps/graph/generated/nb.js | 2 +- apps/graph/generated/nl.js | 2 +- apps/graph/generated/oc.js | 2 +- apps/graph/generated/pa.js | 2 +- apps/graph/generated/pl.js | 4 +- apps/graph/generated/pms.js | 2 +- apps/graph/generated/ps.js | 2 +- apps/graph/generated/pt-br.js | 2 +- apps/graph/generated/pt.js | 2 +- apps/graph/generated/ro.js | 2 +- apps/graph/generated/ru.js | 2 +- apps/graph/generated/sk.js | 2 +- apps/graph/generated/sr.js | 2 +- apps/graph/generated/sv.js | 2 +- apps/graph/generated/sw.js | 2 +- apps/graph/generated/ta.js | 2 +- apps/graph/generated/te.js | 2 +- apps/graph/generated/th.js | 2 +- apps/graph/generated/tr.js | 2 +- apps/graph/generated/tzm.js | 2 +- apps/graph/generated/uk.js | 2 +- apps/graph/generated/vi.js | 2 +- apps/graph/generated/zh-hans.js | 2 +- apps/graph/generated/zh-hant.js | 2 +- apps/graph/template.soy | 8 +- apps/index/generated/pl.js | 6 +- apps/index/index.js | 4 +- apps/json/hi.json | 29 +- apps/maze/blocks.js | 26 +- apps/maze/generated/af.js | 2 +- apps/maze/generated/ar.js | 2 +- apps/maze/generated/arz.js | 2 +- apps/maze/generated/be-tarask.js | 2 +- apps/maze/generated/bg.js | 2 +- apps/maze/generated/bn.js | 2 +- apps/maze/generated/br.js | 2 +- apps/maze/generated/ca.js | 2 +- apps/maze/generated/cdo.js | 2 +- apps/maze/generated/cs.js | 2 +- apps/maze/generated/da.js | 2 +- apps/maze/generated/de.js | 2 +- apps/maze/generated/diq.js | 2 +- apps/maze/generated/el.js | 2 +- apps/maze/generated/en.js | 2 +- apps/maze/generated/es.js | 2 +- apps/maze/generated/eu.js | 2 +- apps/maze/generated/fa.js | 2 +- apps/maze/generated/fi.js | 2 +- apps/maze/generated/fo.js | 2 +- apps/maze/generated/fr.js | 2 +- apps/maze/generated/frr.js | 2 +- apps/maze/generated/gl.js | 2 +- apps/maze/generated/gn.js | 2 +- apps/maze/generated/hak.js | 2 +- apps/maze/generated/he.js | 2 +- apps/maze/generated/hu.js | 2 +- apps/maze/generated/ia.js | 2 +- apps/maze/generated/is.js | 2 +- apps/maze/generated/it.js | 2 +- apps/maze/generated/ja.js | 2 +- apps/maze/generated/ka.js | 2 +- apps/maze/generated/km.js | 2 +- apps/maze/generated/ko.js | 2 +- apps/maze/generated/ksh.js | 2 +- apps/maze/generated/ku-latn.js | 2 +- apps/maze/generated/ky.js | 2 +- apps/maze/generated/la.js | 2 +- apps/maze/generated/lb.js | 2 +- apps/maze/generated/lt.js | 2 +- apps/maze/generated/lv.js | 2 +- apps/maze/generated/mk.js | 2 +- apps/maze/generated/ml.js | 2 +- apps/maze/generated/mr.js | 2 +- apps/maze/generated/ms.js | 2 +- apps/maze/generated/mzn.js | 2 +- apps/maze/generated/nb.js | 2 +- apps/maze/generated/nl.js | 2 +- apps/maze/generated/oc.js | 2 +- apps/maze/generated/pa.js | 2 +- apps/maze/generated/pl.js | 8 +- apps/maze/generated/pms.js | 2 +- apps/maze/generated/ps.js | 2 +- apps/maze/generated/pt-br.js | 2 +- apps/maze/generated/pt.js | 2 +- apps/maze/generated/ro.js | 2 +- apps/maze/generated/ru.js | 2 +- apps/maze/generated/sk.js | 2 +- apps/maze/generated/sr.js | 2 +- apps/maze/generated/sv.js | 2 +- apps/maze/generated/sw.js | 2 +- apps/maze/generated/ta.js | 2 +- apps/maze/generated/te.js | 2 +- apps/maze/generated/th.js | 2 +- apps/maze/generated/tr.js | 2 +- apps/maze/generated/tzm.js | 2 +- apps/maze/generated/uk.js | 2 +- apps/maze/generated/vi.js | 2 +- apps/maze/generated/zh-hans.js | 2 +- apps/maze/generated/zh-hant.js | 2 +- apps/maze/template.soy | 6 +- apps/plane/blocks.js | 14 +- apps/plane/generated/af.js | 2 +- apps/plane/generated/ar.js | 2 +- apps/plane/generated/arz.js | 2 +- apps/plane/generated/be-tarask.js | 2 +- apps/plane/generated/bg.js | 2 +- apps/plane/generated/bn.js | 2 +- apps/plane/generated/br.js | 2 +- apps/plane/generated/ca.js | 2 +- apps/plane/generated/cdo.js | 2 +- apps/plane/generated/cs.js | 2 +- apps/plane/generated/da.js | 2 +- apps/plane/generated/de.js | 2 +- apps/plane/generated/diq.js | 2 +- apps/plane/generated/el.js | 2 +- apps/plane/generated/en.js | 2 +- apps/plane/generated/es.js | 2 +- apps/plane/generated/eu.js | 2 +- apps/plane/generated/fa.js | 2 +- apps/plane/generated/fi.js | 2 +- apps/plane/generated/fo.js | 2 +- apps/plane/generated/fr.js | 2 +- apps/plane/generated/frr.js | 2 +- apps/plane/generated/gl.js | 2 +- apps/plane/generated/gn.js | 2 +- apps/plane/generated/hak.js | 2 +- apps/plane/generated/he.js | 2 +- apps/plane/generated/hu.js | 2 +- apps/plane/generated/ia.js | 2 +- apps/plane/generated/is.js | 2 +- apps/plane/generated/it.js | 2 +- apps/plane/generated/ja.js | 2 +- apps/plane/generated/ka.js | 2 +- apps/plane/generated/km.js | 2 +- apps/plane/generated/ko.js | 2 +- apps/plane/generated/ksh.js | 2 +- apps/plane/generated/ku-latn.js | 2 +- apps/plane/generated/ky.js | 2 +- apps/plane/generated/la.js | 2 +- apps/plane/generated/lb.js | 2 +- apps/plane/generated/lt.js | 2 +- apps/plane/generated/lv.js | 2 +- apps/plane/generated/mk.js | 2 +- apps/plane/generated/ml.js | 2 +- apps/plane/generated/mr.js | 2 +- apps/plane/generated/ms.js | 2 +- apps/plane/generated/mzn.js | 2 +- apps/plane/generated/nb.js | 2 +- apps/plane/generated/nl.js | 2 +- apps/plane/generated/oc.js | 2 +- apps/plane/generated/pa.js | 2 +- apps/plane/generated/pl.js | 14 +- apps/plane/generated/pms.js | 2 +- apps/plane/generated/ps.js | 2 +- apps/plane/generated/pt-br.js | 2 +- apps/plane/generated/pt.js | 2 +- apps/plane/generated/ro.js | 2 +- apps/plane/generated/ru.js | 2 +- apps/plane/generated/sk.js | 2 +- apps/plane/generated/sr.js | 2 +- apps/plane/generated/sv.js | 2 +- apps/plane/generated/sw.js | 2 +- apps/plane/generated/ta.js | 2 +- apps/plane/generated/te.js | 2 +- apps/plane/generated/th.js | 2 +- apps/plane/generated/tr.js | 2 +- apps/plane/generated/tzm.js | 2 +- apps/plane/generated/uk.js | 2 +- apps/plane/generated/vi.js | 2 +- apps/plane/generated/zh-hans.js | 2 +- apps/plane/generated/zh-hant.js | 2 +- apps/plane/template.soy | 2 +- apps/puzzle/blocks.js | 20 +- apps/puzzle/generated/pl.js | 4 +- apps/puzzle/template.soy | 4 +- apps/turtle/blocks.js | 38 +- apps/turtle/generated/af.js | 2 +- apps/turtle/generated/ar.js | 2 +- apps/turtle/generated/arz.js | 2 +- apps/turtle/generated/be-tarask.js | 2 +- apps/turtle/generated/bg.js | 2 +- apps/turtle/generated/bn.js | 2 +- apps/turtle/generated/br.js | 2 +- apps/turtle/generated/ca.js | 2 +- apps/turtle/generated/cdo.js | 2 +- apps/turtle/generated/cs.js | 2 +- apps/turtle/generated/da.js | 2 +- apps/turtle/generated/de.js | 2 +- apps/turtle/generated/diq.js | 2 +- apps/turtle/generated/el.js | 2 +- apps/turtle/generated/en.js | 2 +- apps/turtle/generated/es.js | 2 +- apps/turtle/generated/eu.js | 2 +- apps/turtle/generated/fa.js | 2 +- apps/turtle/generated/fi.js | 2 +- apps/turtle/generated/fo.js | 2 +- apps/turtle/generated/fr.js | 2 +- apps/turtle/generated/frr.js | 2 +- apps/turtle/generated/gl.js | 2 +- apps/turtle/generated/gn.js | 2 +- apps/turtle/generated/hak.js | 2 +- apps/turtle/generated/he.js | 2 +- apps/turtle/generated/hu.js | 2 +- apps/turtle/generated/ia.js | 2 +- apps/turtle/generated/is.js | 2 +- apps/turtle/generated/it.js | 2 +- apps/turtle/generated/ja.js | 2 +- apps/turtle/generated/ka.js | 2 +- apps/turtle/generated/km.js | 2 +- apps/turtle/generated/ko.js | 2 +- apps/turtle/generated/ksh.js | 2 +- apps/turtle/generated/ku-latn.js | 2 +- apps/turtle/generated/ky.js | 2 +- apps/turtle/generated/la.js | 2 +- apps/turtle/generated/lb.js | 2 +- apps/turtle/generated/lt.js | 2 +- apps/turtle/generated/lv.js | 2 +- apps/turtle/generated/mk.js | 2 +- apps/turtle/generated/ml.js | 2 +- apps/turtle/generated/mr.js | 2 +- apps/turtle/generated/ms.js | 2 +- apps/turtle/generated/mzn.js | 2 +- apps/turtle/generated/nb.js | 2 +- apps/turtle/generated/nl.js | 2 +- apps/turtle/generated/oc.js | 2 +- apps/turtle/generated/pa.js | 2 +- apps/turtle/generated/pl.js | 8 +- apps/turtle/generated/pms.js | 2 +- apps/turtle/generated/ps.js | 2 +- apps/turtle/generated/pt-br.js | 2 +- apps/turtle/generated/pt.js | 2 +- apps/turtle/generated/ro.js | 2 +- apps/turtle/generated/ru.js | 2 +- apps/turtle/generated/sk.js | 2 +- apps/turtle/generated/sr.js | 2 +- apps/turtle/generated/sv.js | 2 +- apps/turtle/generated/sw.js | 2 +- apps/turtle/generated/ta.js | 2 +- apps/turtle/generated/te.js | 2 +- apps/turtle/generated/th.js | 2 +- apps/turtle/generated/tr.js | 2 +- apps/turtle/generated/tzm.js | 2 +- apps/turtle/generated/uk.js | 2 +- apps/turtle/generated/vi.js | 2 +- apps/turtle/generated/zh-hans.js | 2 +- apps/turtle/generated/zh-hant.js | 2 +- apps/turtle/template.soy | 34 +- apps/turtle/turtle.js | 6 +- blockly_compressed.js | 57 +- blocks/colour.js | 20 +- blocks/lists.js | 66 +- blocks/logic.js | 40 +- blocks/loops.js | 60 +- blocks/math.js | 42 +- blocks/procedures.js | 86 +-- blocks/text.js | 80 +-- blocks/variables.js | 32 +- blocks_compressed.js | 200 +++---- core/block.js | 86 ++- core/block_svg.js | 128 ++-- core/blockly.js | 2 +- core/bubble.js | 2 +- core/field.js | 2 +- core/field_dropdown.js | 8 +- core/field_image.js | 2 +- core/field_textinput.js | 2 +- core/input.js | 89 +-- core/procedures.js | 2 +- core/variables.js | 4 +- core/xml.js | 17 +- demos/generator/index.html | 2 +- demos/maxBlocks/index.html | 10 +- demos/rtl/index.html | 32 +- demos/storage/index.html | 2 +- demos/toolbox/index.html | 82 +-- generators/javascript/colour.js | 2 +- generators/javascript/lists.js | 14 +- generators/javascript/logic.js | 6 +- generators/javascript/loops.js | 10 +- generators/javascript/math.js | 14 +- generators/javascript/procedures.js | 6 +- generators/javascript/text.js | 20 +- generators/javascript/variables.js | 4 +- generators/python/colour.js | 2 +- generators/python/lists.js | 14 +- generators/python/logic.js | 6 +- generators/python/loops.js | 12 +- generators/python/math.js | 14 +- generators/python/procedures.js | 6 +- generators/python/text.js | 20 +- generators/python/variables.js | 4 +- javascript_compressed.js | 60 +- msg/js/az.js | 377 ++++++++++++ msg/js/ca.js | 16 +- msg/js/cs.js | 286 ++++----- msg/js/da.js | 16 +- msg/js/el.js | 228 +++---- msg/js/en.js | 24 +- msg/js/es.js | 16 +- msg/js/fa.js | 16 +- msg/js/fi.js | 377 ++++++++++++ msg/js/fr.js | 6 +- msg/js/he.js | 377 ++++++++++++ msg/js/hu.js | 20 +- msg/js/ia.js | 22 +- msg/js/is.js | 26 +- msg/js/it.js | 16 +- msg/js/ko.js | 2 +- msg/js/lrc.js | 22 +- msg/js/pms.js | 84 +-- msg/js/pt-br.js | 16 +- msg/js/ru.js | 16 +- msg/js/th.js | 377 ++++++++++++ msg/js/vi.js | 16 +- msg/js/zh-hans.js | 12 +- msg/js/zh-hant.js | 16 +- msg/json/cs.json | 126 +++- msg/json/en.json | 30 +- msg/json/hi.json | 54 +- msg/json/ms.json | 291 +++++++++ msg/json/pt.json | 337 +++++++++++ msg/json/qqq.json | 22 +- msg/json/sq.json | 337 +++++++++++ msg/json/tl.json | 337 +++++++++++ msg/messages.js | 118 ++-- python_compressed.js | 58 +- tests/generators/colour.xml | 80 +-- tests/generators/index.html | 34 +- tests/generators/lists.xml | 762 ++++++++++++------------ tests/generators/logic.xml | 336 +++++------ tests/generators/loops1.xml | 100 ++-- tests/generators/loops2.xml | 325 +++++----- tests/generators/loops3.xml | 260 ++++---- tests/generators/math.xml | 598 +++++++++---------- tests/generators/procedures.xml | 168 +++--- tests/generators/text.xml | 264 ++++---- tests/generators/unittest.js | 18 +- tests/generators/unittest_javascript.js | 8 +- tests/generators/unittest_python.js | 8 +- tests/generators/variables.xml | 20 +- tests/playground.html | 34 +- 466 files changed, 6463 insertions(+), 3458 deletions(-) create mode 100644 msg/js/az.js create mode 100644 msg/js/fi.js create mode 100644 msg/js/he.js create mode 100644 msg/js/th.js create mode 100644 msg/json/ms.json create mode 100644 msg/json/pt.json create mode 100644 msg/json/sq.json create mode 100644 msg/json/tl.json diff --git a/apps/blockfactory/blocks.js b/apps/blockfactory/blocks.js index b7873529e..2890b111f 100644 --- a/apps/blockfactory/blocks.js +++ b/apps/blockfactory/blocks.js @@ -28,16 +28,16 @@ Blockly.Blocks['factory_base'] = { init: function() { this.setColour(120); this.appendDummyInput() - .appendTitle('name') - .appendTitle(new Blockly.FieldTextInput('math_foo'), 'NAME'); + .appendField('name') + .appendField(new Blockly.FieldTextInput('math_foo'), 'NAME'); this.appendStatementInput('INPUTS') .setCheck('Input') - .appendTitle('inputs'); + .appendField('inputs'); var dropdown = new Blockly.FieldDropdown([ ['external inputs', 'EXT'], ['inline inputs', 'INT']]); this.appendDummyInput() - .appendTitle(dropdown, 'INLINE'); + .appendField(dropdown, 'INLINE'); dropdown = new Blockly.FieldDropdown([ ['no connections', 'NONE'], ['left output', 'LEFT'], @@ -53,7 +53,7 @@ Blockly.Blocks['factory_base'] = { if (!outputExists) { block.appendValueInput('OUTPUTTYPE') .setCheck('Type') - .appendTitle('output type'); + .appendField('output type'); block.moveInputBefore('OUTPUTTYPE', 'COLOUR'); } } else if (outputExists) { @@ -63,7 +63,7 @@ Blockly.Blocks['factory_base'] = { if (!topExists) { block.appendValueInput('TOPTYPE') .setCheck('Type') - .appendTitle('top type'); + .appendField('top type'); block.moveInputBefore('TOPTYPE', 'COLOUR'); } } else if (topExists) { @@ -73,7 +73,7 @@ Blockly.Blocks['factory_base'] = { if (!bottomExists) { block.appendValueInput('BOTTOMTYPE') .setCheck('Type') - .appendTitle('bottom type'); + .appendField('bottom type'); block.moveInputBefore('BOTTOMTYPE', 'COLOUR'); } } else if (bottomExists) { @@ -81,20 +81,20 @@ Blockly.Blocks['factory_base'] = { } }); this.appendDummyInput() - .appendTitle(dropdown, 'CONNECTIONS'); + .appendField(dropdown, 'CONNECTIONS'); this.appendValueInput('COLOUR') .setCheck('Colour') - .appendTitle('colour'); + .appendField('colour'); /* this.appendValueInput('TOOLTIP') .setCheck('String') - .appendTitle('tooltip'); + .appendField('tooltip'); this.appendValueInput('HELP') .setCheck('String') - .appendTitle('help url'); + .appendField('help url'); */ this.setTooltip('Build a custom block by plugging\n' + - 'titles, inputs and other blocks here.'); + 'fields, inputs and other blocks here.'); } }; @@ -106,16 +106,16 @@ Blockly.Blocks['input_value'] = { init: function() { this.setColour(210); this.appendDummyInput() - .appendTitle('value input') - .appendTitle(new Blockly.FieldTextInput('NAME'), 'INPUTNAME'); - this.appendStatementInput('TITLES') - .setCheck('Title') - .appendTitle('titles') - .appendTitle(new Blockly.FieldDropdown(ALIGNMENT_OPTIONS), 'ALIGN'); + .appendField('value input') + .appendField(new Blockly.FieldTextInput('NAME'), 'INPUTNAME'); + this.appendStatementInput('FIELDS') + .setCheck('Field') + .appendField('fields') + .appendField(new Blockly.FieldDropdown(ALIGNMENT_OPTIONS), 'ALIGN'); this.appendValueInput('TYPE') .setCheck('Type') .setAlign(Blockly.ALIGN_RIGHT) - .appendTitle('type'); + .appendField('type'); this.setPreviousStatement(true, 'Input'); this.setNextStatement(true, 'Input'); this.setTooltip('A value socket for horizontal connections.'); @@ -134,16 +134,16 @@ Blockly.Blocks['input_statement'] = { init: function() { this.setColour(210); this.appendDummyInput() - .appendTitle('statement input') - .appendTitle(new Blockly.FieldTextInput('NAME'), 'INPUTNAME'); - this.appendStatementInput('TITLES') - .setCheck('Title') - .appendTitle('titles') - .appendTitle(new Blockly.FieldDropdown(ALIGNMENT_OPTIONS), 'ALIGN'); + .appendField('statement input') + .appendField(new Blockly.FieldTextInput('NAME'), 'INPUTNAME'); + this.appendStatementInput('FIELDS') + .setCheck('Field') + .appendField('fields') + .appendField(new Blockly.FieldDropdown(ALIGNMENT_OPTIONS), 'ALIGN'); this.appendValueInput('TYPE') .setCheck('Type') .setAlign(Blockly.ALIGN_RIGHT) - .appendTitle('type'); + .appendField('type'); this.setPreviousStatement(true, 'Input'); this.setNextStatement(true, 'Input'); this.setTooltip('A statement socket for enclosed vertical stacks.'); @@ -162,44 +162,44 @@ Blockly.Blocks['input_dummy'] = { init: function() { this.setColour(210); this.appendDummyInput() - .appendTitle('dummy input'); - this.appendStatementInput('TITLES') - .setCheck('Title') - .appendTitle('titles') - .appendTitle(new Blockly.FieldDropdown(ALIGNMENT_OPTIONS), 'ALIGN'); + .appendField('dummy input'); + this.appendStatementInput('FIELDS') + .setCheck('Field') + .appendField('fields') + .appendField(new Blockly.FieldDropdown(ALIGNMENT_OPTIONS), 'ALIGN'); this.setPreviousStatement(true, 'Input'); this.setNextStatement(true, 'Input'); - this.setTooltip('For adding titles on a separate\n' + + this.setTooltip('For adding fields on a separate\n' + 'row with no connections.\n' + 'Alignment options (left, right, centre)\n' + - 'apply only to multi-line titles.'); + 'apply only to multi-line fields.'); } }; -Blockly.Blocks['title_static'] = { +Blockly.Blocks['field_static'] = { // Text value. init: function() { this.setColour(160); this.appendDummyInput() - .appendTitle('text') - .appendTitle(new Blockly.FieldTextInput(''), 'TEXT'); - this.setPreviousStatement(true, 'Title'); - this.setNextStatement(true, 'Title'); + .appendField('text') + .appendField(new Blockly.FieldTextInput(''), 'TEXT'); + this.setPreviousStatement(true, 'Field'); + this.setNextStatement(true, 'Field'); this.setTooltip('Static text that serves as a label.'); } }; -Blockly.Blocks['title_input'] = { +Blockly.Blocks['field_input'] = { // Text input. init: function() { this.setColour(160); this.appendDummyInput() - .appendTitle('text input') - .appendTitle(new Blockly.FieldTextInput('default'), 'TEXT') - .appendTitle(',') - .appendTitle(new Blockly.FieldTextInput('NAME'), 'TITLENAME'); - this.setPreviousStatement(true, 'Title'); - this.setNextStatement(true, 'Title'); + .appendField('text input') + .appendField(new Blockly.FieldTextInput('default'), 'TEXT') + .appendField(',') + .appendField(new Blockly.FieldTextInput('NAME'), 'FIELDNAME'); + this.setPreviousStatement(true, 'Field'); + this.setNextStatement(true, 'Field'); this.setTooltip('An input field for the user to enter text.'); }, onchange: function() { @@ -207,21 +207,21 @@ Blockly.Blocks['title_input'] = { // Block has been deleted. return; } - titleNameCheck(this); + fieldNameCheck(this); } }; -Blockly.Blocks['title_angle'] = { +Blockly.Blocks['field_angle'] = { // Angle input. init: function() { this.setColour(160); this.appendDummyInput() - .appendTitle('angle input') - .appendTitle(new Blockly.FieldAngle('90'), 'ANGLE') - .appendTitle(',') - .appendTitle(new Blockly.FieldTextInput('NAME'), 'TITLENAME'); - this.setPreviousStatement(true, 'Title'); - this.setNextStatement(true, 'Title'); + .appendField('angle input') + .appendField(new Blockly.FieldAngle('90'), 'ANGLE') + .appendField(',') + .appendField(new Blockly.FieldTextInput('NAME'), 'FIELDNAME'); + this.setPreviousStatement(true, 'Field'); + this.setNextStatement(true, 'Field'); this.setTooltip('An input field for the user to enter an angle.'); }, onchange: function() { @@ -229,32 +229,32 @@ Blockly.Blocks['title_angle'] = { // Block has been deleted. return; } - titleNameCheck(this); + fieldNameCheck(this); } }; -Blockly.Blocks['title_dropdown'] = { +Blockly.Blocks['field_dropdown'] = { // Dropdown menu. init: function() { this.setColour(160); this.appendDummyInput() - .appendTitle('dropdown') - .appendTitle(new Blockly.FieldTextInput('NAME'), 'TITLENAME'); + .appendField('dropdown') + .appendField(new Blockly.FieldTextInput('NAME'), 'FIELDNAME'); this.appendDummyInput('OPTION0') - .appendTitle(new Blockly.FieldTextInput('option'), 'USER0') - .appendTitle(',') - .appendTitle(new Blockly.FieldTextInput('OPTIONNAME'), 'CPU0'); + .appendField(new Blockly.FieldTextInput('option'), 'USER0') + .appendField(',') + .appendField(new Blockly.FieldTextInput('OPTIONNAME'), 'CPU0'); this.appendDummyInput('OPTION1') - .appendTitle(new Blockly.FieldTextInput('option'), 'USER1') - .appendTitle(',') - .appendTitle(new Blockly.FieldTextInput('OPTIONNAME'), 'CPU1'); + .appendField(new Blockly.FieldTextInput('option'), 'USER1') + .appendField(',') + .appendField(new Blockly.FieldTextInput('OPTIONNAME'), 'CPU1'); this.appendDummyInput('OPTION2') - .appendTitle(new Blockly.FieldTextInput('option'), 'USER2') - .appendTitle(',') - .appendTitle(new Blockly.FieldTextInput('OPTIONNAME'), 'CPU2'); - this.setPreviousStatement(true, 'Title'); - this.setNextStatement(true, 'Title'); - this.setMutator(new Blockly.Mutator(['title_dropdown_option'])); + .appendField(new Blockly.FieldTextInput('option'), 'USER2') + .appendField(',') + .appendField(new Blockly.FieldTextInput('OPTIONNAME'), 'CPU2'); + this.setPreviousStatement(true, 'Field'); + this.setNextStatement(true, 'Field'); + this.setMutator(new Blockly.Mutator(['field_dropdown_option'])); this.setTooltip('Dropdown menu with a list of options.'); this.optionCount_ = 3; }, @@ -270,18 +270,18 @@ Blockly.Blocks['title_dropdown'] = { this.optionCount_ = parseInt(container.getAttribute('options'), 10); for (var x = 0; x < this.optionCount_; x++) { var input = this.appendDummyInput('OPTION' + x); - input.appendTitle(new Blockly.FieldTextInput('option'), 'USER' + x); - input.appendTitle(','); - input.appendTitle(new Blockly.FieldTextInput('OPTIONNAME'), 'CPU' + x); + input.appendField(new Blockly.FieldTextInput('option'), 'USER' + x); + input.appendField(','); + input.appendField(new Blockly.FieldTextInput('OPTIONNAME'), 'CPU' + x); } }, decompose: function(workspace) { var containerBlock = new Blockly.Block(workspace, - 'title_dropdown_container'); + 'field_dropdown_container'); containerBlock.initSvg(); var connection = containerBlock.getInput('STACK').connection; for (var x = 0; x < this.optionCount_; x++) { - var optionBlock = new Blockly.Block(workspace, 'title_dropdown_option'); + var optionBlock = new Blockly.Block(workspace, 'field_dropdown_option'); optionBlock.initSvg(); connection.connect(optionBlock.previousConnection); connection = optionBlock.nextConnection; @@ -298,10 +298,10 @@ Blockly.Blocks['title_dropdown'] = { var optionBlock = containerBlock.getInputTargetBlock('STACK'); while (optionBlock) { this.appendDummyInput('OPTION' + this.optionCount_) - .appendTitle(new Blockly.FieldTextInput( + .appendField(new Blockly.FieldTextInput( optionBlock.userData_ || 'option'), 'USER' + this.optionCount_) - .appendTitle(',') - .appendTitle(new Blockly.FieldTextInput( + .appendField(',') + .appendField(new Blockly.FieldTextInput( optionBlock.cpuData_ || 'OPTIONNAME'), 'CPU' + this.optionCount_); this.optionCount_++; optionBlock = optionBlock.nextConnection && @@ -313,8 +313,8 @@ Blockly.Blocks['title_dropdown'] = { var optionBlock = containerBlock.getInputTargetBlock('STACK'); var x = 0; while (optionBlock) { - optionBlock.userData_ = this.getTitleValue('USER' + x); - optionBlock.cpuData_ = this.getTitleValue('CPU' + x); + optionBlock.userData_ = this.getFieldValue('USER' + x); + optionBlock.cpuData_ = this.getFieldValue('CPU' + x); x++; optionBlock = optionBlock.nextConnection && optionBlock.nextConnection.targetBlock(); @@ -328,17 +328,17 @@ Blockly.Blocks['title_dropdown'] = { if (this.optionCount_ < 1) { this.setWarningText('Drop down menu must\nhave at least one option.'); } else { - titleNameCheck(this); + fieldNameCheck(this); } } }; -Blockly.Blocks['title_dropdown_container'] = { +Blockly.Blocks['field_dropdown_container'] = { // Container. init: function() { this.setColour(160); this.appendDummyInput() - .appendTitle('add options'); + .appendField('add options'); this.appendStatementInput('STACK'); this.setTooltip('Add, remove, or reorder options\n' + 'to reconfigure this dropdown menu.'); @@ -346,12 +346,12 @@ Blockly.Blocks['title_dropdown_container'] = { } }; -Blockly.Blocks['title_dropdown_option'] = { +Blockly.Blocks['field_dropdown_option'] = { // Add option. init: function() { this.setColour(160); this.appendDummyInput() - .appendTitle('option'); + .appendField('option'); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip('Add a new option to the dropdown menu.'); @@ -359,17 +359,17 @@ Blockly.Blocks['title_dropdown_option'] = { } }; -Blockly.Blocks['title_checkbox'] = { +Blockly.Blocks['field_checkbox'] = { // Checkbox. init: function() { this.setColour(160); this.appendDummyInput() - .appendTitle('checkbox') - .appendTitle(new Blockly.FieldCheckbox('TRUE'), 'CHECKED') - .appendTitle(',') - .appendTitle(new Blockly.FieldTextInput('NAME'), 'TITLENAME'); - this.setPreviousStatement(true, 'Title'); - this.setNextStatement(true, 'Title'); + .appendField('checkbox') + .appendField(new Blockly.FieldCheckbox('TRUE'), 'CHECKED') + .appendField(',') + .appendField(new Blockly.FieldTextInput('NAME'), 'FIELDNAME'); + this.setPreviousStatement(true, 'Field'); + this.setNextStatement(true, 'Field'); this.setTooltip('Checkbox field.'); }, onchange: function() { @@ -377,21 +377,21 @@ Blockly.Blocks['title_checkbox'] = { // Block has been deleted. return; } - titleNameCheck(this); + fieldNameCheck(this); } }; -Blockly.Blocks['title_colour'] = { +Blockly.Blocks['field_colour'] = { // Colour input. init: function() { this.setColour(160); this.appendDummyInput() - .appendTitle('colour') - .appendTitle(new Blockly.FieldColour('#ff0000'), 'COLOUR') - .appendTitle(',') - .appendTitle(new Blockly.FieldTextInput('NAME'), 'TITLENAME'); - this.setPreviousStatement(true, 'Title'); - this.setNextStatement(true, 'Title'); + .appendField('colour') + .appendField(new Blockly.FieldColour('#ff0000'), 'COLOUR') + .appendField(',') + .appendField(new Blockly.FieldTextInput('NAME'), 'FIELDNAME'); + this.setPreviousStatement(true, 'Field'); + this.setNextStatement(true, 'Field'); this.setTooltip('Colour input field.'); }, onchange: function() { @@ -399,21 +399,21 @@ Blockly.Blocks['title_colour'] = { // Block has been deleted. return; } - titleNameCheck(this); + fieldNameCheck(this); } }; -Blockly.Blocks['title_variable'] = { +Blockly.Blocks['field_variable'] = { // Dropdown for variables. init: function() { this.setColour(160); this.appendDummyInput() - .appendTitle('variable') - .appendTitle(new Blockly.FieldTextInput('item'), 'TEXT') - .appendTitle(',') - .appendTitle(new Blockly.FieldTextInput('NAME'), 'TITLENAME'); - this.setPreviousStatement(true, 'Title'); - this.setNextStatement(true, 'Title'); + .appendField('variable') + .appendField(new Blockly.FieldTextInput('item'), 'TEXT') + .appendField(',') + .appendField(new Blockly.FieldTextInput('NAME'), 'FIELDNAME'); + this.setPreviousStatement(true, 'Field'); + this.setNextStatement(true, 'Field'); this.setTooltip('Dropdown menu for variable names.'); }, onchange: function() { @@ -421,25 +421,25 @@ Blockly.Blocks['title_variable'] = { // Block has been deleted. return; } - titleNameCheck(this); + fieldNameCheck(this); } }; -Blockly.Blocks['title_image'] = { +Blockly.Blocks['field_image'] = { // Image. init: function() { this.setColour(160); var src = 'http://www.gstatic.com/codesite/ph/images/star_on.gif'; this.appendDummyInput() - .appendTitle('image') - .appendTitle(new Blockly.FieldTextInput(src), 'SRC'); + .appendField('image') + .appendField(new Blockly.FieldTextInput(src), 'SRC'); this.appendDummyInput() - .appendTitle('width') - .appendTitle(new Blockly.FieldTextInput('15'), 'WIDTH') - .appendTitle('height') - .appendTitle(new Blockly.FieldTextInput('15'), 'HEIGHT'); - this.setPreviousStatement(true, 'Title'); - this.setNextStatement(true, 'Title'); + .appendField('width') + .appendField(new Blockly.FieldTextInput('15'), 'WIDTH') + .appendField('height') + .appendField(new Blockly.FieldTextInput('15'), 'HEIGHT'); + this.setPreviousStatement(true, 'Field'); + this.setNextStatement(true, 'Field'); this.setTooltip('Static image (JPEG, PNG, GIF, SVG, BMP).\n' + 'Retains aspect ratio regardless of height and width.'); } @@ -451,7 +451,7 @@ Blockly.Blocks['type_group'] = { this.setColour(230); this.appendValueInput('TYPE0') .setCheck('Type') - .appendTitle('any of'); + .appendField('any of'); this.appendValueInput('TYPE1') .setCheck('Type'); this.setOutput(true, 'Type'); @@ -473,7 +473,7 @@ Blockly.Blocks['type_group'] = { var input = this.appendValueInput('TYPE' + x) .setCheck('Type'); if (x == 0) { - input.appendTitle('any of'); + input.appendField('any of'); } } }, @@ -502,7 +502,7 @@ Blockly.Blocks['type_group'] = { var input = this.appendValueInput('TYPE' + this.typeCount_) .setCheck('Type'); if (this.typeCount_ == 0) { - input.appendTitle('any of'); + input.appendField('any of'); } // Reconnect any child blocks. if (typeBlock.valueConnection_) { @@ -532,7 +532,7 @@ Blockly.Blocks['type_group_container'] = { init: function() { this.setColour(230); this.appendDummyInput() - .appendTitle('add types'); + .appendField('add types'); this.appendStatementInput('STACK'); this.setTooltip('Add, or remove allowed type.'); this.contextMenu = false; @@ -544,7 +544,7 @@ Blockly.Blocks['type_group_item'] = { init: function() { this.setColour(230); this.appendDummyInput() - .appendTitle('type'); + .appendField('type'); this.setPreviousStatement(true); this.setNextStatement(true); this.setTooltip('Add a new allowed type.'); @@ -558,7 +558,7 @@ Blockly.Blocks['type_null'] = { init: function() { this.setColour(230); this.appendDummyInput() - .appendTitle('any'); + .appendField('any'); this.setOutput(true, 'Type'); this.setTooltip('Any type is allowed.'); } @@ -570,7 +570,7 @@ Blockly.Blocks['type_boolean'] = { init: function() { this.setColour(230); this.appendDummyInput() - .appendTitle('boolean'); + .appendField('boolean'); this.setOutput(true, 'Type'); this.setTooltip('Booleans (true/false) are allowed.'); } @@ -582,7 +582,7 @@ Blockly.Blocks['type_number'] = { init: function() { this.setColour(230); this.appendDummyInput() - .appendTitle('number'); + .appendField('number'); this.setOutput(true, 'Type'); this.setTooltip('Numbers (int/float) are allowed.'); } @@ -594,7 +594,7 @@ Blockly.Blocks['type_string'] = { init: function() { this.setColour(230); this.appendDummyInput() - .appendTitle('string'); + .appendField('string'); this.setOutput(true, 'Type'); this.setTooltip('Strings (text) are allowed.'); } @@ -606,7 +606,7 @@ Blockly.Blocks['type_list'] = { init: function() { this.setColour(230); this.appendDummyInput() - .appendTitle('list'); + .appendField('list'); this.setOutput(true, 'Type'); this.setTooltip('Arrays (lists) are allowed.'); } @@ -617,8 +617,8 @@ Blockly.Blocks['type_other'] = { init: function() { this.setColour(230); this.appendDummyInput() - .appendTitle('other') - .appendTitle(new Blockly.FieldTextInput(''), 'TYPE'); + .appendField('other') + .appendField(new Blockly.FieldTextInput(''), 'TYPE'); this.setOutput(true, 'Type'); this.setTooltip('Custom type to allow.'); } @@ -628,8 +628,8 @@ Blockly.Blocks['colour_hue'] = { // Set the colour of the block. init: function() { this.appendDummyInput() - .appendTitle('hue:') - .appendTitle(new Blockly.FieldAngle('0', this.validator), 'HUE'); + .appendField('hue:') + .appendField(new Blockly.FieldAngle('0', this.validator), 'HUE'); this.setOutput(true, 'Colour'); this.setTooltip('Paint the block with this colour.'); }, @@ -640,16 +640,16 @@ Blockly.Blocks['colour_hue'] = { }; /** - * Check to see if more than one title has this name. + * Check to see if more than one field has this name. * Highly inefficient (On^2), but n is small. * @param {!Blockly.Block} referenceBlock Block to check. */ -function titleNameCheck(referenceBlock) { - var name = referenceBlock.getTitleValue('TITLENAME').toLowerCase(); +function fieldNameCheck(referenceBlock) { + var name = referenceBlock.getFieldValue('FIELDNAME').toLowerCase(); var count = 0; var blocks = referenceBlock.workspace.getAllBlocks(); for (var x = 0, block; block = blocks[x]; x++) { - var otherName = block.getTitleValue('TITLENAME'); + var otherName = block.getFieldValue('FIELDNAME'); if (otherName) { if (otherName.toLowerCase() == name) { count++; @@ -657,7 +657,7 @@ function titleNameCheck(referenceBlock) { } } var msg = (count > 1) ? - 'There are ' + count + ' title blocks\n with this name.' : null; + 'There are ' + count + ' field blocks\n with this name.' : null; referenceBlock.setWarningText(msg); } @@ -667,11 +667,11 @@ function titleNameCheck(referenceBlock) { * @param {!Blockly.Block} referenceBlock Block to check. */ function inputNameCheck(referenceBlock) { - var name = referenceBlock.getTitleValue('INPUTNAME').toLowerCase(); + var name = referenceBlock.getFieldValue('INPUTNAME').toLowerCase(); var count = 0; var blocks = referenceBlock.workspace.getAllBlocks(); for (var x = 0, block; block = blocks[x]; x++) { - var otherName = block.getTitleValue('INPUTNAME'); + var otherName = block.getFieldValue('INPUTNAME'); if (otherName) { if (otherName.toLowerCase() == name) { count++; diff --git a/apps/blockfactory/factory.js b/apps/blockfactory/factory.js index d34493834..0f5006886 100644 --- a/apps/blockfactory/factory.js +++ b/apps/blockfactory/factory.js @@ -47,7 +47,7 @@ function initPreview(updateFunc) { * When the workspace changes, update the three other displays. */ function onchange() { - var name = rootBlock.getTitleValue('NAME'); + var name = rootBlock.getFieldValue('NAME'); blockType = name.replace(/\W/g, '_').replace(/^(\d)/, '_\\1').toLowerCase(); if (!blockType) { blockType = 'unnamed'; @@ -69,7 +69,7 @@ function updateLanguage() { // Generate colour. var colourBlock = rootBlock.getInputTargetBlock('COLOUR'); if (colourBlock) { - var hue = parseInt(colourBlock.getTitleValue('HUE'), 10); + var hue = parseInt(colourBlock.getFieldValue('HUE'), 10); code.push(' this.setColour(' + hue + ');'); } // Generate inputs. @@ -79,12 +79,12 @@ function updateLanguage() { var inputVarDefined = false; var contentsBlock = rootBlock.getInputTargetBlock('INPUTS'); while (contentsBlock) { - var align = contentsBlock.getTitleValue('ALIGN'); - var titles = getTitles(contentsBlock.getInputTargetBlock('TITLES')); + var align = contentsBlock.getFieldValue('ALIGN'); + var fields = getFields(contentsBlock.getInputTargetBlock('FIELDS')); var name = ''; // Dummy inputs don't have names. Other inputs do. if (contentsBlock.type != 'input_dummy') { - name = escapeString(contentsBlock.getTitleValue('INPUTNAME')); + name = escapeString(contentsBlock.getFieldValue('INPUTNAME')); } var check = getOptTypesFrom(contentsBlock, 'TYPE'); code.push(' this.' + TYPES[contentsBlock.type] + @@ -95,8 +95,8 @@ function updateLanguage() { if (align != 'LEFT') { code.push(' .setAlign(Blockly.ALIGN_' + align + ')'); } - for (var x = 0; x < titles.length; x++) { - code.push(' .appendTitle(' + titles[x] + ')'); + for (var x = 0; x < fields.length; x++) { + code.push(' .appendField(' + fields[x] + ')'); } // Add semicolon to last line to finish the statement. code[code.length - 1] += ';'; @@ -104,11 +104,11 @@ function updateLanguage() { contentsBlock.nextConnection.targetBlock(); } // Generate inline/external switch. - if (rootBlock.getTitleValue('INLINE') == 'INT') { + if (rootBlock.getFieldValue('INLINE') == 'INT') { code.push(' this.setInputsInline(true);'); } // Generate output, or next/previous connections. - switch (rootBlock.getTitleValue('CONNECTIONS')) { + switch (rootBlock.getFieldValue('CONNECTIONS')) { case 'LEFT': code.push(connectionLine_('setOutput', 'OUTPUTTYPE')); break; @@ -146,76 +146,76 @@ function connectionLine_(functionName, typeName) { } /** - * Returns a title string and any config. - * @param {!Blockly.Block} block Title block. - * @return {string} Title string. + * Returns a field string and any config. + * @param {!Blockly.Block} block Field block. + * @return {string} Field string. */ -function getTitles(block) { - var titles = []; +function getFields(block) { + var fields = []; while (block) { switch (block.type) { - case 'title_static': + case 'field_static': // Result: 'hello' - titles.push(escapeString(block.getTitleValue('TEXT'))); + fields.push(escapeString(block.getFieldValue('TEXT'))); break; - case 'title_input': + case 'field_input': // Result: new Blockly.FieldTextInput('Hello'), 'GREET' - titles.push('new Blockly.FieldTextInput(' + - escapeString(block.getTitleValue('TEXT')) + '), ' + - escapeString(block.getTitleValue('TITLENAME'))); + fields.push('new Blockly.FieldTextInput(' + + escapeString(block.getFieldValue('TEXT')) + '), ' + + escapeString(block.getFieldValue('FIELDNAME'))); break; - case 'title_angle': + case 'field_angle': // Result: new Blockly.FieldAngle(90), 'ANGLE' - titles.push('new Blockly.FieldAngle(' + - escapeString(block.getTitleValue('ANGLE')) + '), ' + - escapeString(block.getTitleValue('TITLENAME'))); + fields.push('new Blockly.FieldAngle(' + + escapeString(block.getFieldValue('ANGLE')) + '), ' + + escapeString(block.getFieldValue('FIELDNAME'))); break; - case 'title_checkbox': + case 'field_checkbox': // Result: new Blockly.FieldCheckbox('TRUE'), 'CHECK' - titles.push('new Blockly.FieldCheckbox(' + - escapeString(block.getTitleValue('CHECKED')) + '), ' + - escapeString(block.getTitleValue('TITLENAME'))); + fields.push('new Blockly.FieldCheckbox(' + + escapeString(block.getFieldValue('CHECKED')) + '), ' + + escapeString(block.getFieldValue('FIELDNAME'))); break; - case 'title_colour': + case 'field_colour': // Result: new Blockly.FieldColour('#ff0000'), 'COLOUR' - titles.push('new Blockly.FieldColour(' + - escapeString(block.getTitleValue('COLOUR')) + '), ' + - escapeString(block.getTitleValue('TITLENAME'))); + fields.push('new Blockly.FieldColour(' + + escapeString(block.getFieldValue('COLOUR')) + '), ' + + escapeString(block.getFieldValue('FIELDNAME'))); break; - case 'title_variable': + case 'field_variable': // Result: // new Blockly.FieldVariable('item'), 'VAR' - var varname = block.getTitleValue('TEXT'); + var varname = block.getFieldValue('TEXT'); varname = varname ? escapeString(varname) : 'null'; - titles.push('new Blockly.FieldVariable(' + varname + '), ' + - escapeString(block.getTitleValue('TITLENAME'))); + fields.push('new Blockly.FieldVariable(' + varname + '), ' + + escapeString(block.getFieldValue('FIELDNAME'))); break; - case 'title_dropdown': + case 'field_dropdown': // Result: // new Blockly.FieldDropdown([['yes', '1'], ['no', '0']]), 'TOGGLE' var options = []; for (var x = 0; x < block.optionCount_; x++) { - options[x] = '[' + escapeString(block.getTitleValue('USER' + x)) + - ', ' + escapeString(block.getTitleValue('CPU' + x)) + ']'; + options[x] = '[' + escapeString(block.getFieldValue('USER' + x)) + + ', ' + escapeString(block.getFieldValue('CPU' + x)) + ']'; } if (options.length) { - titles.push('new Blockly.FieldDropdown([' + + fields.push('new Blockly.FieldDropdown([' + options.join(', ') + ']), ' + - escapeString(block.getTitleValue('TITLENAME'))); + escapeString(block.getFieldValue('FIELDNAME'))); } break; - case 'title_image': + case 'field_image': // Result: new Blockly.FieldImage('http://...', 80, 60) - var src = escapeString(block.getTitleValue('SRC')); - var width = Number(block.getTitleValue('WIDTH')); - var height = Number(block.getTitleValue('HEIGHT')); - titles.push('new Blockly.FieldImage(' + + var src = escapeString(block.getFieldValue('SRC')); + var width = Number(block.getFieldValue('WIDTH')); + var height = Number(block.getFieldValue('HEIGHT')); + fields.push('new Blockly.FieldImage(' + src + ', ' + width + ', ' + height + ')'); break; } block = block.nextConnection && block.nextConnection.targetBlock(); } - return titles; + return fields; } /** @@ -264,7 +264,7 @@ function getTypesFrom_(block, name) { if (!typeBlock) { types = []; } else if (typeBlock.type == 'type_other') { - types = [escapeString(typeBlock.getTitleValue('TYPE'))]; + types = [escapeString(typeBlock.getFieldValue('TYPE'))]; } else if (typeBlock.type == 'type_group') { types = []; for (var n = 0; n < typeBlock.typeCount_; n++) { @@ -299,46 +299,46 @@ function updateGenerator() { var blocks = rootBlock.getDescendants(); for (var x = 0, block; block = blocks[x]; x++) { switch (block.type) { - case 'title_input': - var name = block.getTitleValue('TITLENAME'); + case 'field_input': + var name = block.getFieldValue('FIELDNAME'); code.push(makeVar('text', name) + - " = block.getTitleValue('" + name + "');"); + " = block.getFieldValue('" + name + "');"); break; - case 'title_angle': - var name = block.getTitleValue('TITLENAME'); + case 'field_angle': + var name = block.getFieldValue('FIELDNAME'); code.push(makeVar('angle', name) + - " = block.getTitleValue('" + name + "');"); + " = block.getFieldValue('" + name + "');"); break; - case 'title_dropdown': - var name = block.getTitleValue('TITLENAME'); + case 'field_dropdown': + var name = block.getFieldValue('FIELDNAME'); code.push(makeVar('dropdown', name) + - " = block.getTitleValue('" + name + "');"); + " = block.getFieldValue('" + name + "');"); break; - case 'title_checkbox': - var name = block.getTitleValue('TITLENAME'); + case 'field_checkbox': + var name = block.getFieldValue('FIELDNAME'); code.push(makeVar('checkbox', name) + - " = block.getTitleValue('" + name + "') == 'TRUE';"); + " = block.getFieldValue('" + name + "') == 'TRUE';"); break; - case 'title_colour': - var name = block.getTitleValue('TITLENAME'); + case 'field_colour': + var name = block.getFieldValue('FIELDNAME'); code.push(makeVar('colour', name) + - " = block.getTitleValue('" + name + "');"); + " = block.getFieldValue('" + name + "');"); break; - case 'title_variable': - var name = block.getTitleValue('TITLENAME'); + case 'field_variable': + var name = block.getFieldValue('FIELDNAME'); code.push(makeVar('variable', name) + " = Blockly." + language + - ".variableDB_.getName(block.getTitleValue('" + name + + ".variableDB_.getName(block.getFieldValue('" + name + "'), Blockly.Variables.NAME_TYPE);"); break; case 'input_value': - var name = block.getTitleValue('INPUTNAME'); + var name = block.getFieldValue('INPUTNAME'); code.push(makeVar('value', name) + " = Blockly." + language + ".valueToCode(block, '" + name + "', Blockly." + language + ".ORDER_ATOMIC);"); break; case 'input_statement': - var name = block.getTitleValue('INPUTNAME'); + var name = block.getFieldValue('INPUTNAME'); code.push(makeVar('statements', name) + " = Blockly.' + language + '.statementToCode(block, '" + name + "');"); @@ -347,7 +347,7 @@ function updateGenerator() { } code.push(" // TODO: Assemble " + language + " into code variable."); code.push(" var code = \'...\';"); - if (rootBlock.getTitleValue('CONNECTIONS') == 'LEFT') { + if (rootBlock.getFieldValue('CONNECTIONS') == 'LEFT') { code.push(" // TODO: Change ORDER_NONE to the correct strength."); code.push(" return [code, Blockly." + language + ".ORDER_NONE];"); } else { diff --git a/apps/blockfactory/index.html b/apps/blockfactory/index.html index 42aaf5371..077ad3ebe 100644 --- a/apps/blockfactory/index.html +++ b/apps/blockfactory/index.html @@ -117,15 +117,15 @@ - - - - - - - - - + + + + + + + + + @@ -137,15 +137,15 @@ - 20 - 65 - 120 - 160 - 210 - 230 - 260 - 290 - 330 + 20 + 65 + 120 + 160 + 210 + 230 + 260 + 290 + 330 diff --git a/apps/code/code.js b/apps/code/code.js index a8bc32c86..07238ce79 100644 --- a/apps/code/code.js +++ b/apps/code/code.js @@ -24,9 +24,9 @@ // Supported languages. BlocklyApps.LANGUAGES = [ - 'ar', 'ca', 'da', 'de', 'el', 'en', 'es', 'fa', 'fr', 'he', 'hu', 'is', 'it', - 'ko', 'nl', 'pt-br', 'ro', 'ru', 'sv', 'th', 'tr', 'uk', 'vi', 'zh-hans', - 'zh-hant']; + 'ar', 'ca', 'cs', 'da', 'de', 'el', 'en', 'es', 'fa', 'fr', 'he', 'hu', 'is', + 'it', 'ko', 'ms', 'nl', 'pl', 'pt-br', 'ro', 'ru', 'sv', 'th', 'tl', 'tr', + 'uk', 'vi', 'zh-hans', 'zh-hant']; BlocklyApps.LANG = BlocklyApps.getLang(); document.write('