Skip to content

Commit a5dfa21

Browse files
committed
add rgblad callback block
1 parent 6c7a2dc commit a5dfa21

3 files changed

Lines changed: 32 additions & 0 deletions

File tree

blocks/webduino.js

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -896,6 +896,21 @@ Blockly.Blocks['rgbled_setcolor'] = {
896896
}
897897
};
898898

899+
Blockly.Blocks['rgbled_setcolor_callback'] = {
900+
init: function () {
901+
this.appendValueInput("color_")
902+
.appendField(new Blockly.FieldVariable(" "), "rgbled_")
903+
.appendField(Blockly.Msg.WEBDUINO_RGBLED_SETCOLOR, "set color");
904+
this.appendStatementInput("do_")
905+
.appendField(Blockly.Msg.WEBDUINO_LED_STATE_DO, "執行:");
906+
this.setPreviousStatement(true);
907+
this.setNextStatement(true);
908+
this.setColour(65);
909+
this.setTooltip('');
910+
this.setHelpUrl('http://www.example.com/');
911+
}
912+
};
913+
899914
Blockly.Blocks['car_new'] = {
900915
init: function () {
901916
this.appendDummyInput()

generators/webduino.js

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -694,6 +694,15 @@ Blockly.JavaScript['rgbled_setcolor'] = function (block) {
694694
};
695695

696696

697+
Blockly.JavaScript['rgbled_setcolor_callback'] = function (block) {
698+
var variable_rgbled_ = Blockly.JavaScript.variableDB_.getName(block.getFieldValue('rgbled_'), Blockly.Variables.NAME_TYPE);
699+
var value_color_ = Blockly.JavaScript.valueToCode(block, 'color_', Blockly.JavaScript.ORDER_NONE);
700+
var statements_do_ = Blockly.JavaScript.statementToCode(block, 'do_');
701+
var code = variable_rgbled_ + '.setColor(' + value_color_ + ' , function(){\n ' + statements_do_ + '\n});\n';
702+
return code;
703+
};
704+
705+
697706
Blockly.JavaScript['car_new'] = function (block) {
698707
var dropdown_f_ = block.getFieldValue('f_');
699708
var dropdown_b_ = block.getFieldValue('b_');

views/index.handlebars

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -598,6 +598,14 @@
598598
</block>
599599
</value>
600600
</block>
601+
<block type="rgbled_setcolor_callback">
602+
<field name="rgbled_">rgbled</field>
603+
<value name="color_">
604+
<block type="colour_picker">
605+
<field name="COLOUR">#ff0000</field>
606+
</block>
607+
</value>
608+
</block>
601609
</category>
602610
<category id="catBuzzer">
603611
<block type="variables_set">

0 commit comments

Comments
 (0)