Sha256: aceb473d28bd42b1a60e9911de51909a65253ae603d364322403bf90b7278d29
Contents?: true
Size: 966 Bytes
Versions: 6
Compression:
Stored size: 966 Bytes
Contents
class MenuPanel < Shoes::Widget @@boxes = [] def initialize(color, args) @@boxes << self background color para link("Box #{@@boxes.length}", :stroke => white, :fill => nil). click { visit "/" }, :margin => 18, :align => "center", :size => 20 hover { expand } end def expand if self.width < 170 a = animate 30 do @@boxes.each do |b| b.width -= 5 if b != self and b.width > 140 end self.width += 5 a.stop if self.width >= 170 end end end end Shoes.app :width => 400, :height => 130 do style(Link, :underline => nil) style(LinkHover, :fill => nil, :underline => nil) menu_panel green, :width => 170, :height => 120, :margin => 4 menu_panel blue, :width => 140, :height => 120, :margin => 4 menu_panel red, :width => 140, :height => 120, :margin => 4 menu_panel purple, :width => 140, :height => 120, :margin => 4 end
Version data entries
6 entries across 6 versions & 1 rubygems