: cols: 1 spacing: 5 padding: 5 size_hint_y: None height: self.minimum_height : size_hint_y: None height: 70 rows: 1 canvas: Color: rgba: 47 / 255., 167 / 255., 212 / 255., .1 Rectangle: pos: self.x, self.y + 1 size: self.size Color: rgb: .2, .2, .2 Rectangle: pos: self.x, self.y - 2 size: self.width, 1 Label: size_hint_x: .6 id: labellayout markup: True text: u'{0}\n[size=13sp][color=999999]{1}[/color][/size]'.format(root.title or '', root.desc or '') font_size: '15sp' text_size: self.size valign: 'top' : size_hint_y: None height: 40 markup: True text: u'{0}\n[size=13sp][color=999999]{1}[/color][/size]'.format(root.title or '', root.desc or '') font_size: '15sp' text_size: self.size valign: 'top' halign: 'right' canvas: Color: rgba: 47 / 255., 167 / 255., 212 / 255., .4 Rectangle: pos: self.x, self.y + 1 size: self.size Color: rgb: .5, .5, .5 Rectangle: pos: self.x, self.y - 2 size: self.width, 1 : value: button.state == 'down' and True or False ToggleButton: id: button text: root.button_text size_hint_x: None width: 150 pos: root.pos state: root.value and 'down' or 'normal' : value: input.text AnchorLayout: size_hint_x: None width: 150 TextInput: id: input size_hint_y: None height: 30 pos: root.pos multiline: True text: root.value : value: slider.value Label: id: sliderlabel size_hint_x: None width: 50 text: str(root._to_numtype(slider.value)) Slider: id: slider min: root.min max: root.max pos: root.pos size_hint_x: None width: 150 value: root.value : size_hint: None, None size: 300, 150 title: 'Edit setting' BoxLayout: orientation: 'vertical' TextInput: id: input markup: False multiline: False on_text_validate: root.dispatch('on_validate', self.text) BoxLayout: orientation: 'horizontal' Button: text: 'OK' on_press: root.dispatch('on_validate', input.text) Button: text: 'Cancel' on_press: root.dismiss()