Esempio n. 1
0
    def __init__(self, theorem, **kwargs):
        DialogWindow.__init__(self, modal=True, close=True)
        self.theorem = theorem
        v = VerticalPanel()
        v.setWidth(300)
        # v.setHeight(500)
        self.setText("save")
        self.setPopupPosition(100, 100)
        self.setStyleAttribute("background-color", "#ffffff")
        self.setStyleAttribute("color", "red")
        self.setStyleAttribute("border-width", "5px")
        self.setStyleAttribute("border-style", "solid")
        self.im = Image()
        self.im.setUrl(latex_to_url(self.theorem.formula.to_latex()))
        v.add(self.im)
        h = HorizontalPanel()
        self.radio = RadioButton("group1", "Existing folder:")
        h.add(self.radio)
        self.list = ListBox()
        self.list.setVisibleItemCount(1)
        for f in Theorem.get_all_folders():
            self.list.addItem(f)

        h.add(self.list)
        v.add(h)
        h = HorizontalPanel()
        h.add(RadioButton("group1", "New folder:"))
        self.radio.setChecked(True)
        self.textbox = TextBox()
        h.add(self.textbox)
        v.add(h)
        v.add(Button("Done", self.done_click))
        self.add(v)
Esempio n. 2
0
 def __init__(self, **kwargs):
     DialogWindow.__init__(self, modal=True, close=True)
     v = VerticalPanel()
     v.setWidth(300)
     # v.setHeight(500)
     self.setText("definition")
     self.setPopupPosition(100, 100)
     self.setStyleAttribute("background-color", "#ffffff")
     self.setStyleAttribute("color", "#9847a2")
     self.setStyleAttribute("border-width", "5px")
     self.setStyleAttribute("border-style", "solid")
     h = HorizontalPanel()
     self.textbox_name = TextBox()
     h.add(Label("name"))
     h.add(self.textbox_name)
     v.add(h)
     h = HorizontalPanel()
     self.textbox_scheme = TextBox()
     h.add(Label("print scheme"))
     h.add(self.textbox_scheme)
     v.add(h)
     self.add(v)
     self.theorems = list()
     self.radios = list()
     for t in Theorem.theorems:
         if t.formula.is_in_unique_form():
             self.theorems.append(t)
             self.radios.append(RadioButton("group1", ""))
             h = HorizontalPanel()
             h.add(self.radios[-1])
             im = Image()
             im.setUrl(latex_to_url(t.formula.to_latex()))
             h.add(im)
             v.add(h)
     v.add(Button("Done", self.done_click))
Esempio n. 3
0
    def __init__(self, theorem, **kwargs):
        DialogWindow.__init__(self, modal=True, close=True)
        self.theorem=theorem
        v = VerticalPanel()
        v.setWidth(300)
        # v.setHeight(500)
        self.setText("save")
        self.setPopupPosition(100, 100)
        self.setStyleAttribute("background-color", "#ffffff")
        self.setStyleAttribute("color", "red")
        self.setStyleAttribute("border-width", "5px")
        self.setStyleAttribute("border-style", "solid")
        self.im=Image()
        self.im.setUrl(latex_to_url(self.theorem.formula.to_latex()))
        v.add(self.im)
        h=HorizontalPanel()
        self.radio=RadioButton("group1", "Existing folder:")
        h.add(self.radio)
        self.list = ListBox()
        self.list.setVisibleItemCount(1)
        for f in Theorem.get_all_folders():
            self.list.addItem(f)

        h.add(self.list)
        v.add(h)
        h=HorizontalPanel()
        h.add(RadioButton("group1", "New folder:"))
        self.radio.setChecked(True)
        self.textbox=TextBox()
        h.add(self.textbox)
        v.add(h)
        v.add(Button("Done",self.done_click))
        self.add(v)
