summaryrefslogtreecommitdiff
path: root/ruby_1_8_6/ext/tk/lib/tkextlib/tile/style.rb
diff options
context:
space:
mode:
authorshyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-22 01:53:51 +0000
committershyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-22 01:53:51 +0000
commit1e760c0be3ed35874204114e7454509f740c0fe2 (patch)
treea75eb2b1eea073830902d1fa49c568c4525c8b57 /ruby_1_8_6/ext/tk/lib/tkextlib/tile/style.rb
parenta2055d63b41a6678dc7aeb17d0bece314e700c5a (diff)
add tag v1_8_6_71v1_8_5_71
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_8_5_71@13189 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ruby_1_8_6/ext/tk/lib/tkextlib/tile/style.rb')
-rw-r--r--ruby_1_8_6/ext/tk/lib/tkextlib/tile/style.rb107
1 files changed, 107 insertions, 0 deletions
diff --git a/ruby_1_8_6/ext/tk/lib/tkextlib/tile/style.rb b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/style.rb
new file mode 100644
index 0000000000..59bc4b0d78
--- /dev/null
+++ b/ruby_1_8_6/ext/tk/lib/tkextlib/tile/style.rb
@@ -0,0 +1,107 @@
+#
+# style commands
+# by Hidetoshi NAGAI (nagai@ai.kyutech.ac.jp)
+#
+require 'tk'
+require 'tkextlib/tile.rb'
+
+module Tk
+ module Tile
+ module Style
+ end
+ end
+end
+
+module Tk::Tile::Style
+ extend TkCore
+end
+
+class << Tk::Tile::Style
+ def configure(style=nil, keys=nil)
+ if style.kind_of?(Hash)
+ keys = style
+ style = nil
+ end
+ style = '.' unless style
+
+ if Tk::Tile::TILE_SPEC_VERSION_ID < 7
+ sub_cmd = 'default'
+ else
+ sub_cmd = 'configure'
+ end
+
+ if keys && keys != None
+ tk_call('style', sub_cmd, style, *hash_kv(keys))
+ else
+ tk_call('style', sub_cmd, style)
+ end
+ end
+ alias default configure
+
+ def map(style=nil, keys=nil)
+ if style.kind_of?(Hash)
+ keys = style
+ style = nil
+ end
+ style = '.' unless style
+
+ if keys && keys != None
+ tk_call('style', 'map', style, *hash_kv(keys))
+ else
+ tk_call('style', 'map', style)
+ end
+ end
+
+ def lookup(style, opt, state=None, fallback_value=None)
+ tk_call('style', 'lookup', style, '-' << opt.to_s, state, fallback_value)
+ end
+
+ include Tk::Tile::ParseStyleLayout
+
+ def layout(style=nil, spec=nil)
+ if style.kind_of?(Hash)
+ spec = style
+ style = nil
+ end
+ style = '.' unless style
+
+ if spec
+ tk_call('style', 'layout', style, spec)
+ else
+ _style_layout(list(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 element_options(elem)
+ simplelist(tk_call('style', 'element', 'options', elem))
+ end
+
+ def theme_create(name, keys=nil)
+ if keys && keys != None
+ tk_call('style', 'theme', 'create', name, *hash_kv(keys))
+ else
+ tk_call('style', 'theme', 'create', name)
+ end
+ end
+
+ def theme_settings(name, cmd=nil, &b)
+ cmd = Proc.new(&b) if !cmd && b
+ tk_call('style', 'theme', 'settings', name, cmd)
+ end
+
+ def theme_names()
+ list(tk_call('style', 'theme', 'names'))
+ end
+
+ def theme_use(name)
+ tk_call('style', 'theme', 'use', name)
+ end
+end