# class Tk::BWidget::Dialog

### Constants

TkCommandNames
WidgetClassName

### Public Class Methods

new(parent=nil, keys=nil) click to toggle source
Calls superclass method

    # File 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

### Public Instance Methods

add(keys={}, &b) click to toggle source

    # File 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

cget(slot) click to toggle source
Calls superclass method

    # File lib/tkextlib/bwidget/dialog.rb, line 82
    def cget(slot)
      if slot.to_s == 'relative'
        super('parent')
      else
        super(slot)
      end
    end

cget_strict(slot) click to toggle source
Calls superclass method

    # File lib/tkextlib/bwidget/dialog.rb, line 75
    def cget_strict(slot)
      if slot.to_s == 'relative'
        super('parent')
      else
        super(slot)
      end
    end

cget_tkstring(slot) click to toggle source
Calls superclass method

    # File lib/tkextlib/bwidget/dialog.rb, line 68
    def cget_tkstring(slot)
      if slot.to_s == 'relative'
        super('parent')
      else
        super(slot)
      end
    end

configinfo(slot=nil) click to toggle source
Calls superclass method

    # File 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

configure(slot, value=None) click to toggle source
Calls superclass method

    # File 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

create_self(keys) click to toggle source

    # File 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

draw(focus_win=None) click to toggle source

    # File lib/tkextlib/bwidget/dialog.rb, line 169
    def draw(focus_win=None)
      tk_send('draw', focus_win)
    end

enddialog(ret) click to toggle source

    # File lib/tkextlib/bwidget/dialog.rb, line 173
    def enddialog(ret)
      tk_send('enddialog', ret)
    end

get_buttonbox(&b) click to toggle source

    # File lib/tkextlib/bwidget/dialog.rb, line 157
    def get_buttonbox(&b)
      win = window(@path + '.bbox')
      if b
        if TkCore::WITH_RUBY_VM  ### Ruby 1.9 !!!!
          win.instance_exec(self, &b)
        else
          win.instance_eval(&b)
        end
      end
      win
    end

get_frame(&b) click to toggle source

    # File 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

index(idx) click to toggle source

    # File lib/tkextlib/bwidget/dialog.rb, line 177
    def index(idx)
      get_buttonbox.index(idx)
    end

invoke(idx) click to toggle source

    # File lib/tkextlib/bwidget/dialog.rb, line 181
    def invoke(idx)
      tk_send('invoke', tagid(idx))
      self
    end

set_focus(idx) click to toggle source

    # File lib/tkextlib/bwidget/dialog.rb, line 186
    def set_focus(idx)
      tk_send('setfocus', tagid(idx))
      self
    end

tagid(tagOrId) click to toggle source

    # File 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

withdraw() click to toggle source

    # File lib/tkextlib/bwidget/dialog.rb, line 191
    def withdraw
      tk_send('withdraw')
      self
    end

### Private Instance Methods

__boolval_optkeys() click to toggle source
Calls superclass method

    # File lib/tkextlib/bwidget/dialog.rb, line 36
    def __boolval_optkeys
      super() << 'transient' << 'homogeneous'
    end

__numstrval_optkeys() click to toggle source
Calls superclass method

    # File lib/tkextlib/bwidget/dialog.rb, line 26
    def __numstrval_optkeys
      super() << 'buttonwidth'
    end

__strval_optkeys() click to toggle source
Calls superclass method

    # File lib/tkextlib/bwidget/dialog.rb, line 31
    def __strval_optkeys
      super() << 'title' << 'geometry'
    end