Module: TkConfigMethod
Constant Summary
Constants included
from TkUtil
TkUtil::None, TkUtil::RELEASE_DATE
Class Method Summary
collapse
Instance Method Summary
collapse
#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy
Methods included from TkUtil
_conv_args, #_conv_args, #_fromUTF8, _get_eval_enc_str, #_get_eval_enc_str, #_get_eval_string, _get_eval_string, _symbolkey2str, #_symbolkey2str, #_toUTF8, bool, #bool, callback, eval_cmd, #hash_kv, hash_kv, install_cmd, num_or_str, #num_or_str, number, #number, string, #string, uninstall_cmd
Class Method Details
3479
3480
3481
|
# File 'lib/tk.rb', line 3479
def TkConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__
@mode || false
end
|
3482
3483
3484
3485
|
# File 'lib/tk.rb', line 3482
def TkConfigMethod.__set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!(mode)
fail SecurityError, "can't change the mode" if $SAFE>=4
@mode = (mode)? true: false
end
|
Instance Method Details
3610
3611
3612
|
# File 'lib/tk.rb', line 3610
def [](id)
cget(id)
end
|
#[]=(id, val) ⇒ Object
3614
3615
3616
3617
|
# File 'lib/tk.rb', line 3614
def []=(id, val)
configure(id, val)
val
end
|
3801
3802
3803
3804
3805
3806
3807
3808
3809
3810
3811
3812
3813
|
# File 'lib/tk.rb', line 3801
def __check_available_configure_options(keys)
availables = self.current_configinfo.keys
availables |= __font_optkeys.map{|k|
[k.to_s, "latin#{k}", "ascii#{k}", "kanji#{k}"]
}.flatten
availables |= __methodcall_optkeys.keys.map{|k| k.to_s}
availables |= __keyonly_optkeys.keys.map{|k| k.to_s}
keys = _symbolkey2str(keys)
keys.delete_if{|k, v| !(availables.include?(k))}
end
|
#cget(slot) ⇒ Object
3702
3703
3704
3705
3706
3707
3708
3709
3710
3711
3712
3713
3714
3715
3716
3717
3718
|
# File 'lib/tk.rb', line 3702
def cget(slot)
unless TkConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__
__cget_core(slot)
else
begin
__cget_core(slot)
rescue => e
if current_configinfo.has_key?(slot.to_s)
fail e
else
nil
end
end
end
end
|
#cget_strict(slot) ⇒ Object
3719
3720
3721
3722
|
# File 'lib/tk.rb', line 3719
def cget_strict(slot)
__cget_core(slot)
end
|
#config_hash_kv(keys, enc_mode = nil, conf = nil) ⇒ Object
3604
3605
3606
|
# File 'lib/tk.rb', line 3604
def config_hash_kv(keys, enc_mode = nil, conf = nil)
hash_kv(__conv_keyonly_opts(keys), enc_mode, conf)
end
|
#configinfo(slot = nil) ⇒ Object
4611
4612
4613
4614
4615
4616
4617
4618
4619
4620
4621
|
# File 'lib/tk.rb', line 4611
def configinfo(slot = nil)
if slot && TkConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__
begin
__configinfo_core(slot)
rescue
Array.new(__configinfo_struct.values.max).unshift(slot.to_s)
end
else
__configinfo_core(slot)
end
end
|
3815
3816
3817
3818
3819
3820
3821
3822
3823
3824
3825
3826
3827
3828
3829
3830
3831
3832
3833
3834
3835
3836
3837
3838
3839
3840
3841
|
# File 'lib/tk.rb', line 3815
def configure(slot, value=None)
unless TkConfigMethod.__IGNORE_UNKNOWN_CONFIGURE_OPTION__
__configure_core(slot, value)
else
if slot.kind_of?(Hash)
begin
__configure_core(slot)
rescue
slot = __check_available_configure_options(slot)
__configure_core(slot) unless slot.empty?
end
else
begin
__configure_core(slot, value)
rescue => e
if current_configinfo.has_key?(slot.to_s)
fail e
else
nil
end
end
end
end
self
end
|
3843
3844
3845
|
# File 'lib/tk.rb', line 3843
def configure_cmd(slot, value)
configure(slot, install_cmd(value))
end
|
#current_configinfo(slot = nil) ⇒ Object
4623
4624
4625
4626
4627
4628
4629
4630
4631
4632
4633
4634
4635
4636
4637
4638
4639
4640
4641
4642
4643
4644
4645
4646
4647
4648
4649
4650
4651
4652
4653
4654
|
# File 'lib/tk.rb', line 4623
def current_configinfo(slot = nil)
if TkComm::GET_CONFIGINFO_AS_ARRAY
if slot
org_slot = slot
begin
conf = configinfo(slot)
if ( ! __configinfo_struct[:alias] \
|| conf.size > __configinfo_struct[:alias] + 1 )
return {conf[0] => conf[-1]}
end
slot = conf[__configinfo_struct[:alias]]
end while(org_slot != slot)
fail RuntimeError,
"there is a configure alias loop about '#{org_slot}'"
else
ret = {}
configinfo().each{|conf|
if ( ! __configinfo_struct[:alias] \
|| conf.size > __configinfo_struct[:alias] + 1 )
ret[conf[0]] = conf[-1]
end
}
ret
end
else ret = {}
configinfo(slot).each{|key, conf|
ret[key] = conf[-1] if conf.kind_of?(Array)
}
ret
end
end
|