Пример #1
0
class CircleApp(App):
    def connect(self):
        self.s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.s.connect((host, port))
        self.previous_data = 0

    def build(self):
        layout1 = BoxLayout(orientation='horizontal')
        self.e1 = Slider(min=0, max=100, value=0, orientation='vertical')
        self.txt = Label()
        self.txt.text = 'Volume : ' + '0'
        layout1.add_widget(self.e1)
        layout1.add_widget(self.txt)
        self.e1.bind(value=self.updateValue)
        return layout1

    def updateValue(self, nstance, value):
        if int(value) != self.previous_data:
            self.previous_data = int(value)
            self.txt.text = 'Volume : ' + str(int(value))
            try:
                self.s.send(str(int(value % 100.1)))
            except:
                pass

    def recieveData(self):
        while True:
            try:
                data = self.s.recv(1024)
                self.txt.text = 'Volume : ' + str(int(data))
                self.e1.value = int(data)
            except:
                pass
Пример #2
0
    def on_pre_enter(self):
        # Set up the slider
        slider = Slider(min=int(cur_setting['min']),
                        max=int(cur_setting['max']),
                        value=main.App.get_running_app().config.getint('Camera', cur_setting['key']),
                        orientation='vertical',
                        size_hint=(0.2, 0.75),
                        pos_hint={'x':0.8, 'y':0.17},
                        step=1)

        # Add a label up the top showing the slider value
        self.label = Label(text='{0}: {1}'.format(cur_setting['title'], int(slider.value)),
                      size_hint=(0.2, 0.1),
                      pos_hint={'x':0.8, 'y':0.9})

        # Add the close button to the bottom
        back_button = Button(text='Back',
                            size_hint=(0.2, 0.16),
                            pos_hint={'x':0.8, 'y':0})

        # Bind the events
        slider.bind(value=self.change_setting)
        back_button.bind(on_release=self.back_button_press)

        # Add to floatlayout.
        floaty = FloatLayout()
        floaty.add_widget(slider)
        floaty.add_widget(self.label)
        floaty.add_widget(back_button)
        self.add_widget(floaty)
Пример #3
0
class WidgetContainer(GridLayout):
    def __init__(self, **kwargs):
        super(WidgetContainer, self).__init__(**kwargs)

        # 2 columns in grid layout

        self.cols = 2

        self.brightnessControl = Slider(min=0, max=100)

        # 1st row - one label, one slider

        self.add_widget(Label(text='brightness'))

        self.add_widget(self.brightnessControl)

        # 2nd row - one label for caption, one label for slider value

        self.add_widget(Label(text='Slider Value'))

        self.brightnessValue = Label(text='0')

        self.add_widget(self.brightnessValue)

        # On the slider object Attach a callback for the attribute named value

        self.brightnessControl.bind(value=self.on_value)

    def on_value(self, instance, brightness):
        self.brightnessValue.text = "%d" % brightness
Пример #4
0
    def build(self):
        from kivy.uix.slider import Slider

        def test(*ars):
            gauge.value = s.value

            print(s.value)

        def test_(*ars):
            gauge_.value = s1.value
            print(s.value)

        box = BoxLayout(orientation='vertical', spacing=10, padding=10)
        gauge = Gauge(value=50, size_gauge=256, size_text=9)
        gauge_ = Gauge(value=50, size_gauge=256, size_text=19)

        box.add_widget(gauge)
        box.add_widget(gauge_)

        s = Slider(min=0, max=100, value=50)
        s.bind(value=test)
        box.add_widget(s)

        s1 = Slider(min=0, max=100, value=50)
        s1.bind(value=test_)
        box.add_widget(s1)

        return box
Пример #5
0
class WidgetContainer(GridLayout):
    def __init__(self, **kwargs):

        # super function can be used to gain access
        # to inherited methods from a parent or sibling
        # class that has been overwritten in a class object.
        super(WidgetContainer, self).__init__(**kwargs)

        # 4 columns in grid layout
        self.cols = 4

        # declaring the slider and adding some effects to it
        self.brightnessControl = Slider(min=0, max=100)

        # 1st row - one label, one slider
        self.add_widget(Label(text='Brightness'))
        self.add_widget(self.brightnessControl)

        # 2nd row - one label for caption,
        # one label for slider value
        self.add_widget(Label(text='Slider Value'))
        self.brightnessValue = Label(text='0')
        self.add_widget(self.brightnessValue)

        # On the slider object Attach a callback
        # for the attribute named value
        self.brightnessControl.bind(value=self.on_value)

    # Adding functionality behind the slider
    # i.e when pressed increase the value
    def on_value(self, instance, brightness):
        self.brightnessValue.text = "% d" % brightness
Пример #6
0
 def setup_gui(self):     
     self.ParentLayout = GridLayout(cols=3, row_force_default=True, row_default_height=200)
     self.label = Label(text='connecting...\n')                
       
      # Additional code to exercise, so you can adapt related code on server for example       
     Matrix_Row_Slider = Slider(min=0, max=8, value=1)
     Matrix_Row_Slider.bind(value=self.onMatrix_Row_Slidervalue)  # handy to know what are the slider's position
     
     Matrix_Col_Slider = Slider(min=0, max=8, value=1)
     Matrix_Col_Slider = Slider(orientation='vertical')        
         
     self.ParentLayout.add_widget(Matrix_Row_Slider)                
     self.Matrix_Layout = GridLayout(cols=8)
     
     # Let's add a spinner to be able to select some colors
     self.Colorspinner = Spinner(text='Green', values=('NA','Green','Red','Orange', 'Cls'), size_hint=(None, None),size=(90, 44), pos_hint={'center_x': .5, 'center_y': .5})
     
     # We define the main buttons matrix here        
     for i in range(64):
         btn = Button(text=str(i), size_hint_x=None,size_hint_y=None, width=20, height=20 )
         btn.bind(on_press=self.callback)
         self.Matrix_Layout.add_widget(btn)       
    
     self.ParentLayout.add_widget(self.Matrix_Layout)        
     self.ParentLayout.add_widget(self.label) 
     self.ParentLayout.add_widget(self.Colorspinner)
     self.ParentLayout.add_widget(Matrix_Col_Slider)
     return self.ParentLayout
Пример #7
0
 def build(self):  #UIの構築等
     args = sys.argv
     self.src = cv2.imread(args[1], cv2.IMREAD_GRAYSCALE)
     if self.src is None:
         return -1
     self.src = cv2.flip(self.src, 0)
     # ButtonやSlider等は基本size_hintでサイズ比率を指定(絶対値の時はNoneでsize=)
     # Imageに後で画像を描く
     self.kvImage1 = Image(size_hint=(1.0, 0.7))
     # Layoutを作ってadd_widgetで順次モノを置いていく(並びは置いた順)
     kvBoxLayout1 = BoxLayout(orientation='vertical')
     kvBoxLayout1.add_widget(self.kvImage1)
     # ここだけ2columnでkvBoxLayout2にLabelとSliderを並べてkvBoxLayout1に渡す
     # Verticalの中に置くhorizontalなBoxLayout (ここだけ2column)
     kvBoxLayout2 = BoxLayout(orientation='horizontal',
                              size_hint=(1.0, 0.1))
     self.kvSliderLabel = Label(text='Threshold',
                                size_hint=(0.3, 1.0),
                                halign='center')
     kvSlider = Slider(size_hint=(0.7, 1.0), min=0, max=255, value=128)
     kvSlider.bind(value=self.sliderCallback)
     kvBoxLayout2.add_widget(self.kvSliderLabel)
     kvBoxLayout2.add_widget(kvSlider)
     kvBoxLayout1.add_widget(kvBoxLayout2)
     self.process(kvSlider.value)
     return kvBoxLayout1
