Methods
- A
- C
- E
- G
- M
- N
- R
Included Modules
Constants
TkCommandNames | = | ['option'.freeze].freeze |
CmdClassID | = | ['CMD_CLASS'.freeze, TkUtil.untrust('00000')]).instance_eval{ @mutex = Mutex.new |
RAND_BASE_CNT | = | [0] |
RAND_BASE_HEAD | = | 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' |
RAND_BASE_CHAR | = | RAND_BASE_HEAD + 'abcdefghijklmnopqrstuvwxyz0123456789_' |
Class Public methods
add(pat, value, pri=None)
Link
clear()
Link
eval_under_random_base(parent = nil, &b)
Link
# File ext/tk/lib/tk/optiondb.rb, line 359 def eval_under_random_base(parent = nil, &b) new_klass = __create_new_class(__get_random_basename(), [], 4, false, parent) ret = new_klass.class_eval(&b) if block_given? __remove_methods_of_proc_class(new_klass) new_klass.freeze ret end
get(win, name, klass)
Link
new_proc_class(klass, func, safe = 4, add = false, parent = nil, &b)
Link
define new proc class : If you want to modify the new class or create a new subclass, you must do such operation in the block parameter. Because the created class is flozen after evaluating the block.
# File ext/tk/lib/tk/optiondb.rb, line 350 def new_proc_class(klass, func, safe = 4, add = false, parent = nil, &b) new_klass = __create_new_class(klass, func, safe, add, parent) new_klass.class_eval(&b) if block_given? __remove_methods_of_proc_class(new_klass) new_klass.freeze new_klass end
new_proc_class_random(klass, func, safe = 4, add = false, &b)
Link
read_entries(file, f_enc=nil)
Link
# File ext/tk/lib/tk/optiondb.rb, line 45 def read_entries(file, f_enc=nil) if TkCore::INTERP.safe? fail SecurityError, "can't call 'TkOptionDB.read_entries' on a safe interpreter" end i_enc = ((Tk.encoding)? Tk.encoding : Tk.encoding_system) unless f_enc f_enc = i_enc end ent = [] cline = '' open(file, 'r') {|f| while line = f.gets #cline += line.chomp! cline.concat(line.chomp!) case cline when /\$/ # continue cline.chop! next when /^\s*(!|#)/ # coment cline = '' next when /^([^:]+):(.*)$/ pat = $1.strip val = $2.lstrip p "ResourceDB: #{[pat, val].inspect}" if $DEBUG pat = TkCore::INTERP._toUTF8(pat, f_enc) pat = TkCore::INTERP._fromUTF8(pat, i_enc) val = TkCore::INTERP._toUTF8(val, f_enc) val = TkCore::INTERP._fromUTF8(val, i_enc) ent << [pat, val] cline = '' else # unknown --> ignore cline = '' next end end } ent end
read_with_encoding(file, f_enc=nil, pri=None)
Link
# File ext/tk/lib/tk/optiondb.rb, line 90 def read_with_encoding(file, f_enc=nil, pri=None) # try to read the file as an OptionDB file read_entries(file, f_enc).each{|pat, val| add(pat, val, pri) } i_enc = Tk.encoding() unless f_enc f_enc = i_enc end cline = '' open(file, 'r') {|f| while line = f.gets cline += line.chomp! case cline when /\\$/ # continue cline.chop! next when /^\s*!/ # coment cline = '' next when /^([^:]+):\s(.*)$/ pat = $1 val = $2 p "ResourceDB: #{[pat, val].inspect}" if $DEBUG pat = TkCore::INTERP._toUTF8(pat, f_enc) pat = TkCore::INTERP._fromUTF8(pat, i_enc) val = TkCore::INTERP._toUTF8(val, f_enc) val = TkCore::INTERP._fromUTF8(val, i_enc) add(pat, val, pri) cline = '' else # unknown --> ignore cline = '' next end end } end
Instance Public methods