diff options
author | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-05-22 02:23:59 +0000 |
---|---|---|
committer | nagai <nagai@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2004-05-22 02:23:59 +0000 |
commit | c93c500910bc184afdde27c0a65d0d1ddd2fc441 (patch) | |
tree | 52c0101c23c8a580ba152b0430e9f11fbede1377 /ext/tk/sample | |
parent | 56761e29f655407aa7bbbf27072f9ff6bf055757 (diff) | |
download | ruby-c93c500910bc184afdde27c0a65d0d1ddd2fc441.tar.gz |
* add a new sample 'ext/tk/sample/remote-ikp_sample2.rb'
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@6385 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'ext/tk/sample')
-rw-r--r-- | ext/tk/sample/remote-ip_sample.rb | 2 | ||||
-rw-r--r-- | ext/tk/sample/remote-ip_sample2.rb | 53 |
2 files changed, 54 insertions, 1 deletions
diff --git a/ext/tk/sample/remote-ip_sample.rb b/ext/tk/sample/remote-ip_sample.rb index 3a2dbe4852..3c153e94fa 100644 --- a/ext/tk/sample/remote-ip_sample.rb +++ b/ext/tk/sample/remote-ip_sample.rb @@ -16,7 +16,7 @@ unless (wish = TkWinfo.interps.find{|ip| ip =~ /^wish/}) end ip = RemoteTkIp.new(wish) -ip.eval_proc{TkButton.new(:command=>proc{puts 'This procesure is on the controller-ip (Rubh/Tk)'}, :text=>'print on Ruby/Tk (controller-ip)').pack(:fill=>:x)} +ip.eval_proc{TkButton.new(:command=>proc{puts 'This procesure is on the controller-ip (Ruby/Tk)'}, :text=>'print on Ruby/Tk (controller-ip)').pack(:fill=>:x)} ip.eval_proc{TkButton.new(:command=>'puts {This procesure is on the remote-ip (wish)}', :text=>'print on wish (remote-ip)').pack(:fill=>:x)} # If your remote-ip is Ruby/Tk, you can control the remote Ruby by diff --git a/ext/tk/sample/remote-ip_sample2.rb b/ext/tk/sample/remote-ip_sample2.rb new file mode 100644 index 0000000000..51b950387a --- /dev/null +++ b/ext/tk/sample/remote-ip_sample2.rb @@ -0,0 +1,53 @@ +#!/usr/bin/env ruby + +ip_name = 'remote_ip' + +fork{ + exec "/usr/bin/env ruby -r tk -e \"Tk.appname('#{ip_name}');Tk.mainloop\"" +} + +require 'remote-tk' + +15.times{ + break if TkWinfo.interps.find{|ip| ip =~ /^#{ip_name}/} + sleep 1 +} + +p TkWinfo.interps + +ip = RemoteTkIp.new(ip_name) + +btns = [] +ip.eval_proc{ + btns << + TkButton.new(:command=>proc{ + puts 'This procesure is on the controller-ip (Ruby-side)' + }, + :text=>'print on controller-ip (Ruby-side)').pack(:fill=>:x) + + btns << + TkButton.new(:command=> + 'puts {This procesure is on the remote-ip (Tk-side)}', + :text=>'print on remote-ip (Tk-side)').pack(:fill=>:x) + + btns << + TkButton.new(:command=> + 'ruby { + puts "This procedure is on the remote-ip (Ruby-side)" + p Array.new(3,"ruby") + }', + :text=>'ruby cmd on the remote-ip').pack(:fill=>:x) + + TkButton.new(:command=>'exit', :text=>'QUIT').pack(:fill=>:x) +} + +btns.each_with_index{|b, idx| + TkButton.new(:command=>proc{ip.eval_proc{b.flash}}, + :text=>"flash button-#{idx}", + :padx=>10).pack(:padx=>10, :pady=>2) +} + +TkButton.new(:command=>proc{exit}, :text=>'QUIT', + :padx=>10, :pady=>7).pack(:padx=>10, :pady=>7) + +Tk.mainloop |