Module Tk::TkDND::DND
In: tk/lib/tkextlib/tkDND/tkdnd.rb

Methods

Public Class methods

[Source]

# File tk/lib/tkextlib/tkDND/tkdnd.rb, line 65
      def self.version
        begin
          TkPackage.require('tkdnd')
        rescue
          ''
        end
      end

Public Instance methods

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

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

end

[Source]

# File tk/lib/tkextlib/tkDND/tkdnd.rb, line 135
      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 = [None] if args.empty

        tk_call('dnd', 'bindsource', @path, type, cmd, *args)
        self
      end

[Source]

# File tk/lib/tkextlib/tkDND/tkdnd.rb, line 123
      def dnd_bindsource_info(type=nil)
        if type
          procedure(tk_call('dnd', 'bindsource', @path, type))
        else
          simplelist(tk_call('dnd', 'bindsource', @path))
        end
      end

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

[Source]

# File tk/lib/tkextlib/tkDND/tkdnd.rb, line 95
      def dnd_bindtarget(type, event, *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

        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(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

[Source]

# File tk/lib/tkextlib/tkDND/tkdnd.rb, line 73
      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

[Source]

# File tk/lib/tkextlib/tkDND/tkdnd.rb, line 149
      def dnd_clearsource()
        tk_call('dnd', 'clearsource', @path)
        self
      end

[Source]

# File tk/lib/tkextlib/tkDND/tkdnd.rb, line 118
      def dnd_cleartarget
        tk_call('dnd', 'cleartarget', @path)
        self
      end

[Source]

# File tk/lib/tkextlib/tkDND/tkdnd.rb, line 154
      def dnd_drag(keys=nil)
        tk_call('dnd', 'drag', @path, *hash_kv(keys))
        self
      end

[Validate]