Class: Tk::BLT::Tabset::Tab
Constant Summary
collapse
- TabID_TBL =
TkCore::INTERP.create_table
Constants included
from TkCore
TkCore::EventFlag, TkCore::INTERP, TkCore::INTERP_MUTEX, TkCore::INTERP_ROOT_CHECK, TkCore::INTERP_THREAD, TkCore::INTERP_THREAD_STATUS, TkCore::RUN_EVENTLOOP_ON_MAIN_THREAD, TkCore::WIDGET_DESTROY_HOOK, TkCore::WITH_ENCODING, TkCore::WITH_RUBY_VM
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, Checkbutton, CloneMenu, Fontchooser, INTERP, JAPANIZED_TK, LIBRARY_PATH, Labelframe, MAINLOOP, MenuButton, OptionMenuButton, PACKAGE_PATH, Panedwindow, RELEASE_DATE, Radiobutton, 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
Encoding::BINARY, Encoding::BINARY_NAME, Encoding::DEFAULT_EXTERNAL_NAME, Encoding::DEFAULT_INTERNAL_NAME, Encoding::ENCODING_TABLE, Encoding::RubyEncoding, Encoding::TkCommandNames, Encoding::UNKNOWN, Encoding::UTF8_NAME
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
-
#cget_strict(*args) ⇒ Object
-
#cget_tkstring(*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
-
#invoke ⇒ Object
-
#move_after(idx) ⇒ Object
-
#move_before(idx) ⇒ Object
-
#perforation_highlight(mode) ⇒ Object
-
#perforation_invoke ⇒ Object
-
#see ⇒ Object
-
#tearoff(name = None) ⇒ Object
#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, #install_cmd, list, num_or_nil, num_or_str, number, procedure, simplelist, slice_ary, string, #subst, tk_tcl2ruby, uninstall_cmd, #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_nil, num_or_nil, num_or_str, #num_or_str, number, #number, string, #string, uninstall_cmd, untrust
Methods included from TkEvent
#install_bind, #install_bind_for_event_class
#[], #[]=, __IGNORE_UNKNOWN_CONFIGURE_OPTION__, #__check_available_configure_options, __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!, #config_hash_kv, #configure_cmd
#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy
Methods included from Tk
BinaryString, EncodedString, #Grid, #Pack, #Place, UTF8_String, __create_widget_set__, __disable_toplevel_control__, __import_toplevel_aliases__, __regist_toplevel_aliases__, __remove_toplevel_aliases__, __reset_toplevel_owner__, __set_loaded_toplevel_aliases__, __set_toplevel_aliases__, __toplevel_alias_setup_proc__, _replace_toplevel_aliases, add_kinsoku, backup_current_topdef, bell, bell_on_display, const_missing, current_grabs, cursor_display, default_widget_set, default_widget_set=, define_topalias, define_topobj, 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, regist_sym_for_loaded_file, replace_topalias, replace_topobj, #root, set_topalias, show_kinsoku, sleep, 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, topalias_defined?, toplevel_aliases_on_widget_set, topobj_defined?, ungrid, unload_tcllibrary, unpack, unplace, update, #update, update_idletasks, utf_to_backslash, utf_to_backslash_sequence, wakeup, widget_set_symbols
Methods included from Encoding
#default_encoding=, #encoding=, #encoding_convertfrom, #encoding_convertto, #encoding_dirs, #encoding_dirs=, #encoding_name, #encoding_names, #encoding_obj, #encoding_objs, #encoding_system=, #encoding_system_name, #encoding_system_obj, #force_default_encoding, #force_default_encoding=, #force_default_encoding?, #tk_encoding_names
Constructor Details
#initialize(parent, pos, name, keys) ⇒ Tab
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
|
# File 'lib/tkextlib/blt/tabset.rb', line 71
def initialize(parent, pos, name, keys)
@t = parent
@tpath = parent.path
if name
@path = @id = name
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, 'move', idx, 'after', 'end')
else
tk_call(@tpath, 'move', idx, 'before', pos)
end
end
tk_call(@tpath, 'tab', 'configure', @id, keys)
else
pos = 'end' unless pos
tk_call(@tpath, 'insert', pos, @id, keys)
end
else
pos = 'end' unless pos
TabsetTab_ID.mutex.synchronize{
@path = @id = TabsetTab_ID.join(TkCore::INTERP._ip_id_)
TabsetTab_ID[1].succ!
}
tk_call(@tpath, 'insert', pos, @id, keys)
end
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
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/tkextlib/blt/tabset.rb', line 27
def self.id2obj(tabset, id)
tpath = tabset.path
TabID_TBL.mutex.synchronize{
if TabID_TBL[tpath]
TabID_TBL[tpath][id]? TabID_TBL[tpath][id]: id
else
id
end
}
end
|
.new(parent, pos = nil, name = nil, keys = {}) ⇒ Object
38
39
40
41
42
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
|
# File 'lib/tkextlib/blt/tabset.rb', line 38
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
obj = nil
TabID_TBL.mutex.synchronize{
if name && TabID_TBL[parent.path] && TabID_TBL[parent.path][name]
obj = TabID_TBL[parent.path][name]
if pos
if pos.to_s == 'end'
obj.move_after('end')
else
obj.move_before(pos)
end
end
obj.configure if keys && ! keys.empty?
else
(obj = self.allocate).instance_eval{
initialize(parent, pos, name, keys)
TabID_TBL[@tpath] = {} unless TabID_TBL[@tpath]
TabID_TBL[@tpath][@id] = self
}
end
}
obj
end
|
Instance Method Details
#bind(context, *args) ⇒ Object
def bind(context, cmd=Proc.new, *args)
@t.tab_bind(@id, context, cmd, *args)
self
end
104
105
106
107
108
109
110
111
112
113
|
# File 'lib/tkextlib/blt/tabset.rb', line 104
def bind(context, *args)
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
118
119
120
121
122
123
124
125
126
127
|
# File 'lib/tkextlib/blt/tabset.rb', line 118
def bind_append(context, *args)
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
128
129
130
131
|
# File 'lib/tkextlib/blt/tabset.rb', line 128
def bind_remove(context)
@t.tab_bind_remove(@id, context)
self
end
|
#bindinfo(context = nil) ⇒ Object
132
133
134
|
# File 'lib/tkextlib/blt/tabset.rb', line 132
def bindinfo(context=nil)
@t.tab_bindinfo(@id, context)
end
|
#cget(*args) ⇒ Object
139
140
141
|
# File 'lib/tkextlib/blt/tabset.rb', line 139
def cget(*args)
@t.tab_cget(@id, *args)
end
|
#cget_strict(*args) ⇒ Object
142
143
144
|
# File 'lib/tkextlib/blt/tabset.rb', line 142
def cget_strict(*args)
@t.tab_cget_strict(@id, *args)
end
|
#cget_tkstring(*args) ⇒ Object
136
137
138
|
# File 'lib/tkextlib/blt/tabset.rb', line 136
def cget_tkstring(*args)
@t.tab_cget_tkstring(@id, *args)
end
|
#configinfo(*args) ⇒ Object
148
149
150
|
# File 'lib/tkextlib/blt/tabset.rb', line 148
def configinfo(*args)
@t.tab_configinfo(@id, *args)
end
|
145
146
147
|
# File 'lib/tkextlib/blt/tabset.rb', line 145
def configure(*args)
@t.tab_configure(@id, *args)
end
|
#current_configinfo(*args) ⇒ Object
151
152
153
|
# File 'lib/tkextlib/blt/tabset.rb', line 151
def current_configinfo(*args)
@t.current_tab_configinfo(@id, *args)
end
|
155
156
157
158
159
160
161
|
# File 'lib/tkextlib/blt/tabset.rb', line 155
def delete()
@t.delete(@id)
TabID_TBL.mutex.synchronize{
TabID_TBL[@tpath].delete(@id)
}
self
end
|
167
168
169
|
# File 'lib/tkextlib/blt/tabset.rb', line 167
def focus()
@t.focus(self.index)
end
|
163
164
165
|
# File 'lib/tkextlib/blt/tabset.rb', line 163
def get_name()
@id.dup
end
|
171
172
173
|
# File 'lib/tkextlib/blt/tabset.rb', line 171
def index()
@t.index_name(@id)
end
|
175
176
177
|
# File 'lib/tkextlib/blt/tabset.rb', line 175
def invoke()
@t.invoke(self.index)
end
|
#move_after(idx) ⇒ Object
182
183
184
|
# File 'lib/tkextlib/blt/tabset.rb', line 182
def move_after(idx)
@t.move_after(self.index, idx)
end
|
#move_before(idx) ⇒ Object
179
180
181
|
# File 'lib/tkextlib/blt/tabset.rb', line 179
def move_before(idx)
@t.move_before(self.index, idx)
end
|
#perforation_highlight(mode) ⇒ Object
186
187
188
|
# File 'lib/tkextlib/blt/tabset.rb', line 186
def perforation_highlight(mode)
@t.perforation_highlight(self.index, mode)
end
|
#perforation_invoke ⇒ Object
189
190
191
|
# File 'lib/tkextlib/blt/tabset.rb', line 189
def perforation_invoke()
@t.perforation_invoke(self.index)
end
|
193
194
195
|
# File 'lib/tkextlib/blt/tabset.rb', line 193
def see()
@t.see(self.index)
end
|
#tearoff(name = None) ⇒ Object
197
198
199
|
# File 'lib/tkextlib/blt/tabset.rb', line 197
def tearoff(name=None)
@t.tab_tearoff(self.index, *args)
end
|