Class: TkObject

Inherits:
TkKernel show all
Extended by:
TkCore
Includes:
Tk, TkBindCore, TkConfigMethod
Defined in:
ext/tk/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::Checkbutton, Tk::CloneMenu, Tk::Fontchooser, Tk::JAPANIZED_TK, Tk::LIBRARY_PATH, Tk::Labelframe, Tk::MenuButton, Tk::OptionMenuButton, Tk::PACKAGE_PATH, Tk::Panedwindow, Tk::RELEASE_DATE, Tk::Radiobutton, 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, 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 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 TkEvent

#install_bind, #install_bind_for_event_class

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



4838
4839
4840
4841
4842
4843
4844
4845
4846
4847
4848
4849
4850
4851
4852
4853
4854
4855
4856
4857
4858
4859
4860
4861
4862
4863
4864
4865
4866
4867
# File 'lib/tk.rb', line 4838

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



4904
4905
4906
# File 'lib/tk.rb', line 4904

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


4800
4801
4802
# File 'lib/tk.rb', line 4800

def epath
  @path
end

#event_generate(context, keys = nil) ⇒ Object

def [](id)

  cget(id)
end

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


4880
4881
4882
4883
4884
4885
4886
4887
4888
4889
4890
4891
4892
4893
4894
# File 'lib/tk.rb', line 4880

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

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



1755
1756
1757
# File 'ext/tk/tkutil/tkutil.c', line 1755

static VALUE
tkobj_path(self)
VALUE self;

#tk_send(cmd, *rest) ⇒ Object



4808
4809
4810
# File 'lib/tk.rb', line 4808

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



4819
4820
4821
# File 'lib/tk.rb', line 4819

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

#tk_send_to_list_with_enc(cmd, *rest) ⇒ Object



4825
4826
4827
# File 'lib/tk.rb', line 4825

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



4822
4823
4824
# File 'lib/tk.rb', line 4822

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



4828
4829
4830
# File 'lib/tk.rb', line 4828

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

#tk_send_to_simplelist_with_enc(cmd, *rest) ⇒ Object



4834
4835
4836
# File 'lib/tk.rb', line 4834

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



4831
4832
4833
# File 'lib/tk.rb', line 4831

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



4814
4815
4816
# File 'lib/tk.rb', line 4814

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

#tk_send_without_enc(cmd, *rest) ⇒ Object



4811
4812
4813
# File 'lib/tk.rb', line 4811

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

#to_evalObject



4804
4805
4806
# File 'lib/tk.rb', line 4804

def to_eval
  @path
end