Method: TkComposite#delegate_alias

Defined in:
lib/tk/composite.rb

#delegate_alias(alias_opt, option, *wins) ⇒ Object



179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
# File 'lib/tk/composite.rb', line 179

def delegate_alias(alias_opt, option, *wins)
  if wins.length == 0
    fail ArgumentError, "target widgets are not given"
  end
  if alias_opt != option && (alias_opt == 'DEFAULT' || option == 'DEFAULT')
    fail ArgumentError, "cannot alias 'DEFAULT' option"
  end
  alias_opt = alias_opt.to_s
  option = option.to_s
  if @delegates[alias_opt].kind_of?(Array)
    if (elem = @delegates[alias_opt].assoc(option))
      wins.each{|w| elem[1].push(w)}
    else
      @delegates[alias_opt] << [option, wins]
    end
  else
    @delegates[alias_opt] = [ [option, wins] ]
  end
end