In Files

  • tk/lib/tk/optiondb.rb

Class/Module Index [+]

Quicksearch

TkResourceDB

Public Class Methods

add(pat, value, pri=None) click to toggle source
 
               # File tk/lib/tk/optiondb.rb, line 25
def add(pat, value, pri=None)
  tk_call('option', 'add', pat, value, pri)
end
            
clear() click to toggle source
 
               # File tk/lib/tk/optiondb.rb, line 28
def clear
  tk_call_without_enc('option', 'clear')
end
            
eval_under_random_base(parent = nil, &b) click to toggle source
 
               # File tk/lib/tk/optiondb.rb, line 354
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) click to toggle source
 
               # File tk/lib/tk/optiondb.rb, line 31
def get(win, name, klass)
  tk_call('option', 'get', win ,name, klass)
end
            
new_proc_class(klass, func, safe = 4, add = false, parent = nil, &b) click to toggle source

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 frozen after evaluating the block.

 
               # File tk/lib/tk/optiondb.rb, line 345
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) click to toggle source
 
               # File tk/lib/tk/optiondb.rb, line 364
def new_proc_class_random(klass, func, safe = 4, add = false, &b)
  eval_under_random_base(){
    TkOptionDB.new_proc_class(klass, func, safe, add, self, &b)
  }
end
            
read_entries(file, f_enc=nil) click to toggle source
 
               # File tk/lib/tk/optiondb.rb, line 40
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*(!|#)/     # comment
        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_file(file, pri=None) click to toggle source
Alias for: readfile
read_with_encoding(file, f_enc=nil, pri=None) click to toggle source
 
               # File tk/lib/tk/optiondb.rb, line 85
  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*!/     # comment
          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
            
readfile(file, pri=None) click to toggle source
 
               # File tk/lib/tk/optiondb.rb, line 34
def readfile(file, pri=None)
  tk_call('option', 'readfile', file, pri)
end
            
Also aliased as: read_file

Public Instance Methods

mutex() click to toggle source
 
               # File tk/lib/tk/optiondb.rb, line 14
def mutex; @mutex; 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.