Class: Tk::BLT::Tabset

Inherits:
TkWindow show all
Includes:
XScrollable, TkItemConfigMethod
Defined in:
lib/tkextlib/blt/tabset.rb

Direct Known Subclasses

Tabnotebook

Defined Under Namespace

Classes: NamedTab, Tab

Constant Summary collapse

TkCommandNames =
['::blt::tabset'.freeze].freeze
WidgetClassName =
'Tabset'.freeze

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 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 TkDND::Shape

TkDND::Shape::PACKAGE_NAME

Instance Method Summary collapse

Methods included from TkItemConfigMethod

#current_itemconfiginfo, #itemcget, #itemconfiginfo, #itemconfigure

Methods included from TkItemConfigOptkeys

#__conv_item_keyonly_opts, #itemconfig_hash_kv

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 TkTreatItemFont

#kanjifont_copy, #kanjitagfont_configure, #latintagfont_configure, #latintagfont_copy, #tagfont_configinfo, #tagfont_configure, #tagfont_copy

Methods included from XScrollable

#xscrollbar, #xview_moveto, #xview_scroll

Methods inherited from TkWindow

#bind_class, #bindtags, #bindtags=, #bindtags_shift, #bindtags_unshift, #caret, #colormodel, #command, #cursor_propagate, #cursor_restore, #database_class, database_class, #database_classname, database_classname, #destroy, #eventloop_wait_destroy, #eventloop_wait_visibility, #exist?, #grab, #grab_current, #grab_release, #grab_set, #grab_set_global, #grab_status, #grid, #grid_bbox, #grid_columnconfig, #grid_columnconfiginfo, #grid_config, #grid_forget, #grid_in, #grid_info, #grid_location, #grid_propagate, #grid_remove, #grid_rowconfig, #grid_rowconfiginfo, #grid_size, #grid_slaves, #initialize, #lower, #pack, #pack_config, #pack_forget, #pack_in, #pack_info, #pack_propagate, #pack_slaves, #place, #place_config, #place_configinfo, #place_forget, #place_in, #place_info, #place_slaves, #raise, #set_focus, #thread_wait_destroy, #thread_wait_visibility, #tktrans_get_image, #tktrans_set_image, to_eval, #wait_destroy, #wait_visibility

Methods included from TkBindCore

#bind, #bind_append, #bind_remove, #bindinfo

Methods included from TkWinfo

appname, atom, atomname, cells, children, classname, colormapfull, containing, depth, exist?, fpixels, geometry, height, id, interps, manager, mapped?, parent, pixels, pointerx, pointerxy, pointery, reqheight, reqwidth, rgb, rootx, rooty, screen, screencells, screendepth, screenheight, screenmmheight, screenmmwidth, screenvisual, screenwidth, server, toplevel, viewable, visual, visualid, visualsavailable, vrootheight, vrootwidth, vrootx, vrooty, widget, width, #winfo_appname, #winfo_atom, #winfo_atomname, #winfo_cells, #winfo_children, #winfo_classname, #winfo_colormapfull, #winfo_containing, #winfo_depth, #winfo_exist?, #winfo_fpixels, #winfo_geometry, #winfo_height, #winfo_id, #winfo_interps, #winfo_manager, #winfo_mapped?, #winfo_parent, #winfo_pixels, #winfo_pointerx, #winfo_pointerxy, #winfo_pointery, #winfo_reqheight, #winfo_reqwidth, #winfo_rgb, #winfo_rootx, #winfo_rooty, #winfo_screen, #winfo_screencells, #winfo_screendepth, #winfo_screenheight, #winfo_screenmmheight, #winfo_screenmmwidth, #winfo_screenvisual, #winfo_screenwidth, #winfo_server, #winfo_toplevel, #winfo_viewable, #winfo_visual, #winfo_visualid, #winfo_visualsavailable, #winfo_vrootheight, #winfo_vrootwidth, #winfo_vrootx, #winfo_vrooty, #winfo_widget, #winfo_width, #winfo_x, #winfo_y, x, y

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=

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 TkEvent

#install_bind, #install_bind_for_event_class

Methods included from TkDND::DND

#dnd_bindsource, #dnd_bindsource_info, #dnd_bindtarget, #dnd_bindtarget_info, #dnd_clearsource, #dnd_cleartarget, #dnd_drag, version

Methods included from TkDND::Shape

