1# 2# tkextlib/tcllib/khim.rb 3# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) 4# 5# * Part of tcllib extension 6# * Kevin's Hacky Input Method 7# 8 9require 'tk' 10require 'tkextlib/tcllib.rb' 11 12# TkPackage.require('khim', '1.0') 13TkPackage.require('khim') 14 15module Tk::Tcllib 16 class KHIM < TkToplevel 17 PACKAGE_NAME = 'khim'.freeze 18 def self.package_name 19 PACKAGE_NAME 20 end 21 22 def self.package_version 23 begin 24 TkPackage.require('khim') 25 rescue 26 '' 27 end 28 end 29 end 30end 31 32class Tk::Tcllib::KHIM 33 TkCommandNames = ['::khim::getOptions'.freeze].freeze 34 35 def self.get_options(parent='') 36 path = parent + '.tcllib_widget_khim_dialog' 37 self.new(:widgetname => path) 38 end 39 40 def self.get_config #=> cmd_string 41 Tk.tk_call_without_enc('::khim::getConfig') 42 end 43 44 def self.set_config(*args) 45 if args.length == 1 46 # cmd_string generated by 47 #Tk.ip_eval_without_enc(cmd_string) 48 Tk.ip_eval(cmd_string) 49 else 50 # args for setConfig command 51 #Tk.tk_call_without_enc('::khim::setConfig', *args) 52 Tk.tk_call('::khim::setConfig', *args) 53 end 54 end 55 56 def self.showHelp 57 Tk::Tcllib::KHIM::Help.new 58 end 59 60 def create_self(keys=None) 61 @db_class = @classname = nil 62 super(None) # ignore keys 63 end 64end 65 66class Tk::Tcllib::KHIM::Help < TkToplevel 67 TkCommandNames = ['::khim::showHelp'.freeze].freeze 68end 69