Class: TkBindTag (Ruby 2.3.4)

In Files

  • tk/lib/tk/bindtag.rb

Parent

Included Modules

Class/Module Index [+]

Quicksearch

TkBindTag

Public Class Methods

id2obj(id)
 
               # File tk/lib/tk/bindtag.rb, line 23
def TkBindTag.id2obj(id)
  BTagID_TBL.mutex.synchronize{
    (BTagID_TBL[id])? BTagID_TBL[id]: id
  }
end
            
new(*args, &b)
 
               # File tk/lib/tk/bindtag.rb, line 61
def initialize(*args, &b)
  Tk_BINDTAG_ID.mutex.synchronize{
    # @id = Tk_BINDTAG_ID.join('')
    @id = Tk_BINDTAG_ID.join(TkCore::INTERP._ip_id_)
    Tk_BINDTAG_ID[1].succ!
  }
  BTagID_TBL.mutex.synchronize{
    BTagID_TBL[@id] = self
  }
  bind(*args, &b) if args != []
end
            
new_by_name(name, *args, &b)

def ::new_by_name(name, *args, &b)

BTagID_TBL.mutex.synchronize{
  return BTagID_TBL[name] if BTagID_TBL[name]
}

self.new.instance_eval{
  BTagID_TBL.mutex.synchronize{
    BTagID_TBL.delete @id
    @id = name
    BTagID_TBL[@id] = self
  }
  bind(*args, &b) if args != []
  self
}

end

 
               # File tk/lib/tk/bindtag.rb, line 46
def TkBindTag.new_by_name(name, *args, &b)
  obj = nil
  BTagID_TBL.mutex.synchronize{
    if BTagID_TBL[name]
      obj = BTagID_TBL[name]
    else
      (obj = BTagID_TBL[name] = self.allocate).instance_eval{
        @id = name
      }
    end
  }
  bind(*args, &b) if obj && args != []
  obj
end
            

Public Instance Methods

inspect()
 
               # File tk/lib/tk/bindtag.rb, line 83
def inspect
  #Kernel.format "#<TkBindTag: %s>", @id
  '#<TkBindTag: ' + @id + '>'
end
            
mutex()
 
               # File tk/lib/tk/bindtag.rb, line 15
def mutex; @mutex; end
            
name()
 
               # File tk/lib/tk/bindtag.rb, line 75
def name
  @id
end
            
to_eval()
 
               # File tk/lib/tk/bindtag.rb, line 79
def to_eval
  @id
end