class ChooseTypeVarPanel(HorizontalPanel):
    
    def __init__(self):
        HorizontalPanel.__init__(self, StyleName="type_block select_block")
        self.add(Label('Tipo:'))       
        
        fake = Element(Element=DOM.createDiv())
        
        self.booleanBlock = getattr(ArduinoBlocks, 'logicType')('logica', 'red', off=True)
        fake.append(self.booleanBlock)
        self.logicType = RadioButton("group1", fake.getElement().innerHTML, True)
        self.logicType.addClickListener(getattr(self, "onClickLogicType"))
        self.add(self.logicType)
        fake.removeAll()
        
        self.numberBlock = getattr(ArduinoBlocks, 'numericType')('numerica', 'red', off=True)
        fake.append(self.numberBlock)
        self.numericType = RadioButton("group1", fake.getElement().innerHTML, True)
        self.numericType.setChecked(True)
        self.numericType.addClickListener(getattr(self, "onClickNumericType"))
        self.add(self.numericType)
        fake.removeAll()
        
        self.stringBlock = getattr(ArduinoBlocks, 'alphaNumericType')('alfanumerica', 'red', off=True)
        fake.append(self.stringBlock)
        self.alphaNumericType = RadioButton("group1", fake.getElement().innerHTML, True)
        self.alphaNumericType.addClickListener(getattr(self, "onClickAlphanumericType"))
        self.add(self.alphaNumericType)
        
        self.onClickNumericType()
        
    def onClickLogicType(self, sender=None):
        self.selectedType = Block.BOOLEAN_BLOCK
        self.enableRadioButton(self.alphaNumericType, self.stringBlock,  False)
        self.enableRadioButton(self.numericType,      self.numberBlock,  False)
        self.enableRadioButton(self.logicType,        self.booleanBlock, True)
            
    def onClickNumericType(self, sender=None):
        self.selectedType = Block.NUMBER_BLOCK
        self.enableRadioButton(self.alphaNumericType, self.stringBlock,  False)
        self.enableRadioButton(self.numericType,      self.numberBlock,  True)
        self.enableRadioButton(self.logicType,        self.booleanBlock, False)
        
    def onClickAlphanumericType(self, sender=None):
        self.selectedType = Block.STRING_BLOCK
        self.enableRadioButton(self.alphaNumericType, self.stringBlock,  True)
        self.enableRadioButton(self.numericType,      self.numberBlock,  False)
        self.enableRadioButton(self.logicType,        self.booleanBlock, False)
        
    def enableRadioButton(self, radio, block, enable):
        fake = Element(Element=DOM.createDiv())
        if enable: block.removeStyleName('disabled')
        else: block.addStyleName('disabled')
        fake.append(block)
        radio.setHTML(fake.getElement().innerHTML)
Esempio n. 5
0
    def __init__(self):
        HorizontalPanel.__init__(self, StyleName="type_block select_block")
        self.add(Label(_('Type') + ':'))

        fake = Element(Element=DOM.createDiv())
        self.color = 'grey'

        self.commandBlock = getattr(ArduinoBlocks, 'commandType')('comando',
                                                                  'grey',
                                                                  off=True)
        fake.append(self.commandBlock)
        self.commandType = RadioButton("groupType",
                                       fake.getElement().innerHTML, True)
        self.commandType.setChecked(True)
        self.commandType.addClickListener(getattr(self, "onClickCommandType"))
        self.add(self.commandType)
        fake.removeAll()

        self.booleanBlock = getattr(ArduinoBlocks, 'logicType')('logico',
                                                                'grey',
                                                                off=True)
        fake.append(self.booleanBlock)
        self.logicType = RadioButton("groupType",
                                     fake.getElement().innerHTML, True)
        self.logicType.addClickListener(getattr(self, "onClickLogicType"))
        self.add(self.logicType)
        fake.removeAll()

        self.numberBlock = getattr(ArduinoBlocks, 'numericType')('numerico',
                                                                 'grey',
                                                                 off=True)
        fake.append(self.numberBlock)
        self.numericType = RadioButton("groupType",
                                       fake.getElement().innerHTML, True)
        self.numericType.addClickListener(getattr(self, "onClickNumericType"))
        self.add(self.numericType)
        fake.removeAll()

        self.stringBlock = getattr(ArduinoBlocks,
                                   'alphaNumericType')('alfanumerico',
                                                       'grey',
                                                       off=True)
        fake.append(self.stringBlock)
        self.alphaNumericType = RadioButton("groupType",
                                            fake.getElement().innerHTML, True)
        self.alphaNumericType.addClickListener(
            getattr(self, "onClickAlphanumericType"))
        self.add(self.alphaNumericType)

        self.onClickCommandType()
Esempio n. 6
0
    def __init__(self):

        Sink.__init__(self)

        disabledButton = Button("Disabled Button")
        disabledCheck = CheckBox("Disabled Check")
        normalButton = Button("Normal Button")
        normalCheck = CheckBox("Normal Check")
        panel = VerticalPanel()
        radio0 = RadioButton("group0", "Choice 0")
        radio1 = RadioButton("group0", "Choice 1")
        radio2 = RadioButton("group0", "Choice 2 (Disabled)")
        radio3 = RadioButton("group0", "Choice 3")

        hp = HorizontalPanel()
        panel.add(hp)
        hp.setSpacing(8)
        hp.add(normalButton)
        hp.add(disabledButton)

        hp = HorizontalPanel()
        panel.add(hp)
        hp.setSpacing(8)
        hp.add(normalCheck)
        hp.add(disabledCheck)

        hp = HorizontalPanel()
        panel.add(hp)
        hp.setSpacing(8)
        hp.add(radio0)
        hp.add(radio1)
        hp.add(radio2)
        hp.add(radio3)

        disabledButton.setEnabled(False)
        disabledCheck.setEnabled(False)
        radio2.setEnabled(False)

        panel.setSpacing(8)
        self.initWidget(panel)
