# 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