Class Tk::Tcllib::GetString_Dialog
In: tk/lib/tkextlib/tcllib/getstring.rb
Parent: TkWindow

Methods

cget   configinfo   configure   display   display   new   package_name   package_version   show   show   status   value  

Constants

PACKAGE_NAME = 'getstring'.freeze
TkCommandNames = ['::getstring::tk_getString'.freeze].freeze
WidgetClassName = 'TkSDialog'.freeze

Public Class methods

[Source]

# File tk/lib/tkextlib/tcllib/getstring.rb, line 44
  def self.display(*args)
    self.show(*args)
  end

[Source]

# File tk/lib/tkextlib/tcllib/getstring.rb, line 48
  def initialize(*args)   # args = (parent=nil, text='', keys=nil)
    keys = args.pop
    if keys.kind_of?(Hash)
      text = args.pop
      @keys = _symbolkey2str(keys)
      args.push(keys)
    else
      text = keys
      @keys = {}
    end
    if text
      @text = text.dup
    else
      @text = ''
    end

    @variable = TkVariable.new
    @status = nil

    super(*args)
  end

[Source]

# File tk/lib/tkextlib/tcllib/getstring.rb, line 19
    def self.package_name
      PACKAGE_NAME
    end

[Source]

# File tk/lib/tkextlib/tcllib/getstring.rb, line 23
    def self.package_version
      begin
        TkPackage.require('getstring')
      rescue
        ''
      end
    end

[Source]

# File tk/lib/tkextlib/tcllib/getstring.rb, line 39
  def self.show(*args)
    dialog = self.new(*args)
    dialog.show
    [dialog.status, dialog.value]
  end

Public Instance methods

[Source]

# File tk/lib/tkextlib/tcllib/getstring.rb, line 90
  def cget(slot)
    slot = slot.to_s
    if slot == 'text'
      @text
    else
      @keys[slot]
    end
  end

[Source]

# File tk/lib/tkextlib/tcllib/getstring.rb, line 122
  def configinfo(slot = nil)
    if slot
      slot = slot.to_s
      [ slot, nil, nil, nil, ( (slot == 'text')? @text: @keys[slot] ) ]
    else
      @keys.collect{|k, v| [ k, nil, nil, nil, v ] }   \
      << [ 'text', nil, nil, nil, @text ]
    end
  end

[Source]

# File tk/lib/tkextlib/tcllib/getstring.rb, line 99
  def configure(slot, value=None)
    if slot.kind_of?(Hash)
      slot.each{|k, v| configure(k, v)}
    else
      slot = slot.to_s
      value = _symbolkey2str(value) if value.kind_of?(Hash)
      if value && value != None
        if slot == 'text'
          @text = value.to_s
        else
          @keys[slot] = value
        end
      else
        if slot == 'text'
          @text = ''
        else
          @keys.delete(slot)
        end
      end
    end
    self
  end
display()

Alias for show

[Source]

# File tk/lib/tkextlib/tcllib/getstring.rb, line 75
  def show
    @variable.value = ''
    @status = bool(tk_call(self.class::TkCommandNames[0], 
                           @path, @variable, @text, *hash_kv(@keys)))
  end

[Source]

# File tk/lib/tkextlib/tcllib/getstring.rb, line 82
  def status
    @status
  end

[Source]

# File tk/lib/tkextlib/tcllib/getstring.rb, line 86
  def value
    @variable.value
  end

[Validate]