mapping_width: self.key_size * 18 + self.key_sep * 16 + self.key_pad_sep
mapping_x: self.border
mapping_y: self.top - self.mapping_height - self.border
+
+ key_list_width: 4 * (mock_ubuntu_regular.width or 0)
+ key_list_height: self.height - self.mapping_height - 3 * self.border
+ key_list_x: (self.action_list_width or 0) + 2 * self.border
+ key_list_y: self.border
+
action_list_height: self.height - self.mapping_height - 3 * self.border
- action_list_width: 3 * self.width / 4
+ action_list_width: 3 * self.width / 4 - self.key_list_width - self.border
action_list_x: self.border
action_list_y: self.border
+
play_list_height: self.action_list_height
play_list_width: self.width - self.action_list_width - 3* self.border
play_list_y: self.border
- play_list_x: self.action_list_width + 2 * self.border
+ play_list_x: self.action_list_width + self.key_list_width + 3 * self.border
min_height: min(mock_symbola.height, mock_ubuntu_regular.height, mock_ubuntu_bold.height)
symbola_line_height: self.min_height / max(mock_symbola.height,1)
id: ActionList
pos: self.parent.action_list_x, self.parent.action_list_y
size: self.parent.action_list_width, self.parent.action_list_height
+ KeyList:
+ id: KeyList
+ pos: self.parent.key_list_x, self.parent.key_list_y
+ size: self.parent.key_list_width, self.parent.key_list_height
PlayList:
id: PlayList
pos: self.parent.play_list_x, self.parent.play_list_y
size: self.parent.play_list_width, self.parent.play_list_height
+<KeyList>:
+ size_hint: None, None
+ canvas:
+ Color:
+ rgba: 250./255, 250./255, 250./255, 1
+ Rectangle:
+ pos: 0, 0
+ size: self.width, self.height
+ Label:
+ id: key_list_first
+ font_name: h.path() + "fonts/Ubuntu-B.ttf"
+ font_size: math.ceil(2 * math.sqrt(self.parent.parent.key_size or 10))
+ color: 0, 0, 0, 1
+ text: self.parent.first_key
+ text_size: None, None
+ valign: "top"
+ size_hint: None, None
+ size: self.parent.width, self.texture_size[1]
+ pos: 0, self.parent.height - self.height
+ Label:
+ id: key_list_second
+ font_name: h.path() + "fonts/Ubuntu-Regular.ttf"
+ font_size: math.ceil(2 * math.sqrt(self.parent.parent.key_size or 10))
+ color: 0, 0, 0, 1
+ text: self.parent.second_key
+ text_size: None, None
+ valign: "top"
+ size_hint: None, None
+ size: self.parent.width, self.texture_size[1]
+ pos: 0, self.parent.height - key_list_first.height - self.height
+ Label:
+ id: key_list_third
+ font_name: h.path() + "fonts/Ubuntu-Regular.ttf"
+ font_size: math.ceil(2 * math.sqrt(self.parent.parent.key_size or 10))
+ color: 0, 0, 0, 0.75
+ text: self.parent.third_key
+ text_size: None, None
+ valign: "top"
+ size_hint: None, None
+ size: self.parent.width, self.texture_size[1]
+ pos: 0, self.parent.height - key_list_first.height - key_list_second.height - self.height
+ Label:
+ id: key_list_rest
+ font_name: h.path() + "fonts/Ubuntu-Regular.ttf"
+ font_size: math.ceil(2 * math.sqrt(self.parent.parent.key_size or 10))
+ color: 0, 0, 0, 0.5
+ text: "\n".join(self.parent.keylist[3:])
+ text_size: None, None
+ valign: "top"
+ size_hint: None, None
+ size: self.parent.width, self.texture_size[1]
+ pos: 0, self.parent.height - key_list_first.height - key_list_second.height - key_list_third.height - self.height
+
<ActionList>:
size_hint: None, None
canvas:
from helpers.mapping import Mapping
import helpers
+class KeyList(RelativeLayout):
+ keylist = ListProperty([])
+ first_key = StringProperty("")
+ second_key = StringProperty("")
+ third_key = StringProperty("")
+
+ def append(self, value):
+ self.keylist = [value] + self.keylist
+
+ def on_keylist(self, instance, new_key_list):
+ if len(self.keylist) > 0:
+ self.first_key = self.keylist[0]
+ if len(self.keylist) > 1:
+ self.second_key = self.keylist[1]
+ if len(self.keylist) > 2:
+ self.third_key = self.keylist[2]
+
class PlayList(RelativeLayout):
playlist = ListProperty([])