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::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__, 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, toplevel_aliases_on_widget_set, 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


4967
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
# File 'lib/tk.rb', line 4967

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


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

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

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

def epath
  @path
end

#event_generate(context, keys = nil) ⇒ Object

def [](id)

  cget(id)
end

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

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

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

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


1724
1725
1726
# File 'tkutil/tkutil.c', line 1724

static VALUE
tkobj_path(self)
VALUE self;

#tk_send(cmd, *rest) ⇒ Object


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

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


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

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

#tk_send_to_list_with_enc(cmd, *rest) ⇒ Object


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

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


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

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


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

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

#tk_send_to_simplelist_with_enc(cmd, *rest) ⇒ Object


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

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


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

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


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

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

#tk_send_without_enc(cmd, *rest) ⇒ Object


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

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

#to_evalObject


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

def to_eval
  @path
end