diff options
Diffstat (limited to 'ext/tk/lib/tkextlib/tile')
-rw-r--r-- | ext/tk/lib/tkextlib/tile/setup.rb | 8 | ||||
-rw-r--r-- | ext/tk/lib/tkextlib/tile/style.rb | 67 | ||||
-rw-r--r-- | ext/tk/lib/tkextlib/tile/tbutton.rb | 28 | ||||
-rw-r--r-- | ext/tk/lib/tkextlib/tile/tcheckbutton.rb | 33 | ||||
-rw-r--r-- | ext/tk/lib/tkextlib/tile/tlabel.rb | 28 | ||||
-rw-r--r-- | ext/tk/lib/tkextlib/tile/tmenubutton.rb | 28 | ||||
-rw-r--r-- | ext/tk/lib/tkextlib/tile/tnotebook.rb | 90 | ||||
-rw-r--r-- | ext/tk/lib/tkextlib/tile/tradiobutton.rb | 33 |
8 files changed, 315 insertions, 0 deletions
diff --git a/ext/tk/lib/tkextlib/tile/setup.rb b/ext/tk/lib/tkextlib/tile/setup.rb new file mode 100644 index 0000000000..ce0f0bd4d4 --- /dev/null +++ b/ext/tk/lib/tkextlib/tile/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/tile/style.rb b/ext/tk/lib/tkextlib/tile/style.rb new file mode 100644 index 0000000000..be4b45ab73 --- /dev/null +++ b/ext/tk/lib/tkextlib/tile/style.rb @@ -0,0 +1,67 @@ +# +# style commands +# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) +# +require 'tk' + +# call setup script for general 'tkextlib' libraries +require 'tkextlib/setup.rb' + +# call setup script -- <libdir>/tkextlib/tile.rb +require(File.dirname(File.expand_path(__FILE__)) + '.rb') + +module Tk::Tile::Style +end + +class << Tk::Tile::Style + def default(style, keys=nil) + if keys && keys != None + tk_call('style', 'default', style, *hash_kv(keys)) + else + tk_call('style', 'default', style) + end + end + + def map(style, keys=nil) + if keys && keys != None + tk_call('style', 'map', style, *hash_kv(keys)) + else + tk_call('style', 'map', style) + end + end + + def layout(style, spec=nil) + if spec + tk_call('style', 'layout', style, spec) + else + tk_call('style', 'layout', style) + end + end + + def element_create(name, type, *args) + tk_call('style', 'element', 'create', name, type, *args) + end + + def element_names() + list(tk_call('style', 'element', 'names')) + end + + def theme_create(name, keys=nil) + if keys && keys != None + tk_call('style', 'theme', 'create', name, type, *hash_kv(keys)) + else + tk_call('style', 'theme', 'create', name, type) + end + end + + def theme_settings(name, cmd=nil, &b) + end + + def theme_names() + list(tk_call('style', 'theme', 'names')) + end + + def theme_use(name) + tk_call('style', 'use', name) + end +end diff --git a/ext/tk/lib/tkextlib/tile/tbutton.rb b/ext/tk/lib/tkextlib/tile/tbutton.rb new file mode 100644 index 0000000000..c73b7904ed --- /dev/null +++ b/ext/tk/lib/tkextlib/tile/tbutton.rb @@ -0,0 +1,28 @@ +# +# tbutton widget +# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) +# +require 'tk' + +# call setup script for general 'tkextlib' libraries +require 'tkextlib/setup.rb' + +# call setup script -- <libdir>/tkextlib/tile.rb +require(File.dirname(File.expand_path(__FILE__)) + '.rb') + +class Tk::Tile::TButton < TkButton + include Tk::Tile::TileWidget + + TkCommandNames = ['tbutton'.freeze].freeze + WidgetClassName = 'TButton'.freeze + WidgetClassNames[WidgetClassName] = self + + def create_self(keys) + if keys and keys != None + tk_call_without_enc('tbutton', @path, *hash_kv(keys, true)) + else + tk_call_without_enc('tbutton', @path) + end + end + private :create_self +end diff --git a/ext/tk/lib/tkextlib/tile/tcheckbutton.rb b/ext/tk/lib/tkextlib/tile/tcheckbutton.rb new file mode 100644 index 0000000000..f5ab008820 --- /dev/null +++ b/ext/tk/lib/tkextlib/tile/tcheckbutton.rb @@ -0,0 +1,33 @@ +# +# tcheckbutton widget +# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) +# +require 'tk' + +# call setup script for general 'tkextlib' libraries +require 'tkextlib/setup.rb' + +# call setup script -- <libdir>/tkextlib/tile.rb +require(File.dirname(File.expand_path(__FILE__)) + '.rb') + +class Tk::Tile::TCheckButton < TkCheckButton + include Tk::Tile::TileWidget + + TkCommandNames = ['tcheckbutton'.freeze].freeze + WidgetClassName = 'TCheckbutton'.freeze + WidgetClassNames[WidgetClassName] = self + + def create_self(keys) + if keys and keys != None + tk_call_without_enc('tcheckbutton', @path, *hash_kv(keys, true)) + else + tk_call_without_enc('tcheckbutton', @path) + end + end + private :create_self +end +module Tk + module Tile + TCheckbutton = TCheckButton + end +end diff --git a/ext/tk/lib/tkextlib/tile/tlabel.rb b/ext/tk/lib/tkextlib/tile/tlabel.rb new file mode 100644 index 0000000000..1b7302cab1 --- /dev/null +++ b/ext/tk/lib/tkextlib/tile/tlabel.rb @@ -0,0 +1,28 @@ +# +# tlabel widget +# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) +# +require 'tk' + +# call setup script for general 'tkextlib' libraries +require 'tkextlib/setup.rb' + +# call setup script -- <libdir>/tkextlib/tile.rb +require(File.dirname(File.expand_path(__FILE__)) + '.rb') + +class Tk::Tile::TLabel < TkLabel + include Tk::Tile::TileWidget + + TkCommandNames = ['tlabel'.freeze].freeze + WidgetClassName = 'TLabel'.freeze + WidgetClassNames[WidgetClassName] = self + + def create_self(keys) + if keys and keys != None + tk_call_without_enc('tlabel', @path, *hash_kv(keys, true)) + else + tk_call_without_enc('tlabel', @path) + end + end + private :create_self +end diff --git a/ext/tk/lib/tkextlib/tile/tmenubutton.rb b/ext/tk/lib/tkextlib/tile/tmenubutton.rb new file mode 100644 index 0000000000..c827629c7d --- /dev/null +++ b/ext/tk/lib/tkextlib/tile/tmenubutton.rb @@ -0,0 +1,28 @@ +# +# tmenubutton widget +# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) +# +require 'tk' + +# call setup script for general 'tkextlib' libraries +require 'tkextlib/setup.rb' + +# call setup script -- <libdir>/tkextlib/tile.rb +require(File.dirname(File.expand_path(__FILE__)) + '.rb') + +class Tk::Tile::TMenubutton < TkMenubutton + include Tk::Tile::TileWidget + + TkCommandNames = ['tmenubutton'.freeze].freeze + WidgetClassName = 'TMenubutton'.freeze + WidgetClassNames[WidgetClassName] = self + + def create_self(keys) + if keys and keys != None + tk_call_without_enc('tmenubutton', @path, *hash_kv(keys, true)) + else + tk_call_without_enc('tmenubutton', @path) + end + end + private :create_self +end diff --git a/ext/tk/lib/tkextlib/tile/tnotebook.rb b/ext/tk/lib/tkextlib/tile/tnotebook.rb new file mode 100644 index 0000000000..40242b5235 --- /dev/null +++ b/ext/tk/lib/tkextlib/tile/tnotebook.rb @@ -0,0 +1,90 @@ +# +# tnotebook widget +# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) +# +require 'tk' + +# call setup script for general 'tkextlib' libraries +require 'tkextlib/setup.rb' + +# call setup script -- <libdir>/tkextlib/tile.rb +require(File.dirname(File.expand_path(__FILE__)) + '.rb') + +class Tk::Tile::TNotebook < TkWindow + ################################ + include TkItemConfigMethod + + def __item_cget_cmd(id) + [self.path, 'tabcget', id] + end + private :__item_cget_cmd + + def __item_config_cmd(id) + [self.path, 'tabconfigure', id] + end + private :__item_config_cmd + + + def __item_listval_optkeys + [] + end + private :__item_listval_optkeys + + def __item_methodcall_optkeys # { key=>method, ... } + {} + end + private :__item_listval_optkeys + + alias tabcget itemcget + alias tabconfigure itemconfigure + alias tabconfiginfo itemconfiginfo + alias current_tabconfiginfo current_itemconfiginfo + ################################ + + include Tk::Tile::TileWidget + + TkCommandNames = ['tnotebook'.freeze].freeze + WidgetClassName = 'TNotebook'.freeze + WidgetClassNames[WidgetClassName] = self + + def create_self(keys) + if keys and keys != None + tk_call_without_enc('tnotebook', @path, *hash_kv(keys, true)) + else + tk_call_without_enc('tnotebook', @path) + end + end + private :create_self + + def enable_traversal() + tk_call_without_end('tile::enableNotebookTraversal', @path) + self + end + + def add(child, keys=nil) + if keys && keys != None + tk_send_without_enc('add', _epath(child), *hash_kv(keys)) + else + tk_send_without_enc('add', _epath(child)) + end + self + end + + def forget(idx) + tk_send('forget', idx) + self + end + + def index(idx) + number(tk_send('index', idx)) + end + + def select(idx) + tk_send('select', idx) + self + end + + def tabs + list(tk_send('tabs')) + end +end diff --git a/ext/tk/lib/tkextlib/tile/tradiobutton.rb b/ext/tk/lib/tkextlib/tile/tradiobutton.rb new file mode 100644 index 0000000000..2587a74cf3 --- /dev/null +++ b/ext/tk/lib/tkextlib/tile/tradiobutton.rb @@ -0,0 +1,33 @@ +# +# tradiobutton widget +# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp) +# +require 'tk' + +# call setup script for general 'tkextlib' libraries +require 'tkextlib/setup.rb' + +# call setup script -- <libdir>/tkextlib/tile.rb +require(File.dirname(File.expand_path(__FILE__)) + '.rb') + +class Tk::Tile::TRadioButton < TkRadioButton + include Tk::Tile::TileWidget + + TkCommandNames = ['tradiobutton'.freeze].freeze + WidgetClassName = 'TRadiobutton'.freeze + WidgetClassNames[WidgetClassName] = self + + def create_self(keys) + if keys and keys != None + tk_call_without_enc('tradiobutton', @path, *hash_kv(keys, true)) + else + tk_call_without_enc('tradiobutton', @path) + end + end + private :create_self +end +module Tk + module Tile + TRadiobutton = TRadioButton + end +end |