# File tk/lib/tkextlib/bwidget/dialog.rb, line 41
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 133
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 82
def cget(slot)
if slot.to_s == 'relative'
super('parent')
else
super(slot)
end
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 75
def cget_strict(slot)
if slot.to_s == 'relative'
super('parent')
else
super(slot)
end
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 68
def cget_tkstring(slot)
if slot.to_s == 'relative'
super('parent')
else
super(slot)
end
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 104
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 90
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 58
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 169
def draw(focus_win=None)
tk_send('draw', focus_win)
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 173
def enddialog(ret)
tk_send('enddialog', ret)
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 145
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 177
def index(idx)
get_buttonbox.index(idx)
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 181
def invoke(idx)
tk_send('invoke', tagid(idx))
self
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 186
def set_focus(idx)
tk_send('setfocus', tagid(idx))
self
end
# File tk/lib/tkextlib/bwidget/dialog.rb, line 121
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.