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 Tk
AUTO_PATH, Checkbutton, CloneMenu, JAPANIZED_TK, LIBRARY_PATH, Labelframe, 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, #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 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, 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
Returns a new instance of Tab.
70
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
|
# File 'lib/tkextlib/blt/tabset.rb', line 70
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
26
27
28
29
30
31
32
33
34
35
|
# File 'lib/tkextlib/blt/tabset.rb', line 26
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
37
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
|
# File 'lib/tkextlib/blt/tabset.rb', line 37
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
103
104
105
106
107
108
109
110
111
112
|
# File 'lib/tkextlib/blt/tabset.rb', line 103
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
117
118
119
120
121
122
123
124
125
126
|
# File 'lib/tkextlib/blt/tabset.rb', line 117
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
127
128
129
130
|
# File 'lib/tkextlib/blt/tabset.rb', line 127
def bind_remove(context)
@t.tab_bind_remove(@id, context)
self
end
|
#bindinfo(context = nil) ⇒ Object
131
132
133
|
# File 'lib/tkextlib/blt/tabset.rb', line 131
def bindinfo(context=nil)
@t.tab_bindinfo(@id, context)
end
|
#cget(*args) ⇒ Object
138
139
140
|
# File 'lib/tkextlib/blt/tabset.rb', line 138
def cget(*args)
@t.tab_cget(@id, *args)
end
|
#cget_strict(*args) ⇒ Object
141
142
143
|
# File 'lib/tkextlib/blt/tabset.rb', line 141
def cget_strict(*args)
@t.tab_cget_strict(@id, *args)
end
|
#cget_tkstring(*args) ⇒ Object
135
136
137
|
# File 'lib/tkextlib/blt/tabset.rb', line 135
def cget_tkstring(*args)
@t.tab_cget_tkstring(@id, *args)
end
|
#configinfo(*args) ⇒ Object
147
148
149
|
# File 'lib/tkextlib/blt/tabset.rb', line 147
def configinfo(*args)
@t.tab_configinfo(@id, *args)
end
|
144
145
146
|
# File 'lib/tkextlib/blt/tabset.rb', line 144
def configure(*args)
@t.tab_configure(@id, *args)
end
|
#current_configinfo(*args) ⇒ Object
150
151
152
|
# File 'lib/tkextlib/blt/tabset.rb', line 150
def current_configinfo(*args)
@t.current_tab_configinfo(@id, *args)
end
|
154
155
156
157
158
159
160
|
# File 'lib/tkextlib/blt/tabset.rb', line 154
def delete()
@t.delete(@id)
TabID_TBL.mutex.synchronize{
TabID_TBL[@tpath].delete(@id)
}
self
end
|
166
167
168
|
# File 'lib/tkextlib/blt/tabset.rb', line 166
def focus()
@t.focus(self.index)
end
|
162
163
164
|
# File 'lib/tkextlib/blt/tabset.rb', line 162
def get_name()
@id.dup
end
|
170
171
172
|
# File 'lib/tkextlib/blt/tabset.rb', line 170
def index()
@t.index_name(@id)
end
|
174
175
176
|
# File 'lib/tkextlib/blt/tabset.rb', line 174
def invoke()
@t.invoke(self.index)
end
|
#move_after(idx) ⇒ Object
181
182
183
|
# File 'lib/tkextlib/blt/tabset.rb', line 181
def move_after(idx)
@t.move_after(self.index, idx)
end
|
#move_before(idx) ⇒ Object
178
179
180
|
# File 'lib/tkextlib/blt/tabset.rb', line 178
def move_before(idx)
@t.move_before(self.index, idx)
end
|
#perforation_highlight(mode) ⇒ Object
185
186
187
|
# File 'lib/tkextlib/blt/tabset.rb', line 185
def perforation_highlight(mode)
@t.perforation_highlight(self.index, mode)
end
|
#perforation_invoke ⇒ Object
188
189
190
|
# File 'lib/tkextlib/blt/tabset.rb', line 188
def perforation_invoke()
@t.perforation_invoke(self.index)
end
|
192
193
194
|
# File 'lib/tkextlib/blt/tabset.rb', line 192
def see()
@t.see(self.index)
end
|
#tearoff(name = None) ⇒ Object
196
197
198
|
# File 'lib/tkextlib/blt/tabset.rb', line 196
def tearoff(name=None)
@t.tab_tearoff(self.index, *args)
end
|