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