Esempio n. 7
0
    def __init__(self):
        SimplePanel.__init__(self)

        panel1 = VerticalPanel()

        panel1.add(RadioButton("group1", "Red"))
        panel1.add(RadioButton("group1", "Green"))
        panel1.add(RadioButton("group1", "Blue"))

        panel2 = VerticalPanel()
        panel2.add(RadioButton("group2", "Solid"))
        panel2.add(RadioButton("group2", "Liquid"))
        panel2.add(RadioButton("group2", "Gas"))

        hPanel = HorizontalPanel()
        hPanel.add(panel1)
        hPanel.add(panel2)

        self.add(hPanel)
Esempio n. 8
0
class ChooseTypeBlockPanel(HorizontalPanel):
    def __init__(self):
        HorizontalPanel.__init__(self, StyleName="type_block select_block")
        self.add(Label(_('Type') + ':'))

        fake = Element(Element=DOM.createDiv())
        self.color = 'grey'

        self.commandBlock = getattr(ArduinoBlocks, 'commandType')('comando',
                                                                  'grey',
                                                                  off=True)
        fake.append(self.commandBlock)
        self.commandType = RadioButton("groupType",
                                       fake.getElement().innerHTML, True)
        self.commandType.setChecked(True)
        self.commandType.addClickListener(getattr(self, "onClickCommandType"))
        self.add(self.commandType)
        fake.removeAll()

        self.booleanBlock = getattr(ArduinoBlocks, 'logicType')('logico',
                                                                'grey',
                                                                off=True)
        fake.append(self.booleanBlock)
        self.logicType = RadioButton("groupType",
                                     fake.getElement().innerHTML, True)
        self.logicType.addClickListener(getattr(self, "onClickLogicType"))
        self.add(self.logicType)
        fake.removeAll()

        self.numberBlock = getattr(ArduinoBlocks, 'numericType')('numerico',
                                                                 'grey',
                                                                 off=True)
        fake.append(self.numberBlock)
        self.numericType = RadioButton("groupType",
                                       fake.getElement().innerHTML, True)
        self.numericType.addClickListener(getattr(self, "onClickNumericType"))
        self.add(self.numericType)
        fake.removeAll()

        self.stringBlock = getattr(ArduinoBlocks,
                                   'alphaNumericType')('alfanumerico',
                                                       'grey',
                                                       off=True)
        fake.append(self.stringBlock)
        self.alphaNumericType = RadioButton("groupType",
                                            fake.getElement().innerHTML, True)
        self.alphaNumericType.addClickListener(
            getattr(self, "onClickAlphanumericType"))
        self.add(self.alphaNumericType)

        self.onClickCommandType()

    def changeColor(self, color):
        if self.color == color: return

        self.stringBlock.removeStyleName(self.color)
        self.numberBlock.removeStyleName(self.color)
        self.booleanBlock.removeStyleName(self.color)
        self.commandBlock.removeStyleName(self.color)

        self.color = color

        self.stringBlock.addStyleName(self.color)
        self.numberBlock.addStyleName(self.color)
        self.booleanBlock.addStyleName(self.color)
        self.commandBlock.addStyleName(self.color)

        self.enableRadioButton(self.commandType, self.commandBlock,
                               self.selectedType == Block.STATEMENT_BLOCK)
        self.enableRadioButton(self.numericType, self.numberBlock,
                               self.selectedType == Block.NUMBER_BLOCK)
        self.enableRadioButton(self.logicType, self.booleanBlock,
                               self.selectedType == Block.BOOLEAN_BLOCK)
        self.enableRadioButton(self.alphaNumericType, self.stringBlock,
                               self.selectedType == Block.STRING_BLOCK)

    def onClickCommandType(self, sender=None):
        self.selectedType = Block.STATEMENT_BLOCK
        self.enableRadioButton(self.alphaNumericType, self.stringBlock, False)
        self.enableRadioButton(self.numericType, self.numberBlock, False)
        self.enableRadioButton(self.logicType, self.booleanBlock, False)
        self.enableRadioButton(self.commandType, self.commandBlock, True)

    def onClickLogicType(self, sender=None):
        self.selectedType = Block.BOOLEAN_BLOCK
        self.enableRadioButton(self.alphaNumericType, self.stringBlock, False)
        self.enableRadioButton(self.numericType, self.numberBlock, False)
        self.enableRadioButton(self.logicType, self.booleanBlock, True)
        self.enableRadioButton(self.commandType, self.commandBlock, False)

    def onClickNumericType(self, sender=None):
        self.selectedType = Block.NUMBER_BLOCK
        self.enableRadioButton(self.alphaNumericType, self.stringBlock, False)
        self.enableRadioButton(self.numericType, self.numberBlock, True)
        self.enableRadioButton(self.logicType, self.booleanBlock, False)
        self.enableRadioButton(self.commandType, self.commandBlock, False)

    def onClickAlphanumericType(self, sender=None):
        self.selectedType = Block.STRING_BLOCK
        self.enableRadioButton(self.alphaNumericType, self.stringBlock, True)
        self.enableRadioButton(self.numericType, self.numberBlock, False)
        self.enableRadioButton(self.logicType, self.booleanBlock, False)
        self.enableRadioButton(self.commandType, self.commandBlock, False)

    def enableRadioButton(self, radio, block, enable):
        fake = Element(Element=DOM.createDiv())
        if enable: block.removeStyleName('disabled')
        else: block.addStyleName('disabled')
        fake.append(block)
        radio.setHTML(fake.getElement().innerHTML)
