// -*- mode: java; c-basic-offset: 2; -*- // Copyright © 2013-2016 MIT, All rights reserved // Released under the Apache License, Version 2.0 // http://www.apache.org/licenses/LICENSE-2.0 /** * @license * @fileoverview Non-editable field with flydown representing a component event * parameter. Necessary to support eventparam mutation and helper blocks in * the flydown. */ 'use strict'; //goog.provide('AI.Blockly.FieldEventFlydown'); //goog.require('AI.Blockly.FieldParameterFlydown'); /** * Flydown field representing a component event parameter. * @param {!ParameterDescriptor} param The parameter this flydown is representing. * @param {!Blockly.ComponentDatabase} componentDb The component database the * previous ParameterDescriptor is associated with. * @param {string=} opt_displayLocation The location to display the flydown at * Either: Blockly.FieldFlydown.DISPLAY_BELOW, * Blockly.FieldFlydown.DISPLAY_RIGHT * Defaults to DISPLAY_RIGHT. */ Blockly.FieldEventFlydown = function(param, componentDb, opt_displayLocation) { this.componentDb = componentDb; this.param = param; var name = componentDb.getInternationalizedParameterName(param.name); Blockly.FieldEventFlydown.superClass_.constructor.call( this, name, false, opt_displayLocation); } //goog.inherits(Blockly.FieldEventFlydown, Blockly.FieldParameterFlydown); Blockly.FieldEventFlydown.prototype.flydownBlocksXML_ = function() { // TODO: Refactor this to use getValue() instead of getText(). getText() // refers to the view, while getValue refers to the model (in MVC terms). var name = this.getText(); var mutation = '' + '' + ''; var getterSetterXML = '' + '' + mutation + '' + name + '' + '' + '' + mutation + '' + name + '' + '' + ''; return getterSetterXML; }