module Tk::TkDND::DND

Public Class Methods

version() click to toggle source
# File lib/tkextlib/tkDND/tkdnd.rb, line 131
def self.version
  begin
    TkPackage.require('tkdnd')
  rescue
    ''
  end
end

Public Instance Methods

dnd_bindsource(type, *args) click to toggle source

def dnd_bindsource(type, cmd=Proc.new, prior=None)

tk_call('dnd', 'bindsource', @path, type, cmd, prior)
self

end

# File lib/tkextlib/tkDND/tkdnd.rb, line 209
def dnd_bindsource(type, *args)
  # if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
  if TkComm._callback_entry?(args[0]) || !block_given?
    cmd = args.shift
  else
    cmd = Proc.new
  end

  args = [TkComm::None] if args.empty?

  tk_call('dnd', 'bindsource', @path, type, cmd, *args)
  self
end
dnd_bindsource_info(type=nil) click to toggle source
# File lib/tkextlib/tkDND/tkdnd.rb, line 197
def dnd_bindsource_info(type=nil)
  if type
    procedure(tk_call('dnd', 'bindsource', @path, type))
  else
    simplelist(tk_call('dnd', 'bindsource', @path))
  end
end
dnd_bindtarget(type, event, *args) click to toggle source

def dnd_bindtarget(type, event, cmd=Proc.new, prior=50, *args)

event = tk_event_sequence(event)
if prior.kind_of?(Numeric)
  tk_call('dnd', 'bindtarget', @path, type, event,
          install_bind_for_event_class(DND_Subst, cmd, *args),
          prior)
else
  tk_call('dnd', 'bindtarget', @path, type, event,
          install_bind_for_event_class(DND_Subst, cmd, prior, *args))
end
self

end

# File lib/tkextlib/tkDND/tkdnd.rb, line 161
def dnd_bindtarget(type, event, *args)
  # if args[0].kind_of?(Proc) || args[0].kind_of?(Method)
  klass = case type
          when 'text/plain'
            DND_SubstText
          when 'text/uri-list'
            DND_SubstFileList
          else
            DND_Subst
          end
  if TkComm._callback_entry?(args[0]) || !block_given?
    cmd = args.shift
  else
    cmd = Proc.new
  end

  prior = 50
  prior = args.shift unless args.empty?

  event = tk_event_sequence(event)
  if prior.kind_of?(Numeric)
    tk_call('dnd', 'bindtarget', @path, type, event,
            install_bind_for_event_class(klass, cmd, *args),
            prior)
  else
    tk_call('dnd', 'bindtarget', @path, type, event,
            install_bind_for_event_class(klass, cmd, prior, *args))
  end
  self
end
dnd_bindtarget_info(type=nil, event=nil) click to toggle source
# File lib/tkextlib/tkDND/tkdnd.rb, line 139
def dnd_bindtarget_info(type=nil, event=nil)
  if event
    procedure(tk_call('dnd', 'bindtarget', @path, type, event))
  elsif type
    procedure(tk_call('dnd', 'bindtarget', @path, type))
  else
    simplelist(tk_call('dnd', 'bindtarget', @path))
  end
end
dnd_clearsource() click to toggle source
# File lib/tkextlib/tkDND/tkdnd.rb, line 223
def dnd_clearsource()
  tk_call('dnd', 'clearsource', @path)
  self
end
dnd_cleartarget() click to toggle source
# File lib/tkextlib/tkDND/tkdnd.rb, line 192
def dnd_cleartarget
  tk_call('dnd', 'cleartarget', @path)
  self
end
dnd_drag(keys=nil) click to toggle source
# File lib/tkextlib/tkDND/tkdnd.rb, line 228
def dnd_drag(keys=nil)
  tk_call('dnd', 'drag', @path, *hash_kv(keys))
  self
end