Esempio n. 9
0
    def __init__(self):
        Composite.__init__(self)
        self.guesses = 0
        self.score = 0
        self.level = 5
        self.answer = ''
        self.blanks = ''

        self.vp_main = VerticalPanel()
        self.vp_main.setSpacing(4)
        self.hangdude = HangDude()
        self.cmdNew = Button("Start", self)

        self.radLevel5 = RadioButton("group0", "5-10 letters")
        self.radLevel5.setChecked(True)
        self.radLevel10 = RadioButton("group0", "10-15 letters")
        self.radLevel15 = RadioButton("group0", "15-20 letters")
        self.radLevel20 = RadioButton("group0", "20+ letters")

        self.radLevel5.addClickListener(self.onRadioSelect)
        self.radLevel10.addClickListener(self.onRadioSelect) 
        self.radLevel15.addClickListener(self.onRadioSelect)
        self.radLevel20.addClickListener(self.onRadioSelect) 

        self.rad_hp = HorizontalPanel()
        self.rad_hp.setSpacing(4)
        self.rad_hp.add(self.radLevel5)
        self.rad_hp.add(self.radLevel10)
        self.rad_hp.add(self.radLevel15)
        self.rad_hp.add(self.radLevel20)
        self.rad_hp.add(self.cmdNew)

        self.puzzlestring = HTML()

        self.key_widgets = []
        for i in range (len(string.uppercase)):
            self.key_widgets.append(Button(string.uppercase[i:i+1], self))

        self.toprow = HorizontalPanel()
        self.midrow = HorizontalPanel()
        self.botrow = HorizontalPanel()

        for i in range(len(self.key_widgets)):
            if i <= 7:
                 self.toprow.add(self.key_widgets[i])
            elif i <= 16:
                 self.midrow.add(self.key_widgets[i])
            else:
                 self.botrow.add(self.key_widgets[i])
        
        self.vp_main.add(self.hangdude)
        self.vp_main.add(self.puzzlestring)
        self.vp_main.add(self.toprow)
        self.vp_main.add(self.midrow)
        self.vp_main.add(self.botrow)
        self.vp_main.add(self.rad_hp)

        for i in range(1,12):
            self.hangdude.draw(i)

        self.setWidget(self.vp_main)
