diff options
author | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-07 07:36:34 +0000 |
---|---|---|
committer | shyouhei <shyouhei@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-07-07 07:36:34 +0000 |
commit | 441546edcfbb1b346c87b69c5f578d1a0e522e06 (patch) | |
tree | 04f606a008baebc445f38944ad37e87468da29ea /ruby_1_8_6/ext/tk/lib/tkextlib/tile/style.rb | |
parent | fa93611c0f9a6db146341c792bfe3b7322ec00e2 (diff) |
add tag v1_8_6_269
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/tags/v1_8_6_269@17937 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.rb | 107 |
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 |