]> git.immae.eu Git - perso/Immae/Projets/Python/MusicSampler.git/blobdiff - music_sampler/music_sampler.kv
Lock widget modifications and reuse labels in actionlist/playlist
[perso/Immae/Projets/Python/MusicSampler.git] / music_sampler / music_sampler.kv
index 8e94da8767eb92c6d2c9b383f57472166dacd62d..ffc2797e0bf44c8df87dbd2fba7e6940b5091a75 100644 (file)
   play_list_y: self.border
   play_list_x: self.action_list_width + self.key_list_width + 3 * self.border
 
-  max_height: max(mock_symbola.height, mock_ubuntu_regular.height, mock_ubuntu_bold.height)
-  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)
-  ubuntu_regular_line_height: self.min_height / max(mock_ubuntu_regular.height,1)
-  ubuntu_bold_line_height: self.min_height / max(mock_ubuntu_bold.height,1)
+  max_height: 1.3 * math.ceil(2 * math.sqrt(self.key_size or 10))
 
-  Label:
-    id: mock_symbola
-    font_name: "Symbola"
-    font_size: math.ceil(2 * math.sqrt(self.parent.key_size or 10))
-    color: 0, 0, 0, 0
-    text: "A"
-    text_size: None, None
-    size_hint: None, None
-    size: self.texture_size
   Label:
     id: mock_ubuntu_regular
     font_name: "Ubuntu"
     text_size: None, None
     size_hint: None, None
     size: self.texture_size
-  Label:
-    id: mock_ubuntu_bold
-    font_name: "Ubuntu"
-    bold: True
-    font_size: math.ceil(2 * math.sqrt(self.parent.key_size or 10))
-    color: 0, 0, 0, 0
-    text: "A"
-    text_size: None, None
-    size_hint: None, None
-    size: self.texture_size
 
   Mapping:
     id: Mapping
 
 <ActionList>:
   size_hint: None, None
+  labels_height: self.parent.max_height or 1
+  font_size: math.ceil(2 * math.sqrt(self.parent.key_size or 10))
   canvas:
     Color:
       rgba: 250./255, 250./255, 250./255, 1
     Rectangle:
       pos:  0, 0
       size: self.width, self.height
-
   Label:
     id: action_list_title
     font_name: "Ubuntu"
     bold: True
-    font_size: math.ceil(2 * math.sqrt(self.parent.parent.key_size or 10))
+    font_size: self.parent.font_size
     color: 0, 0, 0, 1
     text: self.parent.action_title
     text_size: None, self.parent.height
     valign: "top"
     size_hint: None, None
     size: self.texture_size[0], self.parent.height
-  Label:
-    id: action_list_icons
-    font_name: "Symbola"
-    font_size: math.ceil(2 * math.sqrt(self.parent.parent.key_size or 10))
-    line_height: self.parent.parent.symbola_line_height or 1
-    color: 0, 0, 0, 1
-    text: "\n".join(map(lambda x: x[0], self.parent.action_list))
-    text_size: None, self.parent.height
-    halign: "left"
-    valign: "top"
-    size_hint: None, None
-    size: self.texture_size[0], self.parent.height - 3 * self.line_height * self.font_size
-  Label:
-    id: action_list_names
-    font_name: "Ubuntu"
-    font_size: math.ceil(2 * math.sqrt(self.parent.parent.key_size or 10))
-    line_height: self.parent.parent.ubuntu_regular_line_height or 1
-    color: 0, 0, 0, 1
-    text: "\n".join(map(lambda x: x[1], self.parent.action_list))
-    text_size: None, self.parent.height
-    halign: "left"
-    valign: "top"
-    size_hint: None, None
-    pos: 15, self.y
-    size: self.texture_size[0], self.parent.height - 3 * self.line_height * self.font_size
-  
+  ActionListIcons:
+    font_size: self.parent.font_size
+    labels_height: self.parent.labels_height
+    orientation: 'lr-tb'
+    size_hint: 0.02, 0.9
+    pos_hint: { 'x': 0, 'top': 0.9 }
+  ActionListDescriptions:
+    font_size: self.parent.font_size
+    labels_height: self.parent.labels_height
+    orientation: 'lr-tb'
+    size_hint: 0.98, 0.9
+    pos_hint: { 'x': 0.02, 'top': 0.9 }
+
+<ActionListIcon>:
+  font_size: self.parent and self.parent.font_size or 10
+  height: self.parent and self.parent.labels_height or 0
+  font_name: "Symbola"
+  color: 0, 0, 0, 1
+  text_size: None, None
+  halign: "left"
+  size_hint: None, None
+  width: self.texture_size[0]
+
+<ActionListDescription>:
+  font_size: self.parent and self.parent.font_size or 10
+  height: self.parent and self.parent.labels_height or 0
+  font_name: "Ubuntu"
+  color: 0, 0, 0, 1
+  text_size: self.width, None
+  shorten: True
+  shorten_from: "right"
+  split_str: ""
+  halign: "left"
+  size_hint: 1, None
+
 <PlayList>:
   size_hint: None, None
   labels_height: self.parent.max_height or 1
+  font_size: math.ceil(2 * math.sqrt(self.parent.key_size or 10))
   canvas:
     Color:
       rgba: 250./255, 250./255, 250./255, 1
       pos:  0, 0
       size: self.width, self.height
   PlayListIcons:
+    font_size: self.parent.font_size
+    labels_height: self.parent.labels_height
     orientation: 'lr-tb'
     size_hint: 0.05, 1
     pos_hints: { 'x': 0, 'top': 0 }
   PlayListNames:
+    font_size: self.parent.font_size
+    labels_height: self.parent.labels_height
     orientation: 'lr-tb'
     pos_hint: { 'x': 0.05, 'bottom': 0 }
     size_hint: 0.65, 1
   PlayListTimes:
+    font_size: self.parent.font_size
+    labels_height: self.parent.labels_height
     orientation: 'lr-tb'
     pos_hint: { 'x': 0.7, 'bottom': 0 }
     size_hint: 0.30, 1
  
 <PlayListIcon>:
+  font_size: self.parent and self.parent.font_size or 10
+  height: self.parent and self.parent.labels_height or 0
   font_name: "Symbola"
   color: 0, 0, 0, 1
   text_size: None, None
   halign: "left"
-  size_hint: 1, None
+  size_hint: None, None
   width: self.texture_size[0]
 
 <PlayListName>:
+  font_size: self.parent and self.parent.font_size or 10
+  height: self.parent and self.parent.labels_height or 0
   font_name: "Ubuntu"
   color: 0, 0, 0, 1
-  text_size: None, None
+  text_size: self.width, None
+  shorten: True
+  shorten_from: "right"
+  split_str: ""
   halign: "left"
-  size_hint: None, None
-  width: self.texture_size[0]
+  size_hint: 1, None
 
 <PlayListTime>:
+  font_size: self.parent and self.parent.font_size or 10
+  height: self.parent and self.parent.labels_height or 0
   canvas.before:
     Color:
       rgba: 250./255, 250./255, 250./255, 1