diff options
author | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-07-23 06:31:57 +0000 |
---|---|---|
committer | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-07-23 06:31:57 +0000 |
commit | a32c01d85a5adb0fa4357db00eb98be5ad2240a6 (patch) | |
tree | eadf1aad083bbca4e03dd59d304ce2c2d6228566 /ext/tk/lib/tkextlib/tclx | |
parent | 0caca522a909b2268b6495e2f00b6ec1e10eb5e3 (diff) | |
download | ruby-a32c01d85a5adb0fa4357db00eb98be5ad2240a6.tar.gz |
* add TclX extension support (partially)
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6690 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/lib/tkextlib/tclx')
-rw-r--r-- | ext/tk/lib/tkextlib/tclx/setup.rb | 8 | ||||
-rw-r--r-- | ext/tk/lib/tkextlib/tclx/tclx.rb | 59 |
2 files changed, 67 insertions, 0 deletions
diff --git a/ext/tk/lib/tkextlib/tclx/setup.rb b/ext/tk/lib/tkextlib/tclx/setup.rb new file mode 100644 index 0000000000..ce0f0bd4d4 --- /dev/null +++ b/ext/tk/lib/tkextlib/tclx/setup.rb @@ -0,0 +1,8 @@ +# +# setup.rb -- setup script before calling TkPackage.require() +# +# If you need some setup operations (for example, add a library path +# to the library search path) before using Tcl/Tk library packages +# wrapped by Ruby scripts in this directory, please write the setup +# operations in this file. +# diff --git a/ext/tk/lib/tkextlib/tclx/tclx.rb b/ext/tk/lib/tkextlib/tclx/tclx.rb new file mode 100644 index 0000000000..d10689d209 --- /dev/null +++ b/ext/tk/lib/tkextlib/tclx/tclx.rb @@ -0,0 +1,59 @@ +# +# tclx/tclx.rb +# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) +# +require 'tk' + +# call setup script for general 'tkextlib' libraries +require 'tkextlib/setup.rb' + +# call setup script +require 'tkextlib/tclx/setup.rb' + +# TkPackage.require('Tclx', '8.0') +TkPackage.require('Tclx') + +module Tk + module TclX + def self.package_version + begin + TkPackage.require('Tclx') + rescue + '' + end + end + + def self.infox(*args) + Tk.tk_call('infox', *args) + end + + ############################## + + class XPG3_MsgCat + class << self + alias open new + end + + def initialize(catname, fail_mode=false) + if fail_mode + @msgcat_id = Tk.tk_call('catopen', '-fail', catname) + else + @msgcat_id = Tk.tk_call('catopen', '-nofail', catname) + end + end + + def close(fail_mode=false) + if fail_mode + Tk.tk_call('catclose', '-fail', @msgcat_id) + else + Tk.tk_call('catclose', '-nofail', @msgcat_id) + end + self + end + + def get(setnum, msgnum, defaultstr) + Tk.tk_call('catgets', @msgcat_id, setnum, msgnum, defaultstr) + end + end + end +end |