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


4979
4980
4981
4982
4983
4984
4985
4986
4987
4988
4989
4990
4991
4992
4993
4994
4995
4996
4997
4998
4999
5000
5001
5002
5003
5004
5005
5006
5007
5008
# File 'lib/tk.rb', line 4979

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


5045
5046
5047
# File 'lib/tk.rb', line 5045

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

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

def epath
  @path
end

#event_generate(context, keys = nil) ⇒ Object

def [](id)

  cget(id)
end

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

5021
5022
5023
5024
5025
5026
5027
5028
5029
5030
5031
5032
5033
5034
5035
# File 'lib/tk.rb', line 5021

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

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


1736
1737
1738
# File 'tkutil/tkutil.c', line 1736

static VALUE
tkobj_path(self)
VALUE self;

#tk_send(cmd, *rest) ⇒ Object


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

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


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

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

#tk_send_to_list_with_enc(cmd, *rest) ⇒ Object


4966
4967
4968
# File 'lib/tk.rb', line 4966

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


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

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


4969
4970
4971
# File 'lib/tk.rb', line 4969

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

#tk_send_to_simplelist_with_enc(cmd, *rest) ⇒ Object


4975
4976
4977
# File 'lib/tk.rb', line 4975

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


4972
4973
4974
# File 'lib/tk.rb', line 4972

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


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

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

#tk_send_without_enc(cmd, *rest) ⇒ Object


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

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

#to_evalObject


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

def to_eval
  @path
end