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



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

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



4902
4903
4904
# File 'lib/tk.rb', line 4902

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


4798
4799
4800
# File 'lib/tk.rb', line 4798

def epath
  @path
end

#event_generate(context, keys = nil) ⇒ Object

def [](id)

  cget(id)
end

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


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

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



4806
4807
4808
# File 'lib/tk.rb', line 4806

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



4817
4818
4819
# File 'lib/tk.rb', line 4817

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

#tk_send_to_list_with_enc(cmd, *rest) ⇒ Object



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

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



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

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



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

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

#tk_send_to_simplelist_with_enc(cmd, *rest) ⇒ Object



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

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



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

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



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

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

#tk_send_without_enc(cmd, *rest) ⇒ Object



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

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

#to_evalObject



4802
4803
4804
# File 'lib/tk.rb', line 4802

def to_eval
  @path
end