package_name, package_patchlevel, package_version, #shape_bounds, #shape_get, #shape_offset, #shape_set, #shape_update, version

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 TkConfigMethod

#[], #[]=, #cget, #config_hash_kv, #configinfo, #configure, #configure_cmd, #current_configinfo

Methods included from TkTreatFont

#font_configinfo, #font_configure, #font_copy, #kanjifont_configure, #kanjifont_copy, #latinfont_configure, #latinfont_copy

Methods inherited from TkKernel

new

Constructor Details

This class inherits a constructor from TkWindow

Dynamic Method Handling

This class handles dynamic methods through the method_missing method in the class TkObject

Instance Method Details

#__boolval_optkeysObject



192
193
194
# File 'lib/tkextlib/blt/tabset.rb', line 192

def __boolval_optkeys
  super() << 'samewidth' << 'tearoff'
end

#__destroy_hook__Object



186
187
188
# File 'lib/tkextlib/blt/tabset.rb', line 186

def __destroy_hook__
  Tk::BLT::Tabset::Tab::TabID_TBL.delete(@path)
end

#activate(index) ⇒ Object Also known as: highlight



249
250
251
252
# File 'lib/tkextlib/blt/tabset.rb', line 249

def activate(index)
  tk_send('activate', tagindex(index))
  self
end

#delete(first, last = None) ⇒ Object



291
292
293
294
295
296
297
298
299
300
301
# File 'lib/tkextlib/blt/tabset.rb', line 291

def delete(first, last=None)
  tk_send('delete', tagindex(first), tagindex(last))
  if first.kind_of?(Tk::BLT::Tabset::Tab)
    TabID_TBL[@path].delete(first.id)
  end
  # middle tabs of the range are unknown
  if last.kind_of?(Tk::BLT::Tabset::Tab)
    TabID_TBL[@path].delete(last.id)
  end
  self
end

#focus(index) ⇒ Object



303
304
305
306
# File 'lib/tkextlib/blt/tabset.rb', line 303

def focus(index)
  tk_send('focus', tagindex(index))
  self
end

#get_tab(index) ⇒ Object



308
309
310
# File 'lib/tkextlib/blt/tabset.rb', line 308

def get_tab(index)
  Tk::BLT::Tabset::Tab.id2obj(tk_send_without_enc('get', tagindex(index)))
end

#index(str) ⇒ Object



312
313
314
# File 'lib/tkextlib/blt/tabset.rb', line 312

def index(str)
  num_or_str(tk_send('index', str))
end

#index_name(tab) ⇒ Object



315
316
317
# File 'lib/tkextlib/blt/tabset.rb', line 315

def index_name(tab)
  num_or_str(tk_send('index', '-mame', tagid(tab)))
end

#insert(pos, tab, keys = {}) ⇒ Object



319
320
321
# File 'lib/tkextlib/blt/tabset.rb', line 319

def insert(pos, tab, keys={})
  Tk::BLT::Tabset::Tab.new(self, tagindex(pos), tagid(tab), keys)
end

#invoke(index) ⇒ Object



323
324
325
# File 'lib/tkextlib/blt/tabset.rb', line 323

def invoke(index)
  tk_send('invoke', tagindex(index))
end

#move_after(index, base_idx) ⇒ Object



331
332
333
334
# File 'lib/tkextlib/blt/tabset.rb', line 331

def move_after(index, base_idx)
  tk_send('move', tagindex(index), 'after', tagindex(base_idx))
  self
end

#move_before(index, base_idx) ⇒ Object



327
328
329
330
# File 'lib/tkextlib/blt/tabset.rb', line 327

def move_before(index, base_idx)
  tk_send('move', tagindex(index), 'before', tagindex(base_idx))
  self
end

#nearest(x, y) ⇒ Object



336
337
338
# File 'lib/tkextlib/blt/tabset.rb', line 336

def nearest(x, y)
  Tk::BLT::Tabset::Tab.id2obj(num_or_str(tk_send_without_enc('nearest', x, y)))
end

#perforation_highlight(index, mode) ⇒ Object



340
341
342
343
# File 'lib/tkextlib/blt/tabset.rb', line 340

def perforation_highlight(index, mode)
  tk_send('perforation', 'highlight', tagindex(index), mode)
  self
end

#perforation_invoke(index) ⇒ Object



