diff options
Diffstat (limited to 'ext/tk/lib/tkextlib/tile/tpaned.rb')
-rw-r--r-- | ext/tk/lib/tkextlib/tile/tpaned.rb | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/ext/tk/lib/tkextlib/tile/tpaned.rb b/ext/tk/lib/tkextlib/tile/tpaned.rb index 342b54d253..f24b12e92e 100644 --- a/ext/tk/lib/tkextlib/tile/tpaned.rb +++ b/ext/tk/lib/tkextlib/tile/tpaned.rb @@ -36,9 +36,21 @@ class Tk::Tile::TPaned < TkWindow [self::WidgetClassName, *(args.map!{|a| _get_eval_string(a)})].join('.') end - def add(win, keys) - win = _epath(win) - tk_send_without_enc('add', win, *hash_kv(keys)) + def add(*args) + keys = args.pop + fail ArgumentError, "no window in arguments" unless keys + + if keys && keys.kind_of?(Hash) + fail ArgumentError, "no window in arguments" if args == [] + opts = hash_kv(keys) + else + args.push(keys) if keys + opts = [] + end + + args.each{|win| + tk_send_without_enc('add', _epath(win), *opts) + } self end |