# File tk/lib/tkextlib/bwidget/dialog.rb, line 35
def initialize(parent=nil, keys=nil)
@relative = ''
if parent.kind_of?(Hash)
keys = _symbolkey2str(parent)
@relative = keys['parent'] if keys.key?('parent')
@relative = keys.delete('relative') if keys.key?('relative')
super(keys)
elsif keys
keys = _symbolkey2str(keys)
@relative = keys.delete('parent') if keys.key?('parent')
@relative = keys.delete('relative') if keys.key?('relative')
super(parent, keys)
else
super(parent)
end
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 120
def add(keys={}, &b)
win = window(tk_send('add', *hash_kv(keys)))
if b
if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!!
win.instance_exec(self, &b)
else
win.instance_eval(&b)
end
end
win
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 69
def cget(slot)
if slot.to_s == 'relative'
super('parent')
else
super(slot)
end
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 62
def cget_strict(slot)
if slot.to_s == 'relative'
super('parent')
else
super(slot)
end
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 91
def configinfo(slot=nil)
if slot
if slot.to_s == 'relative'
super('parent')
else
super(slot)
end
else
ret = super()
if TkComm::GET_CONFIGINFO_AS_ARRAY
ret << ['relative', 'parent']
else
ret['relative'] = 'parent'
end
end
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 77
def configure(slot, value=None)
if slot.kind_of?(Hash)
slot = _symbolkey2str(slot)
slot['parent'] = slot.delete('relative') if slot.key?('relative')
super(slot)
else
if slot.to_s == 'relative'
super('parent', value)
else
super(slot, value)
end
end
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 52
def create_self(keys)
cmd = self.class::TkCommandNames[0]
if keys and keys != None
tk_call_without_enc(cmd, @path, '-parent', @relative,
*hash_kv(keys, true))
else
tk_call_without_enc(cmd, @path, '-parent', @relative)
end
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 156
def draw(focus_win=None)
tk_send('draw', focus_win)
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 160
def enddialog(ret)
tk_send('enddialog', ret)
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 132
def get_frame(&b)
win = window(tk_send('getframe'))
if b
if TkCore::WITH_RUBY_VM ### Ruby 1.9 !!!!
win.instance_exec(self, &b)
else
win.instance_eval(&b)
end
end
win
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 164
def index(idx)
get_buttonbox.index(idx)
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 168
def invoke(idx)
tk_send('invoke', tagid(idx))
self
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 173
def set_focus(idx)
tk_send('setfocus', tagid(idx))
self
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 108
def tagid(tagOrId)
if tagOrId.kind_of?(Tk::BWidget::Button)
name = tagOrId[:name]
return index(name) unless name.empty?
end
if tagOrId.kind_of?(Tk::Button)
return index(tagOrId[:text])
end
# index(tagOrId.to_s)
index(_get_eval_string(tagOrId))
end
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please visit Documenting-ruby.org.