module TkCore
Constants
- EventFlag
- INTERP
#<RDoc::Comment:0x0055da08b33958>
#<RDoc::Comment:0x0055da08354368>
#<RDoc::Comment:0x0055da0899f970>
#<RDoc::Comment:0x0055da08359a98>
#<RDoc::Comment:0x0055da07e49760>
#<RDoc::Comment:0x0055da07c2f588>
#<RDoc::Comment:0x0055da08ceb228>
#<RDoc::Comment:0x0055da0768d288>
#<RDoc::Comment:0x0055da08b30ed8>
#<RDoc::Comment:0x0055da07e5ee58>
#<RDoc::Comment:0x0055da07342ee8>
#<RDoc::Comment:0x0055da08b174d8>
#<RDoc::Comment:0x0055da09047660>
#<RDoc::Comment:0x0055da07bf27f0>
#<RDoc::Comment:0x0055da078cd638>
#<RDoc::Comment:0x0055da073c70f8>
- INTERP_MUTEX
- INTERP_ROOT_CHECK
- INTERP_THREAD
- INTERP_THREAD_STATUS
- RUN_EVENTLOOP_ON_MAIN_THREAD
*** KNOWN BUG ***
Main event loop thread of TkAqua (> Tk8.4.9) must be the main application thread. So, ruby1.9 users must call Tk.mainloop on the main application thread.
*** ADD (2009/05/10) ***
In some cases (I don't know the description of conditions), TkAqua 8.4.7 has a same kind of hang-up trouble. So, if 8.4.7 or later, set RUN_EVENTLOOP_ON_MAIN_THREAD to true. When you want to control this mode, please call the following (set true/false as you want) before "require 'tk'". ---------------------------------------------------------- module TkCore; RUN_EVENTLOOP_ON_MAIN_THREAD = true; end ----------------------------------------------------------
*** ADD (2010/07/05) ***
The value of TclTkLib::WINDOWING_SYSTEM is defined at compiling. If it is inconsistent with linked DLL, please call the following before "require 'tk'". ---------------------------------------------------------- require 'tcltklib' module TclTkLib remove_const :WINDOWING_SYSTEM WINDOWING_SYSTEM = 'x11' # or 'aqua' end ----------------------------------------------------------
- WIDGET_DESTROY_HOOK
- WITH_ENCODING
- WITH_RUBY_VM
Public Class Methods
callback(*arg)
click to toggle source
# File lib/tk.rb, line 1600 def TkCore.callback(*arg) begin if TkCore::INTERP.tk_cmd_tbl.kind_of?(Hash) #TkCore::INTERP.tk_cmd_tbl[arg.shift].call(*arg) normal_ret = false ret = catch(:IRB_EXIT) do # IRB hack retval = TkCore::INTERP.tk_cmd_tbl[arg.shift].call(*arg) normal_ret = true retval end unless normal_ret # catch IRB_EXIT exit(ret) end ret end rescue SystemExit=>e exit(e.status) rescue Interrupt=>e fail(e) rescue Exception => e begin msg = _toUTF8(e.class.inspect) + ': ' + _toUTF8(e.message) + "\n" + "\n---< backtrace of Ruby side >-----\n" + _toUTF8(e.backtrace.join("\n")) + "\n---< backtrace of Tk side >-------" if TkCore::WITH_ENCODING msg.force_encoding('utf-8') else msg.instance_variable_set(:@encoding, 'utf-8') end rescue Exception msg = e.class.inspect + ': ' + e.message + "\n" + "\n---< backtrace of Ruby side >-----\n" + e.backtrace.join("\n") + "\n---< backtrace of Tk side >-------" end # TkCore::INTERP._set_global_var('errorInfo', msg) # fail(e) fail(e, msg) end end
inspect()
click to toggle source
# File lib/tk.rb, line 1390 def inspect sprintf("#<Class(TkCallbackEntry):%0x>", self.__id__) end
Also aliased as: to_s
new(ip, cmd)
click to toggle source
# File lib/tk.rb, line 1396 def initialize(ip, cmd) @ip = ip @cmd = cmd end
Public Instance Methods
call(*args)
click to toggle source
# File lib/tk.rb, line 1401 def call(*args) @ip.cb_eval(@cmd, *args) end
callback_break()
click to toggle source
# File lib/tk.rb, line 1588 def callback_break fail TkCallbackBreak, "Tk callback returns 'break' status" end
callback_continue()
click to toggle source
# File lib/tk.rb, line 1592 def callback_continue fail TkCallbackContinue, "Tk callback returns 'continue' status" end
callback_return()
click to toggle source
# File lib/tk.rb, line 1596 def callback_return fail TkCallbackReturn, "Tk callback returns 'return' status" end
inspect()
click to toggle source
# File lib/tk.rb, line 1404 def inspect sprintf("#<cb_entry:%0x>", self.__id__) end
Also aliased as: to_s