1# 2# tkextlib/tcllib/ruler.rb 3# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) 4# 5# * Part of tcllib extension 6# * ruler widget 7# 8 9require 'tk' 10require 'tkextlib/tcllib.rb' 11 12# TkPackage.require('widget::ruler', '1.0') 13TkPackage.require('widget::ruler') 14 15module Tk::Tcllib 16 module Widget 17 class Ruler < TkWindow 18 PACKAGE_NAME = 'widget::ruler'.freeze 19 def self.package_name 20 PACKAGE_NAME 21 end 22 23 def self.package_version 24 begin 25 TkPackage.require('widget::ruler') 26 rescue 27 '' 28 end 29 end 30 end 31 end 32end 33 34class Tk::Tcllib::Widget::Ruler 35 TkCommandNames = ['::widget::ruler'.freeze].freeze 36 37 def __boolval_optkeys 38 ['showvalues', 'outline', 'grid'] 39 end 40 private :__boolval_optkeys 41 42 def __numlistval_optkeys 43 ['interval', 'sizes'] 44 end 45 private :__numlistval_optkeys 46 47 def create_self(keys) 48 if keys and keys != None 49 tk_call_without_enc(self.class::TkCommandNames[0], @path, 50 *hash_kv(keys, true)) 51 else 52 tk_call_without_enc(self.class::TkCommandNames[0], @path) 53 end 54 end 55 private :create_self 56 57 def redraw 58 tk_send('redraw') 59 self 60 end 61 62 def shade(org, dest, frac) 63 tk_send('shade', org, dest, frac) 64 end 65end 66