Class Tk::Tcllib::Swaplist_Dialog
In: tk/lib/tkextlib/tcllib/swaplist.rb
Parent: TkWindow

Methods

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

Constants

PACKAGE_NAME = 'swaplist'.freeze
TkCommandNames = ['::swaplist::swaplist'.freeze].freeze
WidgetClassName = 'Swaplist'.freeze

Public Class methods

[Source]

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

[Source]

# File tk/lib/tkextlib/tcllib/swaplist.rb, line 47
  def initialize(*args) 
    # args = (parent=nil, complete_list=[], selected_list=[], keys=nil)
    keys = args.pop
    if keys.kind_of?(Hash)
      @selected_list = args.pop
      @complete_list = args.pop
      @keys = _symbolkey2str(keys)
      args.push(keys)
    else
      @selected_list = keys
      @complete_list = args.pop
      @keys = {}
    end

    @selected_list = [] unless @selected_list
    @complete_list = [] unless @complete_list

    @variable = TkVariable.new
    @status = nil

    super(*args)
  end

[Source]

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

[Source]

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

[Source]

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

Public Instance methods

[Source]

# File tk/lib/tkextlib/tcllib/swaplist.rb, line 93
  def cget(slot)
    slot = slot.to_s
    if slot == 'complete_list'
      @complete_list
    elsif slot == 'selected_list'
      @selected_list
    else
      @keys[slot]
    end
  end

[Source]

# File tk/lib/tkextlib/tcllib/swaplist.rb, line 131
  def configinfo(slot = nil)
    if slot
      slot = slot.to_s
      if slot == 'complete_list'
        [ slot, nil, nil, nil, @complete_list ]
      elsif slot == 'selected_list'
        [ slot, nil, nil, nil, @selected_list ]
      else
        [ slot, nil, nil, nil, @keys[slot] ]
      end
    else
      @keys.collect{|k, v| [ k, nil, nil, nil, v ] }           \
      << [ 'complete_list', nil, nil, nil, @complete_list ]   \
      << [ 'selected_list', nil, nil, nil, @selected_list ]
    end
  end

[Source]

# File tk/lib/tkextlib/tcllib/swaplist.rb, line 104
  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 == 'complete_list'
          @complete_list = value
        elsif slot == 'selected_list'
          @selected_list = value
        else
          @keys[slot] = value
        end
      else
        if slot == 'complete_list'
          @complete_list = []
        elsif slot == 'selected_list'
          @selected_list = []
        else
          @keys.delete(slot)
        end
      end
    end
    self
  end
display()

Alias for show

selected()

Alias for value

[Source]

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

[Source]

# File tk/lib/tkextlib/tcllib/swaplist.rb, line 84
  def status
    @status
  end

[Source]

# File tk/lib/tkextlib/tcllib/swaplist.rb, line 88
  def value
    @variable.list
  end

[Validate]