: cols: 1 size_hint: None, None spacing: 0, 0 spacer: _spacer on_visible: self._on_visible(args[1]) on_parent: self._on_visible(self.visible) # canvas.before: # Color: # rgb: 1.0, 0, 0 # Rectangle: # pos: self.pos # size: self.size Widget: id: _spacer size_hint: 1, None height: 3 canvas.before: Color: rgb: 0.2, 0.71, 0.9 Rectangle: pos: self.pos size: self.size : size_hint: None, None submenu_arrow: _submenu_arrow on_children: self._check_submenu() on_parent: self._check_submenu() canvas.before: Color: rgb: (0.15, 0.15, 0.15) Rectangle: pos: 0,0 size: self.size Widget: id: _submenu_arrow size_hint: None, None width: 6 height: 11 # pos: 10, 10 pos: self.parent.width - self.width - 5, (self.parent.height - self.height) / 2 # on_pos: print(self.pos) canvas.before: Translate: xy: self.pos Color: rgb: (0.35, 0.35, 0.35) if self.disabled else (1, 1, 1) Triangle: points: [0,0, self.width,self.height/2, 0,self.height] Translate: xy: (-self.pos[0], -self.pos[1]) : label: _label width: self.parent.width if self.parent else 0 height: 26 Label: pos: 0,0 id: _label text: self.parent.text color: self.parent.color font_size: self.parent.font_size padding: 10, 0 # font_size: halign: 'left' valign: 'middle' size: self.texture_size size_hint: None, 1 : on_hovered: self._on_hovered(args[1]) canvas.before: Color: rgb: (0.25, 0.25, 0.25) if self.hovered and not self.disabled else (0.15, 0.15, 0.15) Rectangle: pos: 0,0 size: self.size : font_size: '10dp' height: 20 if len(self.label.text) > 0 else 1 canvas.before: Color: rgb: (0.25, 0.25, 0.25) Rectangle: pos: 0,self.height - 1 size: self.width, 1 : size_hint: None, None font_size: 12 height: 20 background_normal: "" background_down: "" background_color: 0.2, 0.71, 0.9, 1.0 border: (0, 0, 0, 0) on_press: self.background_color = 0.10, 0.6, 0.8, 1.0 on_release: self.background_color = 0.2, 0.71, 0.9, 1.0 : size_hint: None, None font_size: '12px' size: 30, 20 background_normal: "" background_down: "" background_color: (0.2, 0.71, 0.9, 1.0) if self.state == 'down' else (0.25, 0.25, 0.25, 1.0) border: (0, 0, 0, 0) on_press: self.background_color = 0.10, 0.6, 0.8, 1.0 on_release: self.background_color = 0.2, 0.71, 0.9, 1.0 : size: self.texture_size[0], 18 size_hint: None, None font_size: '12dp' : size_hint: None, None height: 22 font_size: '12dp' padding: 7, 3 multiline: False