Class: TkObject

Inherits:
TkKernel show all
Extended by:
TkCore
Includes:
Tk, TkBindCore, TkConfigMethod
Defined in:
tkutil/tkutil.c,
lib/tk.rb

Constant Summary

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

Tk::AUTO_PATH, Tk::Fontchooser, Tk::INTERP, Tk::JAPANIZED_TK, Tk::LIBRARY_PATH, Tk::MAINLOOP, Tk::PACKAGE_PATH, Tk::RELEASE_DATE, Tk::TCL_LIBRARY_PATH, Tk::TCL_MAJOR_VERSION, Tk::TCL_MINOR_VERSION, Tk::TCL_PACKAGE_PATH, Tk::TCL_PATCHLEVEL, Tk::TCL_PRECISION, Tk::TCL_VERSION, Tk::TK_MAJOR_VERSION, Tk::TK_MINOR_VERSION, Tk::TK_PATCHLEVEL, Tk::TK_VERSION, Tk::Tkextlib_RELEASE_DATE, Tk::TreeCtrl_Widget, Tk::X_Scrollable, Tk::Y_Scrollable

Constants included from Tk::Encoding

Tk::Encoding::BINARY, Tk::Encoding::BINARY_NAME, Tk::Encoding::DEFAULT_EXTERNAL_NAME, Tk::Encoding::DEFAULT_INTERNAL_NAME, Tk::Encoding::ENCODING_TABLE, Tk::Encoding::RubyEncoding, Tk::Encoding::TkCommandNames, Tk::Encoding::UNKNOWN, Tk::Encoding::UTF8_NAME

Instance Method Summary collapse

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, 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, 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

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 TkBindCore

#bind, #bind_append, #bind_remove, #bindinfo

Methods included from TkConfigMethod

#[], #[]=, __IGNORE_UNKNOWN_CONFIGURE_OPTION__, #__check_available_configure_options, __set_IGNORE_UNKNOWN_CONFIGURE_OPTION__!, #cget, #cget_strict, #cget_tkstring, #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 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 Tk::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

Methods inherited from TkKernel

new

Dynamic Method Handling

This class handles dynamic methods through the method_missing method

#method_missing(id, *args) ⇒ Object



4968
4969
4970
4971
4972
4973
4974
4975
4976
4977
4978
4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
# File 'lib/tk.rb', line 4968

def method_missing(id, *args)
  name = id.id2name
  case args.length
  when 1
    if name[-1] == ?=
      configure name[0..-2], args[0]
      args[0]
    else
      configure name, args[0]
      self
    end
  when 0
    begin
      cget(name)
    rescue
      if self.kind_of?(TkWindow) && name != "to_ary" && name != "to_str"
        fail NameError,
             "unknown option '#{id}' for #{self.inspect} (deleted widget?)"
      else
        super(id, *args)
      end
#        fail NameError,
#             "undefined local variable or method `#{name}' for #{self.to_s}",
#             error_at
    end
  else
    super(id, *args)
#      fail NameError, "undefined method `#{name}' for #{self.to_s}", error_at
  end
end

Instance Method Details

#destroyObject



5034
5035
5036
# File 'lib/tk.rb', line 5034

def destroy
  #tk_call 'trace', 'vdelete', @tk_vn, 'w', @var_id if @var_id
end

#epathObject

–> definition is moved to TkUtil module

def path
  @path
end


4930
4931
4932
# File 'lib/tk.rb', line 4930

def epath
  @path
end

#event_generate(context, keys = nil) ⇒ Object

def [](id)

  cget(id)
end

def []=(id, val)
  configure(id, val)
  val
end


5010
5011
5012
5013
5014
5015
5016
5017
5018
5019
5020
5021
5022
5023
5024
# File 'lib/tk.rb', line 5010

def event_generate(context, keys=nil)
  if context.kind_of?(TkEvent::Event)
    context.generate(self, ((keys)? keys: {}))
  elsif keys
    #tk_call('event', 'generate', path,
    #       "<#{tk_event_sequence(context)}>", *hash_kv(keys))
    tk_call_without_enc('event', 'generate', path,
                        "<#{tk_event_sequence(context)}>",
                        *hash_kv(keys, true))
  else
    #tk_call('event', 'generate', path, "<#{tk_event_sequence(context)}>")
    tk_call_without_enc('event', 'generate', path,
                        "<#{tk_event_sequence(context)}>")
  end
end

#pathObject

**********************************



1753
1754
1755
# File 'tkutil/tkutil.c', line 1753

static VALUE
tkobj_path(self)
VALUE self;

#tk_send(cmd, *rest) ⇒ Object



4938
4939
4940
# File 'lib/tk.rb', line 4938

def tk_send(cmd, *rest)
  tk_call(path, cmd, *rest)
end

#tk_send_to_list(cmd, *rest) ⇒ Object

private :tk_send, :tk_send_without_enc, :tk_send_with_enc



4949
4950
4951
# File 'lib/tk.rb', line 4949

def tk_send_to_list(cmd, *rest)
  tk_call_to_list(path, cmd, *rest)
end

#tk_send_to_list_with_enc(cmd, *rest) ⇒ Object



4955
4956
4957
# File 'lib/tk.rb', line 4955

def tk_send_to_list_with_enc(cmd, *rest)
  tk_call_to_list_with_enc(path, cmd, *rest)
end

#tk_send_to_list_without_enc(cmd, *rest) ⇒ Object



4952
4953
4954
# File 'lib/tk.rb', line 4952

def tk_send_to_list_without_enc(cmd, *rest)
  tk_call_to_list_without_enc(path, cmd, *rest)
end

#tk_send_to_simplelist(cmd, *rest) ⇒ Object



4958
4959
4960
# File 'lib/tk.rb', line 4958

def tk_send_to_simplelist(cmd, *rest)
  tk_call_to_simplelist(path, cmd, *rest)
end

#tk_send_to_simplelist_with_enc(cmd, *rest) ⇒ Object



4964
4965
4966
# File 'lib/tk.rb', line 4964

def tk_send_to_simplelist_with_enc(cmd, *rest)
  tk_call_to_simplelist_with_enc(path, cmd, *rest)
end

#tk_send_to_simplelist_without_enc(cmd, *rest) ⇒ Object



4961
4962
4963
# File 'lib/tk.rb', line 4961

def tk_send_to_simplelist_without_enc(cmd, *rest)
  tk_call_to_simplelist_without_enc(path, cmd, *rest)
end

#tk_send_with_enc(cmd, *rest) ⇒ Object



4944
4945
4946
# File 'lib/tk.rb', line 4944

def tk_send_with_enc(cmd, *rest)
  tk_call_with_enc(path, cmd, *rest)
end

#tk_send_without_enc(cmd, *rest) ⇒ Object



4941
4942
4943
# File 'lib/tk.rb', line 4941

def tk_send_without_enc(cmd, *rest)
  tk_call_without_enc(path, cmd, *rest)
end

#to_evalObject



4934
4935
4936
# File 'lib/tk.rb', line 4934

def to_eval
  @path
end