diff options
Diffstat (limited to 'ext/tk/lib/tkextlib/tcllib/ip_entry.rb')
-rw-r--r-- | ext/tk/lib/tkextlib/tcllib/ip_entry.rb | 53 |
1 files changed, 53 insertions, 0 deletions
diff --git a/ext/tk/lib/tkextlib/tcllib/ip_entry.rb b/ext/tk/lib/tkextlib/tcllib/ip_entry.rb new file mode 100644 index 0000000000..aed47da63a --- /dev/null +++ b/ext/tk/lib/tkextlib/tcllib/ip_entry.rb @@ -0,0 +1,53 @@ +# +# tkextlib/tcllib/ip_entry.rb +# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) +# +# * Part of tcllib extension +# * An IP address entry widget +# +# (The following is the original description of the library.) +# +# This package provides a widget for the entering of a IP address. +# It guarantees a valid address at all times. + +require 'tk' +require 'tk/entry' + +# call setup script for general 'tkextlib' libraries +require 'tkextlib/setup.rb' + +# call setup script +require File.join(File.dirname(File.expand_path(__FILE__)), 'setup.rb') + +# TkPackage.require('ipentry', '0.1') +TkPackage.require('ipentry') + +module Tk + module Tcllib + class IP_Entry < TkEntry + end + end +end + +class Tk::Tcllib::IP_Entry + TkCommandNames = ['::ipentry::ipentry'.freeze].freeze + WidgetClassName = 'IPEntry'.freeze + WidgetClassNames[WidgetClassName] = self + + def create_self(keys) + if keys and keys != None + tk_call_without_enc('::ipentry::ipentry', @path, *hash_kv(keys, true)) + else + tk_call_without_enc('::ipentry::ipentry', @path) + end + end + private :create_self + + def complete? + bool(tk_send_without_enc('complete')) + end + + def insert(*ip) + tk_send_without_enc('insert', array2tk_list(ip.flatten)) + end +end |