Class: Tk::BLT::Tabset::Tab
- Includes:
- TkTreatItemFont
- Defined in:
- lib/tkextlib/blt/tabset.rb
Direct Known Subclasses
Constant Summary collapse
- TabID_TBL =
TkCore::INTERP.create_table
- TabsetTab_ID =
['blt_tabset_tab'.freeze, '00000'.taint].freeze
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
AUTO_PATH, INTERP, JAPANIZED_TK, LIBRARY_PATH, MAINLOOP, PACKAGE_PATH, RELEASE_DATE, TCL_LIBRARY_PATH, TCL_MAJOR_VERSION, TCL_MINOR_VERSION, TCL_PACKAGE_PATH, TCL_PATCHLEVEL, TCL_PRECISION, TCL_VERSION, TK_MAJOR_VERSION, TK_MINOR_VERSION, TK_PATCHLEVEL, TK_VERSION, Tkextlib_RELEASE_DATE, TreeCtrl_Widget, X_Scrollable, Y_Scrollable
Constants included from Encoding
Class Method Summary collapse
Instance Method Summary collapse
-
#bind(context, *args) ⇒ Object
def bind(context, cmd=Proc.new, *args) @t.tab_bind(@id, context, cmd, *args) self end.
-
#bind_append(context, *args) ⇒ Object
def bind_append(context, cmd=Proc.new, *args) @t.tab_bind_append(@id, context, cmd, *args) self end.
- #bind_remove(context) ⇒ Object
- #bindinfo(context = nil) ⇒ Object
- #cget(*args) ⇒ Object
- #configinfo(*args) ⇒ Object
- #configure(*args) ⇒ Object
- #current_configinfo(*args) ⇒ Object
- #delete ⇒ Object
- #focus ⇒ Object
- #get_name ⇒ Object
- #index ⇒ Object
-
#initialize(parent, pos, name, keys) ⇒ Tab
constructor
A new instance of Tab.
- #invoke ⇒ Object
- #move_after(idx) ⇒ Object
- #move_before(idx) ⇒ Object
- #perforation_highlight(mode) ⇒ Object
- #perforation_invoke ⇒ Object
- #see ⇒ Object
- #tearoff(name = None) ⇒ Object
Methods included from TkTreatItemFont
#kanjifont_copy, #kanjitagfont_configure, #latintagfont_configure, #latintagfont_copy, #tagfont_configinfo, #tagfont_configure, #tagfont_copy
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_all, #bind_append_all, #bind_remove_all, #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 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 Encoding
#encoding, #encoding=, #encoding_convertfrom, #encoding_convertto, #encoding_dirs, #encoding_dirs=, #encoding_names, #encoding_system, #encoding_system=
Constructor Details
#initialize(parent, pos, name, keys) ⇒ Tab
Returns a new instance of Tab.
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 |
# File 'lib/tkextlib/blt/tabset.rb', line 43 def initialize(parent, pos, name, keys) @t = parent @tpath = parent.path if name @path = @id = name TabID_TBL[@tpath] = {} unless TabID_TBL[@tpath] TabID_TBL[@tpath][@id] = self unless (list(tk_call(@tpath, 'tab', 'names', @id)).empty?) if pos idx = tk_call(@tpath, 'index', '-name', @id) if pos.to_s == 'end' tk_call(@tpath, idx, 'moveto', 'after', 'end') else tk_call(@tpath, idx, 'moveto', 'before', pos) end end tk_call(@tpath, 'tab', 'configure', @id, keys) return end else @path = @id = TabsetTab_ID.join(TkCore::INTERP._ip_id_) TabID_TBL[@tpath] = {} unless TabID_TBL[@tpath] TabID_TBL[@tpath][@id] = self TabsetTab_ID[1].succ! end pos = 'end' unless pos tk_call(@tpath, 'insert', pos, @id, keys) end |
Dynamic Method Handling
This class handles dynamic methods through the method_missing method in the class TkObject
Class Method Details
.id2obj(tabset, id) ⇒ Object
19 20 21 22 23 |
# File 'lib/tkextlib/blt/tabset.rb', line 19 def self.id2obj(tabset, id) tpath = tabset.path return id unless TabID_TBL[tpath] TabID_TBL[tpath][id]? TabID_TBL[tpath]: id end |
.new(parent, pos = nil, name = nil, keys = {}) ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
# File 'lib/tkextlib/blt/tabset.rb', line 25 def self.new(parent, pos=nil, name=nil, keys={}) if pos.kind_of?(Hash) keys = pos name = nil pos = nil end if name.kind_of?(Hash) keys = name name = nil end if name && TabID_TBL[parent.path] && TabID_TBL[parent.path][name] TabID_TBL[parent.path][name] else super(parent, pos, name, keys) end end |
Instance Method Details
#bind(context, *args) ⇒ Object
def bind(context, cmd=Proc.new, *args)
@t.tab_bind(@id, context, cmd, *args)
self
end
79 80 81 82 83 84 85 86 87 88 |
# File 'lib/tkextlib/blt/tabset.rb', line 79 def bind(context, *args) # if args[0].kind_of?(Proc) || args[0].kind_of?(Method) if TkComm._callback_entry?(args[0]) || !block_given? cmd = args.shift else cmd = Proc.new end @t.tab_bind(@id, context, cmd, *args) self end |
#bind_append(context, *args) ⇒ Object
def bind_append(context, cmd=Proc.new, *args)
@t.tab_bind_append(@id, context, cmd, *args)
self
end
93 94 95 96 97 98 99 100 101 102 |
# File 'lib/tkextlib/blt/tabset.rb', line 93 def bind_append(context, *args) # if args[0].kind_of?(Proc) || args[0].kind_of?(Method) if TkComm._callback_entry?(args[0]) || !block_given? cmd = args.shift else cmd = Proc.new end @t.tab_bind_append(@id, context, cmd, *args) self end |
#bind_remove(context) ⇒ Object
103 104 105 106 |
# File 'lib/tkextlib/blt/tabset.rb', line 103 def bind_remove(context) @t.tab_bind_remove(@id, context) self end |
#bindinfo(context = nil) ⇒ Object
107 108 109 |
# File 'lib/tkextlib/blt/tabset.rb', line 107 def bindinfo(context=nil) @t.tab_bindinfo(@id, context) end |
#cget(*args) ⇒ Object
111 112 113 |
# File 'lib/tkextlib/blt/tabset.rb', line 111 def cget(*args) @t.tab_cget(@id, *args) end |
#configinfo(*args) ⇒ Object
117 118 119 |
# File 'lib/tkextlib/blt/tabset.rb', line 117 def configinfo(*args) @t.tab_configinfo(@id, *args) end |
#configure(*args) ⇒ Object
114 115 116 |
# File 'lib/tkextlib/blt/tabset.rb', line 114 def configure(*args) @t.tab_configure(@id, *args) end |
#current_configinfo(*args) ⇒ Object
120 121 122 |
# File 'lib/tkextlib/blt/tabset.rb', line 120 def current_configinfo(*args) @t.current_tab_configinfo(@id, *args) end |
#delete ⇒ Object
124 125 126 127 128 |
# File 'lib/tkextlib/blt/tabset.rb', line 124 def delete() @t.delete(@id) TabID_TBL[@tpath].delete(@id) self end |
#focus ⇒ Object
134 135 136 |
# File 'lib/tkextlib/blt/tabset.rb', line 134 def focus() @t.focus(self.index) end |
#get_name ⇒ Object
130 131 132 |
# File 'lib/tkextlib/blt/tabset.rb', line 130 def get_name() @id.dup end |
#index ⇒ Object
138 139 140 |
# File 'lib/tkextlib/blt/tabset.rb', line 138 def index() @t.index_name(@id) end |
#invoke ⇒ Object
142 143 144 |
# File 'lib/tkextlib/blt/tabset.rb', line 142 def invoke() @t.invoke(self.index) end |
#move_after(idx) ⇒ Object
149 150 151 |
# File 'lib/tkextlib/blt/tabset.rb', line 149 def move_after(idx) @t.move_after(self.index, idx) end |
#move_before(idx) ⇒ Object
146 147 148 |
# File 'lib/tkextlib/blt/tabset.rb', line 146 def move_before(idx) @t.move_before(self.index, idx) end |
#perforation_highlight(mode) ⇒ Object
153 154 155 |
# File 'lib/tkextlib/blt/tabset.rb', line 153 def perforation_highlight(mode) @t.perforation.highlight(self.index, mode) end |
#perforation_invoke ⇒ Object
156 157 158 |
# File 'lib/tkextlib/blt/tabset.rb', line 156 def perforation_invoke() @t.perforation.invoke(self.index) end |
#see ⇒ Object
160 161 162 |
# File 'lib/tkextlib/blt/tabset.rb', line 160 def see() @t.see(self.index) end |
#tearoff(name = None) ⇒ Object
164 165 166 |
# File 'lib/tkextlib/blt/tabset.rb', line 164 def tearoff(name=None) @t.tab_tearoff(self.index, *args) end |