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