Пример #8
0
    def build(self):
        from kivy.animation import Animation
        from kivy.uix.slider import Slider
        from random import random

        def update(*args):
            Animation(value=slider.value, duration=speed,
                      t=easing).start(gauge)

        easing = 'in_out_quad'
        speed = 1
        vmin = 0
        vmax = 100
        value = round(random() * vmax)
        gauge = Gauge(header='km/h',
                      line_width=20,
                      max=vmax,
                      min=vmin,
                      mode=0,
                      value=value)

        slider = Slider(min=vmin, max=vmax, value=vmin)
        slider.value = value
        slider.bind(value=update)

        layout = BoxLayout()
        layout.add_widget(gauge)
        layout.add_widget(slider)

        return layout
Пример #9
0
 def on_enter(self):
     popup = Popup(title='Dish Options', size_hint=(1,1))
     layout1 = StackLayout(orientation='lr-bt') #This time the options are layed out in a stack layout, so that I can have multiple options in a small space
     closebutton = Button(text='I want to make a different dish', size_hint=(0.9,0.05)) #This is a button that will make a different dish for the user
     closebutton.bind(on_press= popup.dismiss)                                           #The size_hint is the x and y co-ordinate score of how much percentage of the screen the button will have (with 1 being all the screen)
     closebutton.bind(on_release = self.change_page)
     scrlv = ScrollView(size_hint=(0.9,0.95)) #This adds a scrollable bar to the list of dishes, if there are lots of them
     slid = Slider(min=0, max=1, value=25, orientation='vertical', step=0.01, size_hint=(0.1, 0.95)) #The slid is the physical slider used, which calles the scrlv
     #step is the percentage of the screen it takes up, min and max are always 1 and 0 as they show the ful percentage of the screen covered by the bar
     scrlv.bind(scroll_y=partial(self.slider_change, slid))
     #what this does is, whenever the slider is dragged, it scrolls the previously added scrollview by the same amount the slider is dragged
     slid.bind(value=partial(self.scroll_change, scrlv))
     layout2 = GridLayout(cols=4, size_hint_y=None) #This is another grdi layout used within the popup
     layout2.bind(minimum_height=layout2.setter('height')) #Bind the height of the layout to the minimum height so that the scroll bar functions
     for txt in choices:
         btn = Button(text=txt, size_hint_y=None, height=80, valign='middle', font_size=12) # Add a button for each dish
         btn.text_size = (btn.size) #set the buttons so that their size changes depending on the screen size
         btn.bind(on_press = self.find_dish) #When the button is pressed, call the find_dish subroutine
         btn.bind(on_release = popup.dismiss) #Close the popup if they click the button
         layout2.add_widget(btn) # Add the buttons to the layout
     scrlv.add_widget(layout2)
     layout1.add_widget(closebutton) #Add the close button to the layout
     layout1.add_widget(scrlv) # Add the scroll bar to the layout
     layout1.add_widget(slid)  #Add the slider to the layout for the scroll bar
     popup.content = layout1
     popup.open()
     if len(choices) == 0:
         popup.dismiss()
         sm.current = "main" #This changes the screen back to the original "main" screen if there are no dishes, which allows the users to choose another dish
Пример #10
0
    def __init__(self, points=[], loop=False, *args, **kwargs):
        super(BezierTest, self).__init__(*args, **kwargs)
        self.d = 10
        self.points = points
        self.loop = loop
        self.current_point = None

        with self.canvas:
            Color(1.0, 0.0, 0.0)

            self.bezier = Bezier(
                    points=self.points,
                    segments=150,
                    loop=self.loop,
                    dash_length=100,
                    dash_offset=10)

            Color(1.0, 0.0, 1.0)
            self.line = Line(
                    points=self.points+self.points[:2],
                    dash_offset=10,
                    dash_length=100)

        s = Slider(y=0, pos_hint={'x': .3}, size_hint=(.7, None), height=50)
        s.bind(value=self._set_bezier_dash_offset)
        self.add_widget(s)

        s = Slider(y=50, pos_hint={'x': .3}, size_hint=(.7, None), height=50)
        s.bind(value=self._set_line_dash_offset)
        self.add_widget(s)
Пример #11
0
class WidgetContainer(GridLayout):
    """Gere affichage et refresh auto du layout principal"""
    def __init__(self, **kwargs):
        super(WidgetContainer, self).__init__(**kwargs)
        self.cols = 1

        self.my_array = MyArray()

        self.mySlider = Slider(min=30, max=60, value=30)
        self.mySlider.bind(value=self.on_frequency)
        self.mySliderValue = Label(text='30 Hz')

        self.myButton = Button(text="Quit")
        self.myButton.bind(on_press=self.click_exit)

        self.add_widget(self.my_array)
        self.add_widget(self.mySlider)
        self.add_widget(self.mySliderValue)
        self.add_widget(self.myButton)

        self.auto_refresh = Clock.schedule_interval(self.refresh_array, 1 / 30)

    def refresh_array(self, _):
        # le layout est redessine automatiquement
        self.my_array.refresh()

    def on_frequency(self, _, value):
        self.mySliderValue.text = "%d Hz" % value
        period = 1 / value
        self.auto_refresh.cancel()  # Precedent schedule annule
        self.auto_refresh = Clock.schedule_interval(self.refresh_array, period)

    @staticmethod
    def click_exit(_):
        exit(0)
Пример #12
0
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
Пример #13
0
class OptionsApp(App):
    def __init__(self, appState):
        super(OptionsApp, self).__init__()
        self.appState = appState

    def build(self):
        layout = BoxLayout(orientation='vertical')

        row1 = BoxLayout(orientation='horizontal')
        self.slider = Slider(min=0, max=500, step=1, size=(800, 50))
        self.slider.bind(value=self.OnSliderValueChange)
        self.label = Label(text=str(self.appState['xPos']))
        row1.add_widget(self.slider)
        row1.add_widget(self.label)
        row2 = BoxLayout(orientation='horizontal')
        self.slider2 = Slider(min=0, max=500, step=1, size=(800, 50))
        self.slider2.bind(value=self.OnSliderValueChange2)
        self.label2 = Label(text=str(self.appState['yPos']))
        row2.add_widget(self.slider2)
        row2.add_widget(self.label2)
        layout.add_widget(row1)
        layout.add_widget(row2)
        return layout

    def OnSliderValueChange(self, instance, value):
        self.appState['xPos'] = value
        self.label.text = str(value)

    def OnSliderValueChange2(self, instance, value):
        self.appState['yPos'] = value
        self.label2.text = str(value)
Пример #14
0
    def __init__(self, points=[], loop=False, *args, **kwargs):
        super(BezierTest, self).__init__(*args, **kwargs)
        self.d = 10  # pixel tolerance when clicking on a point
        self.points = points
        self.loop = loop
        self.current_point = None  # index of point being dragged

        with self.canvas:
            Color(1.0, 0.0, 0.0)

            self.bezier = Bezier(points=self.points,
                                 segments=150,
                                 loop=self.loop,
                                 dash_length=100,
                                 dash_offset=10)

            Color(1.0, 0.0, 1.0)
            self.line = Line(points=self.points + self.points[:2],
                             dash_offset=10,
                             dash_length=100)

        s = Slider(y=0, pos_hint={'x': .3}, size_hint=(.7, None), height=50)
        s.bind(value=self._set_bezier_dash_offset)
        self.add_widget(s)

        s = Slider(y=50, pos_hint={'x': .3}, size_hint=(.7, None), height=50)
        s.bind(value=self._set_line_dash_offset)
        self.add_widget(s)
