# File tk/lib/tkextlib/tile/style.rb, line 36 def __define_wrapper_proc_for_compatibility__! __define_themes_and_setTheme_proc__! unless Tk.info(:commands, '::ttk::style').empty? # fail RuntimeError, # "can't define '::ttk::style' command (already exist)" # do nothing !!! warn "Warning: can't define '::ttk::style' command (already exist)" if $DEBUG return end TkCore::INTERP.add_tk_procs('::ttk::style', 'args', " if [string equal [lrange $args 0 1] {element create}] { if [string equal [lindex $args 3] image] { set spec [lindex $args 4] set map [lrange $spec 1 end] if [llength $map] { # return [eval [concat [list ::style element create [lindex $args 2] image [lindex $spec 0] -map $map] [lrange $args 5 end]]] return [uplevel 1 [list ::style element create [lindex $args 2] image [lindex $spec 0] -map $map] [lrange $args 5 end]] } } } # return [eval "::style $args"] return [uplevel 1 ::style $args] ") ######################### end
# File tk/lib/tkextlib/tile/style.rb, line 160 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(TkCommandNames[0], sub_cmd, style, *hash_kv(keys)) else tk_call(TkCommandNames[0], sub_cmd, style) end end
# File tk/lib/tkextlib/tile/style.rb, line 234 def element_create(name, type, *args) if type == 'image' || type == :image element_create_image(name, *args) elsif type == 'vsapi' || type == :vsapi element_create_vsapi(name, *args) else tk_call(TkCommandNames[0], 'element', 'create', name, type, *args) end end
# File tk/lib/tkextlib/tile/style.rb, line 244 def element_create_image(name, *args) fail ArgumentError, 'Must supply a base image' unless (spec = args.shift) if (opts = args.shift) if opts.kind_of?(Hash) opts = _symbolkey2str(opts) else fail ArgumentError, 'bad option' end end fail ArgumentError, 'too many arguments' unless args.empty? if spec.kind_of?(Array) # probably, command format is tile 0.8+ (Tcl/Tk8.5+) style if Tk::Tile::TILE_SPEC_VERSION_ID >= 8 if opts tk_call(TkCommandNames[0], 'element', 'create', name, 'image', spec, opts) else tk_call(TkCommandNames[0], 'element', 'create', name, 'image', spec) end else fail ArgumentError, 'illegal arguments' if opts.key?('map') base = spec.shift opts['map'] = spec tk_call(TkCommandNames[0], 'element', 'create', name, 'image', base, opts) end else # probably, command format is tile 0.7.8 or older style if Tk::Tile::TILE_SPEC_VERSION_ID >= 8 spec = [spec, *(opts.delete('map'))] if opts.key?('map') end if opts tk_call(TkCommandNames[0], 'element', 'create', name, 'image', spec, opts) else tk_call(TkCommandNames[0], 'element', 'create', name, 'image', spec) end end end
# File tk/lib/tkextlib/tile/style.rb, line 285 def element_create_vsapi(name, class_name, part_id, *args) # supported on Tcl/Tk 8.6 or later # argument check if (state_map = args.shift || None) if state_map.kind_of?(Hash) opts = _symbolkey2str(state_map) state_map = None end end opts = args.shift || None fail ArgumentError, "too many arguments" unless args.empty? # define a Microsoft Visual Styles element tk_call(TkCommandNames[0], 'element', 'create', name, 'vsapi', class_name, part_id, state_map, opts) end
# File tk/lib/tkextlib/tile/style.rb, line 303 def element_names() list(tk_call(TkCommandNames[0], 'element', 'names')) end
# File tk/lib/tkextlib/tile/style.rb, line 307 def element_options(elem) simplelist(tk_call(TkCommandNames[0], 'element', 'options', elem)) end
# File tk/lib/tkextlib/tile/style.rb, line 220 def layout(style=nil, spec=nil) if style.kind_of?(Hash) spec = style style = nil end style = '.' unless style if spec tk_call(TkCommandNames[0], 'layout', style, spec) else _style_layout(list(tk_call(TkCommandNames[0], 'layout', style))) end end
# File tk/lib/tkextlib/tile/style.rb, line 213 def lookup(style, opt, state=None, fallback_value=None) tk_call(TkCommandNames[0], 'lookup', style, '-' << opt.to_s, state, fallback_value) end
# File tk/lib/tkextlib/tile/style.rb, line 181 def map(style=nil, keys=nil) if style.kind_of?(Hash) keys = style style = nil end style = '.' unless style if keys && keys != None if keys.kind_of?(Hash) tk_call(TkCommandNames[0], 'map', style, *hash_kv(keys)) else simplelist(tk_call(TkCommandNames[0], 'map', style, '-' << keys.to_s)) end else ret = {} Hash[*(simplelist(tk_call(TkCommandNames[0], 'map', style)))].each{|k, v| ret[k[1..-1]] = list(v) } ret end end
# File tk/lib/tkextlib/tile/style.rb, line 204 def map_configinfo(style=nil, key=None) style = '.' unless style map(style, key) end
# File tk/lib/tkextlib/tile/style.rb, line 209 def map_default_configinfo(key=None) map('.', key) end
# File tk/lib/tkextlib/tile/style.rb, line 311 def theme_create(name, keys=nil) name = name.to_s if keys && keys != None tk_call(TkCommandNames[0], 'theme', 'create', name, *hash_kv(keys)) else tk_call(TkCommandNames[0], 'theme', 'create', name) end name end
# File tk/lib/tkextlib/tile/style.rb, line 328 def theme_names() list(tk_call(TkCommandNames[0], 'theme', 'names')) end
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.