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 | |
parent | 0caca522a909b2268b6495e2f00b6ec1e10eb5e3 (diff) |
* 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')
-rw-r--r-- | ext/tk/lib/tkextlib/SUPPORT_STATUS | 36 | ||||
-rw-r--r-- | ext/tk/lib/tkextlib/tclx.rb | 13 | ||||
-rw-r--r-- | ext/tk/lib/tkextlib/tclx/setup.rb | 8 | ||||
-rw-r--r-- | ext/tk/lib/tkextlib/tclx/tclx.rb | 59 |
4 files changed, 102 insertions, 14 deletions
diff --git a/ext/tk/lib/tkextlib/SUPPORT_STATUS b/ext/tk/lib/tkextlib/SUPPORT_STATUS index 81e92a1acf..58744f50ed 100644 --- a/ext/tk/lib/tkextlib/SUPPORT_STATUS +++ b/ext/tk/lib/tkextlib/SUPPORT_STATUS @@ -69,6 +69,10 @@ ICONS http://www.satisoft.com/tcltk/icons/ ==> ICONS IncrTcl http://sf.net/projects/incrTcl ==> itcl, itk +TclX http://sf.net/projects/tclx + ==> tclx (partial support; infox command and + XPG/3 message catalogs only) + TkImg http://sf.net/projects/tkimg ==> tkimg TkTreeCtrl http://tktreectrl.sourceforge.net/ ==> treectrl @@ -82,30 +86,26 @@ Tile http://tktable.sourceforge.net/tile/ ==> tile TkTrans http://www2.cmp.uea.ac.uk/~fuzz/tktrans/default.html ==> tktrans (win32 only) -TkDND http://sourceforge.net/projects/tkdnd ==> tkDND +TkDND http://sourceforge.net/projects/tkdnd ==> tkDND ===< plan to support (alpha quality libraries may be included) >============== -TclX http://sf.net/projects/tclx * may support Tk part only - winico http://tktable.sourceforge.net +GraphViz http://www.graphviz.org/ +Tkgeomap http://tkgeomap.sourceforge.net/index.html -===< not determined to supprt or not >======================================== -GraphViz http://www.graphviz.org/ + +===< not determined to supprt or not >======================================== BLT http://sourceforge.net/projects/blt Tix http://tixlibrary.sourceforge.net/ -Tkgeomap http://tkgeomap.sourceforge.net/index.html - -XBit http://www.geocities.com/~chengye/ - TkZinc http://www.tkzinc.org/ Wbc http://home.t-online.de/home/csaba.nemethi/ @@ -114,15 +114,23 @@ Mentry http://home.t-online.de/home/csaba.nemethi/ Tablelist http://home.t-online.de/home/csaba.nemethi/ -vfwtcl http://sourceforge.net/projects/avicaptcl +ANIGIF http://cardtable.sourceforge.net/tcltk/ -QuickTimeTcl http://hem.fyristorg.com/matben/qt/ +IMG_ROTATE http://cardtable.sourceforge.net/tcltk/ -ANIGIF http://cardtable.sourceforge.net/tcltk/ +TclVfs http://sourceforge.net/projects/tclvfs/ -IMG_ROTATE http://cardtable.sourceforge.net/tcltk/ +vfwtcl http://sourceforge.net/projects/avicaptcl + * Win32 only -TclVfs http://sourceforge.net/projects/tclvfs/ +multicast http://sourceforge.net/projects/avicaptcl + * Win32 only + +XBit http://www.geocities.com/~chengye/ + * current implementation is for Windows only + +QuickTimeTcl http://hem.fyristorg.com/matben/qt/ + * works under Mac OS (8,9,X) or Windows diff --git a/ext/tk/lib/tkextlib/tclx.rb b/ext/tk/lib/tkextlib/tclx.rb new file mode 100644 index 0000000000..3a4ff27644 --- /dev/null +++ b/ext/tk/lib/tkextlib/tclx.rb @@ -0,0 +1,13 @@ +# +# TclX support +# by Hidetoshi NAGAI ([email protected]) +# + +# call setup script for general 'tkextlib' libraries +require 'tkextlib/setup.rb' + +# call setup script +require 'tkextlib/tclx/setup.rb' + +# load library +require 'tkextlib/tclx/tclx' 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 ([email protected]) +# +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 |