Пример #15
0
class SliderButton(PopupButton):
    def __init__(self,**kwargs):
        self.min=kwargs.pop('min',0)
        self.max=kwargs.pop('max',100)
        self.step=kwargs.pop('step',1)
        #self.on_update=kwargs.pop('on_update',None)
        self.sliderBind=False
        super(SliderButton,self).__init__(**kwargs)
        self.slider=Slider(min=self.min,value=self.value,max=self.max,step=self.step,cursor_width='32sp',orientation=self.popup_orientation,size_hint=(1,1),size=('25sp','100sp'))
        self.popupBox.add_widget(self.slider)
        #self.popupBox.title=str(self.value)
    def bindTouchUp(self,*args):
        self.slider.bind(on_touch_up=self.updateValue)
    def updateValue(self,instance,event):
        self.value=int(self.slider.value)
        self.slider.unbind(on_touch_up=self.updateValue)
        self.slider.unbind(on_touch_move=self.updatePopup)
        #self.popup.title=str(self.text_top) + str(':  ') + str(self.slider.value)
        super(SliderButton,self).updateValue(self.value)
    def updatePopup(self,*args):
        self.popup.title=str(self.text_top) + str(' : ') + str(self.slider.value)
        Clock.schedule_once(self.bindTouchUp,0.5)
    def pressEvent(self,*args):
        self.slider.value=self.value
        super(SliderButton,self).pressEvent(self,*args)
        self.slider.bind(on_touch_move=self.updatePopup)
        self.updatePopup()
Пример #16
0
    def __init__(self, min=0, max=10, value=5, on_change=None, **kwargs):
        super().__init__(**kwargs)

        w = Slider(min=min, max=max, value=value, step=0.1)
        if callable(on_change): w.bind(value=on_change)
        self.field = w
        self.ids['layout'].add_widget(w)
Пример #17
0
 def build(self): #UIの構築等
     self._cap = cv2.VideoCapture(0)
     # ButtonやSlider等は基本size_hintでサイズ比率を指定(絶対値の時はNoneでsize=)
     # 日本語フォントを使いたいときはfont_nameでフォントへのパス
     kvButton1 = Button(text='ボタン', size_hint=(1.0, 0.1), font_name='/usr/local/texlive/texmf-local/fonts/truetype/cjk-gs-integrate/ipag.ttf')
     kvButton1.bind(on_press = self.buttonCallback) #bindでイベントごとにコールバック指定
     # Imageに後で画像を描く
     self.kvImage1 = Image(size_hint=(1.0, 0.7))
     # Layoutを作ってadd_widgetで順次モノを置いていく(並びは置いた順)
     kvLayout1 = BoxLayout(orientation='vertical')
     kvLayout1.add_widget(self.kvImage1)
     # ここだけ2columnでLabelとSliderを並べる
     # Verticalの中に置くhorizontalなBoxLayout
     kvLayout2 = BoxLayout(orientation='horizontal', size_hint=(1.0, 0.1))
     self.kvSlider1Label = Label(text = 'Slider', size_hint=(0.3, 1.0), halign='center')
     kvSlider1 = Slider(size_hint=(0.7, 1.0))
     kvSlider1.bind(value=self.slideCallback)
     kvLayout1.add_widget(kvLayout2)
     kvLayout2.add_widget(self.kvSlider1Label)
     kvLayout2.add_widget(kvSlider1)
     # 1columnに戻る
     kvLayout1.add_widget(kvButton1)
     #カメラ待ち
     while not self._cap.isOpened():
         pass
     # 更新スケジュールとコールバックの指定
     Clock.schedule_interval(self.update, 1.0/30.0)
     return kvLayout1
Пример #18
0
 def on_enter(self):
     layout = self.ids.otherlayout
     floatEr = FloatLayout(size=(480,800))
     player = Music_Player()
     self.label = Label(text=str(self.slider_val))
     s = Slider(min=0, max=player.current_playing.length, value_track=True, value_track_color=[1, 0, 0, 1], sensitivity='handle', pos = (0, 300), size = (100, 30))
     s.step = .01
     btnp = Button(text='play', size=(96,72), pos = (0,72))
     btnpau = Button(text='pause', size=(96,72), pos = (96,72))
     btnb = Button(text='back', size=(96,72), pos = (192,72))
     btn2 = Button(text='go to list', size=(96,72), pos = (288,72))
     btnn = Button(text='next', size=(96,72), pos = (384,72))
     pb = ProgressBar(max=player.current_playing.length)
     pb.bind(value=lambda
         x:self.sliderProgress(player.current_playing.get_pos()))
     btn2.bind(on_press=self.changer)
     btnp.bind(on_press=lambda x:player.play())
     btnpau.bind(on_press=lambda x:player.pause())
     btnb.bind(on_press=lambda x:player.back())
     btnn.bind(on_press=lambda x:player.next())
     s.bind(value=self.sliderProgress)
     s.bind(on_touch_up=lambda x, y:player.playAtTime(self.sliderProgress))
     floatEr.add_widget(btn2)
     floatEr.add_widget(btnp)
     floatEr.add_widget(btnpau)
     floatEr.add_widget(btnn)
     floatEr.add_widget(btnb)
     floatEr.add_widget(s)
     floatEr.add_widget(pb)
     layout.add_widget(self.label)
     layout.add_widget(floatEr)
Пример #19
0
        def build(self):
            from kivy.uix.slider import Slider

            def test(*ars):
                gauge.value = s.value
              
                print(s.value)

            def test_(*ars):
          
                gauge_.value = s1.value
                print(s.value)
            
            
            box = BoxLayout(orientation='vertical', spacing=10, padding=10)
            gauge = Gauge(value=50, size_gauge=256, size_text=9)
            gauge_ = Gauge(value=50, size_gauge=256, size_text=19)
    
            box.add_widget(gauge)
            box.add_widget(gauge_)
            
            s = Slider(min=0, max=100, value=50)
            s.bind(value=test)
            box.add_widget(s)

            s1 = Slider(min=0, max=100, value=50)
            s1.bind(value=test_)
            box.add_widget(s1)
 
            
            return box
Пример #20
0
class time_layout(BoxLayout):
    def __init__(self,strin,no,colors):
        super().__init__()
        self.orientation="vertical"
        """self.scrlv=ScrollView(size_hint=(0.8,0.8))
        temp=GridLayout(cols=1, size_hint_y=None)
        temp.bind(minimum_height=temp.setter('height'))"""
        self.s=Slider(value=0,min=0,max=no-1,step=1)
        """
        for i in range(0, no):
            btn = Label(text=str(i), size_hint_y=None, size_hint_x=0.2,height=10, valign='middle',halign='center', font_size=5)
            btn.text_size = (btn.size)
            temp.add_widget(btn)
        self.scrlv.add_widget(temp)"""
        label=Label(text=strin,color=colors)
        #self.label1=Label(text=str(int((1-self.scrlv.scroll_y)*no)))
        self.label1=Label(text=str(int(self.s.value)),color=colors)
        """def corelate(instance,value):
            self.label1.text=str(int((1-self.scrlv.scroll_y)*no))"""
        def corelate(instance,value):
            self.label1.text=str(int(self.s.value))
        #self.scrlv.bind(scroll_y=corelate)
        self.s.bind(value=corelate)
        
        self.add_widget(label)
        self.add_widget(self.label1)
        self.add_widget(self.s)