Esempio n. 10
0
class HangManWidget(Composite):
    def __init__(self):
        Composite.__init__(self)
        self.guesses = 0
        self.score = 0
        self.level = 5
        self.answer = ''
        self.blanks = ''

        self.vp_main = VerticalPanel()
        self.vp_main.setSpacing(4)
        self.hangdude = HangDude()
        self.cmdNew = Button("Start", self)

        self.radLevel5 = RadioButton("group0", "5-10 letters")
        self.radLevel5.setChecked(True)
        self.radLevel10 = RadioButton("group0", "10-15 letters")
        self.radLevel15 = RadioButton("group0", "15-20 letters")
        self.radLevel20 = RadioButton("group0", "20+ letters")

        self.radLevel5.addClickListener(self.onRadioSelect)
        self.radLevel10.addClickListener(self.onRadioSelect) 
        self.radLevel15.addClickListener(self.onRadioSelect)
        self.radLevel20.addClickListener(self.onRadioSelect) 

        self.rad_hp = HorizontalPanel()
        self.rad_hp.setSpacing(4)
        self.rad_hp.add(self.radLevel5)
        self.rad_hp.add(self.radLevel10)
        self.rad_hp.add(self.radLevel15)
        self.rad_hp.add(self.radLevel20)
        self.rad_hp.add(self.cmdNew)

        self.puzzlestring = HTML()

        self.key_widgets = []
        for i in range (len(string.uppercase)):
            self.key_widgets.append(Button(string.uppercase[i:i+1], self))

        self.toprow = HorizontalPanel()
        self.midrow = HorizontalPanel()
        self.botrow = HorizontalPanel()

        for i in range(len(self.key_widgets)):
            if i <= 7:
                 self.toprow.add(self.key_widgets[i])
            elif i <= 16:
                 self.midrow.add(self.key_widgets[i])
            else:
                 self.botrow.add(self.key_widgets[i])
        
        self.vp_main.add(self.hangdude)
        self.vp_main.add(self.puzzlestring)
        self.vp_main.add(self.toprow)
        self.vp_main.add(self.midrow)
        self.vp_main.add(self.botrow)
        self.vp_main.add(self.rad_hp)

        for i in range(1,12):
            self.hangdude.draw(i)

        self.setWidget(self.vp_main)

    def onClick(self, sender):
        found = False
        if sender == self.cmdNew:
            self.blanks = ''
            self.hangdude.clear()
            self.guesses = 0
            self.score = 0
            for i in range(len(self.key_widgets)):
                self.key_widgets[i].setEnabled(True)
            if self.level == 5: 
                words = Wordlist_5.words
            elif self.level == 10: 
                words = Wordlist_10.words
            elif self.level == 15: 
                words = Wordlist_15.words
            elif self.level == 20: 
                words = Wordlist_20.words
            #pick a random word
            g = random.Random()
            r = int( g.random() * len(words))
            self.answer = words[r].upper()
            for i in range(len(self.answer)):
                if self.answer[i] == ' ':
                    self.blanks += '  '
                else:
                    self.blanks += '_ '
            self.puzzlestring.setHTML(self.blanks)
        else:
            guess_letter = sender.getText()
            sender.setEnabled(False)
            for i in range(len(self.answer)):
                if self.answer[i:i+1] == guess_letter:
                    j=i+1
                    self.blanks = self.blanks[0:(j*2)-2] + guess_letter + ' ' + self.blanks[j*2:]
                    found = True
                    self.score += 1
            self.puzzlestring.setHTML(self.blanks)
            if not found:
                self.guesses += 1
                self.hangdude.draw(self.guesses)
                if self.guesses >= 11:
                    Window.alert("You lose! Answer: " + self.answer)
            else:
                if self.score >= len(self.answer):
                    Window.alert("You win!")

    def onRadioSelect(self, sender, keyCode=None, modifiers=None):
        if sender == self.radLevel5:
            self.level = 5
        elif sender == self.radLevel10:
            self.level = 10
        elif sender == self.radLevel15:
            self.level = 15
        elif sender == self.radLevel20:
            self.level = 20
Esempio n. 11
0
    def __init__(self):
        Composite.__init__(self)
        self.guesses = 0
        self.score = 0
        self.level = 5
        self.answer = ''
        self.blanks = ''

        self.vp_main = VerticalPanel()
        self.vp_main.setSpacing(4)
        self.hangdude = HangDude()
        self.cmdNew = Button("Start", self)

        self.radLevel5 = RadioButton("group0", "5-10 letters")
        self.radLevel5.setChecked(True)
        self.radLevel10 = RadioButton("group0", "10-15 letters")
        self.radLevel15 = RadioButton("group0", "15-20 letters")
        self.radLevel20 = RadioButton("group0", "20+ letters")

        self.radLevel5.addClickListener(self.onRadioSelect)
        self.radLevel10.addClickListener(self.onRadioSelect) 
        self.radLevel15.addClickListener(self.onRadioSelect)
        self.radLevel20.addClickListener(self.onRadioSelect) 

        self.rad_hp = HorizontalPanel()
        self.rad_hp.setSpacing(4)
        self.rad_hp.add(self.radLevel5)
        self.rad_hp.add(self.radLevel10)
        self.rad_hp.add(self.radLevel15)
        self.rad_hp.add(self.radLevel20)
        self.rad_hp.add(self.cmdNew)

        self.puzzlestring = HTML()

        self.key_widgets = []
        for i in range (len(string.uppercase)):
            self.key_widgets.append(Button(string.uppercase[i:i+1], self))

        self.toprow = HorizontalPanel()
        self.midrow = HorizontalPanel()
        self.botrow = HorizontalPanel()

        for i in range(len(self.key_widgets)):
            if i <= 7:
                 self.toprow.add(self.key_widgets[i])
            elif i <= 16:
                 self.midrow.add(self.key_widgets[i])
            else:
                 self.botrow.add(self.key_widgets[i])
        
        self.vp_main.add(self.hangdude)
        self.vp_main.add(self.puzzlestring)
        self.vp_main.add(self.toprow)
        self.vp_main.add(self.midrow)
        self.vp_main.add(self.botrow)
        self.vp_main.add(self.rad_hp)

        for i in range(1,12):
            self.hangdude.draw(i)

        self.setWidget(self.vp_main)
