Class | Tk::BWidget::Dialog
In: | tk/lib/tkextlib/bwidget/dialog.rb
Parent: | TkWindow

### Methods

add cget configinfo configure create_self draw enddialog get_buttonbox get_frame index invoke new set_focus tagid withdraw

### Included Modules

TkItemConfigMethod

### Constants

TkCommandNames | = | ['Dialog'.freeze].freeze
WidgetClassName | = | 'Dialog'.freeze

### Public Class methods

new(parent=nil, keys=nil)

[Source]

    # 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

### Public Instance methods

add(keys={}, &b)

[Source]

    # File tk/lib/tkextlib/bwidget/dialog.rb, line 113
      def add(keys={}, &b)
        win = window(tk_send('add', *hash_kv(keys)))
        win.instance_eval(&b) if b
        win
      end

cget(slot)

[Source]

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

configinfo(slot=nil)

[Source]

    # File tk/lib/tkextlib/bwidget/dialog.rb, line 84
      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)

[Source]

    # File tk/lib/tkextlib/bwidget/dialog.rb, line 70
      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)

[Source]

    # 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

draw(focus_win=None)

[Source]

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

enddialog(ret)

[Source]

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

get_buttonbox(&b)

[Source]

    # File tk/lib/tkextlib/bwidget/dialog.rb, line 125
      def get_buttonbox(&b)
        win = window(@path + '.bbox')
        win.instance_eval(&b) if b
        win
      end

get_frame(&b)

[Source]

    # File tk/lib/tkextlib/bwidget/dialog.rb, line 119
      def get_frame(&b)
        win = window(tk_send('getframe'))
        win.instance_eval(&b) if b
        win
      end

index(idx)

[Source]

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

invoke(idx)

[Source]

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

set_focus(idx)

[Source]

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

tagid(tagOrId)

[Source]

    # File tk/lib/tkextlib/bwidget/dialog.rb, line 101
      def tagid(tagOrId)
        if tagOrId.kind_of?(Tk::BWidget::Button)
          name = tagOrId[:name]
          return index(name) unless name.empty?
        end
        if tagOrId.kind_of?(TkButton)
          return index(tagOrId[:text])
        end
        # index(tagOrId.to_s)
        index(_get_eval_string(tagOrId))
      end

withdraw()

[Source]

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

[Validate]