Class: TkcTag (Ruby 2.3.4)

In Files

  • tk/lib/tk/canvastag.rb

Class/Module Index [+]

Quicksearch

TkcTag

Public Class Methods

id2obj(canvas, id)
 
               # File tk/lib/tk/canvastag.rb, line 242
def TkcTag.id2obj(canvas, id)
  cpath = canvas.path
  CTagID_TBL.mutex.synchronize{
    if CTagID_TBL[cpath]
      CTagID_TBL[cpath][id]? CTagID_TBL[cpath][id]: id
    else
      id
    end
  }
end
            
new(parent, mode=nil, *args)
 
               # File tk/lib/tk/canvastag.rb, line 253
def initialize(parent, mode=nil, *args)
  #unless parent.kind_of?(TkCanvas)
  #  fail ArgumentError, "expect TkCanvas for 1st argument"
  #end
  @c = parent
  @cpath = parent.path
  Tk_CanvasTag_ID.mutex.synchronize{
    # @path = @id = Tk_CanvasTag_ID.join('')
    @path = @id = Tk_CanvasTag_ID.join(TkCore::INTERP._ip_id_)
    Tk_CanvasTag_ID[1].succ!
  }
  CTagID_TBL.mutex.synchronize{
    CTagID_TBL[@cpath] = {} unless CTagID_TBL[@cpath]
    CTagID_TBL[@cpath][@id] = self
  }
  if mode
    tk_call_without_enc(@c.path, "addtag", @id, mode, *args)
  end
end
            

Public Instance Methods

above(target)
Alias for: set_to_above
all()
Alias for: set_to_all
below(target)
Alias for: set_to_below
closest(x, y, halo=None, start=None)
Alias for: set_to_closest
delete()
 
               # File tk/lib/tk/canvastag.rb, line 284
def delete
  @c.delete @id
  CTagID_TBL.mutex.synchronize{
    CTagID_TBL[@cpath].delete(@id) if CTagID_TBL[@cpath]
  }
  self
end
            
Also aliased as: remove, destroy
destroy()
Alias for: delete
enclosed(x1, y1, x2, y2)
Alias for: set_to_enclosed
exist?()
 
               # File tk/lib/tk/canvastag.rb, line 276
def exist?
  if @c.find_withtag(@id)
    true
  else
    false
  end
end
            
id()
 
               # File tk/lib/tk/canvastag.rb, line 272
def id
  @id
end
            
mutex()
 
               # File tk/lib/tk/canvastag.rb, line 234
def mutex; @mutex; end
            
overlapping(x1, y1, x2, y2)
Alias for: set_to_overlapping
remove()
Alias for: delete
set_to_above(target)
 
               # File tk/lib/tk/canvastag.rb, line 294
def set_to_above(target)
  @c.addtag_above(@id, target)
  self
end
            
Also aliased as: above
set_to_all()
 
               # File tk/lib/tk/canvastag.rb, line 300
def set_to_all
  @c.addtag_all(@id)
  self
end
            
Also aliased as: all
set_to_below(target)
 
               # File tk/lib/tk/canvastag.rb, line 306
def set_to_below(target)
  @c.addtag_below(@id, target)
  self
end
            
Also aliased as: below
set_to_closest(x, y, halo=None, start=None)
 
               # File tk/lib/tk/canvastag.rb, line 312
def set_to_closest(x, y, halo=None, start=None)
  @c.addtag_closest(@id, x, y, halo, start)
  self
end
            
Also aliased as: closest
set_to_enclosed(x1, y1, x2, y2)
 
               # File tk/lib/tk/canvastag.rb, line 318
def set_to_enclosed(x1, y1, x2, y2)
  @c.addtag_enclosed(@id, x1, y1, x2, y2)
  self
end
            
Also aliased as: enclosed
set_to_overlapping(x1, y1, x2, y2)
 
               # File tk/lib/tk/canvastag.rb, line 324
def set_to_overlapping(x1, y1, x2, y2)
  @c.addtag_overlapping(@id, x1, y1, x2, y2)
  self
end
            
Also aliased as: overlapping
set_to_withtag(target)
 
               # File tk/lib/tk/canvastag.rb, line 330
def set_to_withtag(target)
  @c.addtag_withtag(@id, target)
  self
end
            
Also aliased as: withtag
withtag(target)
Alias for: set_to_withtag