def _create_popup(self, instance): # create the popup containing a BoxLayout content = BoxLayout(orientation='vertical', spacing=10) self.popup = popup = Popup(content=content, title=self.title, size_hint=(None, None), size=(400, 400)) popup.height = pygame.midi.get_count() * 30 + 150 # add a spacer content.add_widget(Widget(size_hint_y=None, height=1)) uid = str(self.uid) device_count = pygame.midi.get_count() # add all the selectable MIDI output devices for i in range(device_count): if pygame.midi.get_device_info(i)[3] == 1 and (pygame.midi.get_device_info(i)[4] == 0 or pygame.midi.get_device_info(i)[1] == self.value): # if it's an output device and it's not already opened (unless it's the device opened by ME), display it in list. # if this is the device that was selected before, display it pressed state = 'down' if pygame.midi.get_device_info(i)[1].decode() == self.value else 'normal' btn = ToggleButton(text=str(pygame.midi.get_device_info(i)[1].decode()), state=state, group=uid) btn.bind(on_release=self._set_option) content.add_widget(btn) # finally, add a cancel button to return on the previous panel btn = Button(text='Cancel', size_hint_y=None, height=50) btn.bind(on_release=popup.dismiss) content.add_widget(btn) # and open the popup ! popup.open()
def build(self): self.provider = None self.sensors_values = [] self.gps_values = ['', '', 0, 0] self.trigger_sensor_update_values = \ Clock.create_trigger(self.sensor_update_values, 0) self.trigger_gps_update_values = \ Clock.create_trigger(self.gps_update_values, 0) # search categories self.categories = ['gps-location'] for key in sensortypes: self.categories.append('sensor-{}'.format(key)) # create main ui root = MainUI() # fill the dropdown with all the categories for cat in self.categories: btn = ToggleButton(text=cat, size_hint_y=None, height='44sp', group='sensors') btn.bind(on_release=self.select_category) root.dropdown.add_widget(btn) return root
def __init__(self, rows, cols, bombs): super().__init__(orientation='horizontal', spacing=20, padding=[10, 10, 10, 0]) self.grid = FieldGrid(rows, cols, bombs) self.r = rows self.c = cols self.b = bombs grid_anchor = AnchorLayout(anchor_x='left', anchor_y='top') buttons_anchor = AnchorLayout(anchor_x='right', anchor_y='top') buttons = BoxLayout(orientation='vertical', spacing=5, size_hint=(None, None), size=(100, Window.size[1])) new_game = Button(text="New game", size_hint=(None, None), size=(100, 30), on_press=lambda _: self.new_game()) menu = Button(text="Main menu", size_hint=(None, None), size=(100, 30), on_press=lambda _: gui.to_menu()) mark = ToggleButton(text="Mark", size_hint=(None, None), size=(100, 30)) mark.bind(state=lambda *_: self.change_mark()) labels = RelativeLayout() self.status = Label(text="Playing") self.time = TimeLabel(text="00:00", pos=(0, -20)) labels.add_widget(self.status) labels.add_widget(self.time) grid_anchor.add_widget(self.grid) buttons.add_widget(mark) buttons.add_widget(new_game) buttons.add_widget(menu) buttons.add_widget(labels) buttons_anchor.add_widget(buttons) self.add_widget(grid_anchor) self.add_widget(buttons_anchor)
class Transport(AnchorLayout): btn_play = '' def __init__(self, **kwargs): super(Transport, self).__init__(**kwargs) self.medium = kwargs.get('medium', '') self.anchor_x = 'center' self.anchor_y = 'top' btn_size = "30px" self.btn_play = ToggleButton( size=(btn_size, btn_size), size_hint=(None, None), background_normal='images/play.png', background_down='images/pause.png', border=(0,0,0,0), state='down') self.add_widget(self.btn_play) self.btn_play.bind(on_release=self.medium.toggle_play_status) self.padding = 10 def on_spacebar_pressed(self, *args): self.btn_play.state = 'normal' \ if self.btn_play.state == 'down' else 'down' self.medium.toggle_play_status()
def addGraph(self,datapoint,xData,yData,dt): points = [t for t in zip((xData).astype(int),yData)]; ymin = int(min(yData)) ymax = int(max(yData)) xmin = int(min(xData)) xmax = int(max(xData)) if self.setMinMax : if self.ids.graph.ymin > ymin: self.ids.graph.ymin = ymin if self.ids.graph.ymax < ymax: self.ids.graph.ymax = ymax if self.ids.graph.xmin > xmin: self.ids.graph.xmin = xmin if self.ids.graph.xmax < xmax: self.ids.graph.xmax = xmax else: self.ids.graph.ymin = ymin self.ids.graph.ymax = ymax self.ids.graph.xmin = xmin self.ids.graph.xmax = xmax self.setMinMax = True plot = LinePlot(color=self.color) plot.points = points self.ids.graph.add_plot(plot) index = random.randint(0,3) btn1 = ToggleButton(text=datapoint,background_color=self.color) btn1.bind(state=partial(self.on_press,datapoint)) cp = ColorPicker(color=self.color) cp.bind(color=partial(self.on_color,datapoint)) self.plotdata[datapoint] = {'color':self.color,'button':btn1,'plot':plot,'colorpick':cp,'points':points} self.color[index]=self.color[index] - (random.random()); self.ids.hBox.add_widget(btn1) self.ids.hBoxColor.add_widget(cp)
def render_distribuite(self,tab): self.dist_layout = GridLayout(cols=2) self.Blayout=BoxLayout(orientation='vertical') self.Blayout.size_hint=( 1, 1) btnDistr=Button(text='Start Distribuite',size_hint=(1, .1)) btnDistr.bind(on_press=self.start_dist) self.btnReckivy=ToggleButton(text='Choose recipes for Kivy Launcher',size_hint=(1, .1)) self.btnReckivy.bind(on_release=self.select_kivy_rec) self.recipe_layout = GridLayout(cols=4) thedir=os.path.join(self.py4a_path,'recipes') recipes=[ name for name in os.listdir(thedir) if os.path.isdir(os.path.join(thedir, name)) ] for r in recipes: t=ToggleButton(text=r) t.bind(state=self.add_remove) self.recipe_layout.add_widget(t) self.Blayout.add_widget(btnDistr) self.Blayout.add_widget(self.btnReckivy) self.Blayout.add_widget(self.recipe_layout) self.dist_layout.add_widget(self.Blayout) self.dist_layout.add_widget(self.kvc) tab.add_widget(self.dist_layout)
def build(self): # Set up the layout: layout = GridLayout(cols=5, spacing=30, padding=30, row_default_height=150) # Make the background gray: with layout.canvas.before: Color(.2,.2,.2,1) self.rect = Rectangle(size=(800,600), pos=layout.pos) # Instantiate the first UI object (the GPIO input indicator): inputDisplay = InputButton(text="Input") # Schedule the update of the state of the GPIO input button: Clock.schedule_interval(inputDisplay.update, 1.0/10.0) # Create the rest of the UI objects (and bind them to callbacks, if necessary): outputControl = ToggleButton(text="COUCH") outputControl.bind(on_press=press_callback) beepButton = Button(text="COUNTER") beepButton.bind(on_press=press_callback) # Add the UI elements to the layout: layout.add_widget(inputDisplay) layout.add_widget(outputControl) layout.add_widget(beepButton) return layout
class PredictionStoneInput(PanelSettingsInput): def __init__(self): super(PredictionStoneInput, self).__init__("prediction stone") self.app = App.get_running_app() self.value = self.app.data['influence']['prediction_stone'] self.options = BoxLayout(orientation='horizontal', size_hint=[1.0, None], height=20) self.black_button = ToggleButton(text="black", group='influence_prediction_stone', font_size=13) self.white_button = ToggleButton(text="white", group='influence_prediction_stone', font_size=13) self.black_button.allow_no_selection = False self.white_button.allow_no_selection = False self.options.add_widget(self.black_button) self.options.add_widget(self.white_button) self.add_widget(self.options) if self.value == 'black': self.black_button.state = 'down' elif self.value == 'white': self.white_button.state = 'down' self.black_button.bind(on_release=self.blackButtonPressed) self.white_button.bind(on_release=self.whiteButtonPressed) def blackButtonPressed(self, *largs): self.app.data['influence']['prediction_stone'] = 'black' self.value = 'black' def whiteButtonPressed(self, *largs): self.app.data['influence']['prediction_stone'] = 'white' self.value = 'white'
class DisplayStonesInput(PanelSettingsInput): def __init__(self): super(DisplayStonesInput, self).__init__("display stones") self.app = App.get_running_app() self.value = self.app.data['influence']['display_stones'] self.options = BoxLayout(orientation='horizontal', size_hint=[1.0, None], height=20) self.yes_button = ToggleButton(text="yes", group='influence_display_stones', font_size=13) self.no_button = ToggleButton(text="no", group='influence_display_stones', font_size=13) self.yes_button.allow_no_selection = False self.no_button.allow_no_selection = False self.options.add_widget(self.yes_button) self.options.add_widget(self.no_button) self.add_widget(self.options) if self.value == 'yes': self.yes_button.state = 'down' elif self.value == 'no': self.no_button.state = 'down' self.yes_button.bind(on_release=self.yesButtonPressed) self.no_button.bind(on_release=self.noButtonPressed) def yesButtonPressed(self, *largs): self.app.data['influence']['display_stones'] = 'yes' self.value = 'yes' def noButtonPressed(self, *largs): self.app.data['influence']['display_stones'] = 'no' self.value = 'no'
class DisplayModeInput(PanelSettingsInput): def __init__(self): super(DisplayModeInput, self).__init__("display mode") self.app = App.get_running_app() self.value = self.app.data['influence']['display_mode'] self.options = BoxLayout(orientation='horizontal', size_hint=[1.0, None], height=20) self.infl_pred_button = ToggleButton(text="influence prediction", group='influence_display_mode', font_size=13) self.cur_infl_button = ToggleButton(text="current influence", group='influence_display_mode', font_size=13) self.infl_pred_button.allow_no_selection = False self.cur_infl_button.allow_no_selection = False self.options.add_widget(self.infl_pred_button) self.options.add_widget(self.cur_infl_button) self.add_widget(self.options) if self.value == 'cur_infl': self.cur_infl_button.state = 'down' elif self.value == 'infl_pred': self.infl_pred_button.state = 'down' self.cur_infl_button.bind(on_release=self.curInflButtonPressed) self.infl_pred_button.bind(on_release=self.inflPredButtonPressed) def curInflButtonPressed(self, *largs): self.app.data['influence']['display_mode'] = 'cur_infl' self.value = 'cur_infl' def inflPredButtonPressed(self, *largs): self.app.data['influence']['display_mode'] = 'infl_pred' self.value = 'infl_pred'
def _create_popup(self, instance): # create the popup content = BoxLayout(orientation='vertical', spacing='5dp') popup_width = min(0.95 * Window.width, dp(500)) self.popup = popup = Popup(content=content, title=self.title, size_hint=(None, None), size=(popup_width, '400dp')) popup.height = len(self.options) * dp(55) + dp(150) # add all the options content.add_widget(Widget(size_hint_y=None, height=1)) uid = str(self.uid) for option in self.options: state = 'down' if option == self.value else 'normal' btn = ToggleButton(text=option, state=state, group=uid) btn.bind(on_release=self._set_option) content.add_widget(btn) # finally, add a cancel button to return on the previous panel content.add_widget(SettingSpacer()) btn = Button(text='Cancel', size_hint_y=None, height=dp(50)) btn.bind(on_release=popup.dismiss) content.add_widget(btn) # and open the popup ! popup.open()
def callback_btnplus(self): n,e=0,len(var.curwidget) while n<e-1: if var.curwidget[n]!="None": print (var.curwidget[n],self.parent) self.parent.remove_widget(var.curwidget[n]) n=n+1 dernierbtn=var.curwidget[n] var.curwidget=[] layout=self.parent #layout.bind(minimum_height=layout.setter('height')) i,k=var.curs,0 if (i+1==len(var.lst)): var.curs,i=0,0 while i<len(var.lst): print ("<",i,"/",len(var.lst),">") btn = ToggleButton(text="", size_hint_y=None, height=80, group='tg1',size_hint_x=.1,id=var.lst[i]) btn.bind(on_press=callback_btn) img = Image(source=var.lst[i],size_hint_x=.9) var.curwidget.append(img) var.curwidget.append(btn) layout.add_widget(img) layout.add_widget(btn) if (k>100) or (i+1>=len(var.lst)): var.curs=i i=len(var.lst) btn = Button(text="plus...", size_hint_y=None, height=80,size_hint_x=.2) btn.bind(on_press=callback_btnplus) var.curwidget.append(btn) layout.add_widget(btn) k=k+1 i=i+1 self.parent.remove_widget(dernierbtn)
def _create_popup(self, instance): # global oORCA # create the popup content = GridLayout(cols=1, spacing='5dp') scrollview = ScrollView(do_scroll_x=False) scrollcontent = GridLayout(cols=1, spacing='5dp', size_hint=(None, None)) scrollcontent.bind(minimum_height=scrollcontent.setter('height')) self.popup = popup = Popup(content=content, title=self.title, size_hint=(0.5, 0.9), auto_dismiss=False) # we need to open the popup first to get the metrics popup.open() # Add some space on top content.add_widget(Widget(size_hint_y=None, height=dp(2))) # add all the options uid = str(self.uid) for option in self.options: state = 'down' if option == self.value else 'normal' btn = ToggleButton(text=option, state=state, group=uid, size=(popup.width, dp(55)), size_hint=(None, None)) btn.bind(on_release=self._set_option) scrollcontent.add_widget(btn) # finally, add a cancel button to return on the previous panel scrollview.add_widget(scrollcontent) content.add_widget(scrollview) content.add_widget(SettingSpacer()) # btn = Button(text='Cancel', size=((oORCA.iAppWidth/2)-sp(25), dp(50)),size_hint=(None, None)) btn = Button(text='Cancel', size=(popup.width, dp(50)), size_hint=(0.9, None)) btn.bind(on_release=popup.dismiss) content.add_widget(btn)
def load_data(self, event): try: self.data.head() except Exception: return 0 print(self.data.head()) # Testing cols = self.data.columns self.x_cols = [] if self.x_dropdown: self.x_btn.unbind(on_release=self.x_dropdown.open) del self.x_dropdown self.x_dropdown = DropDown(dismiss_on_select=False) for col in cols: btn = ToggleButton(text=col, size_hint_y=None, height=44) btn.bind(on_release=lambda btn: self.x_dropdown.select(btn.text)) self.x_dropdown.add_widget(btn) self.x_btn.bind(on_release=self.x_dropdown.open) self.x_dropdown.bind(on_select=self.select_xcol) self.y_cols = [] if self.y_dropdown: self.y_btn.unbind(on_release=self.y_dropdown.open) del self.y_dropdown self.y_dropdown = DropDown(dismiss_on_select=False) for col in cols: btn = ToggleButton(text=col, size_hint_y=None, height=44) btn.bind(on_release=lambda btn: self.y_dropdown.select(btn.text)) self.y_dropdown.add_widget(btn) self.y_btn.bind(on_release=self.y_dropdown.open) self.y_dropdown.bind(on_select=self.select_ycol)
def _create_popup(self, instance): # create the popup containing a BoxLayout content = BoxLayout(orientation='vertical', spacing=10) self.popup = popup = Popup(content=content, title=self.title, size_hint=(None, None), size=(400, 400)) popup.height = pygame.midi.get_count() * 30 + 150 # add a spacer content.add_widget(Widget(size_hint_y=None, height=1)) uid = str(self.uid) device_count = pygame.midi.get_count() # add all the selectable MIDI output devices for i in range(device_count): if pygame.midi.get_device_info(i)[3] == 1 \ and (pygame.midi.get_device_info(i)[4] == 0 \ or pygame.midi.get_device_info(i)[1] == self.value): # if it's an output device and it's not already opened (unless it's the device opened by ME), display it in list. # if this is the device that was selected before, display it pressed state = 'down' if pygame.midi.get_device_info(i)[1] == self.value else 'normal' btn = ToggleButton(text=pygame.midi.get_device_info(i)[1], state=state, group=uid) btn.bind(on_release=self._set_option) content.add_widget(btn) # finally, add a cancel button to return on the previous panel btn = Button(text='Cancel', size_hint_y=None, height=50) btn.bind(on_release=popup.dismiss) content.add_widget(btn) # and open the popup ! popup.open()
def __init__(self, **kwargs): self._buttons = {} super(PlaygroundSizeView, self).__init__(**kwargs) for title, values in self.default_sizes: grid = GridLayout(rows=4) def sort_sizes(item): return item[1][1] * item[1][0] values = sorted(values, key=sort_sizes, reverse=True) for name, size in values: btn = ToggleButton(text='', markup=True) btntext = ('%s\n[color=777777][size=%d]%dx%d[/size][/color]' % (name, btn.font_size * 0.8, size[0], size[1])) btn.text = btntext btn.bind(on_press=partial(self.set_size, size)) grid.add_widget(btn) self._buttons[name] = btn item = AccordionItem(title=title) item.add_widget(grid) self.accordion.add_widget(item) self.accordion.select(self.accordion.children[-1]) self.update_buttons()
def draw_filter(self): """Create a list of toggle buttons to allow user to show which buses should be shown on the screen. """ # If we've got no filter then we need to set it up: if self.filters is None: # Clear the previous filter self.ids.bx_filter.clear_widgets() # Get the list of unique bus routes and apply a natural sort. routes = sorted(set([x["route"] for x in self.buses]), key=natural_sort_key) # Create a toggle button for each route and set it as enabled # for now. for route in routes: route_found=False for child in self.ids.bx_filter.children: if (route == child.text): route_found = True if (route_found == False): tb = ToggleButton(text=route, state="down") tb.bind(state=self.toggled) self.ids.bx_filter.add_widget(tb) # Run the "toggled" method now as this updates which buses are shown. self.toggled(None, None)
def build(self): # Set up the layout: layout = GridLayout(cols=5, spacing=30, padding=30, row_default_height=150) # Make the background gray: with layout.canvas.before: Color(.2,.2,.2,1) self.rect = Rectangle(size=(800,600), pos=layout.pos) # Instantiate the first UI object (the GPIO input indicator): inputDisplay = InputButton(text="Input") # Schedule the update of the state of the GPIO input button: Clock.schedule_interval(inputDisplay.update, 1.0/10.0) # Create the rest of the UI objects (and bind them to callbacks, if necessary): outputControl = ToggleButton(text="LED") outputControl.bind(on_press=press_callback) beepButton = Button(text="BEEP!") beepButton.bind(on_press=press_callback) wimg = Image(source='logo.png') speedSlider = Slider(orientation='vertical', min=1, max=30, value=speed) speedSlider.bind(on_touch_down=update_speed, on_touch_move=update_speed) # Add the UI elements to the layout: layout.add_widget(wimg) layout.add_widget(inputDisplay) layout.add_widget(outputControl) layout.add_widget(beepButton) layout.add_widget(speedSlider) # Start flashing the LED Clock.schedule_once(flash, 1.0/speed) return layout
def _create_popup(self, instance): # Create the popup content = BoxLayout(orientation='vertical', spacing='5dp') self.popup = Popup(content=content, title=self.title, size_hint=(0.25, None), auto_dismiss=False, separator_color=[1, 1, 1, 1], height=dp(134) + dp(min(len(self.options), 4) * 63)) # Add all the options to the Popup content.add_widget(Widget(size_hint_y=None, height=dp(1))) uid = str(self.uid) for option in self.options: state = 'down' if option == self.value else 'normal' btn = ToggleButton(text=option, state=state, group=uid, height=dp(58), size_hint=(1, None)) btn.bind(on_release=self._set_option) content.add_widget(btn) # Add a cancel button to return on the previous panel content.add_widget(SettingSpacer()) btn = Button(text='Cancel', height=dp(58), size_hint=(1, None)) btn.bind(on_release=self.popup.dismiss) content.add_widget(btn) self.popup.open()
def _create_subpopup(self, instance): ''' shows the sub popup ''' # create the popup content = GridLayout(cols=1, spacing='5dp') scrollview = ScrollView( do_scroll_x=False) scrollcontent = GridLayout(cols=1, spacing='5dp', size_hint=(None, None)) scrollcontent.bind(minimum_height=scrollcontent.setter('height')) self.subpopup = popup = Popup(content=content, title=self.uOption, size_hint=(0.5, 0.9), auto_dismiss=False) #we need to open the popup first to get the metrics popup.open() #Add some space on top content.add_widget(Widget(size_hint_y=None, height=dp(2))) # add all the options uid = str(self.uid) for option in self.aSubOption: state = 'down' if option == self.value else 'normal' oTbtn = ToggleButton(text=option, state=state, group=uid, size=(popup.width, dp(55)), size_hint=(None, None)) oTbtn.bind(on_release=self._set_suboption) scrollcontent.add_widget(oTbtn) # finally, add a cancel button to return on the previous panel scrollview.add_widget(scrollcontent) content.add_widget(scrollview) content.add_widget(SettingSpacer()) oMbtn = cMultiLineButton(text=ReplaceVars('$lvar(5009)'), size=(popup.width, dp(50)),size_hint=(0.9, None), halign='center', valign='middle') oMbtn.bind(on_release=popup.dismiss) content.add_widget(oMbtn)
def __init__(self, **kwargs): super(MyApp,self).__init__(**kwargs) Window.size = (480, 640) with self.canvas: BorderImage(border=(10, 10, 10,10),source='time.jpg',size=(480,640)) global btn1 btn1 = ToggleButton(text=' START ', bold=True,group='state', size_hint=(.25,.022), pos=(190,380),border=(40,0,40,0)) btn1.bind(on_press=MyApp.start_timer) global btn2 btn2 = ToggleButton(text='LOG TASK', group='state', size_hint=(.25,.012), pos=(20,50),disabled=True,border=(20,0,20,0)) btn2.bind(on_press=MyApp.comment_pop) btn3 = Button(text='VIEW TIMESHEET',size_hint=(.29,.012),pos=(335,50), border=(20,0,20,0)) btn3.bind(on_press=MyApp.timesheet_pop) btn4 = Button(text='MAIL TIMESHEET', group='state', size_hint=(.29,.012), pos=(335,550),border=(20,0,20,0)) btn4.bind(on_press=MyApp.mail_pop) btn5 = Button(text='READ ME', group='state', size_hint=(.25,.012), pos=(20,550),border=(20,0,20,0)) btn5.bind(on_press=MyApp.readme_pop) global l1 l1 = Label (bold=True) self.add_widget(btn1) self.add_widget(btn2) self.add_widget(btn3) self.add_widget(btn4) self.add_widget(btn5) self.add_widget(l1)
def stop_record(self): global stream global audio global playButton global finishButton stream.stop_stream() stream.close() audio.terminate() self.record_button.__setattr__('pos_hint', {'center_x': .38, 'y': .5}) playButton = ToggleButton( text='Play', size_hint=(None, None), size=(150, 50), pos_hint={'center_x': .62, 'y': .5}) finishButton = ToggleButton( text='Edit', size_hint=(None, None), size=(100, 40), pos_hint={'right': .97, 'y': .25} ) playButton.bind(on_press=self.toggle_audio) self.ids.layout2.add_widget(playButton) self.ids.layout2.add_widget(finishButton)
def build(self): self.ui=ThermoWidget() self.ui.weatherText='ThermoWidget' self.ui.picSource='weather/1.jpg' self.ui.tempDataText="temps" self.ui.setPointText="0.0" self.ui.ipAddressText="192.168.0.0" self.ui.averageTempText="0.0" self.ui.zoneAlertsText="Loading..." btn=self.ui.ids['increase'] btn.bind(on_release=self.increaseSetPoint) btn=self.ui.ids['decrease'] btn.bind(on_release=self.decreaseSetPoint) self.zones=self.ui.ids['zones'] for z in range(0,4): btnstate='down' if self.currentZone==z else 'normal' btn = ToggleButton( allow_no_selection=False, text=str(z), group='zonegroup', size_hint=(None, None), halign='center', state=btnstate, background_normal='normal.png', background_down='down.png') btn.bind(on_release=self.switch_zone) self.zones.add_widget(btn) self.ui.weatherText=self.config.get('startup', 'weatherText') temp = subprocess.check_output(["ifconfig","wlan0"],universal_newlines=True) pos1=temp.find("inet addr:") pos2=temp.find(" Bcast:") self.ui.ipAddressText=temp[pos1+10:pos2] self.connectMQTT() Clock.schedule_interval(self.mainLoop, 10.0) return self.ui
def populate_list(self): self.src_choices_box.clear_widgets() self.dest_choices_box.clear_widgets() label = Label(text='Source') self.src_choices_box.add_widget(label) label = Label(text='Dest') self.dest_choices_box.add_widget(label) for each in BLEND_FUNC: button = ToggleButton(text=str( self.func_chooser.translate_blend_func_value(each)), font_size=self.size[0] * .12, id=str(each), group='func_choices') self.src_choices_box.add_widget(button) button.bind(on_press=self.press_src_button) if self.func_chooser.current_src == each: button.state = 'down' button = ToggleButton(text=str( self.func_chooser.translate_blend_func_value(each)), font_size=self.size[0] * .12, id=str(each), group='func_choices2') button.bind(on_press=self.press_dest_button) self.dest_choices_box.add_widget(button) if self.func_chooser.current_dest == each: button.state = 'down'
class Date(BoxLayout): def __init__(self, **kwargs): super().__init__(**kwargs) self.orientation = 'horizontal' self.dp = DatePicker() self.today_txt = self.dp.text self.tb = ToggleButton(text='Wczoraj', font_size=20) self.tb.bind(on_release=self.update) self.add_widget(self.dp) self.add_widget(self.tb) # ## TODO: tb: wczoraj jeśli kalendarz daje dziś i "dziś" jesli kalendarz daje cos innego def update(self, *args): self.dp.last_text = self.dp.text ## TODO zle sie zmienia if self.tb.state == 'down': self.dp.last_text = self.dp.text weekname = datetime.strftime( datetime.strptime(self.dp.yesterday, DATEFORMAT), '%a') self.dp.text = weekname + ', ' + self.dp.yesterday else: self.dp.text = self.dp.last_text def reset(self): self.tb.state = 'normal'
class SliderulMeu(GridLayout): def __init__(self, **kwargs): super(SliderulMeu, self).__init__(**kwargs) self.cols = 1 self.padding = 150 self.toggle1 = ToggleButton(text="muzica") self.toggle1.background_normal = "on.png" self.toggle1.background_down = "off.png" self.add_widget(self.toggle1) self.arata_volum = Label (text = "volum: 10") self.add_widget(self.arata_volum) self.slide_muzica = Slider(min=0, max=100, value=10) self.slide_muzica.step = 5 self.slide_muzica.orientation="horizontal" # alte optiuni 'vertical' self.add_widget(self.slide_muzica) self.toggle1.bind(on_press=self.dezactiveaza_volum) self.slide_muzica.bind(value=self.valoare_volum) def valoare_volum (self,x,y): '''utilziat pentru a vedea volumul''' self.arata_volum.text = "volum: "+str(int(self.slide_muzica.value)) def dezactiveaza_volum (self,x): '''utilziat pentru a acctiva sau a dezactiva slider-ul''' if (self.toggle1.state == "down") : self.slide_muzica.disabled =True else: self.slide_muzica.disabled =False self.slide_muzica.value = 0
def subscroll(self): """ opens scroll list of substitute characters in a popup """ for btn in SMApp.marketlist: if btn.state == 'down': SMApp.nameOff = btn btn.state = 'normal' curs.execute('SELECT * FROM Subs') layout2 = GridLayout(cols=2, spacing=10, size_hint_y=None) layout2.bind(minimum_height=layout2.setter('height')) for row in curs: btn = ToggleButton(text=str(row[0]), size_hint_y=None, height=40) if row[1] == 1: btn.background_color = (0.5, 1, 0.9, 1) layout2.add_widget(btn) btn.bind(on_press=subChar) SMApp.sublist.append(btn) lbl = Label(text=str(row[2]), size_hinty=None, height=40) layout2.add_widget(lbl) root = ScrollView(size_hint=(None, None), size=(400, 400)) root.add_widget(layout2) SMApp.popup2 = Popup(content=root, size=(7, 10), size_hint=(0.55, 0.8), title="list of subs") SMApp.popup2.open()
def build_buffs(self): # Buffs buffs = self.ids['buffs'] buffs.clear_widgets() buffs.bind(minimum_height=buffs.setter('height')) sorted(self.possible_buffs_list, key=lambda x: x.name) for b in self.possible_buffs_list: ## l = BoxLayout(orientation='horizontal', padding=5, ## size_hint=(1, None), height=30, width=320) ## ## cb = CheckBox(size_hint=(None, None), size=(50,50)) ## cb._buff = b ## cb.bind(active = self.update_buffs) ## l.add_widget(cb) ## ## name = Label(halign='left', size_hint=(None,1), valign='middle') ## name.bind(texture_size=name.setter('size')) ## name.text = b.name ## l.add_widget(name) l = ToggleButton(text=b.name, size_hint=(1, None), height='50sp') l._buff = b l.bind(on_press = self.update_buffs) buffs.add_widget(l) # Management button l = Button(text='Add New Buff...', size_hint=(1, None), height='50sp') l.bind(on_press = self.new_buff) buffs.add_widget(l) # Make sure underling character also has no buffs applied self.c.buffs.clear()
def subscroll(self): """ opens scroll list of substitute characters in a popup """ for btn in SMApp.teamlist: if btn.state == 'down': SMApp.nameOff = btn btn.state = 'normal' curs.execute('SELECT * FROM Subs') layout2 = GridLayout(cols=2, spacing=10, size_hint_y=None) layout2.bind(minimum_height=layout2.setter('height')) for row in curs: btn = ToggleButton(text=str(row[0]), size_hint_y=None, height=40) if row[1] == 1: btn.background_color = (0.5, 1, 0.9, 1) layout2.add_widget(btn) btn.bind(on_press=subChar) SMApp.sublist.append(btn) lbl = Label(text=str(row[2]), size_hinty=None, height=40) layout2.add_widget(lbl) root = ScrollView(size_hint=(None, None), size=(400, 400)) root.add_widget(layout2) SMApp.popup2 = Popup(content=root, size=(7, 10), size_hint=(0.55, 0.8), title="list of subs") SMApp.popup2.open()
def _create_popup(self, instance): # create the popup content = BoxLayout(orientation='vertical', spacing='5dp') popup_width = min(0.95 * Window.width, dp(500)) self.popup = popup = Popup( content=content, title=self.title, size_hint=(None, None), size=(popup_width, '400dp')) popup.height = len(self.options) * dp(55) + dp(150) # add all the options content.add_widget(Widget(size_hint_y=None, height=1)) uid = str(self.uid) for option in self.options: state = 'down' if option == self.value else 'normal' btn = ToggleButton(text=option, state=state, group=uid) btn.bind(on_release=self._set_option) content.add_widget(btn) # finally, add a cancel button to return on the previous panel content.add_widget(SettingSpacer()) btn = Button(text='Cancel', size_hint_y=None, height=dp(50)) btn.bind(on_release=popup.dismiss) content.add_widget(btn) # and open the popup ! popup.open()
class Karkas(Widget): def __init__(self): super(Karkas, self).__init__() Window.size = (500, 200) Window.clearcolor = (0, 1, 0, 1) self.add_widget( Label(text='Audio (mp3)', pos=(30, 135), color=(0, 0, 1, 1))) self.add_widget( Label(text='Video (mp4)', pos=(30, 105), color=(0, 0, 1, 1))) self.add_widget( Label(text='Вставьте ссылку в поле ввода', pos=(200, 0), color=(0, 0, 1, 1))) self.url_input = TextInput(multiline=False, width=500, height=30, pos=(0, 70)) self.add_widget(self.url_input) self.button_run = Button(pos=(200, 100), width=80, height=80, font_size=15, background_normal='dow1.png', background_down='dow2.png') self.button_run.bind(on_press=self.go_go) self.add_widget(self.button_run) self.btn1 = ToggleButton(text='1', color=(0, 0, 0, 0), group='formats', pos=(15, 180), width=10, height=10) self.btn1.bind(on_press=self.change_value1) self.btn2 = ToggleButton(text='2', color=(0, 0, 0, 0), group='formats', pos=(15, 150), width=10, height=10) self.btn2.bind(on_press=self.change_value2) self.add_widget(self.btn1) self.add_widget(self.btn2) self.value = 0 def change_value2(self, btn2): if self.btn2.state == 'down': self.value = 2 def change_value1(self, btn1): if self.btn1.state == 'down': self.value = 1 def go_go(self, button_run): if self.value == 1: self.audio_load() elif self.value == 2: self.video_load() else: print('Сначала выберите формат файла: аудио или видео')
def build_bouton(self, nom, couleur, i): b = ToggleButton(text=nom, background_normal="", background_down="") b.nom = nom b.index = i b.couleur = couleur b.background_color = b.couleur + (1, ) b.bind(on_release=self.courbe_visibility) return b
def on_enter(self, *args): for card in config.flashcard_set.Flashcards: texts = (card.Question, card.Answer) button_term = ToggleButton(text=texts[0], halign='center', valign='middle') button_term.size_hint = (0.65, 0.35) button_term.bind(on_press=self.switched) self.card_button_texts[button_term] = texts self.ids.grid.add_widget(button_term)
def create_buttons(self, button_names): for name in button_names: button = ToggleButton(group=self.group_name, allow_no_selection=False, text=name) button.bind(on_release=self.set_value) self.buttons = [button] + self.buttons self.add_widget(button)
def build(self): self.ids.testolalayout.clear_widgets() for row in curs.execute("SELECT Light_name FROM Lights WHERE Room='X'"): btn = ToggleButton(text='%s' % row[0], size = (780, 45),size_hint=(None,None)) #create button btn.bind(state=self.lightscallback, on_press=self.showOLA) self.ids.testolalayout.add_widget(btn) #add to gridlayout self.ids.testolalayout.bind(minimum_height=self.ids.testolalayout.setter('height'))
def crear_botones_cursos(self, ciclo_seleccionado): contenedor_cursos=self.root.ids.contenedor_cursos contenedor_cursos.clear_widgets() lista_cursos_asociados=self.todos_cursos.filter(ciclo_id=ciclo_seleccionado.id) for curso in lista_cursos_asociados: btn_curso=ToggleButton(text=curso.nombre_curso, height=45, group="cursos") btn_curso.bind(on_press=self.on_curso_seleccionado) contenedor_cursos.add_widget(btn_curso)
def crear_botones_modulos(self, curso_seleccionado): contenedor_modulos=self.root.ids.contenedor_modulos contenedor_modulos.clear_widgets() lista_modulos=self.todos_modulos.filter(curso_id=curso_seleccionado.id) for m in lista_modulos: btn_modulo=ToggleButton(text=m.nombre, height=45, group="modulos") btn_modulo.bind(on_press=self.on_modulo_seleccionado) contenedor_modulos.add_widget(btn_modulo)
class Light: def __init__(self, lifxlight, rooms): self.lifxlight = lifxlight self.rooms = rooms self.label = self.lifxlight.get_label() self.group = self.lifxlight.get_group_label() Logger.info("Lights: New light %s / %s" % (self.label, self.group)) self.button = ToggleButton(text=self.label) self.button.bind(state=self.callback) def button_state(self): return False if self.button.state == 'normal' else True def callback(self, instance, value): """Ensures that light is set to same state as button""" button_state = False if value == 'normal' else True light_state = self.get_state() if light_state != button_state: # Is light offline? if light_state is None: return self.lifxlight.set_power(button_state) self.rooms.refresh() Logger.debug("Lights: Light is %s, value is %s, get_power is %s" % (self.label, value, self.get_state())) def refresh_light(self): light_state = self.get_state() if light_state is True: self.button.state = 'down' if light_state is False: self.button.state = 'normal' if light_state is None: self.button.state = 'normal' def get_state(self): try: power = self.lifxlight.get_power() except IOError: # Light is offline return None if power in LIFX_LAN_OFF: return False if power in LIFX_LAN_ON: return True return None
def build(self): princ = BoxLayout(orientation='vertical') titulo = BoxLayout(orientation='horizontal', size_hint_y=None, height='70dp') titulo.add_widget( Label(text="[b]Tiwhu[/b] Domotica", font_size=40, markup=True)) princ.add_widget(titulo) layout = GridLayout() btn1 = ToggleButton( background_color=get_color_from_hex('#3498db'), text=u'[b]L[/b]ampada\n[font=Metro]\uf106[/font]\nON', disabled=False) btn1.bind(on_press=self.callback) btn2 = Button(background_color=get_color_from_hex('#e74c3c'), text=u'[font=Metro]\uf101[/font]\n25 C') btn3 = Button( background_color=get_color_from_hex('#1abc9c'), text=u'[b]P[/b]resenca [font=Metro]\uf104[/font]\n[size=50]+[/size]' ) btn4 = Button(background_color=get_color_from_hex('#f1c40f'), text=u'[b]P[/b]orta [font=Metro]\uf103[/font]\nAberta') btn5 = Button(background_color=get_color_from_hex('#9b59b6'), text=u'[b]L[/b]umin. [font=Metro]\uf105[/font]\n85%') btn6 = Button(background_color=get_color_from_hex('#2d89ef'), text=u'[b]D[/b]istancia [font=Metro]\uf108[/font]\n 2 M') layout.add_widget(btn1) layout.add_widget(btn2) layout.add_widget(btn3) layout.add_widget(btn4) layout.add_widget(btn5) layout.add_widget(btn6) dimer = BoxLayout(orientation='horizontal', size_hint_y=None, height='70dp') dimer.add_widget(Label(text="[b]D[/b]imer", font_size=30, markup=True)) dimer.add_widget(Slider(size_hint_y=None)) princ.add_widget(layout) # princ.add_widget(dimer) return princ
class LayoutParametro(BoxLayout): valor_act = NumericProperty(0) valor_sal = NumericProperty(0) def __init__(self, **kwargs): self.register_event_type('on_seleccion') self.register_event_type('on_salvar') self.register_event_type('on_restaurar') super(LayoutParametro, self).__init__(orientation='horizontal', size_hint=kwargs['size_hint'], pos_hint=kwargs['pos_hint']) self.bot_sel = ToggleButton(text=kwargs['text'], group='parametro') self.add_widget(self.bot_sel) self.bot_sel.bind(on_press=self.__seleccionado) self.txt_valor_act = Label(text='0.0') self.add_widget(self.txt_valor_act) self.txt_valor_sal = Label(text='0.0') self.add_widget(self.txt_valor_sal) self.bot_sal = Button(text='Salvar') self.add_widget(self.bot_sal) self.bot_sal.bind(on_press=self.__salvado) self.bot_res = Button(text='Restaurar') self.add_widget(self.bot_res) self.bot_res.bind(on_press=self.__restaurado) self.bind(valor_act=self.__valor_cambiado) self.bind(valor_sal=self.__valor_cambiado) def __seleccionado(self, boton): if boton.state == 'down': self.dispatch('on_seleccion') else: boton.state = 'down' def __salvado(self, boton): self.dispatch('on_salvar') def __restaurado(self, boton): self.dispatch('on_restaurar') def __valor_cambiado(self, *args): self.txt_valor_act.text = str(self.valor_act) self.txt_valor_sal.text = str(self.valor_sal) def on_seleccion(self, *args): pass def on_salvar(self, *args): pass def on_restaurar(self, *args): pass
def build_main(self): main_layout = BoxLayout(padding=5, orientation='vertical') group_layout = BoxLayout(padding=5) actions = { 'List items': self.list_items, 'Hire items': self.hire_items, "Return Items": self.return_items, "Confirm": self.confirm, "Add New Item": self.add_new_item } items = self.items.load() colors = [red, green, blue, purple] h_layout = BoxLayout( padding=5, orientation='vertical', size_hint_x=None, width=150, ) for action_name in sorted(actions.keys()): callback = actions[action_name] btn = ToggleButton(text=action_name, background_color=gray, group="actions") btn.bind(on_press=callback) h_layout.add_widget(btn) group_layout.add_widget(h_layout) items = list(items.values()) layout = SelectableGrid(cols=2, up_count=5, multiselect=True, scroll_count=1) for idx, item in self.items.items.items(): #print(idx) # category, name, cost, state = item btn = Button(text=item.name, background_color=color_for_state(item.status)) btn.bind(on_touch_down=layout.do_touch) btn.storage_idx = idx layout.add_widget(btn) layout.bind(selected_nodes=self.set_selection) layout.items = self.items group_layout.add_widget(layout) main_layout.add_widget(group_layout) self.main_label = Label(text="loading...", size_hint_y=None, height=50) self.selected_functions = [] main_layout.add_widget(self.main_label) return main_layout
def build(self): global sounds,icons sounds,icons=loadData() #showmissingSounds() show = DEFAULT_SHOWTIME global MAX_NBITEMS MAX_NBITEMS = len(icons) g = MemoryLayout(rows=4,items = DEFAULT_NBITEMS, level=show,size_hint=(1,.9)) config = BoxLayout(orientation='horizontal',spacing=10, size_hint=(1,.1)) sound = ToggleButton(text='Sound On', size_hint=(0.1,1)) sound.bind(on_press=MemoryButton.toggleSound) pb = MyPb(max=DEFAULT_NBITEMS, size_hint=(0.7,1),ml=g) score = LabelScore(text="Time: 0 s",size_hint=(0.1,1)) missed = LabelMissed(text="Missed: 0",size_hint=(0.1,1)) config.add_widget(pb) config.add_widget(score) config.add_widget(missed) config.add_widget(sound) g.bind(missed=missed.update) g.bind(elapsed=score.updateTime) g.bind(left=pb.foundAnItem) g.bind(items=pb.newNbItems) playZone = BoxLayout(orientation='vertical') playZone.add_widget(g) playZone.add_widget(config) #select DEFAULT_NBITEMS shuffle(icons) iicons=icons[:DEFAULT_NBITEMS] iicons=iicons+iicons shuffle(iicons) for i in iicons: s = i.split(".png")[0].split(sep)[1] if sounds.has_key(s): aSound = choice(sounds[s]) else: aSound = sounds['default'][0] btn = MemoryButton( text="", filenameIcon=i, filenameSound=aSound, ) g.add_widget(btn) root=FloatLayout() root.add_widget(Image(source='Jungle_Background_-_by-vectorjungle.jpg',allow_stretch=True,keep_ratio=False)) root.add_widget(playZone) Clock.schedule_interval(g.initialCountdown,1) return root
def dashboard_speed_tab(self): canvas = BoxLayout(orientation='vertical') # 1st layer setup = BoxLayout(orientation='horizontal') #setup.height = 20 setup.size_hint = (1, None) btnPlus = Button(text='-', id="minus") self.w_spd_targetspeed = Label(text='10', font_size="20sp") btnMinus = Button(text='+', id="plus") btnAspd = ToggleButton(text='AirSpeed', id="aspd", group='speed_source', state='down') btnGspd = ToggleButton(text='GndSpeed', id="gspd", group='speed_source') btnAspd.bind(state=self.cb_set_speed_source) btnGspd.bind(state=self.cb_set_speed_source) btnPlus.bind(state=self.cb_set_speed_source) btnMinus.bind(state=self.cb_set_speed_source) swRead = Switch(active=False) swRead.bind(active=self.toggle_reading) setup.add_widget(btnPlus) setup.add_widget(self.w_spd_targetspeed) setup.add_widget(btnMinus) setup.add_widget(btnAspd) setup.add_widget(btnGspd) setup.add_widget(swRead) # zaskrtavatko - hlas, tón, pipani # Ukazatel data = BoxLayout(orientation='horizontal') data_actual = BoxLayout(orientation='vertical') self.w_spd_release_status = Label(text="--Release--", markup=True) self.w_spd_speed_info = Label(text="info", markup=True, halign="center") data_actual.add_widget(self.w_spd_release_status) data_actual.add_widget(self.w_spd_speed_info) data_offset = BoxLayout(orientation='vertical') self.w_spd_offset = Label(text="Err", font_size="50sp", markup=True) data_offset.add_widget(self.w_spd_offset) self.w_spd_range = Range() data.add_widget(data_actual) data.add_widget(data_offset) data.add_widget(self.w_spd_range) canvas.add_widget(setup) canvas.add_widget(data) return canvas
def createButton(name, index): button = ToggleButton(text=name, size_hint=(0.25, 0.05), pos_hint={ "right": 1, "y": 0.05 * index }) button.bind( on_press=lambda x: (database.ChangeBuilding(index + 1))) graph_content.add_widget(button)
def build_coordinate_system_options(self): lbl_coordinate_system = Label(text='Coordinate System:', size_hint=(.1, .05), pos_hint={'x': .45, 'y': .9}) btn_coordinate_system_wgs84 = ToggleButton(text='WGS84', group='coordinate_system', state='down', size_hint=(.14, .05), pos_hint={'x': .59, 'y': .9}) btn_coordinate_system_webmercator = ToggleButton(text='Web Mercator', group='coordinate_system', size_hint=(.14, .05), pos_hint={'x': .73, 'y': .9}) btn_coordinate_system_wgs84.bind(on_release=self.toggle_coordinate_system) btn_coordinate_system_webmercator.bind(on_release=self.toggle_coordinate_system) self.app.add_widget(lbl_coordinate_system) self.app.add_widget(btn_coordinate_system_wgs84) self.app.add_widget(btn_coordinate_system_webmercator)
def build_mode_options(self): lbl_mode = Label(text='Mode:', size_hint=(.1, .05), pos_hint={'x': .08, 'y': .9}) btn_mode_dynamic = ToggleButton(text='Dynamic', group='mode', state='down', size_hint=(.1, .05), pos_hint={'x': .16, 'y': .9}) btn_mode_static = ToggleButton(text='Static', group='mode', size_hint=(.1, .05), pos_hint={'x': .26, 'y': .9}) btn_mode_dynamic.bind(on_release=self.toggle_mode) btn_mode_static.bind(on_release=self.toggle_mode) self.app.add_widget(lbl_mode) self.app.add_widget(btn_mode_dynamic) self.app.add_widget(btn_mode_static)
def build(self): # Title and icon for program self.icon = 'memoIcon.png' self.title = 'Pro Soccer Mem 15' items, level = load_level() global g g = MemoryLayout(rows=4, items=items, level=level, size_hint=(1, .9)) config = BoxLayout(orientation='horizontal', spacing=10, size_hint=(1, .1)) narrate_box = BoxLayout(orientation='horizontal', spacing=10, size_hint=(1, .1)) sound = ToggleButton(text='Sound On', size_hint=(0.15, 1)) sound.bind(on_press=MemoryButton.toggle_sound) pb = MyPb(max=items, size_hint=(0.55, 1), ml=g) timing = LabelTime(text="Time: 0 s", size_hint=(0.15, 1)) score = LabelScore(text="Score: 0 - 0", size_hint=(0.15, 1)) narration = LabelNarrate(text="Welcome to Pro Soccer Mem 15. Loading...", size=(1, 1)) narrate_box.add_widget(narration) config.add_widget(pb) config.add_widget(timing) config.add_widget(score) config.add_widget(sound) g.bind(narration=narration.update) g.bind(score=score.update) g.bind(elapsed=timing.update_time) g.bind(left=pb.found_an_item) g.bind(items=pb.new_nb_items) play_zone = BoxLayout(orientation='vertical') play_zone.add_widget(g) play_zone.add_widget(narrate_box) play_zone.add_widget(config) root = FloatLayout() root.add_widget(Image(source='court.jpg', allow_stretch=True, keep_ratio=False)) root.add_widget(play_zone) # Screen manager global sm sm = ScreenManager() settings_screen = SettingsScreen(name='settings') settings_screen.add_widget(root) sm.add_widget(MenuScreen(name='menu')) sm.add_widget(CreditsScreen(name='credits')) sm.add_widget(settings_screen) return sm
def set_rule_chooser(self): if self.lsystem: name,(axiom,rules,angle) = self.lsystem else: rules = {} self.rule_chooser.clear_widgets() for name in ["axiom"]+sorted(rules.keys()): btn = ToggleButton(text=name, group='rules',size_hint_y=None,height=sp(30)) if name == 'axiom': btn.state = 'down' btn.bind(on_press = self.on_rule_choose) self.rule_chooser.add_widget(btn)
def add_tbtn(layout, text, func, group=None): btn = ToggleButton(text=text, group=group, halign='center', valign='middle') btn.bind(on_press=func) btn.bind(size=btn.setter('text_size')) layout.add_widget(btn) return
def add_items(self, choices): for choice in choices: btn = ToggleButton(text=choice, size_hint_y=None, height=44) self.add_widget(btn) btn.bind(on_press=self.update) self.division_buttons.append(btn) for i in self.division_buttons: if i in self.current_division: i.state = "down"
def editgroup(self, widget): self.dropdown.clear_widgets() for player in sorted(self.currentplayer.all_zones, key=lambda x: x.player_name): btn = ToggleButton(text='%s' % (player.player_name,), size_hint_y=None, height=60) btn.bind(on_release=partial(self.makegroup, player)) if player in self.currentplayer.group.members: btn.state = "down" self.dropdown.add_widget(btn) self.dropdown.open(widget)
def filebar(self): layout=BoxLayout(padding='2sp',size_hint=(1,None),height='100sp') layout.orientation='horizontal' files = self.element.files(self.current_ex) for f in files: if f.strip() == self.current_file: button = ToggleButton(text=f,group = self.current_ex,state='down') else: button = ToggleButton(text=f,group = self.current_ex,state='normal') button.bind(on_press=self.update_currentFile) layout.add_widget(button) return layout
def mediakraken_find_server_list(self): self.server_list = common_network_mediakraken.com_net_mediakraken_find_server() if self.server_list is not None: for found_server in self.server_list: btn1 = ToggleButton(text=self.server_list[found_server][1], group='mediakraken_server', ) btn1.bind(on_press=partial(self.MediaKraken_Event_Button_Server_Select, found_server)) self.root.ids.mediakraken_server_list_layout.add_widget(btn1) else: # go back to main menu self.root.ids._screen_manager.current = 'Main_Remote'
def getUI(self): result = ToggleButton() if self.value: result.state = 'down' skin = sm.getSkin('switch', self.asset) result.background_normal = os.path.join(skin['path'], skin["normal"]) result.background_down = os.path.join(skin['path'], skin["down"]) result.size = sm.getControlSize(skin, self.asset) result.border = 0,0,0,0 self.uiEl = result self.prepareUiElement() result.bind(state=self.state_changed) return result
def add_items(self, choices): searchButton = Button(text="Click to search", size_hint_y=None, height=44, on_press=self.pl_search_pop) self.add_widget(searchButton) for choice in choices: btn = ToggleButton(text=choice, size_hint_y=None, height=44) self.add_widget(btn) btn.bind(on_press=self.update) self.pl_buttons.append(btn) for i in self.pl_buttons: if i in self.current_pl: i.state = "down"
def tischerstellung (self, Zielwidget, AnzahlTische, Auswahlliste, BackgroundcolorListe): Auswahlliste = ["Bestellung", "Abrechnung", "Best. Aendern", "Bennenen"] BackgroundcolorListe = [(1,0,0,1),(0,1,0,1),(0,0,1,1),(1,1,0,1)] Aktionsliste = [self.bestellung, self.abrechnung, self.bestellungaendern, self.tischbenennen] #self.DropdownObjects = [] for i in range(AnzahlTische): if self.Tischliste != []: LetzterTisch = self.Tischliste[-1]['Nummer'] ## print LetzterTisch + 1 else: LetzterTisch = 0 TischNr = str(LetzterTisch+1) TischButtonText = "T " + TischNr DropdownObjekt = CustomDropDown() #von kovak hinzugefuegt #DropdownObjektButton = CustomButton(text = TischButtonText, DropdownObjektButton = ToggleButton(text = TischButtonText, group='Tische', #background_normal='bilder_oberflaeche/white2.png', background_normal='bilder_oberflaeche/buttonbackground_normal_gruenrandaussenbraun.png', background_down='bilder_oberflaeche/buttonbackground_normal_weissrandaussenbraun.png', #background_down='bilder_oberflaeche/white4.png', #background_color = (0.79, 0.39, 0.09, 1))#0.6)) background_color = (1, 1, 1, 1))#0.6)) Zielwidget.add_widget(DropdownObjektButton) DropdownObjektButton.bind(on_release=DropdownObjekt.open) self.DropdownObjects.append(DropdownObjekt) #von kovak hinzugefuegt for x in range(len(Auswahlliste)): DropdownUnterbutton = Button(text=Auswahlliste[x], id = TischNr, #auto_width='False', #width = '200sp', font_size = 15, size_hint_y=None, height=60, background_normal='bilder_oberflaeche/white2.png', background_down='bilder_oberflaeche/white3.png', background_color = BackgroundcolorListe[x], on_release = Aktionsliste[x]) DropdownObjekt.add_widget(DropdownUnterbutton) #print' button', i, 'unterbutton', x DropdownObjektButton.text= TischButtonText self.TischButtondict = {'Nummer':(LetzterTisch + 1),'Objekt':DropdownObjektButton} self.Tischliste.append(self.TischButtondict)
def render_distribuite(self,tab): Blayout=BoxLayout(orientation='vertical') btnDistr=Button(text='Start Distribuite',size_hint=(1, .1)) btnDistr.bind(on_press=self.start_dist) layout = GridLayout(cols=4) thedir=os.path.join(self.py4a_path,'recipes') recipes=[ name for name in os.listdir(thedir) if os.path.isdir(os.path.join(thedir, name)) ] for r in recipes: t=ToggleButton(text=r) t.bind(state=self.add_remove) layout.add_widget(t) Blayout.add_widget(btnDistr) Blayout.add_widget(layout) tab.add_widget(Blayout)