def analogWrite(off=False): sb = createStatementBlock(off, 'analogWrite') sb.addCodeElement(gettext_noop('set analog pin')) sb.addArgumentHolder(createDropdownNumberBlockHolder(off, PWM_PINS, sb)) sb.addCodeElement(gettext_noop('value')) sb.addArgumentHolder(createNumberBlockHolder(off, sb)) return sb
def setServo(off=False): sb = createStatementBlock(off, 'setServo') sb.addCodeElement(gettext_noop('set')) sb.addVariableElement('servo', countComponents, 'component_servo') sb.addCodeElement(gettext_noop('angle')) sb.addArgumentHolder(createNumberBlockHolder(off, sb)) sb.addCodeElement('°') return sb
def setLed(off=False): sb = createStatementBlock(off, 'setLed') sb.addCodeElement(gettext_noop('set')) sb.addVariableElement('led', countComponents, 'component_led') sb.addCodeElement(gettext_noop('to')) sb.addCodeElement() sb.addArgumentHolder(createDropdownBooleanBlockHolder(off, LED_VALUES, sb)) return sb
def digitalWrite(off=False): sb = createStatementBlock(off, 'digitalWrite') sb.addCodeElement(gettext_noop('set digital pin')) sb.addArgumentHolder(createDropdownNumberBlockHolder(off, ALL_PINS, sb)) sb.addCodeElement(gettext_noop('value')) sb.addArgumentHolder( createDropdownBooleanBlockHolder(off, DIGITAL_VALUES, sb)) return sb
def posLcd(off=False): sb = createStatementBlock(off, 'posLcd') sb.addCodeElement('posicione') sb.addVariableElement('lcd', countComponents, 'component_lcd') sb.addCodeElement(gettext_noop('row')) sb.addArgumentHolder(createDropdownNumberBlockHolder(off, LCD_ROWS, sb)) sb.addCodeElement(gettext_noop('column')) sb.addArgumentHolder(createDropdownNumberBlockHolder(off, LCD_COLS, sb)) return sb
def setDisplay7seg(off=False): sb = createStatementBlock(off, 'setDisplay7seg') sb.addCodeElement(gettext_noop('show on')) sb.addVariableElement('display7seg', countComponents, 'component_display7seg') sb.addCodeElement(gettext_noop('the nº')) sb.addArgumentHolder( createDropdownNumberBlockHolder(off, DISPLAY_7SEG_NUMBERS, sb)) return sb
def logicOperation(name, operator, off): bb = createBooleanBlock(off, name) bb.addArgumentHolder(createBooleanBlockHolder(off, bb)) bb.addCodeElement(operator, { gettext_noop('and'): 'and_', gettext_noop('or'): 'or_' }) bb.addArgumentHolder(createBooleanBlockHolder(off, bb)) return bb
def setBuzzer(off=False): sb = createStatementBlock(off, 'setBuzzer') sb.addCodeElement(gettext_noop('play')) sb.addVariableElement('buzina', countComponents, 'component_buzzer') sb.addCodeElement('<i>' + gettext_noop('note') + '</i>') sb.addArgumentHolder( createDropdownNumberBlockHolder(off, MANY_FEW_NOTES, sb)) sb.addCodeElement('<i>' + gettext_noop('duration') + '</i>') sb.addArgumentHolder(createNumberBlockHolder(off, sb)) return sb
def setRGBLed(off=False): sb = createStatementBlock(off, 'setRGBLed') sb.addCodeElement(gettext_noop('set')) sb.addVariableElement('led rgb', countComponents, 'component_rgb_led') sb.addCodeElement(gettext_noop('R')) sb.addArgumentHolder(createNumberBlockHolder(off, sb)) sb.addCodeElement(gettext_noop('G')) sb.addArgumentHolder(createNumberBlockHolder(off, sb)) sb.addCodeElement(gettext_noop('B')) sb.addArgumentHolder(createNumberBlockHolder(off, sb)) return sb
def onMotor(off=False): sb = createStatementBlock(off, 'onMotor') sb.addCodeElement(gettext_noop('on')) sb.addCodeElement() sb.addVariableElement('motor', countComponents, 'component_motor') sb.addCodeElement() sb.addCodeElement(gettext_noop('to')) sb.addCodeElement() sb.addArgumentHolder( createDropdownBooleanBlockHolder(off, DIRECTIONS_MOTOR, sb)) return sb
def getButton(off=False): sb = createBooleanBlock(off, 'getButton', 'purple') sb.addCodeElement('o') sb.addVariableElement(gettext_noop('button'), countComponents, 'component_button') sb.addCodeElement('está pressionado') return sb
def setLcd(off=False): sb = createStatementBlock(off, 'setLcd') sb.addCodeElement('escreve no') sb.addVariableElement('lcd', countComponents, 'component_lcd') sb.addCodeElement(gettext_noop('text')) sb.addArgumentHolder(createStringBlockHolder(off, sb)) return sb
def setBrightnessLed(off=False): sb = createStatementBlock(off, 'setBrightnessLed') sb.addCodeElement(gettext_noop('set')) sb.addVariableElement('led', countComponents, 'component_led') sb.addCodeElement('brilho') sb.addCodeElement() sb.addArgumentHolder(createNumberBlockHolder(off, sb)) return sb
def speedMotor(off=False): sb = createStatementBlock(off, 'speedMotor') sb.addCodeElement(gettext_noop('speed')) sb.addCodeElement() sb.addVariableElement('motor', countComponents, 'component_motor') sb.addCodeElement() sb.addArgumentHolder(createNumberBlockHolder(off, sb)) return sb
def logicConstant(name, operator, off): bb = createBooleanBlock(off, name) bb.addCodeElement(operator, { gettext_noop('TRUE'): 'true_', gettext_noop('FALSE'): 'false_' }, { gettext_noop('T'): gettext_noop('TRUE'), gettext_noop('F'): gettext_noop('FALSE') }) return bb
def clearDisplay7seg(off=False): sb = createStatementBlock(off, 'clearDisplay7seg') sb.addCodeElement(gettext_noop('erase')) sb.addVariableElement('display7seg', countComponents, 'component_display7seg') return sb
def analogRead(off=False): nb = createNumberBlock(off, 'analogRead', 'purple') nb.addCodeElement(gettext_noop('analog pin')) nb.addArgumentHolder(createDropdownNumberBlockHolder(off, ANALOG_PINS, nb)) nb.addCodeElement() return nb
def digitalRead(off=False): bb = createBooleanBlock(off, 'digitalRead', 'purple') bb.addCodeElement(gettext_noop('digital pin')) bb.addArgumentHolder(createDropdownNumberBlockHolder(off, ALL_PINS, bb)) bb.addCodeElement() return bb
def offMotor(off=False): sb = createStatementBlock(off, 'offMotor') sb.addCodeElement(gettext_noop('stop')) sb.addCodeElement() sb.addVariableElement('motor', countComponents, 'component_motor') return sb
def getThermistor(off=False): nb = createNumberBlock(off, 'getThermistor', 'purple') nb.addCodeElement(gettext_noop('temperature')) nb.addVariableElement('termistor', countComponents, 'component_thermistor') return nb
def delayUntil(off=False): sb = createStatementBlock(off, 'delayUntil', 'orange') sb.addCodeElement(gettext_noop('espere ate que')) sb.addArgumentHolder(createBooleanBlockHolder(off, sb)) return sb
def getKnob(off=False): nb = createNumberBlock(off, 'getKnob', 'purple') nb.addCodeElement('valor') nb.addVariableElement(gettext_noop('knob'), countComponents, 'component_knob') return nb
def repeat_(off=False): csb = createCompoundStatementBlock(off, 'repeat_', loop=True) csb.addCodeElement(gettext_noop('repeat')) csb.addArgumentHolder(createNumberBlockHolder(off, csb)) return csb
def getLdr(off=False): nb = createNumberBlock(off, 'getLdr', 'purple') nb.addCodeElement(gettext_noop('luminosity')) nb.addVariableElement('ldr', countComponents, 'component_ldr') return nb
def while_(off=False): csb = createCompoundStatementBlock(off, name='while_', loop=True) csb.addCodeElement(gettext_noop('while')) csb.addArgumentHolder(createBooleanBlockHolder(off, csb)) return csb
def forever(off=False): mb = createMainBlock(off, 'forever') mb.addCodeElement(gettext_noop('forever')) return mb
def delay_(off=False): sb = createStatementBlock(off, 'delay_', 'orange') sb.addCodeElement(gettext_noop('delay')) sb.addArgumentHolder(createNumberBlockHolder(off, sb)) sb.addCodeElement('ms') return sb
def getJoystickVRy(off=False): nb = createNumberBlock(off, 'getJoystickVRy', 'purple') nb.addCodeElement(gettext_noop('ordinate') + ' (y)') nb.addVariableElement('joystick', countComponents, 'component_joystick') return nb
def __init__(self, changeLanguage, **kwargs): FlowPanel.__init__(self, **kwargs) self.setID('header') #--------------------------------------------------------------------------------------------------- div = Element(Element=DOM.createDiv(), StyleName='btn-group2') self.buttonBlocks = Button(_('Blocks'), self.showBlocks, classIcon="icon-selected") div.add(self.buttonBlocks) self.buttonHarwares = Button(_('Components'), self.showHardwares, classIcon="icon-deselected") div.add(self.buttonHarwares) self.add(div) #--------------------------------------------------------------------------------------------------- div = Element(Element=DOM.createDiv(), StyleName='btn-group2 groupHidden') self.buttonMakeBlock = Button(_('Building Block'), self.makeBlock, classIcon="icon-buildBlock") div.add(self.buttonMakeBlock) #self.dropdownMakeBlock = Dropdown('', None, self.makeBlockItemClick, StyleName='dropdown_btn', rootPanel=div) #self.dropdownMakeBlock.addValue('Importar Bloco', 'icon-ImportBlock') #self.dropdownMakeBlock.addValue('Exportar Bloco', 'icon-ExportBlock') #div.add(self.dropdownMakeBlock) self.add(div) #--------------------------------------------------------------------------------------------------- #div = Element(Element=DOM.createDiv(), StyleName='btn-group2') #self.buttonReload = Button(_('Reload'), self.reloadClick, classIcon="icon-repeat") #div.add(self.buttonReload) #self.add(div) #--------------------------------------------------------------------------------------------------- div = Element(Element=DOM.createDiv(), StyleName='btn-group2 groupHidden') self.buttonUndo = Button(_('Undo'), undo, classIcon="icon-undo") div.add(self.buttonUndo) self.buttonRedo = Button(_('Redo'), redo, classIcon="icon-redo") div.add(self.buttonRedo) self.add(div) #self.buttonUndo2 = Button("Desfazer2", self.undo2) #self.add(self.buttonUndo2) #self.buttonRedo2 = Button("Refazer2", self.redo2) #self.add(self.buttonRedo2) #--------------------------------------------------------------------------------------------------- div = Element(Element=DOM.createDiv(), StyleName='btn-group2 groupHidden') self.buttonOpen = Button(_('Open'), loadState, classIcon="icon-open") div.add(self.buttonOpen) self.buttonSave = Button(_('Save'), saveState, classIcon="icon-download") self.buttonSave.setID("btnSave") div.add(self.buttonSave) self.add(div) #--------------------------------------------------------------------------------------------------- div = Element(Element=DOM.createDiv(), StyleName='btn-group') self.codeGenerator = GenerateCodeButtonListener( getWorkspace().getCodePanel()) self.buttonTranslate = Button(_("Translate"), self.codeGenerator) self.buttonTranslate.addMouseListener(self) div.add(self.buttonTranslate) self.dropdownTranslate = Dropdown('', None, self.translateItemClick, StyleName='dropdown_btn', rootPanel=div) self.isAutomatic = False self.dropdownTranslate.addValue(gettext_noop('Manual'), 'icon-selected') self.dropdownTranslate.addValue(gettext_noop('Automatic'), 'icon-deselected') div.add(self.dropdownTranslate) self.add(div) #--------------------------------------------------------------------------------------------------- div = Element(Element=DOM.createDiv(), StyleName='btn-group2') self.changeLanguage = changeLanguage self.dropdownFlag = Dropdown('', None, self.flagItemClick, StyleName='dropdown_btn flag', classIcon='icon-pt_BR') self.dropdownFlag.addValue('Português', 'icon-pt_BR') self.dropdownFlag.addValue('English', 'icon-en_US') self.dropdownFlag.addValue('Español', 'icon-es_ES') self.dropdownFlag.addValue('Italiano', 'icon-it_IT') self.dropdownFlag.addMouseListener(TooltipListener("Idioma")) div.add(self.dropdownFlag) self.add(div) #--------------------------------------------------------------------------------------------------- self.mainStack = []
def if_else_(off=False): csb = createCompoundStatementBlock(off, 'if_else_', 2) csb.addCodeElement(gettext_noop('if ')) csb.addArgumentHolder(createBooleanBlockHolder(off, csb)) csb.block.addCodeElement(gettext_noop('else')) return csb