# File tk/lib/tkextlib/tile/treeview.rb, line 25
def __itemconfiginfo_core(tagOrId, slot = nil)
if TkComm::GET_CONFIGINFO_AS_ARRAY
if (slot && slot.to_s =~ /^(|latin|ascii|kanji)(#{__item_font_optkeys(tagid(tagOrId)).join('|')})$/)
fontkey = $2
return [slot.to_s, tagfontobj(tagid(tagOrId), fontkey)]
else
if slot
slot = slot.to_s
alias_name, real_name = __item_optkey_aliases(tagid(tagOrId)).find{|k, v| k.to_s == slot}
if real_name
slot = real_name.to_s
end
case slot
when /^(#{__tile_specific_item_optkeys(tagid(tagOrId)).join('|')})$/
begin
# On tile-0.7.{2-8}, 'state' options has no '-' at its head.
val = tk_call(*(__item_confinfo_cmd(tagid(tagOrId)) << slot))
rescue
# Maybe, 'state' option has '-' in future.
val = tk_call(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))
end
return [slot, val]
when /^(#{__item_val2ruby_optkeys(tagid(tagOrId)).keys.join('|')})$/
method = _symbolkey2str(__item_val2ruby_optkeys(tagid(tagOrId)))[slot]
optval = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))
begin
val = method.call(tagOrId, optval)
rescue => e
warn("Warning:: #{e.message} (when #{method}lcall(#{tagOrId.inspect}, #{optval.inspect})") if $DEBUG
val = optval
end
return [slot, val]
when /^(#{__item_methodcall_optkeys(tagid(tagOrId)).keys.join('|')})$/
method = _symbolkey2str(__item_methodcall_optkeys(tagid(tagOrId)))[slot]
return [slot, self.__send__(method, tagOrId)]
when /^(#{__item_numval_optkeys(tagid(tagOrId)).join('|')})$/
begin
val = number(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")))
rescue
val = nil
end
return [slot, val]
when /^(#{__item_numstrval_optkeys(tagid(tagOrId)).join('|')})$/
val = num_or_str(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")))
return [slot, val]
when /^(#{__item_boolval_optkeys(tagid(tagOrId)).join('|')})$/
begin
val = bool(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")))
rescue
val = nil
end
return [slot, val]
when /^(#{__item_listval_optkeys(tagid(tagOrId)).join('|')})$/
val = simplelist(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")))
return [slot, val]
when /^(#{__item_numlistval_optkeys(tagid(tagOrId)).join('|')})$/
val = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))
if val =~ /^[0-9]/
return [slot, list(val)]
else
return [slot, val]
end
when /^(#{__item_strval_optkeys(tagid(tagOrId)).join('|')})$/
val = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))
return [slot, val]
when /^(#{__item_tkvariable_optkeys(tagid(tagOrId)).join('|')})$/
val = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))
if val.empty?
return [slot, nil]
else
return [slot, TkVarAccess.new(val)]
end
else
val = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))
if val.index('{')
return [slot, tk_split_list(val)]
else
return [slot, tk_tcl2ruby(val)]
end
end
else # ! slot
ret = Hash[*(tk_split_simplelist(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)))), false, false))].to_a.collect{|conf|
conf[0] = conf[0][1..-1] if conf[0][0] == --
case conf[0]
when /^(#{__item_val2ruby_optkeys(tagid(tagOrId)).keys.join('|')})$/
method = _symbolkey2str(__item_val2ruby_optkeys(tagid(tagOrId)))[conf[0]]
optval = conf[1]
begin
val = method.call(tagOrId, optval)
rescue => e
warn("Warning:: #{e.message} (when #{method}.call(#{tagOrId.inspect}, #{optval.inspect})") if $DEBUG
val = optval
end
conf[1] = val
when /^(#{__item_strval_optkeys(tagid(tagOrId)).join('|')})$/
# do nothing
when /^(#{__item_numval_optkeys(tagid(tagOrId)).join('|')})$/
begin
conf[1] = number(conf[1])
rescue
conf[1] = nil
end
when /^(#{__item_numstrval_optkeys(tagid(tagOrId)).join('|')})$/
conf[1] = num_or_str(conf[1])
when /^(#{__item_boolval_optkeys(tagid(tagOrId)).join('|')})$/
begin
conf[1] = bool(conf[1])
rescue
conf[1] = nil
end
when /^(#{__item_listval_optkeys(tagid(tagOrId)).join('|')})$/
conf[1] = simplelist(conf[1])
when /^(#{__item_numlistval_optkeys(tagid(tagOrId)).join('|')})$/
if conf[1] =~ /^[0-9]/
conf[1] = list(conf[1])
end
when /^(#{__item_tkvariable_optkeys(tagid(tagOrId)).join('|')})$/
if conf[1].empty?
conf[1] = nil
else
conf[1] = TkVarAccess.new(conf[1])
end
else
if conf[1].index('{')
conf[1] = tk_split_list(conf[1])
else
conf[1] = tk_tcl2ruby(conf[1])
end
end
conf
}
__item_font_optkeys(tagid(tagOrId)).each{|optkey|
optkey = optkey.to_s
fontconf = ret.assoc(optkey)
if fontconf
ret.delete_if{|inf| inf[0] =~ /^(|latin|ascii|kanji)#{optkey}$/}
fontconf[1] = tagfontobj(tagid(tagOrId), optkey)
ret.push(fontconf)
end
}
__item_methodcall_optkeys(tagid(tagOrId)).each{|optkey, method|
ret << [optkey.to_s, self.__send__(method, tagOrId)]
}
ret
end
end
else # ! TkComm::GET_CONFIGINFO_AS_ARRAY
if (slot && slot.to_s =~ /^(|latin|ascii|kanji)(#{__item_font_optkeys(tagid(tagOrId)).join('|')})$/)
fontkey = $2
return {slot.to_s => tagfontobj(tagid(tagOrId), fontkey)}
else
if slot
slot = slot.to_s
alias_name, real_name = __item_optkey_aliases(tagid(tagOrId)).find{|k, v| k.to_s == slot}
if real_name
slot = real_name.to_s
end
case slot
when /^(#{__tile_specific_item_optkeys(tagid(tagOrId)).join('|')})$/
begin
# On tile-0.7.{2-8}, 'state' option has no '-' at its head.
val = tk_call(*(__item_confinfo_cmd(tagid(tagOrId)) << slot))
rescue
# Maybe, 'state' option has '-' in future.
val = tk_call(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))
end
return {slot => val}
when /^(#{__item_val2ruby_optkeys(tagid(tagOrId)).keys.join('|')})$/
method = _symbolkey2str(__item_val2ruby_optkeys(tagid(tagOrId)))[slot]
optval = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))
begin
val = method.call(tagOrId, optval)
rescue => e
warn("Warning:: #{e.message} (when #{method}lcall(#{tagOrId.inspect}, #{optval.inspect})") if $DEBUG
val = optval
end
return {slot => val}
when /^(#{__item_methodcall_optkeys(tagid(tagOrId)).keys.join('|')})$/
method = _symbolkey2str(__item_methodcall_optkeys(tagid(tagOrId)))[slot]
return {slot => self.__send__(method, tagOrId)}
when /^(#{__item_numval_optkeys(tagid(tagOrId)).join('|')})$/
begin
val = number(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")))
rescue
val = nil
end
return {slot => val}
when /^(#{__item_numstrval_optkeys(tagid(tagOrId)).join('|')})$/
val = num_or_str(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")))
return {slot => val}
when /^(#{__item_boolval_optkeys(tagid(tagOrId)).join('|')})$/
begin
val = bool(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")))
rescue
val = nil
end
return {slot => val}
when /^(#{__item_listval_optkeys(tagid(tagOrId)).join('|')})$/
val = simplelist(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}")))
return {slot => val}
when /^(#{__item_numlistval_optkeys(tagid(tagOrId)).join('|')})$/
val = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))
if val =~ /^[0-9]/
return {slot => list(val)}
else
return {slot => val}
end
when /^(#{__item_strval_optkeys(tagid(tagOrId)).join('|')})$/
val = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))
return {slot => val}
when /^(#{__item_tkvariable_optkeys(tagid(tagOrId)).join('|')})$/
val = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))
if val.empty?
return {slot => nil}
else
return {slot => TkVarAccess.new(val)}
end
else
val = tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)) << "-#{slot}"))
if val.index('{')
return {slot => tk_split_list(val)}
else
return {slot => tk_tcl2ruby(val)}
end
end
else # ! slot
ret = {}
ret = Hash[*(tk_split_simplelist(tk_call_without_enc(*(__item_confinfo_cmd(tagid(tagOrId)))), false, false))].to_a.collect{|conf|
conf[0] = conf[0][1..-1] if conf[0][0] == --
optkey = conf[0]
case optkey
when /^(#{__item_val2ruby_optkeys(tagid(tagOrId)).keys.join('|')})$/
method = _symbolkey2str(__item_val2ruby_optkeys(tagid(tagOrId)))[optkey]
optval = conf[1]
begin
val = method.call(tagOrId, optval)
rescue => e
warn("Warning:: #{e.message} (when #{method}.call(#{tagOrId.inspect}, #{optval.inspect})") if $DEBUG
val = optval
end
conf[1] = val
when /^(#{__item_strval_optkeys(tagid(tagOrId)).join('|')})$/
# do nothing
when /^(#{__item_numval_optkeys(tagid(tagOrId)).join('|')})$/
begin
conf[1] = number(conf[1])
rescue
conf[1] = nil
end
when /^(#{__item_numstrval_optkeys(tagid(tagOrId)).join('|')})$/
conf[1] = num_or_str(conf[1])
when /^(#{__item_boolval_optkeys(tagid(tagOrId)).join('|')})$/
begin
conf[1] = bool(conf[1])
rescue
conf[1] = nil
end
when /^(#{__item_listval_optkeys(tagid(tagOrId)).join('|')})$/
conf[1] = simplelist(conf[1])
when /^(#{__item_numlistval_optkeys(tagid(tagOrId)).join('|')})$/
if conf[1] =~ /^[0-9]/
conf[1] = list(conf[1])
end
when /^(#{__item_tkvariable_optkeys(tagid(tagOrId)).join('|')})$/
if conf[1].empty?
conf[1] = nil
else
conf[1] = TkVarAccess.new(conf[1])
end
else
if conf[1].index('{')
return [slot, tk_split_list(conf[1])]
else
return [slot, tk_tcl2ruby(conf[1])]
end
end
ret[conf[0]] = conf[1]
}
__item_font_optkeys(tagid(tagOrId)).each{|optkey|
optkey = optkey.to_s
fontconf = ret[optkey]
if fontconf.kind_of?(Array)
ret.delete(optkey)
ret.delete('latin' << optkey)
ret.delete('ascii' << optkey)
ret.delete('kanji' << optkey)
fontconf[1] = tagfontobj(tagid(tagOrId), optkey)
ret[optkey] = fontconf
end
}
__item_methodcall_optkeys(tagid(tagOrId)).each{|optkey, method|
ret[optkey.to_s] = self.__send__(method, tagOrId)
}
ret
end
end
end
end
# File tk/lib/tkextlib/tile/treeview.rb, line 468
def __tile_specific_item_optkeys(id)
case id[0]
when :item, 'item'
[]
when :column, 'column'
[]
when :heading, 'heading'
['state'] # On tile-0.7.{2-8}, 'state' options has no '-' at its head.
else
[]
end
end
# File tk/lib/tkextlib/tile/treeview.rb, line 553
def columncget(tagOrId, option)
__itemcget([:column, tagOrId], option)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 556
def columncget_strict(tagOrId, option)
__itemcget_strict([:column, tagOrId], option)
end
Treeview Column
# File tk/lib/tkextlib/tile/treeview.rb, line 550
def columncget_tkstring(tagOrId, option)
__itemcget_tkstring([:column, tagOrId], option)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 562
def columnconfiginfo(tagOrId, slot=nil)
__itemconfiginfo([:column, tagOrId], slot)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 559
def columnconfigure(tagOrId, slot, value=None)
__itemconfigure([:column, tagOrId], slot, value)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 565
def current_columnconfiginfo(tagOrId, slot=nil)
__current_itemconfiginfo([:column, tagOrId], slot)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 648
def current_headingconfiginfo(tagOrId, slot=nil)
__current_itemconfiginfo([:heading, tagOrId], slot)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 486
def current_itemconfiginfo(tagOrId, slot = nil)
if TkComm::GET_CONFIGINFO_AS_ARRAY
if slot
org_slot = slot
begin
conf = __itemconfiginfo_core(tagOrId, slot)
if ( ! __item_configinfo_struct(tagid(tagOrId))[:alias] || conf.size > __item_configinfo_struct(tagid(tagOrId))[:alias] + 1 )
return {conf[0] => conf[-1]}
end
slot = conf[__item_configinfo_struct(tagid(tagOrId))[:alias]]
end while(org_slot != slot)
fail RuntimeError,
"there is a configure alias loop about '#{org_slot}'"
else
ret = {}
__itemconfiginfo_core(tagOrId).each{|conf|
if ( ! __item_configinfo_struct(tagid(tagOrId))[:alias] || conf.size > __item_configinfo_struct(tagid(tagOrId))[:alias] + 1 )
ret[conf[0]] = conf[-1]
end
}
ret
end
else # ! TkComm::GET_CONFIGINFO_AS_ARRAY
ret = {}
__itemconfiginfo_core(tagOrId, slot).each{|key, conf|
ret[key] = conf[-1] if conf.kind_of?(Array)
}
ret
end
end
# File tk/lib/tkextlib/tile/treeview.rb, line 674
def current_tagconfiginfo(tagOrId, slot=nil)
__current_itemconfiginfo([:tag, :configure, tagOrId], slot)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 602
def headingcget(tagOrId, option)
unless TkItemConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__
headingcget_strict(tagOrId, option)
else
begin
headingcget_strict(tagOrId, option)
rescue => e
begin
if current_headingconfiginfo(tagOrId).has_key?(option.to_s)
# not tag error & option is known -> error on known option
fail e
else
# not tag error & option is unknown
nil
end
rescue
fail e # tag error
end
end
end
end
# File tk/lib/tkextlib/tile/treeview.rb, line 589
def headingcget_strict(tagOrId, option)
if __tile_specific_item_optkeys([:heading, tagOrId]).index(option.to_s)
begin
# On tile-0.7.{2-8}, 'state' options has no '-' at its head.
tk_call(*(__item_cget_cmd([:heading, tagOrId]) << option.to_s))
rescue
# Maybe, 'state' option has '-' in future.
tk_call(*(__item_cget_cmd([:heading, tagOrId]) << "-#{option}"))
end
else
__itemcget_strict([:heading, tagOrId], option)
end
end
Treeview Heading
# File tk/lib/tkextlib/tile/treeview.rb, line 576
def headingcget_tkstring(tagOrId, option)
if __tile_specific_item_optkeys([:heading, tagOrId]).index(option.to_s)
begin
# On tile-0.7.{2-8}, 'state' options has no '-' at its head.
tk_call(*(__item_cget_cmd([:heading, tagOrId]) << option.to_s))
rescue
# Maybe, 'state' option has '-' in future.
tk_call(*(__item_cget_cmd([:heading, tagOrId]) << "-#{option}"))
end
else
__itemcget_tkstring([:heading, tagOrId], option)
end
end
# File tk/lib/tkextlib/tile/treeview.rb, line 645
def headingconfiginfo(tagOrId, slot=nil)
__itemconfiginfo([:heading, tagOrId], slot)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 623
def headingconfigure(tagOrId, slot, value=None)
if slot.kind_of?(Hash)
slot = _symbolkey2str(slot)
sp_kv = []
__tile_specific_item_optkeys([:heading, tagOrId]).each{|k|
sp_kv << k << _get_eval_string(slot.delete(k)) if slot.has_key?(k)
}
tk_call(*(__item_config_cmd([:heading, tagOrId]).concat(sp_kv)))
tk_call(*(__item_config_cmd([:heading, tagOrId]).concat(hash_kv(slot))))
elsif __tile_specific_item_optkeys([:heading, tagOrId]).index(slot.to_s)
begin
# On tile-0.7.{2-8}, 'state' options has no '-' at its head.
tk_call(*(__item_cget_cmd([:heading, tagOrId]) << slot.to_s << value))
rescue
# Maybe, 'state' option has '-' in future.
tk_call(*(__item_cget_cmd([:heading, tagOrId]) << "-#{slot}" << value))
end
else
__itemconfigure([:heading, tagOrId], slot, value)
end
self
end
# File tk/lib/tkextlib/tile/treeview.rb, line 533
def itemcget(tagOrId, option)
__itemcget([:item, tagOrId], option)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 536
def itemcget_strict(tagOrId, option)
__itemcget_strict([:item, tagOrId], option)
end
Treeview Item
# File tk/lib/tkextlib/tile/treeview.rb, line 530
def itemcget_tkstring(tagOrId, option)
__itemcget_tkstring([:item, tagOrId], option)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 482
def itemconfiginfo(tagOrId, slot = nil)
__itemconfiginfo_core(tagOrId, slot)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 539
def itemconfigure(tagOrId, slot, value=None)
__itemconfigure([:item, tagOrId], slot, value)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 662
def tagcget(tagOrId, option)
__itemcget([:tag, :configure, tagOrId], option)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 665
def tagcget_strict(tagOrId, option)
__itemcget_strict([:tag, :configure, tagOrId], option)
end
Treeview Tag
# File tk/lib/tkextlib/tile/treeview.rb, line 659
def tagcget_tkstring(tagOrId, option)
__itemcget_tkstring([:tag, :configure, tagOrId], option)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 671
def tagconfiginfo(tagOrId, slot=nil)
__itemconfiginfo([:tag, :configure, tagOrId], slot)
end
# File tk/lib/tkextlib/tile/treeview.rb, line 668
def tagconfigure(tagOrId, slot, value=None)
__itemconfigure([:tag, :configure, tagOrId], slot, value)
end
Commenting is here to help enhance the documentation. For example, sample code, 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.