def getUI(self): """get the ui element""" result = Slider() #SliderExt() if self.value: result.value = self.value skin = sm.getSkin('slider', self.asset) result.size = sm.getControlSize(skin, self.asset) result.orientation = sm.getVar(skin, self.asset, "orientation") result.min = sm.getMinimum('slider', self.value, self._typeInfo) result.max = sm.getMaximum('slider', self.value, self._typeInfo) result.step = sm.getStep('slider', self._typeInfo) result.show_label = sm.getVar(skin, self.asset, "show_label") result.show_marker = sm.getVar(skin, self.asset, "show_marker") self.uiEl = result self.prepareUiElement() if sm.getVar(skin, self.asset, "send_on_release", False): result.on_dragEnded = self.value_changed # set the callback for when drag ends (self made, so no binding) else: result.bind(value=self.value_changed) return result
def __init__(self, **kwargs): super(VISimulator, self).__init__(**kwargs) # Create list of sliders rates_box = self.ids.rates_box img_path = config['Images']['Directory'] self.sliders = {} for root, subdirs, files in os.walk(img_path): for subdir in subdirs: # Create layout slider_layout = BoxLayout() slider_layout.orientation = 'horizontal' slider_layout.size_hint_y = 0.15 slider_layout.height = '48dp' # Create label slider_label = Label(text=subdir) # Create slider slider = Slider() slider.min = 0.0 slider.max = 1.0 slider.value = 0.5 slider.step = 0.1 # Add widgets slider_layout.add_widget(slider_label) slider_layout.add_widget(slider) self.ids.rates_box.add_widget(slider_layout) # Add to sliders dictionary self.sliders[subdir] = slider
def setFails(self, spinner, switch): if('%' in spinner.text): if(spinner.text=='30% NG'): self.setToFail(30, 'NG', switch, spinner) elif (spinner.text == '40% NG'): self.setToFail(40, 'NG', switch, spinner) if (spinner.text == '50% NG'): self.setToFail(50, 'NG', switch, spinner) else: # popup setup code slider = Slider(min=0, max=400, id='slider_popup') label = Label(text=str(int(slider.value)), font_size=25) label2 = Label(text='stuff', font_size=25) box = BoxLayout(orientation='vertical') box3=BoxLayout() box2 = BoxLayout() box.add_widget(slider) box.add_widget(box2) box2.add_widget(label2) box2.add_widget(label) btn = Button(text='Confirm', size_hint=(1, 0.5), font_size=25) btn2 = Button(text='Cancel', size_hint=(1,0.5), font_size=25) box3.add_widget(btn) box3.add_widget(btn2) box.add_widget(box3) popup = Popup(title='failure set', content=box, id='Fails') btn.bind(on_press=popup.dismiss) btn2.bind(on_press=popup.dismiss) # small handler method to capture slider changes def onSliderValChange(self, val): label.text = str(int(val)) slider.bind(value=onSliderValChange) # code to handle the various options (fail at speed/alt/time) and display correctly if spinner.text == 'Not Set': #print 'removed set failures for : ' + switch.text for x in setFailures: if x[0] == switch.text: x[3] = 2 elif spinner.text == 'Fail at Speed': slider.max = 150 label2.text = 'Speed (kts) To Fail System At: ' btn.bind(on_press=lambda x: self.setToFail(slider.value, 'speed', switch, spinner)) popup.open() #print 'set ' + switch.text + ' to fail at speed' elif spinner.text == 'Fail at Altitude': slider.max = 40000 label2.text = 'Altitude (m) To Fail System At: ' btn.bind(on_press=lambda x: self.setToFail(slider.value, 'altitude', switch, spinner)) popup.open() #print 'set ' + switch.text + ' to fail at altitude' elif spinner.text == 'Fail at Time': slider.max = 600 label2.text = 'Seconds To Fail System In: ' btn.bind(on_press=lambda x: self.setToFail(slider.value + timeRunning[0], 'time', switch, spinner)) popup.open()