Esempio n. 12
0
class HangManWidget(Composite):
    def __init__(self):
        Composite.__init__(self)
        self.guesses = 0
        self.score = 0
        self.level = 5
        self.answer = ''
        self.blanks = ''

        self.vp_main = VerticalPanel()
        self.vp_main.setSpacing(4)
        self.hangdude = HangDude()
        self.cmdNew = Button("Start", self)

        self.radLevel5 = RadioButton("group0", "5-10 letters")
        self.radLevel5.setChecked(True)
        self.radLevel10 = RadioButton("group0", "10-15 letters")
        self.radLevel15 = RadioButton("group0", "15-20 letters")
        self.radLevel20 = RadioButton("group0", "20+ letters")

        self.radLevel5.addClickListener(self.onRadioSelect)
        self.radLevel10.addClickListener(self.onRadioSelect) 
        self.radLevel15.addClickListener(self.onRadioSelect)
        self.radLevel20.addClickListener(self.onRadioSelect) 

        self.rad_hp = HorizontalPanel()
        self.rad_hp.setSpacing(4)
        self.rad_hp.add(self.radLevel5)
        self.rad_hp.add(self.radLevel10)
        self.rad_hp.add(self.radLevel15)
        self.rad_hp.add(self.radLevel20)
        self.rad_hp.add(self.cmdNew)

        self.puzzlestring = HTML()

        self.key_widgets = []
        for i in range (len(string.uppercase)):
            self.key_widgets.append(Button(string.uppercase[i:i+1], self))

        self.toprow = HorizontalPanel()
        self.midrow = HorizontalPanel()
        self.botrow = HorizontalPanel()

        for i in range(len(self.key_widgets)):
            if i <= 7:
                 self.toprow.add(self.key_widgets[i])
            elif i <= 16:
                 self.midrow.add(self.key_widgets[i])
            else:
                 self.botrow.add(self.key_widgets[i])
        
        self.vp_main.add(self.hangdude)
        self.vp_main.add(self.puzzlestring)
        self.vp_main.add(self.toprow)
        self.vp_main.add(self.midrow)
        self.vp_main.add(self.botrow)
        self.vp_main.add(self.rad_hp)

        for i in range(1,12):
            self.hangdude.draw(i)

        self.setWidget(self.vp_main)

    def onClick(self, sender):
        found = False
        if sender == self.cmdNew:
            self.blanks = ''
            self.hangdude.clear()
            self.guesses = 0
            self.score = 0
            for i in range(len(self.key_widgets)):
                self.key_widgets[i].setEnabled(True)
            if self.level == 5: 
                words = Wordlist_5.words
            elif self.level == 10: 
                words = Wordlist_10.words
            elif self.level == 15: 
                words = Wordlist_15.words
            elif self.level == 20: 
                words = Wordlist_20.words
            #pick a random word
            g = random.Random()
            r = int( g.random() * len(words))
            self.answer = words[r].upper()
            for i in range(len(self.answer)):
                if self.answer[i] == ' ':
                    self.blanks += '  '
                else:
                    self.blanks += '_ '
            self.puzzlestring.setHTML(self.blanks)
        else:
            guess_letter = sender.getText()
            sender.setEnabled(False)
            for i in range(len(self.answer)):
                if self.answer[i:i+1] == guess_letter:
                    j=i+1
                    self.blanks = self.blanks[0:(j*2)-2] + guess_letter + ' ' + self.blanks[j*2:]
                    found = True
                    self.score += 1
            self.puzzlestring.setHTML(self.blanks)
            if not found:
                self.guesses += 1
                self.hangdude.draw(self.guesses)
                if self.guesses >= 11:
                    Window.alert("You lose! Answer: " + self.answer)
            else:
                if self.score >= len(self.answer):
                    Window.alert("You win!")

    def onRadioSelect(self, sender, keyCode=None, modifiers=None):
        if sender == self.radLevel5:
            self.level = 5
        elif sender == self.radLevel10:
            self.level = 10
        elif sender == self.radLevel15:
            self.level = 15
        elif sender == self.radLevel20:
            self.level = 20
