1# 2# tkextlib/tcllib/screenruler.rb 3# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) 4# 5# * Part of tcllib extension 6# * screenruler dialog 7# 8 9require 'tk' 10require 'tkextlib/tcllib.rb' 11 12# TkPackage.require('widget::screenruler', '1.1') 13TkPackage.require('widget::screenruler') 14 15module Tk::Tcllib 16 module Widget 17 class ScreenRuler < 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::screenruler') 26 rescue 27 '' 28 end 29 end 30 end 31 Screenruler = ScreenRuler 32 end 33end 34 35class Tk::Tcllib::Widget::ScreenRuler 36 TkCommandNames = ['::widget::screenruler'.freeze].freeze 37 38 def __boolval_optkeys 39 ['topmost', 'reflect'] 40 end 41 private :__boolval_optkeys 42 43 def __numlistval_optkeys 44 ['alpha'] 45 end 46 private :__numlistval_optkeys 47 48 def create_self(keys) 49 if keys and keys != None 50 tk_call_without_enc(self.class::TkCommandNames[0], @path, 51 *hash_kv(keys, true)) 52 else 53 tk_call_without_enc(self.class::TkCommandNames[0], @path) 54 end 55 end 56 private :create_self 57 58 def display 59 tk_send('display') 60 self 61 end 62 alias show display 63 64 def hide 65 tk_send('hide') 66 self 67 end 68end 69