diff options
Diffstat (limited to 'ruby_1_8_5/ext/tk/sample/multi-ip_sample2.rb')
-rw-r--r-- | ruby_1_8_5/ext/tk/sample/multi-ip_sample2.rb | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/ruby_1_8_5/ext/tk/sample/multi-ip_sample2.rb b/ruby_1_8_5/ext/tk/sample/multi-ip_sample2.rb new file mode 100644 index 0000000000..f4a45d8d9a --- /dev/null +++ b/ruby_1_8_5/ext/tk/sample/multi-ip_sample2.rb @@ -0,0 +1,29 @@ +require 'multi-tk.rb' + +th = Thread.new{Tk.mainloop} + +TkLabel.new(:text=>'this is a primary master').pack + +ip1 = MultiTkIp.new_slave(:safe=>1) +ip2 = MultiTkIp.new_slave(:safe=>2) + +cmd = proc{|s| + require 'tk' + + TkButton.new(:text=>'b1: p self', :command=>proc{p self}).pack(:fill=>:x) + sleep s + TkButton.new(:text=>'b2: p $SAFE', :command=>proc{p $SAFE}).pack(:fill=>:x) + sleep s + TkButton.new(:text=>'b3: p MultiTkIp.ip_name', + :command=>proc{p MultiTkIp.ip_name}).pack(:fill=>:x) + sleep s + TkButton.new(:text=>'EXIT', :command=>proc{exit}).pack(:fill=>:x) + + Tk.mainloop +} + +Thread.new{ip1.eval_proc(cmd, 1.1)} +Thread.new{ip2.eval_proc(cmd, 0.3)} +cmd.call(0.7) + +th.join |