Esempio n. 13
0
    def __init__(self, categoryChangeListener):
        HorizontalPanel.__init__(self,
                                 StyleName="category_block select_block",
                                 Width='100%')
        self.categoryChangeListener = categoryChangeListener

        self.add(Label('Categoria:'))
        verticalPanel = VerticalPanel(Width='100%')
        self.add(verticalPanel)
        horizontalPanel = HorizontalPanel(Width='100%')
        verticalPanel.add(horizontalPanel)

        fake = Element(Element=DOM.createDiv())

        self.control = getattr(ArduinoBlocks, 'alphaNumericType')('Controle',
                                                                  'orange',
                                                                  off=True)
        fake.append(self.control)
        self.controlType = RadioButton("groupCategory",
                                       fake.getElement().innerHTML, True)
        self.controlType.setChecked(True)
        self.controlType.addClickListener(getattr(self, "onClickControlType"))
        horizontalPanel.add(self.controlType)
        fake.removeAll()

        self.operators = getattr(ArduinoBlocks,
                                 'alphaNumericType')('Operadores',
                                                     'green',
                                                     off=True)
        fake.append(self.operators)
        self.operatorsType = RadioButton("groupCategory",
                                         fake.getElement().innerHTML, True)
        self.operatorsType.addClickListener(
            getattr(self, "onClickOperatorsType"))
        horizontalPanel.add(self.operatorsType)
        horizontalPanel = HorizontalPanel(Width='100%')
        verticalPanel.add(horizontalPanel)
        fake.removeAll()

        self.input = getattr(ArduinoBlocks, 'alphaNumericType')('Entrada',
                                                                'purple',
                                                                off=True)
        fake.append(self.input)
        self.inputType = RadioButton("groupCategory",
                                     fake.getElement().innerHTML, True)
        self.inputType.addClickListener(getattr(self, "onClickInputType"))
        horizontalPanel.add(self.inputType)
        fake.removeAll()

        self.output = getattr(ArduinoBlocks, 'alphaNumericType')('Saida',
                                                                 'blue',
                                                                 off=True)
        fake.append(self.output)
        self.outputType = RadioButton("groupCategory",
                                      fake.getElement().innerHTML, True)
        self.outputType.addClickListener(getattr(self, "onClickOutputType"))
        horizontalPanel.add(self.outputType)
        horizontalPanel = HorizontalPanel(Width='100%')
        verticalPanel.add(horizontalPanel)
        fake.removeAll()

        self.utilities = getattr(ArduinoBlocks,
                                 'alphaNumericType')('Utilitarios',
                                                     'darkblue',
                                                     off=True)
        fake.append(self.utilities)
        self.utilitiesType = RadioButton("groupCategory",
                                         fake.getElement().innerHTML, True)
        self.utilitiesType.addClickListener(
            getattr(self, "onClickUtilitiesType"))
        horizontalPanel.add(self.utilitiesType)
        fake.removeAll()

        self.variables = getattr(ArduinoBlocks,
                                 'alphaNumericType')('Variaveis',
                                                     'red',
                                                     off=True)
        fake.append(self.variables)
        self.variablesType = RadioButton("groupCategory",
                                         fake.getElement().innerHTML, True)
        self.variablesType.addClickListener(
            getattr(self, "onClickVariablesType"))
        horizontalPanel.add(self.variablesType)

        self.onClickControlType()
