Extended maintenance of Ruby 1.9.3 ended on February 23, 2015. Read more

In Files

  • tk/lib/tk/textwindow.rb

Class/Module Index [+]

Quicksearch

TkTextWindow

Public Class Methods

new(parent, index, keys = {}) click to toggle source
 
               # File tk/lib/tk/textwindow.rb, line 10
  def initialize(parent, index, keys = {})
    #unless parent.kind_of?(Tk::Text)
    #  fail ArgumentError, "expect Tk::Text for 1st argument"
    #end
    @t = parent
    if index == 'end' || index == :end
      @path = TkTextMark.new(@t, tk_call_without_enc(@t.path, 'index',
                                                     'end - 1 chars'))
    elsif index.kind_of?(TkTextMark)
      if tk_call_without_enc(@t.path,'index',index.path) == tk_call_without_enc(@t.path,'index','end')
        @path = TkTextMark.new(@t, tk_call_without_enc(@t.path, 'index',
                                                       'end - 1 chars'))
      else
        @path = TkTextMark.new(@t, tk_call_without_enc(@t.path, 'index',
                                                       index.path))
      end
    else
      @path = TkTextMark.new(@t, tk_call_without_enc(@t.path, 'index', _get_eval_enc_str(index)))
    end
    @path.gravity = 'left'
    @index = @path.path
    keys = _symbolkey2str(keys)
    @id = keys['window']
    # keys['window'] = @id.epath if @id.kind_of?(TkWindow)
    keys['window'] = _epath(@id) if @id
    if keys['create']
      @p_create = keys['create']
      # if @p_create.kind_of?(Proc)
      if TkComm._callback_entry?(@p_create)
        keys['create'] = install_cmd(proc{
                                       @id = @p_create.call
                                       if @id.kind_of?(TkWindow)
                                         @id.epath
                                       else
                                         @id
                                       end
                                     })
        keys['create'] = install_cmd(proc{@id = @p_create.call; _epath(@id)})
      end
    end
    tk_call_without_enc(@t.path, 'window', 'create', @index,
                        *hash_kv(keys, true))
    @path.gravity = 'right'
  end
            

Public Instance Methods

[](slot) click to toggle source
 
               # File tk/lib/tk/textwindow.rb, line 64
def [](slot)
  cget(slot)
end
            
[]=(slot, value) click to toggle source
 
               # File tk/lib/tk/textwindow.rb, line 67
def []=(slot, value)
  configure(slot, value)
  value
end
            
cget(slot) click to toggle source
 
               # File tk/lib/tk/textwindow.rb, line 72
def cget(slot)
  @t.window_cget(@index, slot)
end
            
cget_strict(slot) click to toggle source
 
               # File tk/lib/tk/textwindow.rb, line 75
def cget_strict(slot)
  @t.window_cget_strict(@index, slot)
end
            
configinfo(slot = nil) click to toggle source
 
               # File tk/lib/tk/textwindow.rb, line 110
def configinfo(slot = nil)
  @t.window_configinfo(@index, slot)
end
            
configure(slot, value=None) click to toggle source
 
               # File tk/lib/tk/textwindow.rb, line 79
def configure(slot, value=None)
  if slot.kind_of?(Hash)
    slot = _symbolkey2str(slot)
    if slot['window']
      @id = slot['window']
      # slot['window'] = @id.epath if @id.kind_of?(TkWindow)
      slot['window'] = _epath(@id) if @id
    end
    if slot['create']
      self.create=slot.delete('create')
    end
    if slot.size > 0
      tk_call_without_enc(@t.path, 'window', 'configure', @index,
                          *hash_kv(slot, true))
    end
  else
    if slot == 'window' || slot == :window
      @id = value
      # value = @id.epath if @id.kind_of?(TkWindow)
      value = _epath(@id) if @id
    end
    if slot == 'create' || slot == :create
      self.create=value
    else
      tk_call_without_enc(@t.path, 'window', 'configure', @index,
                          "-#{slot}", _get_eval_enc_str(value))
    end
  end
  self
end
            
create() click to toggle source
 
               # File tk/lib/tk/textwindow.rb, line 131
def create
  @p_create
end
            
create=(value) click to toggle source
 
               # File tk/lib/tk/textwindow.rb, line 135
def create=(value)
  @p_create = value
  # if @p_create.kind_of?(Proc)
  if TkComm._callback_entry?(@p_create)
    value = install_cmd(proc{
                          @id = @p_create.call
                          if @id.kind_of?(TkWindow)
                            @id.epath
                          else
                            @id
                          end
                        })
  end
  tk_call_without_enc(@t.path, 'window', 'configure', @index,
                      '-create', _get_eval_enc_str(value))
  value
end
            
current_configinfo(slot = nil) click to toggle source
 
               # File tk/lib/tk/textwindow.rb, line 114
def current_configinfo(slot = nil)
  @t.current_window_configinfo(@index, slot)
end
            
id() click to toggle source
 
               # File tk/lib/tk/textwindow.rb, line 57
def id
  Tk::Text::IndexString.new(_epath(@id))
end
            
mark() click to toggle source
 
               # File tk/lib/tk/textwindow.rb, line 60
def mark
  @path
end
            
window() click to toggle source
 
               # File tk/lib/tk/textwindow.rb, line 118
def window
  @id
end
            
window=(value) click to toggle source
 
               # File tk/lib/tk/textwindow.rb, line 122
def window=(value)
  @id = value
  # value = @id.epath if @id.kind_of?(TkWindow)
  value = _epath(@id) if @id
  tk_call_without_enc(@t.path, 'window', 'configure', @index,
                      '-window', _get_eval_enc_str(value))
  value
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.