-# $Id: playlist_item.rb 14 2005-04-24 20:38:32Z tilman $
+# $Id: playlist_item.rb 23 2005-05-28 19:59:03Z tilman $
TEXT_COLOR_HILIGHT = "#f0fafd"
EDJE.collection("playlist_item") do |c|
c.set_size(150, 10)
+ c.part("background", :rect) do |p|
+ p.description.color = "#00000000"
+ p.description("selected").color = "#414141"
+ end
+
["title", "duration"].each do |name|
c.part(name, :text) do |p|
p.effect = :outline
{"default" => TEXT_COLOR,
- "selected" => TEXT_COLOR_HILIGHT}.each do |(state, color)|
+ "hilighted" => TEXT_COLOR_HILIGHT}.each do |(state, color)|
p.description(state) do |d|
d.color = color
d.outline_color = OUTLINE_COLOR
end
end
- ["default", "selected"].each do |state|
+ ["default", "hilighted"].each do |state|
c.part("title").description(state) do |d|
d.rel[1].set_to(c.part("duration"), nil)
d.rel[1].set_rel(0.0, 1.0)
end
end
- ["selected", "unselected"].each do |state|
+ ["hilighted", "unhilighted"].each do |state|
c.program("playlist_item.#{state}", :set_state) do |p|
p.signal = "playlist_item.#{state}"
p.state = state == "unselected" ? "default" : state
end
end
+ ["selected", "unselected"].each do |state|
+ c.program("playlist_item.#{state}", :set_state) do |p|
+ p.signal = "playlist_item.#{state}"
+ p.state = state
+ p.targets << ProgramTarget.new(c.part("background"))
+ end
+ end
+
+ c.program("playlist_item.click", :emit_signal) do |p|
+ p.signal = "mouse,clicked,1"
+ p.source = "*"
+ p.emission_signal = "playlist_item.selected"
+ end
+
c.program("playlist_item.doubleclick", :emit_signal) do |p|
p.signal = "mouse,down,1,double"
p.source = "*"