Esempio n. 14
0
class ChooseCategoryBlockPanel(HorizontalPanel):

    CONTROL = 'control'
    OPERATORS = 'operators'
    INPUT = 'input'
    OUTPUT = 'output'
    UTILITIES = 'utilities'
    VARIBLES = 'variables'

    def __init__(self, categoryChangeListener):
        HorizontalPanel.__init__(self,
                                 StyleName="category_block select_block",
                                 Width='100%')
        self.categoryChangeListener = categoryChangeListener

        self.add(Label('Categoria:'))
        verticalPanel = VerticalPanel(Width='100%')
        self.add(verticalPanel)
        horizontalPanel = HorizontalPanel(Width='100%')
        verticalPanel.add(horizontalPanel)

        fake = Element(Element=DOM.createDiv())

        self.control = getattr(ArduinoBlocks, 'alphaNumericType')('Controle',
                                                                  'orange',
                                                                  off=True)
        fake.append(self.control)
        self.controlType = RadioButton("groupCategory",
                                       fake.getElement().innerHTML, True)
        self.controlType.setChecked(True)
        self.controlType.addClickListener(getattr(self, "onClickControlType"))
        horizontalPanel.add(self.controlType)
        fake.removeAll()

        self.operators = getattr(ArduinoBlocks,
                                 'alphaNumericType')('Operadores',
                                                     'green',
                                                     off=True)
        fake.append(self.operators)
        self.operatorsType = RadioButton("groupCategory",
                                         fake.getElement().innerHTML, True)
        self.operatorsType.addClickListener(
            getattr(self, "onClickOperatorsType"))
        horizontalPanel.add(self.operatorsType)
        horizontalPanel = HorizontalPanel(Width='100%')
        verticalPanel.add(horizontalPanel)
        fake.removeAll()

        self.input = getattr(ArduinoBlocks, 'alphaNumericType')('Entrada',
                                                                'purple',
                                                                off=True)
        fake.append(self.input)
        self.inputType = RadioButton("groupCategory",
                                     fake.getElement().innerHTML, True)
        self.inputType.addClickListener(getattr(self, "onClickInputType"))
        horizontalPanel.add(self.inputType)
        fake.removeAll()

        self.output = getattr(ArduinoBlocks, 'alphaNumericType')('Saida',
                                                                 'blue',
                                                                 off=True)
        fake.append(self.output)
        self.outputType = RadioButton("groupCategory",
                                      fake.getElement().innerHTML, True)
        self.outputType.addClickListener(getattr(self, "onClickOutputType"))
        horizontalPanel.add(self.outputType)
        horizontalPanel = HorizontalPanel(Width='100%')
        verticalPanel.add(horizontalPanel)
        fake.removeAll()

        self.utilities = getattr(ArduinoBlocks,
                                 'alphaNumericType')('Utilitarios',
                                                     'darkblue',
                                                     off=True)
        fake.append(self.utilities)
        self.utilitiesType = RadioButton("groupCategory",
                                         fake.getElement().innerHTML, True)
        self.utilitiesType.addClickListener(
            getattr(self, "onClickUtilitiesType"))
        horizontalPanel.add(self.utilitiesType)
        fake.removeAll()

        self.variables = getattr(ArduinoBlocks,
                                 'alphaNumericType')('Variaveis',
                                                     'red',
                                                     off=True)
        fake.append(self.variables)
        self.variablesType = RadioButton("groupCategory",
                                         fake.getElement().innerHTML, True)
        self.variablesType.addClickListener(
            getattr(self, "onClickVariablesType"))
        horizontalPanel.add(self.variablesType)

        self.onClickControlType()

    def onClickControlType(self, sender=None):
        self.selectedType = ChooseCategoryBlockPanel.CONTROL
        self.enableRadioButton(self.variablesType, self.variables, False)
        self.enableRadioButton(self.utilitiesType, self.utilities, False)
        self.enableRadioButton(self.outputType, self.output, False)
        self.enableRadioButton(self.inputType, self.input, False)
        self.enableRadioButton(self.operatorsType, self.operators, False)
        self.enableRadioButton(self.controlType, self.control, True)
        self.categoryChangeListener('orange')

    def onClickOperatorsType(self, sender=None):
        self.selectedType = ChooseCategoryBlockPanel.OPERATORS
        self.enableRadioButton(self.variablesType, self.variables, False)
        self.enableRadioButton(self.utilitiesType, self.utilities, False)
        self.enableRadioButton(self.outputType, self.output, False)
        self.enableRadioButton(self.inputType, self.input, False)
        self.enableRadioButton(self.operatorsType, self.operators, True)
        self.enableRadioButton(self.controlType, self.control, False)
        self.categoryChangeListener('green')

    def onClickInputType(self, sender=None):
        self.selectedType = ChooseCategoryBlockPanel.INPUT
        self.enableRadioButton(self.variablesType, self.variables, False)
        self.enableRadioButton(self.utilitiesType, self.utilities, False)
        self.enableRadioButton(self.outputType, self.output, False)
        self.enableRadioButton(self.inputType, self.input, True)
        self.enableRadioButton(self.operatorsType, self.operators, False)
        self.enableRadioButton(self.controlType, self.control, False)
        self.categoryChangeListener('purple')

    def onClickOutputType(self, sender=None):
        self.selectedType = ChooseCategoryBlockPanel.OUTPUT
        self.enableRadioButton(self.variablesType, self.variables, False)
        self.enableRadioButton(self.utilitiesType, self.utilities, False)
        self.enableRadioButton(self.outputType, self.output, True)
        self.enableRadioButton(self.inputType, self.input, False)
        self.enableRadioButton(self.operatorsType, self.operators, False)
        self.enableRadioButton(self.controlType, self.control, False)
        self.categoryChangeListener('blue')

    def onClickUtilitiesType(self, sender=None):
        self.selectedType = ChooseCategoryBlockPanel.UTILITIES
        self.enableRadioButton(self.variablesType, self.variables, False)
        self.enableRadioButton(self.utilitiesType, self.utilities, True)
        self.enableRadioButton(self.outputType, self.output, False)
        self.enableRadioButton(self.inputType, self.input, False)
        self.enableRadioButton(self.operatorsType, self.operators, False)
        self.enableRadioButton(self.controlType, self.control, False)
        self.categoryChangeListener('darkblue')

    def onClickVariablesType(self, sender=None):
        self.selectedType = ChooseCategoryBlockPanel.VARIBLES
        self.enableRadioButton(self.variablesType, self.variables, True)
        self.enableRadioButton(self.utilitiesType, self.utilities, False)
        self.enableRadioButton(self.outputType, self.output, False)
        self.enableRadioButton(self.inputType, self.input, False)
        self.enableRadioButton(self.operatorsType, self.operators, False)
        self.enableRadioButton(self.controlType, self.control, False)
        self.categoryChangeListener('red')

    def enableRadioButton(self, radio, block, enable):
        fake = Element(Element=DOM.createDiv())
        if enable: block.removeStyleName('disabled')
        else: block.addStyleName('disabled')
        fake.append(block)
        radio.setHTML(fake.getElement().innerHTML)