mirror of
https://github.com/ruby/ruby.git
synced 2022-11-09 12:17:21 -05:00
![]() the running script is '-e one-liner' or '-' (stdin). * ext/tcltklib/extconf.rb: add find_library("#{lib}#{ver}",..) for stub libs * ext/tk/lib/tk/textmark.rb: TkTextMarkCurrent and TkTextMarkAnchor have a wrong parent class. * ext/tk/lib/tk/dialog.rb: rename TkDialog2 --> TkDialogObj and TkWarning2 --> TkWarningObj (old names are changed to alias names) * ext/tk/lib/tk/dialog.rb: bug fix of treatment of 'prev_command' option and hashes for configuration * ext/tk/lib/tk/dialog.rb: add TkDialogObj#name to return the button name * ext/tk/lib/tk/radiobutton.rb: rename enbugged method value() ==> get_value() and value=(val) ==> set_value(val). * ext/tk/lib/tk/menu.rb: add TkMenu.new_menuspec * ext/tk/lib/tk/menu.rb: add alias (TkMenuButton = TkMenubutton, TkOptionMenuButton = TkOptionMenubutton) * ext/tk/lib/tk/event.rb: new method aliases (same as option keys of event_generate) for Event object * ext/tk/lib/tk/font.rb: configinfo returns proper types of values * ext/tk/lib/tk.rb: bind methods accept subst_args + block * ext/tk/lib/tk/canvas.rb: ditto * ext/tk/lib/tk/canvastag.rb: ditto * ext/tk/lib/tk/frame.rb: ditto * ext/tk/lib/tk/text.rb: ditto * ext/tk/lib/tk/texttag.rb: ditto * ext/tk/lib/tk/toplevel.rb: ditto * ext/tk/lib/tkextlib/*: ditto and bug fix git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@7512 b2dd03c8-39d4-4d8f-98ff-823fe69b080e |
||
---|---|---|
.. | ||
lib | ||
sample | ||
.cvsignore | ||
ChangeLog.tkextlib | ||
depend | ||
extconf.rb | ||
README.1st | ||
README.fork | ||
tkutil.c |
Ruby/Tk does NOT support forking the process on which Tk interpreter is running (unless NEVER control Tk interpreter under the forked child process). In the library 'tk.rb', a Tk interpreter is initialized. Therefore, if you want running Tk under a child process, please call "require 'tk'" in the child process. # If do fork and exec(<new Ruby/Tk>) on the child process, you can # control Ruby/Tk interpreter on the child process by 'send' command # of Tcl/Tk. About this, please see Tk.appsend and Tk.rb_appsend, or # 'remote-tk.rb' and the sample 'sample/remote-ip_sample.rb'. For example, the following sample1 will NOT work, and sample2 will work properly. ---<sample1: NOT work>--------------------------------------- require 'tk' ## init Tk interpreter under parent process exit! if fork ## exit parent process ## child process TkButton.new(:text=>'QUIT', :command=>proc{exit}).pack Tk.mainloop ------------------------------------------------------------- ---<sample2: will work>-------------------------------------- exit! if fork ## exit main process ## child process require 'tk' ## init Tk interpreter under child process TkButton.new(:text=>'QUIT', :command=>proc{exit}).pack Tk.mainloop ------------------------------------------------------------- 2004/05/22 Hidetoshi NAGAI