Renamed 'length' part to 'duration'.
[multipass-eu.git] / src / playlist_item.rb
1 # $Id: playlist_item.rb 14 2005-04-24 20:38:32Z tilman $
2
3 TEXT_COLOR_HILIGHT = "#f0fafd"
4
5 EDJE.collection("playlist_item") do |c|
6         c.set_size(150, 10)
7
8         ["title", "duration"].each do |name|
9                 c.part(name, :text) do |p|
10                         p.effect = :outline
11
12                         {"default" => TEXT_COLOR,
13                          "selected" => TEXT_COLOR_HILIGHT}.each do |(state, color)|
14                                 p.description(state) do |d|
15                                         d.color = color
16                                         d.outline_color = OUTLINE_COLOR
17
18                                         d.font = "fonts/acknowledge2.ttf"
19                                         d.font_size = 12
20                                         d.text = "Dark Tranquillity - Through Smudged Lenses"
21                                         d.set_text_align(0.0)
22                                 end
23                         end
24                 end
25         end
26
27         ["default", "selected"].each do |state|
28                 c.part("title").description(state) do |d|
29                         d.rel[1].set_to(c.part("duration"), nil)
30                         d.rel[1].set_rel(0.0, 1.0)
31
32                         #d.rel[0].set_offset(0, 0)
33                         d.rel[1].set_offset(5, 0)
34                 end
35
36                 c.part("duration").description(state) do |d|
37                         d.rel[0].set_rel(1.0, 0.0)
38                         d.rel[0].set_offset(-35, 0)
39
40                         d.text = "04:11"
41                         d.set_text_align(1.0)
42                 end
43         end
44
45         ["selected", "unselected"].each do |state|
46                 c.program("playlist_item.#{state}", :set_state) do |p|
47                         p.signal = "playlist_item.#{state}"
48                         p.state = state == "unselected" ? "default" : state
49                         p.mode = state == "selected" ? :accelerate : :decelerate
50                         p.time = 0.5
51                         p.targets << ProgramTarget.new(c.part("title"))
52                         p.targets << ProgramTarget.new(c.part("duration"))
53                 end
54         end
55
56         c.program("playlist_item.doubleclick", :emit_signal) do |p|
57                 p.signal = "mouse,down,1,double"
58                 p.source = "*"
59                 p.emission_signal = "playlist_item.play"
60         end
61 end