Method: TkTextWindow#initialize
- Defined in:
- ext/lib/tk/textwindow.rb
#initialize(parent, index, keys = {}) ⇒ TkTextWindow
Returns a new instance of TkTextWindow.
10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 |
# File 'ext/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) =begin keys['create'] = install_cmd(proc{ @id = @p_create.call if @id.kind_of?(TkWindow) @id.epath else @id end }) =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 |