Пример #21
0
class Switch_implementare(GridLayout):
    def __init__(self, **kwargs):
        super(Switch_implementare, self).__init__(**kwargs)
        self.cols = 1
        self.padding = 150
        self.switch1 = Switch()
        self.switch1.active = True
        self.add_widget(self.switch1)
        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.switch1.bind(active=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, y):
        '''utilziat pentru a acctiva sau a dezactiva slider-ul'''
        if (self.switch1.active == False):
            self.slide_muzica.disabled = True
        else:
            self.slide_muzica.disabled = False
            self.slide_muzica.value = 0
 def build(self):
     main_layout = BoxLayout(orientation='horizontal')
     oil_layout = BoxLayout(orientation='vertical')
     water_layout = BoxLayout(orientation='vertical')
     
     oil_label = Label(text='Öl', size_hint = (1, None), font_size = 30)
     oil_temp_label = Label(text='20 °C', size_hint = (1, None), font_size = 30)
     self.oil_temp_label = oil_temp_label
     oil_slider = Slider(min = 0, max = 150, value = 20, orientation = 'vertical')
     self.oil_slider = oil_slider
     oil_slider.bind(value=self.on_oil_slider)
     
     oil_layout.add_widget(oil_label)
     oil_layout.add_widget(oil_slider)
     oil_layout.add_widget(oil_temp_label)
     
     
     water_label = Label(text='Wasser', size_hint = (1, None), font_size = 30)
     water_temp_label = Label(text='10 °C', size_hint = (1, None), font_size = 30)
     self.water_temp_label = water_temp_label
     water_slider = Slider(min = 0, max = 40, value = 10, orientation = 'vertical')
     self.water_slider = water_slider
     water_slider.bind(value=self.on_water_slider)
     
     water_layout.add_widget(water_label)
     water_layout.add_widget(water_slider)
     water_layout.add_widget(water_temp_label)
     
     
     main_layout.add_widget(oil_layout)
     main_layout.add_widget(water_layout)
     
     
     
     return main_layout
class SetInternalVariableWidget(GridLayout):
    def __init__(self, img_file, **kwargs):
        super(SetInternalVariableWidget, self).__init__(**kwargs)
        self.rows = 1
        self.img = Image(source=img_file)
        # Improve rendering via OpenGl
        self.img.mipmap = True
        self.img.size_hint_x = None
        self.img.width = 30
        self.slider = Slider(min=0,
                             max=1,
                             value=0.25,
                             size_hint_x=None,
                             width=235)
        self.label = Label(text=str(self.slider.value),
                           font_size='17sp',
                           size_hint_x=None,
                           width=50)
        self.slider.bind(value=self.on_slider_value_change)
        self.add_widget(self.img)
        self.add_widget(self.slider)
        self.add_widget(self.label)

    def on_slider_value_change(self, obj, val):
        self.label.text = str("{0:.2f}".format(val))

    def value(self):
        return self.slider.value
Пример #24
0
        def build(self):
            from kivy.uix.slider import Slider

            def test(*ars):
                #gauge.value = s.value
                gauge.set_animate(s.value)
                print(s.value)

            def test_(*ars):
                gauge_.value = s1.value
                print(s.value)

            box = BoxLayout(orientation='vertical', spacing=10, padding=10)
            gauge = Gauge(50, 0, 200, size_text=9)
            gauge_ = Gauge(value=50,
                           size_text=19,
                           half_widget=True,
                           show_progress=False)

            box.add_widget(gauge)
            box.add_widget(gauge_)

            s = Slider(min=0, max=200, value=50)
            s.bind(value=test)
            box.add_widget(s)

            s1 = Slider(min=0, max=100, value=50)
            s1.bind(value=test_)
            box.add_widget(s1)

            return box
Пример #25
0
    def build(self):
        root = BoxLayout(orientation='vertical')

        viewer = KinectViewer()
        root.add_widget(viewer)

        toolbar = BoxLayout(size_hint=(1, None), height=50)
        root.add_widget(toolbar)

        slider = Slider(min=1., max=10., value=1.)
        def update_depth_range(instance, value):
            viewer.depth_range = value
        slider.bind(value=update_depth_range)
        toolbar.add_widget(slider)

        button = Button(text='Use RGB shader')
        def use_rgb(*l):
            viewer.canvas.shader.fs = rgb_kinect
        button.bind(on_press=use_rgb)
        toolbar.add_widget(button)

        button = Button(text='Use HSV shader')
        def use_hsv(*l):
            viewer.canvas.shader.fs = hsv_kinect
        button.bind(on_press=use_hsv)
        toolbar.add_widget(button)

        return root
Пример #26
0
 def __init__(self, childHeight, **kwargs):
     super(ListView,self).__init__(**kwargs)
     self.__childHeight = childHeight
     scroll = ScrollViewFixed(bar_width=30,
                         bar_margin=-30,
                         bar_color=[0.8,.8,.8,.99],
                         do_scroll_y = True,
                         do_scroll_x = False,
                         pos_hint= {'x':0,'y':0},
                         size_hint = (None,None),
                         size = self.size)
     box = BoxLayout(orientation='vertical',size_hint=(None,None),
                             size = self.size)
     scroll.add_widget(box)
     super(ListView, self).add_widget(scroll)
     s = Slider(orientation='vertical', value_normalized = 0.5, 
                size_hint =(None,None), padding = 20,
                size = (30, self.size[1]), pos_hint = {'x':1, 'y':0})
     scroll.slider = s
     def scrollMoves(slid,pos):
         scroll.scroll_y = pos
     s.bind(value_normalized=scrollMoves)
     super(ListView, self).add_widget(s, 1)
     self.scroll = scroll
     self.box = box
Пример #27
0
class DraggableScrollbar(GridLayout):
	slider = None

	def __init__(self, recycleView, **kwargs):
		
		# call the constructor of parent
		# if they are any graphics object, they will be added on our new canvas
		super(DraggableScrollbar, self).__init__(**kwargs)
		self.cols = 2
		self.orientation='lr-bt'

		#the last child of layout1 and this will act as the draggable scrollbar
		self.slider = Slider(min=0, max=1, value=25, orientation='vertical', step=0.01, size_hint=(0.1, 0.95))

		recycleView.bind(scroll_y=partial(self.slider_change))

		#what this does is, whenever the slider is dragged, it scrolls the previously added scrollview by the same amount the slider is dragged
		self.slider.bind(value=partial(self.scroll_change, recycleView))
		
		self.add_widget(recycleView)
		self.add_widget(self.slider)

	def scroll_change(self, recycleView, instance, value):
		recycleView.scroll_y = value

	def slider_change(self, instance, value):
		if value >= 0:
		#this to avoid 'maximum recursion depth exceeded' error
			self.slider.value=value
Пример #28
0
class Tela(GridLayout):
    def __init__(self, **kwargs):
        super(Tela, self).__init__(**kwargs)
        self.cols = 1

        # slider vertical
        self.sl = Slider(orientation='vertical', min=0, max=100, value=50)
        self.add_widget(self.sl)

        # barra de progresso
        self.pb = ProgressBar(max=100)
        self.pb.value = 50
        self.add_widget(self.pb)

        # exibir texto simples
        self.add_widget(Label(text='Valor Atual :'))

        # valor do slider
        self.valor = Label(text='0')
        self.add_widget(self.valor)

        # vinculando evento ao slider
        self.sl.bind(value=self.on_value)

    def on_value(self, instance, valor):
        self.valor.text = "%d" % valor
        self.pb.value = valor
Пример #29
0
	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
Пример #30
0
    def build(self):
        root = BoxLayout(orientation='vertical')

        viewer = KinectViewer()
        root.add_widget(viewer)

        toolbar = BoxLayout(size_hint=(1, None), height=50)
        root.add_widget(toolbar)

        slider = Slider(min=1., max=10., value=1.)

        def update_depth_range(instance, value):
            viewer.depth_range = value

        slider.bind(value=update_depth_range)
        toolbar.add_widget(slider)

        button = Button(text='Use RGB shader')

        def use_rgb(*l):
            viewer.canvas.shader.fs = rgb_kinect

        button.bind(on_press=use_rgb)
        toolbar.add_widget(button)

        button = Button(text='Use HSV shader')

        def use_hsv(*l):
            viewer.canvas.shader.fs = hsv_kinect

        button.bind(on_press=use_hsv)
        toolbar.add_widget(button)

        return root
