diff options
Diffstat (limited to 'trunk/ext/tk/sample/tkextlib/iwidgets/sample/spinner.rb')
-rw-r--r-- | trunk/ext/tk/sample/tkextlib/iwidgets/sample/spinner.rb | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/trunk/ext/tk/sample/tkextlib/iwidgets/sample/spinner.rb b/trunk/ext/tk/sample/tkextlib/iwidgets/sample/spinner.rb new file mode 100644 index 0000000000..295d38ee96 --- /dev/null +++ b/trunk/ext/tk/sample/tkextlib/iwidgets/sample/spinner.rb @@ -0,0 +1,33 @@ +#!/usr/bin/env ruby +require 'tk' +require 'tkextlib/iwidgets' + +class Spinner_demo < TkWindow + Months = %w(January February March April May June July August September October November December) + + def block_input(c) + false + end + + def spin_month(step) + index = Months.index(@spinner.get) + step + index = 11 if index < 0 + index = 0 if index > 11 + + @spinner.value = Months[index] + end + + def initialize(parent=nil) + @spinner = Tk::Iwidgets::Spinner.new(parent, :labeltext=>'Month : ', + :width=>10, :fixed=>10, + :validate=>proc{|c| block_input}, + :decrement=>proc{spin_month -1}, + :increment=>proc{spin_month 1}) + @path = @spinner + @spinner.insert(0, Months[0]) + end +end + +Spinner_demo.new.pack(:padx=>10, :pady=>10) + +Tk.mainloop |