1d21e93d4d0112e65c1c4592aee04a00a6275589
[multipass-eu.git] / src / playlist-scrollbar.rb
1 # $Id: playlist-scrollbar.rb 26 2005-06-22 20:19:41Z tilman $
2
3 c = EDJE.collection("playlist")
4
5 c.part("playlist.scrollbar.trough", :rect) do |p|
6         p.description do |d|
7                 d.rel[0].set_to(c.part("playlist.container"))
8                 d.rel[1].set_to(c.part("playlist.background.middle"))
9
10                 d.rel[0].set_rel(1.0, 0.0)
11                 d.rel[0].set_offset(5, 0)
12
13                 d.color = "#00000000"
14         end
15 end
16
17 c.part("playlist.scrollbar.handle", :image) do |p|
18         p.dragable.enabled[1] = true
19         p.dragable.step[1] = 1
20         p.dragable.count[1] = 1
21         p.dragable.confine = c.part("playlist.scrollbar.trough")
22
23         ["normal", "hover", "down"].each do |state|
24                 s = state == "normal" ? "default" : state
25
26                 p.description(s) do |d|
27                         d.set_size(13, 41)
28                         d.image = "scroll-grip-#{state}.png"
29                 end
30         end
31 end
32
33 {"in" => "hover", "out" => "default",
34  "down,1" => "down", "up,1" => "hover"}.each do |(ev, state)|
35         c.program("playlist.scrollbar.handle.#{ev}", :set_state) do |p|
36                 p.signal = "mouse,#{ev}"
37                 p.source = "playlist.scrollbar.handle"
38                 p.state = state
39                 p.time = 0.1
40                 p.targets << ProgramTarget.new(c.part(p.source))
41         end
42 end