Пример #31
0
class SimResultScreen(BoxLayout):
    def __init__(self, parentapp, simobj):
        MINZOOM = 1
        MAXZOOM = 10
        super(SimResultScreen, self).__init__(orientation='vertical')
        self.parentapp = parentapp
        self.simobj = simobj
        self.graphmodule = self.getGraphModule(simobj)
        self.zoomslider = Slider(step=1,
                                 orientation='horizontal',
                                 min=MINZOOM,
                                 max=MAXZOOM,
                                 size_hint=(1, .1))
        self.zoomslider.bind(value=self.onZoomSliderChange)
        self.zoomslider.bind(value=self.onZoomVerticalSliderChange)

        self.add_widget(self.graphmodule)
        self.add_widget(self.zoomslider)

        bottombar = BoxLayout(orientation='horizontal', size_hint=(1.0, 0.1))
        datadumpbutton = Button(text='Save Result...')
        datadumpbutton.bind(on_press=self.dumpcallback)
        backbutton = Button(text='Back')
        backbutton.bind(on_press=self.backcallback)
        bottombar.add_widget(backbutton)
        bottombar.add_widget(datadumpbutton)
        self.add_widget(bottombar)

    def getGraphModule(self, simobj):
        respool = simobj.carmodel.respool
        bat = respool.batteryChargeAh
        g = SimUnitPlot('battery charge', bat)
        #self.add_widget(g)
        v = respool.velocityms
        gv = SimUnitPlot('velocity', v)
        return g

    def backcallback(self, instance):
        self.parentapp.showStartScreen()

    def dumpcallback(self, instance):
        #should refactor this into simobj.writeoutput or something. UI shouldn't really contain datadumping code, just call into it.
        parentDirectory = dirname(dirname(abspath('__path__')))
        targetDirectory = os.path.join(parentDirectory, "outputData")

        if not os.path.isdir(targetDirectory):
            os.mkdir(targetDirectory)

        data = files.datadump.getCSVData(self.simobj.carmodel.respool)
        files.datadump.dumpdata(os.path.join(targetDirectory, 'testdump.csv'),
                                data)

    def onZoomSliderChange(self, instance, value):
        self.graphmodule.setZoom(value)
        return

    def onZoomVerticalSliderChange(self, instance, value):
        self.graphmodule.setZoomVertical(value)
        return
Пример #32
0
    def build(self):
        from kivy.uix.slider import Slider

        def test(*ars):
            gauge.value = s.value

            print(s.value)

        def test_(*ars):

            gauge_.value = s1.value
            print(s.value)

        def callback(instance):
            if (instance == button1):
                print("Change speed to 20km/hr")
                gauge_.value = 20
            elif (instance == button2):
                print("Change speed to 60km/hr")
                gauge_.value = 60
            else:
                print("Change speed to 100km/hr")
                gauge_.value = 100

        box = BoxLayout(orientation='horizontal', spacing=10, padding=10)
        gauge_ = Gauge(value=150, size_gauge=256, size_text=19)

        box.add_widget(gauge_)

        s = Slider(min=0, max=140, value=0)

        s1 = Slider(min=0, max=140, value=0)

        s1.bind(value=test_)
        box.add_widget(s1)

        button1 = Button(text='20Km/hr',
                         font_size=14,
                         size_hint_x=0.3,
                         size_hint_y=0.2)
        button2 = Button(text='60Km/hr',
                         font_size=14,
                         size_hint_x=0.3,
                         size_hint_y=0.2)
        button3 = Button(text='100Km/hr',
                         font_size=14,
                         size_hint_x=0.3,
                         size_hint_y=0.2)

        box.add_widget(button1)
        button1.bind(on_press=callback)

        box.add_widget(button2)
        button2.bind(on_press=callback)

        box.add_widget(button3)
        button3.bind(on_press=callback)

        return box
Пример #33
0
class AddAlarm(Button):
    def mins_change(self, instance, value):
        self.lblMins.text = str(round(value))

    def hours_change(self, instance, value):
        self.lblHours.text = str(round(value))

    def addAlarm(self, instance):
        alarms_list.append((self.lblHours.text, self.lblMins.text))
        # create a new widget
        new_alarm = Button(
            text=str(self.lblHours.text) + ":" + str(self.lblMins.text),
            size_hint=(.5, .25),
            pos_hint={'y': .7499 - .25 * (len(alarms_list) - 1)})
        alarmbox.add_widget(new_alarm)
        self.time_setter.dismiss()
        print(alarms_list)

    def on_release(self):
        # opens a popup window to choose your time
        # the popup window contains dropdown menu to choose a time
        # or better yet, just type the time in actually
        # create two text inputs

        layout = BoxLayout(orientation='vertical')
        self.inHours = Slider(pos_hint={
            'x': .1,
            'center_y': .5
        },
                              size_hint=(.7, .7),
                              value_track=True,
                              min=0,
                              max=23)
        self.lblHours = Label(text=str(self.inHours.value))
        self.inHours.bind(value=self.hours_change)
        self.inMins = Slider(pos_hint={
            'x': .1,
            'center_y': .4
        },
                             size_hint=(.7, .7),
                             value_track=True,
                             min=0,
                             max=59)
        self.lblMins = Label(text=str(self.inMins.value))
        self.inMins.bind(value=self.mins_change)
        layout.add_widget(self.lblHours)
        layout.add_widget(self.lblMins)
        layout.add_widget(self.inHours)
        layout.add_widget(self.inMins)
        confirm = Button(text='confirm', size_hint=(.4, .4))
        confirm.bind(on_press=self.addAlarm)
        layout.add_widget(confirm)
        self.time_setter = Popup(title='Set Alarm',
                                 content=layout,
                                 size_hint=(None, None),
                                 size=(400, 400))
        self.time_setter.open()
Пример #34
0
    def build(self):
        root = Widget()
        puzzle = Puzzle(resolution=(640, 480), play=True)
        slider = Slider(min=100, max=200, step=10, size=(800, 50))
        slider.bind(value=partial(self.on_value, puzzle))

        root.add_widget(puzzle)
        root.add_widget(slider)
        return root
Пример #35
0
    def build(self):
        self.root = BoxLayout(pos_hint={'center_x':.5, 'center_y':.5}, orientation='vertical')

        self.svg = SvgWidget(size_hint_y=0.9)
        self.root.add_widget(self.svg)
        s = Slider(min=0, max=100, value=0, size_hint_y=0.1)
        self.root.add_widget(s)
        s.bind(value=self.on_value)
        s.value=50
