Class | TkTextWindow
In: | tk/lib/tk/textwindow.rb
Parent: | TkObject

### Methods

[] []= cget configinfo configure create create= current_configinfo id mark new window window=

### Included Modules

TkText::IndexModMethods

### Public Class methods

new(parent, index, keys = {})

[Source]

    # File tk/lib/tk/textwindow.rb, line 10
      def initialize(parent, index, keys = {})
        #unless parent.kind_of?(TkText)
        #  fail ArgumentError, "expect TkText 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; _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)

[Source]

    # File tk/lib/tk/textwindow.rb, line 64
      def [](slot)
        cget(slot)
      end

[]=(slot, value)

[Source]

    # File tk/lib/tk/textwindow.rb, line 67
      def []=(slot, value)
        configure(slot, value)
        value
      end

cget(slot)

[Source]

    # File tk/lib/tk/textwindow.rb, line 72
      def cget(slot)
        @t.window_cget(@index, slot)
      end

configinfo(slot = nil)

[Source]

    # File tk/lib/tk/textwindow.rb, line 107
      def configinfo(slot = nil)
        @t.window_configinfo(@index, slot)
      end

configure(slot, value=None)

[Source]

    # File tk/lib/tk/textwindow.rb, line 76
      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()

[Source]

    # File tk/lib/tk/textwindow.rb, line 128
      def create
        @p_create
      end

create=(value)

[Source]

    # File tk/lib/tk/textwindow.rb, line 132
      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)

[Source]

    # File tk/lib/tk/textwindow.rb, line 111
      def current_configinfo(slot = nil)
        @t.current_window_configinfo(@index, slot)
      end

id()

[Source]

    # File tk/lib/tk/textwindow.rb, line 57
      def id
        TkText::IndexString.new(_epath(@id))
      end

mark()

[Source]

    # File tk/lib/tk/textwindow.rb, line 60
      def mark
        @path
      end

window()

[Source]

    # File tk/lib/tk/textwindow.rb, line 115
      def window
        @id
      end

window=(value)

[Source]

    # File tk/lib/tk/textwindow.rb, line 119
      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

[Validate]