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::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, 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::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
-
#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_str, number, procedure, simplelist, 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_str, #num_or_str, number, #number, string, #string, uninstall_cmd
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, __set_toplevel_aliases__, add_kinsoku, bell, bell_on_display, const_missing, current_grabs, cursor_display, default_widget_set, default_widget_set=, 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, 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, ungrid, unload_tcllibrary, unpack, unplace, #update, update, update_idletasks, utf_to_backslash, utf_to_backslash_sequence, wakeup
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.
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
|
# File 'lib/tkextlib/blt/tabset.rb', line 63
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, idx, 'moveto', 'after', 'end')
else
tk_call(@tpath, idx, 'moveto', '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
TabsetTab_ID.mutex.synchronize{
@path = @id = TabsetTab_ID.join(TkCore::INTERP._ip_id_)
TabsetTab_ID[1].succ!
}
pos = 'end' unless pos
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
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
|
# 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]
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
96
97
98
99
100
101
102
103
104
105
|
# File 'lib/tkextlib/blt/tabset.rb', line 96
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
110
111
112
113
114
115
116
117
118
119
|
# File 'lib/tkextlib/blt/tabset.rb', line 110
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
120
121
122
123
|
# File 'lib/tkextlib/blt/tabset.rb', line 120
def bind_remove(context)
@t.tab_bind_remove(@id, context)
self
end
|
#bindinfo(context = nil) ⇒ Object
124
125
126
|
# File 'lib/tkextlib/blt/tabset.rb', line 124
def bindinfo(context=nil)
@t.tab_bindinfo(@id, context)
end
|
#cget(*args) ⇒ Object
128
129
130
|
# File 'lib/tkextlib/blt/tabset.rb', line 128
def cget(*args)
@t.tab_cget(@id, *args)
end
|
#cget_strict(*args) ⇒ Object
131
132
133
|
# File 'lib/tkextlib/blt/tabset.rb', line 131
def cget_strict(*args)
@t.tab_cget_strict(@id, *args)
end
|
#configinfo(*args) ⇒ Object
137
138
139
|
# File 'lib/tkextlib/blt/tabset.rb', line 137
def configinfo(*args)
@t.tab_configinfo(@id, *args)
end
|
134
135
136
|
# File 'lib/tkextlib/blt/tabset.rb', line 134
def configure(*args)
@t.tab_configure(@id, *args)
end
|
#current_configinfo(*args) ⇒ Object
140
141
142
|
# File 'lib/tkextlib/blt/tabset.rb', line 140
def current_configinfo(*args)
@t.current_tab_configinfo(@id, *args)
end
|
144
145
146
147
148
149
150
|
# File 'lib/tkextlib/blt/tabset.rb', line 144
def delete()
@t.delete(@id)
TabID_TBL.mutex.synchronize{
TabID_TBL[@tpath].delete(@id)
}
self
end
|
156
157
158
|
# File 'lib/tkextlib/blt/tabset.rb', line 156
def focus()
@t.focus(self.index)
end
|
152
153
154
|
# File 'lib/tkextlib/blt/tabset.rb', line 152
def get_name()
@id.dup
end
|
160
161
162
|
# File 'lib/tkextlib/blt/tabset.rb', line 160
def index()
@t.index_name(@id)
end
|
164
165
166
|
# File 'lib/tkextlib/blt/tabset.rb', line 164
def invoke()
@t.invoke(self.index)
end
|
#move_after(idx) ⇒ Object
171
172
173
|
# File 'lib/tkextlib/blt/tabset.rb', line 171
def move_after(idx)
@t.move_after(self.index, idx)
end
|
#move_before(idx) ⇒ Object
168
169
170
|
# File 'lib/tkextlib/blt/tabset.rb', line 168
def move_before(idx)
@t.move_before(self.index, idx)
end
|
#perforation_highlight(mode) ⇒ Object
175
176
177
|
# File 'lib/tkextlib/blt/tabset.rb', line 175
def perforation_highlight(mode)
@t.perforation.highlight(self.index, mode)
end
|
#perforation_invoke ⇒ Object
178
179
180
|
# File 'lib/tkextlib/blt/tabset.rb', line 178
def perforation_invoke()
@t.perforation.invoke(self.index)
end
|
182
183
184
|
# File 'lib/tkextlib/blt/tabset.rb', line 182
def see()
@t.see(self.index)
end
|
#tearoff(name = None) ⇒ Object
186
187
188
|
# File 'lib/tkextlib/blt/tabset.rb', line 186
def tearoff(name=None)
@t.tab_tearoff(self.index, *args)
end
|