Пример #36
0
 def go(self,screen):
     if screen=="about":
         cnt=BoxLayout(padding=0,spacing=0)
         lbl=Label(text="  [size=20]pyPuzzle Game[/size]\n\nSimple fun memory game\n\n"
                        "Match simple jelly images\n\nEnter your scores.\n\n"
                        "www.yahyakesenek.com @2016",markup=True)
         cnt.add_widget(lbl)
         modal=ModalView(size_hint=(0.7,0.5),background_color=get_color_from_hex("#ff7373"))
         modal.add_widget(cnt)
         modal.open()
         modal.x=self.root.x-modal.width-10
         anim=Animation(center_x=self.root.center_x,center_y=self.root.center_y,d=2,t="out_expo")
         anim.start(modal)
         return
     if screen=="settings":
         cnt=BoxLayout()
         lbl=Label(text="Set Sound Volume :")
         sld=Slider(max=100,min=0,value=25)
         sld.bind(value=self.value_change)
         cnt.add_widget(lbl);cnt.add_widget(sld)
         modal=ModalView(size_hint=(0.8,0.2),background_color=get_color_from_hex("#ff7373"))
         modal.add_widget(cnt)
         modal.open()
         modal.x=self.root.x+modal.width+10
         anim=Animation(center_x=self.root.center_x,center_y=self.root.center_y,d=2,t="out_expo")
         anim.start(modal)
         self.sld=sld
         return
     if screen=="exit":
         cnt=BoxLayout(size_hint=(0.8,0.5),padding=4,spacing=5)
         lbl=Label(text="[size=35][color=#ae5a41]Quit?[/color][/size]",markup=True)
         btnyes=Button(text="Yes")
         btnno=Button(text="No")
         modal=ModalView(size_hint=(0.8,0.2))
         def quit(inst):
             exit()
         def cancel(inst):
             if modal:
                 modal.dismiss()
                 if self.root.current=="game_screen":
                     self.root.current_screen.newGame()
         btnyes.bind(on_release=quit)
         btnno.bind(on_release=cancel)
         cnt.add_widget(lbl)
         cnt.add_widget(btnyes)
         cnt.add_widget(btnno)
         modal.add_widget(cnt)
         modal.open()
         return
     if screen=="end_screen":
         self.level=1
     self.root.current=screen
     if self.root.current=="main_screen":
         if self.snd.state=="stop":
             self.snd.play()
     else:
         self.snd.stop()
Пример #37
0
    def build(self):
        root = Widget()
        puzzle = Puzzle(resolution=(640, 480), play=True)
        slider = Slider(min=100, max=200, step=10, size=(800, 50))
        slider.bind(value=partial(self.on_value, puzzle))

        root.add_widget(puzzle)
        root.add_widget(slider)
        return root
Пример #38
0
	def stroke_popup(cls, painter, function):
		popup = cls(title='Set Stroke Size',title_align='center', size_hint = (None, None), size = (400, 200))
		
		slider = Slider(value = painter.rad, value_track=True, value_track_color=[1,0,1,1], size_hint = (1.1, 1))	
		slider.range = (5, 50)
		slider.bind(on_touch_up=function)
		
		popup.add_widget(slider)
		
		return popup
Пример #39
0
 def _get_form(self):
     slider = Slider(id='value', min=self.min, max=self.max,
                     value=self.value, orientation=self.orientation)
     slider.bind(value=self.setter('value'))
     bind = self.bind
     bind(min=slider.setter('min'))
     bind(max=slider.setter('max'))
     bind(value=slider.setter('value'))
     bind(orientation=slider.setter('orientation'))
     return slider
Пример #40
0
        def build(self):
            from kivy.uix.gridlayout import GridLayout
            from kivy.uix.slider import Slider
            import random

            def test(*args):
                lang_pizza.legend_value_rayon = slider_ray.value
                fruit_pizza.legend_value_rayon = slider_ray.value

            def rand(*args):
                lang = ["Français", "Belge", "Anglais", "Allemand", "Italien"]
                value = [25, 10, 15, 30, 20]
                color = ['a9a9a9', '808080', '696969', '778899', '708090']
                random.shuffle(lang)
                random.shuffle(value)
                random.shuffle(color)
                lang_pizza.serie = zip(lang, value, color)

            layout = GridLayout(cols=2, padding=50)
            lang_pizza = Pizza(serie=[
                ["Français", 5, 'a9a9a9'],
                ["Belge", 25, '808080'],
                ["Anglais", 20, '696969'],
                ["Allemand", 30, '778899'],
                ["Italien", 20, '708090']],
                chart_size=256,
                legend_color='ffffcc',
                legend_value_rayon=100,
                legend_title_rayon=170,
                chart_border=2)

            fruit_pizza = Pizza(serie=[
                ["Pomme", 20, '6495ed'],
                ["Poire", 20, '7b68ee'],
                ["Abricot", 20, '4169e1'],
                ["Prune", 20, '0000ff'],
                ["Ananas", 20, '00008b']],
                chart_size=256,
                legend_color='ffffcc',
                legend_value_rayon=100,
                legend_title_rayon=170,
                chart_border=2)

            slider_v = Slider(min=0, max=300, value=50)
            slider_v.bind(value=rand)

            slider_ray = Slider(min=0, max=250, value=100)
            slider_ray.bind(value=test)

            layout.add_widget(lang_pizza)
            layout.add_widget(fruit_pizza)
            layout.add_widget(slider_v)
            layout.add_widget(slider_ray)

            return layout
Пример #41
0
    def build(self):
        root = Widget()
        print(root.height,root.width)
        puzzle = Camera(size=(480, 320), resolution=(480, 320), play=True, allow_stretch=True)
        print("The camera is a {}".format(puzzle))
        slider = Slider(min=100, max=400, step=10, size=(800, 50))
        slider.value=100
        slider.bind(value=partial(self.on_value, puzzle))

        root.add_widget(puzzle)
        root.add_widget(slider)
        return root
Пример #42
0
    def addSettingsView(self):
        """
            creates settings view and adds it to SettingsPanel layout
        :return:
        """
        layout = FloatLayout(size_hint = (1.0, 0.6))

        # item position Y coordinates
        firstRowY = 0.85
        secondRowY = 0.750
        thirdRowY = 0.70
        fourthRowY = 0.60

        self.addLabel(layout, "Sort By:", 0.5, 0.90)
        self.addLabel(layout, "NAME", 0.15, firstRowY)
        self.addLabel(layout, "OR", 0.5, firstRowY)
        self.addLabel(layout, "PRICE", 0.85, firstRowY)
        self.addLabel(layout, "IN", 0.5, secondRowY )
        self.addLabel(layout, "DESCEND", 0.85, thirdRowY )
        self.addLabel(layout, "OR", 0.5, thirdRowY)
        self.addLabel(layout, "ASCEND", 0.15, thirdRowY)
        self.addLabel(layout, "USING", 0.5, fourthRowY)
        self.addLabel(layout, "TIME: ", 0.15, 0.2)
        self.timeLabel = self.addLabel(layout, "0 seconds", 0.43, 0.2)

        self.checkbox = CheckBox(pos_hint = {"center_x" : 0.370, "center_y" : firstRowY}, size_hint = (0.1, 0.1))
        self.checkbox.bind(active = self.nameCheckbox)
        layout.add_widget(self.checkbox)
        self.checkbox = CheckBox(pos_hint = {"center_x" : 1-0.370, "center_y" : firstRowY}, size_hint = (0.1, 0.1))
        self.checkbox.bind(active = self.priceCheckbox)
        layout.add_widget(self.checkbox)
        self.checkbox = CheckBox(pos_hint = {"center_x" : 0.370, "center_y" : thirdRowY}, size_hint = (0.1, 0.1))
        self.checkbox.bind(active = self.ascendingCheckbox)
        layout.add_widget(self.checkbox)
        self.checkbox = CheckBox(pos_hint = {"center_x" : 1-0.370, "center_y" : thirdRowY}, size_hint = (0.1, 0.1))
        self.checkbox.bind(active = self.descendingCheckbox)
        layout.add_widget(self.checkbox)

        spinner = Spinner(
            text='Sort algorithm...',
            values=('Insertion sort', 'Bubble sort'),
            size_hint=(1.0, 0.1),
            pos_hint={'center_x': .5, 'center_y': .5})
        spinner.bind(text=self.algorithmSelection)
        layout.add_widget(spinner)
        button = Button(on_press=self.startButton, text="START", pos_hint={"center_x":0.5, "bottom":0.0}, size_hint=(1.0,0.1))
        layout.add_widget(button)
        slider = Slider(min= 0, max= 60, step=1, value=0, pos_hint = {"center_x" : 0.5, "center_y" : 0.3}, size_hint=(1.0,0.2))
        slider.bind(value=self.slider)
        layout.add_widget(slider)

        self.addToPanel(layout)
