[前][次][番号順一覧][スレッド一覧]

ruby-changes:4850

From: ko1@a...
Date: Sat, 10 May 2008 13:19:34 +0900 (JST)
Subject: [ruby-changes:4850] nagai - Ruby:r16344 (ruby_1_8): * ext/tk/lib/tk/pack.rb, ext/tk/lib/tk/grid.rb: increase parameter

nagai	2008-05-10 13:19:12 +0900 (Sat, 10 May 2008)

  New Revision: 16344

  Modified files:
    branches/ruby_1_8/ChangeLog
    branches/ruby_1_8/ext/tk/lib/tk/grid.rb
    branches/ruby_1_8/ext/tk/lib/tk/pack.rb
    branches/ruby_1_8/ext/tk/lib/tk.rb

  Log:
    * ext/tk/lib/tk/pack.rb, ext/tk/lib/tk/grid.rb: increase parameter
      patterns of configure method.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=16344&r2=16343&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ext/tk/lib/tk/pack.rb?r1=16344&r2=16343&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ext/tk/lib/tk.rb?r1=16344&r2=16343&diff_format=u
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ext/tk/lib/tk/grid.rb?r1=16344&r2=16343&diff_format=u

Index: ruby_1_8/ext/tk/lib/tk.rb
===================================================================
--- ruby_1_8/ext/tk/lib/tk.rb	(revision 16343)
+++ ruby_1_8/ext/tk/lib/tk.rb	(revision 16344)
@@ -5348,7 +5348,7 @@
 #Tk.freeze
 
 module Tk
-  RELEASE_DATE = '2008-05-09'.freeze
+  RELEASE_DATE = '2008-05-10'.freeze
 
   autoload :AUTO_PATH,        'tk/variable'
   autoload :TCL_PACKAGE_PATH, 'tk/variable'
Index: ruby_1_8/ext/tk/lib/tk/pack.rb
===================================================================
--- ruby_1_8/ext/tk/lib/tk/pack.rb	(revision 16343)
+++ ruby_1_8/ext/tk/lib/tk/pack.rb	(revision 16344)
@@ -9,6 +9,7 @@
 
   TkCommandNames = ['pack'.freeze].freeze
 
+=begin
   def configure(win, *args)
     if args[-1].kind_of?(Hash)
       opts = args.pop
@@ -29,6 +30,22 @@
     }
     tk_call_without_enc("pack", 'configure', *params)
   end
+=end
+  def configure(*args)
+    if args[-1].kind_of?(Hash)
+      opts = args.pop
+    else
+      opts = nil
+    end
+    fail ArgumentError, 'no widget is given' if args.empty?
+    params = []
+    args.flatten(1).each{|win| params.push(_epath(win))}
+    opts.each{|k, v|
+      params.push("-#{k}")
+      params.push(_epath(v))  # have to use 'epath' (hash_kv() is unavailable)
+    }
+    tk_call_without_enc("pack", 'configure', *params)
+  end
   alias pack configure
 
   def forget(*args)
Index: ruby_1_8/ext/tk/lib/tk/grid.rb
===================================================================
--- ruby_1_8/ext/tk/lib/tk/grid.rb	(revision 16343)
+++ ruby_1_8/ext/tk/lib/tk/grid.rb	(revision 16344)
@@ -22,6 +22,7 @@
     list(tk_call_without_enc('grid', 'bbox', *args))
   end
 
+=begin
   def configure(win, *args)
     if args[-1].kind_of?(Hash)
       opts = args.pop
@@ -53,6 +54,48 @@
       tk_call_without_enc('grid', 'configure', *params)
     end
   end
+=end
+  def configure(*args)
+    if args[-1].kind_of?(Hash)
+      opts = args.pop
+    else
+      opts = nil
+    end
+    fail ArgumentError, 'no widget is given' if args.empty?
+    params = []
+    args.flatten(1).each{|win|
+      case win
+      when '-', ?-              # RELATIVE PLACEMENT (increase columnspan)
+        params.push('-')
+      when /^-+$/             # RELATIVE PLACEMENT (increase columnspan)
+        params.concat(win.to_s.split(//))
+      when '^', ?^              # RELATIVE PLACEMENT (increase rowspan)
+        params.push('^')
+      when /^\^+$/             # RELATIVE PLACEMENT (increase rowspan)
+        params.concat(win.to_s.split(//))
+      when 'x', :x, ?x, nil, '' # RELATIVE PLACEMENT (empty column)
+        params.push('x')
+      when /^x+$/             # RELATIVE PLACEMENT (empty column)
+        params.concat(win.to_s.split(//))
+      else
+        params.push(_epath(win))
+      end
+    }
+    opts.each{|k, v|
+      params.push("-#{k}")
+      params.push(_epath(v))  # have to use 'epath' (hash_kv() is unavailable)
+    }
+    if Tk::TCL_MAJOR_VERSION < 8 ||
+        (Tk::TCL_MAJOR_VERSION == 8 && Tk::TCL_MINOR_VERSION <= 3)
+      if params[0] == '-' || params[0] == 'x' || params[0] == '^'
+        tk_call_without_enc('grid', *params)
+      else
+        tk_call_without_enc('grid', 'configure', *params)
+      end
+    else
+      tk_call_without_enc('grid', 'configure', *params)
+    end
+  end
   alias grid configure
 
   def columnconfigure(master, index, args)
Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 16343)
+++ ruby_1_8/ChangeLog	(revision 16344)
@@ -1,3 +1,8 @@
+Sat May 10 13:17:56 2008  Hidetoshi NAGAI  <nagai@a...>
+
+	* ext/tk/lib/tk/pack.rb, ext/tk/lib/tk/grid.rb: increase parameter
+	  patterns of configure method.
+
 Sat May 10 09:16:13 2008  Yukihiro Matsumoto  <matz@r...>
 
 	* util.c (ruby_strtod): backported from 1.9.  a patch from Satoshi

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]