aboutsummaryrefslogtreecommitdiffstats
path: root/ext/tk/lib/tkextlib/tile
diff options
context:
space:
mode:
Diffstat (limited to 'ext/tk/lib/tkextlib/tile')
-rw-r--r--ext/tk/lib/tkextlib/tile/setup.rb8
-rw-r--r--ext/tk/lib/tkextlib/tile/style.rb67
-rw-r--r--ext/tk/lib/tkextlib/tile/tbutton.rb28
-rw-r--r--ext/tk/lib/tkextlib/tile/tcheckbutton.rb33
-rw-r--r--ext/tk/lib/tkextlib/tile/tlabel.rb28
-rw-r--r--ext/tk/lib/tkextlib/tile/tmenubutton.rb28
-rw-r--r--ext/tk/lib/tkextlib/tile/tnotebook.rb90
-rw-r--r--ext/tk/lib/tkextlib/tile/tradiobutton.rb33
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