Ejemplo n.º 1
0
 def _draw_form(self):
     """
     Encompasses the drawing of a form with a textual label onto the card.
     """
     inner_layout = BoxLayout(orientation="vertical")
     label_layout = BoxLayout(orientation="vertical", size_hint=(1, 0.2))
     self.form_label = Label(text=self.text,
                             font_size=self.font_size,
                             markup=True)
     self.form_label.color = list(self.text_color)
     self.form_label.valign = "top"
     self.form_label.halign = "left"
     label_layout.add_widget(self.form_label)
     form_layout = BoxLayout(orientation="vertical")
     form_layout.padding = 10
     filler = None
     if self.form == Inputs.TEXTBOX:
         self.textbox = TextInput(text="", multiline=False)
         self.textbox.font_size = self.font_size
         form_layout.size_hint = (1, 0.2)
         form_layout.add_widget(self.textbox)
         filler = BoxLayout(orientation="vertical", size_hint=(1, 0.6))
     elif self.form == Inputs.TEXTAREA:
         self.textarea = TextInput(text="")
         self.textarea.font_size = self.font_size
         form_layout.add_widget(self.textarea)
     elif self.form == Inputs.MULTICHOICE:
         self.multichoice = []
         for item in self.options:
             button = ToggleButton(text=item)
             button.font_size = self.font_size
             form_layout.add_widget(button)
             self.multichoice.append(button)
     elif self.form == Inputs.SELECT:
         self.select = []
         for item in self.options:
             button = ToggleButton(text=item, group=self.title)
             button.font_size = self.font_size
             form_layout.add_widget(button)
             self.select.append(button)
     elif self.form == Inputs.SLIDER:
         min_val = self.options[0]
         max_val = self.options[1]
         if len(self.options) == 3:
             step = self.options[2]
         else:
             step = 1
         self.slider = Slider(value_track=True,
                              min=min_val,
                              max=max_val,
                              step=step)
         self.slider_label = Label(text="0", font_size=64)
         self.slider.bind(value=self._slider_change)
         form_layout.add_widget(self.slider)
         form_layout.add_widget(self.slider_label)
     inner_layout.add_widget(label_layout)
     inner_layout.add_widget(form_layout)
     if filler:
         inner_layout.add_widget(filler)
     self.layout.add_widget(inner_layout)
Ejemplo n.º 2
0
    def on_enter(self, *args):
        screen_list.append(self.name)
        self.ids.table.clear_widgets()

        saved_games = self.list_games()
        saved_games.sort()
        saved_games = saved_games[::-1]
        if len(saved_games) > 6:
            saved_games = saved_games[0:6]
        count = 0
        for game in saved_games:
            game_name = game[:-4]
            bttn2 = ToggleButton(size_hint_y=0.3,
                                 group="g",
                                 allow_no_selection=False)
            bttn2.text = str(game_name)
            bttn2.font_size = "25sp"
            if count == 0:
                bttn2.state = "down"
            self.ids.table.add_widget(bttn2)
            count = count + 1

        spaces = len(saved_games) % 2
        if spaces == 1:
            self.ids.table.add_widget(Label(text="", size_hint_y=0.2))

        y_spacing = 1 - 0.3 * ceil(len(saved_games) / 2)
        for itr in range(0, 2):
            self.ids.table.add_widget(Label(text="", size_hint_y=y_spacing))
Ejemplo n.º 3
0
    def on_labels(self, *args, **kwargs):
        self.layout.clear_widgets()
        self.layout.size = self.layout.size[0], self.button_size
        for i in range(len(self.labels)):
            widget = ToggleButton(text=self.labels[i],
                                  group=self.group,
                                  allow_no_selection=self.allow_no_selection,
                                  state='normal')
            widget.font_size = self.font_size
            self.layout.add_widget(widget)

        if self.text != '':
            self.selected = (self.labels).index(self.text)
        if self.selected >= 0:
            self.layout.children[len(self.layout.children) - 1 -
                                 self.selected].state = 'down'