Module: Tk::TkDND::DND

Included in:
TkWindow
Defined in:
lib/tkextlib/tkDND/tkdnd.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.versionObject



65
66
67
68
69
70
71
# File 'lib/tkextlib/tkDND/tkdnd.rb', line 65

def self.version
  begin
    TkPackage.require('tkdnd')
  rescue
    ''
  end
end

Instance Method Details

#dnd_bindsource(type, *args) ⇒ Object

def dnd_bindsource(type, cmd=Proc.new, prior=None) tk_call('dnd', 'bindsource', @path, type, cmd, prior) self end



135
136
137
138
139
140
141
142
143
144
145
146
147
# File '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

#dnd_bindsource_info(type = nil) ⇒ Object



123
124
125
126
127
128
129
# File '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

#dnd_bindtarget(type, event, *args) ⇒ Object

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



95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
# File '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

#dnd_bindtarget_info(type = nil, event = nil) ⇒ Object



73
74
75
76
77
78
79
80
81
# File '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

#dnd_clearsourceObject



149
150
151
152
# File 'lib/tkextlib/tkDND/tkdnd.rb', line 149

def dnd_clearsource()
  tk_call('dnd', 'clearsource', @path)
  self
end

#dnd_cleartargetObject



118
119
120
121
# File 'lib/tkextlib/tkDND/tkdnd.rb', line 118

def dnd_cleartarget
  tk_call('dnd', 'cleartarget', @path)
  self
end

#dnd_drag(keys = nil) ⇒ Object



154
155
156
157
# File 'lib/tkextlib/tkDND/tkdnd.rb', line 154

def dnd_drag(keys=nil)
  tk_call('dnd', 'drag', @path, *hash_kv(keys))
  self
end