Пример #43
0
class RootWidget(BoxLayout):
    def __init__(self, **kwargs):
        super(RootWidget, self).__init__(padding=50)

        self.label=Label(text="Please slide the slider")
        self.add_widget(self.label)

        self.slider = Slider(min=-100, max=100, value=25)
        self.slider.bind(value=self.callback)
        self.add_widget(self.slider)

    def callback(self,instance,value):
        self.label.text=str(value)
Пример #44
0
    def __init__(self, **kwargs):
        super().__init__(**kwargs)

        info = BoxLayout(orientation='vertical')
        logo = Label(text="MasterGrid")
        info.add_widget(logo)
        layout = Button(text=self.get_layout())
        layout.bind(on_release=self.switch_layout)
        info.add_widget(layout)
        self.add_widget(info)

        menu = Button(text="Settings")
        menu.bind(on_press=app.open_settings)
        self.add_widget(menu)

        pitchbend = ToggleButton(text="Pitchbend", state=self.get('Pitchbend'))
        pitchbend.bind(on_release=partial(self.set, 'Pitchbend'))
        self.add_widget(pitchbend)

        aftertouch = ToggleButton(text="Aftertouch", state=self.get('Aftertouch'))
        aftertouch.bind(on_release=partial(self.set, 'Aftertouch'))
        self.add_widget(aftertouch)

        octave = Sizer(section='Grid', label='Octave', orientation='vertical', low=0, high=8)
        self.add_widget(octave)
        rows = Sizer(section='Grid', label='Rows', orientation='vertical', low=8, high=36)
        self.add_widget(rows)
        keys = Sizer(section='Grid', label='Keys', orientation='vertical', low=8, high=36)
        self.add_widget(keys)
        prog = Sizer(section='MIDI', label='Instrument', orientation='vertical', low=0, high=127)
        self.add_widget(prog)

        mod = BoxLayout(orientation='vertical')
        mod_label = Label(text="Modulation")
        mod_slider = Slider(min=0, max=127)
        mod_slider.bind(value=self.set_mod)
        mod.add_widget(mod_label)
        mod.add_widget(mod_slider)
        self.add_widget(mod)

        reverb = BoxLayout(orientation='vertical')
        reverb_label = Label(text="Reverb")
        reverb_slider = Slider(min=0, max=127)
        reverb_slider.bind(value=self.set_reverb)
        reverb.add_widget(reverb_label)
        reverb.add_widget(reverb_slider)
        self.add_widget(reverb)

        panic = Button(text="Panic", on_press=self.panic)
        self.add_widget(panic)
Пример #45
0
def create_settings_controllers():
    #crate a horizontal boxlayout to include label, slider and input box
    brightness_controller = BoxLayout(orientation = 'horizontal', size_hint_y = 0.1)
    brightness_label = Label(text = 'Brightness', size_hint_x = 0.2)
    brightness_slider = Slider(min=0, max=64, value= 1,  size_hint_x = 0.5)
    brightness_input = TextInput(text = '50', multiline = False,  size_hint_x = 0.3)
    # add widgets to the boxlayout (controller)
    for i in [brightness_label, brightness_slider, brightness_input]:
        brightness_controller.add_widget(i)
        
    #contrast control
    contrast_controller = BoxLayout(orientation = 'horizontal', size_hint_y = 0.1)
    contrast_label = Label(text = 'Contrast', size_hint_x = 0.2)
    contrast_slider = Slider(min=0, max=64, value= 1,  size_hint_x = 0.5)
    contrast_input = TextInput(text = '50', multiline = False,  size_hint_x = 0.3)
    for i in [contrast_label, contrast_slider, contrast_input]:
        contrast_controller.add_widget(i)

    def settings_slider_control(instance,value):
        """single feedback for sliders to control brightness, contrast, etc"""
        if instance == brightness_slider:
            brightness_input.text = str(instance.value)
        elif instance == contrast_slider:
            contrast_input.text = str(instance.value)

    def settings_input_control(instance):
        """single feedback for input box to control brightness, contrast, etc"""
        # make sure the input does not go beyond range
        if float(instance.text) > brightness_slider.max:
            instance.text = str(brightness_slider.max)
        elif float(instance.text) < brightness_slider.min:
            instance.text = str(brightness_slider.min)
        if instance == brightness_input:
            brightness_slider.value = float(brightness_input.text)

        if float(instance.text) > contrast_slider.max:
            instance.text = str(contrast_slider.max)
        elif float(instance.text) < contrast_slider.min:
            instance.text = str(contrast_slider.min)
        if instance == contrast_input:
            contrast_slider.value = float(contrast_input.text)


    brightness_slider.bind(value = settings_slider_control)
    brightness_input.bind(on_text_validate = settings_input_control)
    contrast_slider.bind(value = settings_slider_control)
    contrast_input.bind(on_text_validate = settings_input_control)

    return brightness_controller, contrast_controller
Пример #46
0
class AudioApp(App):
    def build(self):
        self.stream = get_output(channels=CHANNELS, buffersize=BUFSIZE, rate=22050)
        self.slider = Slider(min=110, max=880, value=440)
        self.slider.bind(value=self.update_freq)

        self.source = SineSource(self.stream, 440)
        self.source.start()

        return self.slider

    def update_freq(self, slider, value):
        #value = int(value / 50) * 50
        if value != self.source.frequency:
            self.source.frequency = value
Пример #47
0
        def build(self):
            box = BoxLayout(orientation='horizontal', padding=5)
            self.gauge = Gauge(value=50, size_gauge=256, size_text=25)
            self.slider = Slider(orientation='vertical')

            stepper = Slider(min=1, max=25)
            stepper.bind(
                value=lambda instance, value: setattr(self, 'step', value)
            )

            box.add_widget(self.gauge)
            box.add_widget(stepper)
            box.add_widget(self.slider)
            Clock.schedule_interval(lambda *t: self.gauge_increment(), 0.03)
            return box
Пример #48
0
class VCSSlider(BoxLayout):


    value = NumericProperty(1)

    def __init__(self, osc_address, show_value=False, 
        min=0, max=100, step=1, **kwargs):

        super(VCSSlider, self).__init__(**kwargs)

        self.osc_address = osc_address
        self.show_value = show_value

        self.orientation = 'vertical'
        self.slider = Slider(
            orientation='vertical',
            size_hint_y=0.8,
            min=min,
            max=max,
            step=step)

        self.slider.bind(value=self.slider_moved)

        label = Label(
            text=self.osc_address.replace('_', ' ').lstrip('/'),
            size_hint_y=0.2)
        
        if self.show_value:
            self.value_label = Label(
                size_hint_y=0.1,
                text=str(min))
            self.add_widget(self.value_label)

        self.add_widget(self.slider)
        self.add_widget(label)

    def on_value(self, instance, value):
        self.slider.value = self.value


    def slider_moved(self, instance, value):
        send_osc_message(self.osc_address, [self.slider.value_normalized])
        self.value = self.slider.value
        if self.show_value:
            value_string = str(self.value)
            if value_string.endswith('.0'):
                value_string = value_string[:-2]
            self.value_label.text = value_string
