Class: TkTextWindow
- Includes:
- TkText::IndexModMethods
- Defined in:
- lib/tk/textwindow.rb
Constant Summary
Constants included from TkCore
TkCore::EventFlag, TkCore::INTERP, TkCore::WIDGET_DESTROY_HOOK
Constants included from TkComm
TkComm::GET_CONFIGINFO_AS_ARRAY, TkComm::GET_CONFIGINFOwoRES_AS_ARRAY, TkComm::TkExtlibAutoloadModule, TkComm::Tk_CMDTBL, TkComm::Tk_IDs, TkComm::Tk_WINDOWS, TkComm::USE_TCLs_LIST_FUNCTIONS, TkComm::WidgetClassNames
Constants included from TkUtil
TkUtil::None, TkUtil::RELEASE_DATE
Constants included from Tk
Tk::AUTO_PATH, Tk::INTERP, Tk::JAPANIZED_TK, Tk::LIBRARY_PATH, Tk::MAINLOOP, Tk::PACKAGE_PATH, Tk::RELEASE_DATE, Tk::TCL_LIBRARY_PATH, Tk::TCL_MAJOR_VERSION, Tk::TCL_MINOR_VERSION, Tk::TCL_PACKAGE_PATH, Tk::TCL_PATCHLEVEL, Tk::TCL_PRECISION, Tk::TCL_VERSION, Tk::TK_MAJOR_VERSION, Tk::TK_MINOR_VERSION, Tk::TK_PATCHLEVEL, Tk::TK_VERSION, Tk::Tkextlib_RELEASE_DATE, Tk::TreeCtrl_Widget, Tk::X_Scrollable, Tk::Y_Scrollable
Constants included from Tk::Encoding
Instance Method Summary collapse
- #[](slot) ⇒ Object
- #[]=(slot, value) ⇒ Object
- #cget(slot) ⇒ Object
- #configinfo(slot = nil) ⇒ Object
- #configure(slot, value = None) ⇒ Object
- #create ⇒ Object
- #create=(value) ⇒ Object
- #current_configinfo(slot = nil) ⇒ Object
- #id ⇒ Object
-
#initialize(parent, index, keys = {}) ⇒ TkTextWindow
constructor
A new instance of TkTextWindow.
- #mark ⇒ Object
- #window ⇒ Object
- #window=(value) ⇒ Object
Methods included from TkText::IndexModMethods
#+, #-, #any_chars, #any_indices, #any_lines, #chars, #display_chars, #display_indices, #display_lineend, #display_lines, #display_linestart, #display_wordend, #display_wordstart, #indices, #lineend, #lines, #linestart, #wordend, #wordstart
Methods inherited from TkObject
#destroy, #epath, #event_generate, #method_missing, #path, #tk_send, #tk_send_to_list, #tk_send_to_list_with_enc, #tk_send_to_list_without_enc, #tk_send_to_simplelist, #tk_send_to_simplelist_with_enc, #tk_send_to_simplelist_without_enc, #tk_send_with_enc, #tk_send_without_enc, #to_eval
Methods included from TkCore
#_tk_call_to_list_core, #after, #after_cancel, #after_idle, #appname, #appsend, #appsend_deny, #appsend_displayof, callback, #callback_break, #callback_continue, #callback_return, #chooseColor, #chooseDirectory, #do_one_event, #event_generate, #getMultipleOpenFile, #getMultipleSaveFile, #getOpenFile, #getSaveFile, #get_eventloop_tick, #get_eventloop_weight, #get_no_event_wait, #inactive, #inactive_displayof, #info, #ip_eval, #ip_eval_with_enc, #ip_eval_without_enc, #ip_invoke, #ip_invoke_with_enc, #ip_invoke_without_enc, #is_mainloop?, #load_cmd_on_ip, #mainloop, #mainloop_exist?, #mainloop_thread?, #mainloop_watchdog, #messageBox, #rb_appsend, #rb_appsend_displayof, #reset_inactive, #reset_inactive_displayof, #restart, #scaling, #scaling_displayof, #set_eventloop_tick, #set_eventloop_weight, #set_no_event_wait, #tk_call, #tk_call_to_list, #tk_call_to_list_with_enc, #tk_call_to_list_without_enc, #tk_call_to_simplelist, #tk_call_to_simplelist_with_enc, #tk_call_to_simplelist_without_enc, #tk_call_with_enc, #tk_call_without_enc, #windowingsystem
Methods included from TkComm
_at, _callback_entry?, _callback_entry_class?, _curr_cmd_id, _fromUTF8, _genobj_for_tkwidget, _next_cmd_id, _toUTF8, array2tk_list, #bind, #bind_all, #bind_append, #bind_append_all, #bind_remove, #bind_remove_all, #bindinfo, #bindinfo_all, bool, image_obj, install_cmd, list, num_or_str, number, procedure, simplelist, string, #subst, tk_tcl2ruby, uninstall_cmd, window
Methods included from TkUtil
_conv_args, #_conv_args, #_fromUTF8, _get_eval_enc_str, #_get_eval_enc_str, #_get_eval_string, _get_eval_string, _symbolkey2str, #_symbolkey2str, #_toUTF8, bool, #bool, callback, eval_cmd, #hash_kv, hash_kv, install_cmd, num_or_str, #num_or_str, number, #number, string, #string, uninstall_cmd
Methods included from TkEvent
#install_bind, #install_bind_for_event_class
Methods included from TkBindCore
#bind, #bind_append, #bind_remove, #bindinfo
Methods included from TkConfigMethod
#config_hash_kv, #configure_cmd
Methods included from TkTreatFont
#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy
Methods included from Tk
BinaryString, EncodedString, UTF8_String, add_kinsoku, bell, bell_on_display, const_missing, current_grabs, cursor_display, delete_kinsoku, destroy, #encoding, #encoding=, errorCode, errorInfo, exit, focus, focus_lastfor, focus_next, focus_prev, focus_to, fromUTF8, grid, grid_forget, has_mainwindow?, load_tcllibrary, load_tclscript, load_tclscript_rsrc, load_tclscript_rsrcid, lower_window, pack, pack_forget, pkgconfig_get, pkgconfig_list, place, place_forget, raise_window, #root, show_kinsoku, strictMotif, subst_tk_backslash, subst_utf_backslash, tcl_pkgconfig_get, tcl_pkgconfig_list, thread_update, thread_update_idletasks, tk_pkgconfig_get, tk_pkgconfig_list, toUTF8, to_backslash_sequence, ungrid, unload_tcllibrary, unpack, unplace, #update, update, update_idletasks, utf_to_backslash, utf_to_backslash_sequence
Methods included from Tk::Encoding
#encoding, #encoding=, #encoding_convertfrom, #encoding_convertto, #encoding_dirs, #encoding_dirs=, #encoding_names, #encoding_system, #encoding_system=
Methods inherited from TkKernel
Constructor Details
#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 '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) =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 |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class TkObject
Instance Method Details
#[](slot) ⇒ Object
64 65 66 |
# File 'lib/tk/textwindow.rb', line 64 def [](slot) cget(slot) end |
#[]=(slot, value) ⇒ Object
67 68 69 70 |
# File 'lib/tk/textwindow.rb', line 67 def []=(slot, value) configure(slot, value) value end |
#cget(slot) ⇒ Object
72 73 74 |
# File 'lib/tk/textwindow.rb', line 72 def cget(slot) @t.window_cget(@index, slot) end |
#configinfo(slot = nil) ⇒ Object
107 108 109 |
# File 'lib/tk/textwindow.rb', line 107 def configinfo(slot = nil) @t.window_configinfo(@index, slot) end |
#configure(slot, value = None) ⇒ Object
76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
# File '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 ⇒ Object
128 129 130 |
# File 'lib/tk/textwindow.rb', line 128 def create @p_create end |
#create=(value) ⇒ Object
132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 |
# File '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) ⇒ Object
111 112 113 |
# File 'lib/tk/textwindow.rb', line 111 def current_configinfo(slot = nil) @t.current_window_configinfo(@index, slot) end |
#id ⇒ Object
57 58 59 |
# File 'lib/tk/textwindow.rb', line 57 def id TkText::IndexString.new(_epath(@id)) end |
#mark ⇒ Object
60 61 62 |
# File 'lib/tk/textwindow.rb', line 60 def mark @path end |
#window ⇒ Object
115 116 117 |
# File 'lib/tk/textwindow.rb', line 115 def window @id end |
#window=(value) ⇒ Object
119 120 121 122 123 124 125 126 |
# File '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 |