344
345
346
# File 'lib/tkextlib/blt/tabset.rb', line 344

def perforation_invoke(index)
  tk_send('perforation', 'invoke', tagindex(index))
end

#scan_dragto(x, y) ⇒ Object



352
353
354
355
# File 'lib/tkextlib/blt/tabset.rb', line 352

def scan_dragto(x, y)
  tk_send_without_enc('scan', 'dragto', x, y)
  self
end

#scan_mark(x, y) ⇒ Object



348
349
350
351
# File 'lib/tkextlib/blt/tabset.rb', line 348

def scan_mark(x, y)
  tk_send_without_enc('scan', 'mark', x, y)
  self
end

#see(index) ⇒ Object



357
358
359
360
# File 'lib/tkextlib/blt/tabset.rb', line 357

def see(index)
  tk_send('see', tagindex(index))
  self
end

#select(index) ⇒ Object



366
367
368
369
# File 'lib/tkextlib/blt/tabset.rb', line 366

def select(index)
  tk_send('select', tagindex(index))
  self
end

#sizeObject



362
363
364
# File 'lib/tkextlib/blt/tabset.rb', line 362

def size()
  number(tk_send_without_enc('size'))
end

#tab_names(pat = None) ⇒ Object



371
372
373
374
375
# File 'lib/tkextlib/blt/tabset.rb', line 371

def tab_names(pat=None)
  simplelist(tk_send('tab', 'names', pat)).collect{|name|
    Tk::BLT::Tabset::Tab.id2obj(name)
  }
end

#tab_tearoff(index, name = None) ⇒ Object



377
378
379
# File 'lib/tkextlib/blt/tabset.rb', line 377

def tab_tearoff(index, name=None)
  window(tk_send('tab', 'tearoff', tagindex(index), name))
end

#tabbind(tag, context, *args) ⇒ Object

def tabbind(tag, context, cmd=Proc.new, *args)

_bind([path, "bind", tagid(tag)], context, cmd, *args)
self

end



259
260
261
262
263
264
265
266
267
268
# File 'lib/tkextlib/blt/tabset.rb', line 259

def tabbind(tag, 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
  _bind([path, "bind", tagid(tag)], context, cmd, *args)
  self
end

#tabbind_append(tag, context, *args) ⇒ Object

def tabbind_append(tag, context, cmd=Proc.new, *args)

_bind_append([path, "bind", tagid(tag)], context, cmd, *args)
self

end



273
274
275
276
277
278
279
280
281
282
# File 'lib/tkextlib/blt/tabset.rb', line 273

def tabbind_append(tag, 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
  _bind_append([path, "bind", tagid(tag)], context, cmd, *args)
  self
end

#tabbind_remove(tag, context) ⇒ Object



283
284
285
286
# File 'lib/tkextlib/blt/tabset.rb', line 283

def tabbind_remove(tag, context)
  _bind_remove([path, "bind", tagid(tag)], context)
  self
end

#tabbindinfo(tag, context = nil) ⇒ Object



287
288
289
# File 'lib/tkextlib/blt/tabset.rb', line 287

def tabbindinfo(tag, context=nil)
  _bindinfo([path, "bind", tagid(tag)], context)
end

#tagid(tab) ⇒ Object



231
232
233
234
235
236
237
# File 'lib/tkextlib/blt/tabset.rb', line 231

def tagid(tab)
  if tab.kind_of?(Tk::BLT::Tabset::Tab)
    tab.id
  else
    tab
  end
end

#tagindex(tab) ⇒ Object



239
240
241
242
243
244
245
# File 'lib/tkextlib/blt/tabset.rb', line 239

def tagindex(tab)
  if tab.kind_of?(Tk::BLT::Tabset::Tab)
    tab.index
  else
    tab
  end
end

#xscrollcommand(cmd = Proc.new) ⇒ Object Also known as: scrollcommand



381
382
383
384
# File 'lib/tkextlib/blt/tabset.rb', line 381

def xscrollcommand(cmd=Proc.new)
  configure_cmd 'scrollcommand', cmd
  self
end

#xview(*index) ⇒ Object Also known as: view



387
388
389
390
391
392
393
394
# File 'lib/tkextlib/blt/tabset.rb', line 387

def xview(*index)
  if index.empty?
    list(tk_send_without_enc('view'))
  else
    tk_send_without_enc('view', *index)
    self
  end
end