Пример #49
0
    def add_slider(self):

        """
        add sliders

        """
        box1 = BoxLayout(orientation="vertical", size = (150, 110), pos = (Window.width * 2/7, 0))
        box2 = BoxLayout(orientation="vertical", size = (380, 110), pos = (Window.width * 1/2, 0))

        # Cohesion
        slider1 = Slider(min=0, max=1, value = self.cohesion_weight, step = 0.1)
        label1 = Label(text = "Cohesion: " + str(slider1.value), color = (0,0,0,1))

        # Alignment
        slider2 = Slider(min=0, max=1, value = self.alignment_weight, step = 0.1)
        label2 = Label(text = "Alignment: " + str(slider2.value), color = (0,0,0,1))

        # Separation
        slider3 = Slider(min=0, max=1, value = self.separation_weight, step = 0.1)
        label3 = Label(text = "Separation: " + str(slider3.value), color = (0,0,0,1))

        # Field of View
        slider4 = Slider(min=0, max=180, value = self.view_angle * 2, step = 1)
        label4 = Label(text = "Field of View (degree): " + str(slider4.value), color = (0,0,0,1))

        # bind slider value to label
        def on_value1(object, value):
            self.cohesion_weight = float(value)
            label1.text = "Cohesion: " + str(float(value))

        def on_value2(object, value):
            self.alignment_weight = float(value)
            label2.text = "Alignment: "+ str(float(value))

        def on_value3(object, value):
            self.separation_weight = float(value)
            label3.text = "Separation: " + str(value)

        def on_value4(object, value):
            self.view_angle = float(value)
            label4.text = "Field of View (degree): " + str(value)

        slider1.bind(value = on_value1)
        slider2.bind(value = on_value2)
        slider3.bind(value = on_value3)
        slider4.bind(value = on_value4)

        # add widgets to screen
        box1.add_widget(label1)
        box2.add_widget(slider1)
        box1.add_widget(label2)
        box2.add_widget(slider2)
        box1.add_widget(label3)
        box2.add_widget(slider3)
        box1.add_widget(label4)
        box2.add_widget(slider4)
        self.add_widget(box1)
        self.add_widget(box2)
Пример #50
0
 def _create_formatting(self):
     f_label_text = 'Highlight first {} characters:'
     f_label = self.wf.get_label(f_label_text.format(12))
     
     def binding(slider, value):
         f_label.text = f_label_text.format(int(value))
         if value == self.FORMAT_BORDER_MAX:
             f_label.text = 'Highlight all'
         self._show_hash()
     
     f_slider = Slider(
         min=1, max=self.FORMAT_BORDER_MAX, step=1, value=12, padding='0dp')
     f_slider.bind(value=binding)
     self.add_widget(f_label)
     self.add_widget(f_slider)
     return f_slider
Пример #51
0
    def start(self, value):
        print("Start Game")
        self.background_sound.play()
        self.content.clear_widgets()

        if(self.type == 'IMAGE'):
            puzzles_images = glob.glob( "assets/graphics/puzzles/*.jpg" )
            puzzle = game.get_game_type(Image)(source=random.choice(puzzles_images))
        else:
            puzzle = game.get_game_type(Camera)(resolution=(640, 480), play=True)


        slider = Slider(min=100, max=200, step=10, size=(800, 50))
        self.content.add_widget(puzzle)
        slider.bind(value=partial(self.on_value, puzzle))
        self.content.add_widget(slider)
Пример #52
0
    def __init__(self, **kwargs):
        super(NumComponentsSelect, self).__init__(**kwargs)
        self.numComponents = Label(text='Number of components:  ', pos=(0, 250))
        # self.numComponents.bind(value=self.sliderChange)
        compSlider = Slider(min=1, max=109, value=25, pos=(0, 200))
        compSlider.bind(value=self.sliderChange)
        self.add_widget(self.numComponents)
        self.add_widget(compSlider)

        # after images
        layout = FloatLayout()
        self.before1 = Image(source='face1.png', pos=(-300, 100))
        self.before2 = Image(source='face2.png', pos=(-170, 100))
        layout.add_widget(self.before1)
        layout.add_widget(self.before2)
        self.add_widget(layout)
Пример #53
0
    def _connect(self, ins, optname):
        settings = App.get_running_app().settings

        minval = settings.property(optname).get_min(settings)
        maxval = settings.property(optname).get_max(settings)
        value  = getattr(settings, optname) 

        slider = Slider(value=value, min=minval, max=maxval)
        label = Label(text=self._tostr(value), halign='left', size_hint_x=0.3)
        def on_value(ins, value):
            value = _clamp(value, minval, maxval)
            label.text = self._tostr(value)
            setattr(settings, optname, self._totype(value))
        slider.bind(value=on_value)

        self.add_widget(slider)
        self.add_widget(label)
Пример #54
0
    def game_over(self, game_starting=False):

        # calculate score
        score = str(self.score[0]) + '-' + str(self.score[1])
        print "done!", score
        self.save_level()
        content2 = BoxLayout(orientation='vertical', spacing=10)
        # content.add_widget(Label(text='score: %d'%int(score)))
        content = BoxLayout(orientation='vertical', size_hint_y=.7)
        # change show time
        label_slider = LabelTimeSlider(text='Initial Show time: %s s'%self.level)
        content.add_widget(label_slider)
        new_level = Slider(min=1, max=30, value=self.level)
        content.add_widget(new_level)
        new_level.bind(value=label_slider.update)
        new_level.bind(value=self.reset_time)

        # change number of items
        label_nb = LabelNb(text='Number of items: %s'%self.items)
        content.add_widget(label_nb)
        nb_items = Slider(min=5, max=MAX_NBITEMS, value=self.items)
        content.add_widget(nb_items)
        nb_items.bind(value=label_nb.update)
        nb_items.bind(value=self.reset_nb_item)
       
        content2.add_widget(content)
        if game_starting:
            replay_btn = Button(text='Play!')
        else:
            replay_btn = Button(text='Replay!')
        credits_btn = Button(text='Credits')
        action = BoxLayout(orientation='horizontal', size_hint_y=.3)
        action.add_widget(replay_btn)
        action.add_widget(credits_btn)
        content2.add_widget(action)

        if game_starting:
            greeting = "Welcome to Pro Soccer Mem 15. Choose your game mode:"
        elif self.score[0] > self.score[1]:
            greeting = "Congratulations!" + ' Your score was: %s' % str(score)
        elif self.score[1] > self.score[0]:
            greeting = "Oh no! You've been defeated." + ' Your score was: %s' % str(score)
        else:
            greeting = "What a game, it was a tie!" + ' Your score was: %s' % str(score)

        popup = PopupGameOver(title=greeting,
                              content=content2,
                              size_hint=(0.5, 0.5), pos_hint={'x': 0.25, 'y': 0.25},
                              auto_dismiss=False)

        replay_btn.bind(on_press=popup.replay)
        replay_btn.bind(on_press=self.restart_game)
        credits_btn.bind(on_press=popup.credits)
        
        popup.open()
Пример #55
0
def create_step_slider():
    """Manipulate step of motor movement"""
    step_slider_label = Label(
        text='Motor Steps: \n'+'{}'.format(100), markup=True, 
        color = [0.2,0.2,1,1], halign = 'center', valign = 'middle',
        size_hint_y = 0.05)
    step_slider = Slider(
        min=0, max=1000, value= 100, 
        orientation = 'vertical', size_hint_y = 0.4)

    def motor_step_control(instance, value):
        """change step and update label when using step_slider"""
        slider_value = int(value)
        step_slider_label.text = 'Motor Steps: \n'+'{}'.format(slider_value)
        print (value)

    step_slider.bind(value = motor_step_control)

    return step_slider_label, step_slider
Пример #56
0
    def build(self):
        root = BoxLayout(orientation='vertical')

        self.viewer = viewer = KinectViewer(
            index=self.config.getint('kinect', 'index'),
            shader=self.config.get('shader', 'theme'))
        root.add_widget(viewer)

        toolbar = BoxLayout(size_hint=(1, None), height=50)
        root.add_widget(toolbar)

        slider = Slider(min=1., max=32., value=1.)

        def update_depth_range(instance, value):
            viewer.depth_range = value

        slider.bind(value=update_depth_range)
        toolbar.add_widget(slider)

        return root