1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
|
2015-04-20 Petasis George <petasis@iit.demokritos.gr>
TkDND 2.8 released.
2015-04-13 Petasis George <petasis@iit.demokritos.gr>
* library\tkdnd_generic.tcl: Fixed SF bug #30: Toplevel Widget Cannot
Be Drop Target. Bug reported by Tim Tomkinson.
2015-03-04 Petasis George <petasis@iit.demokritos.gr>
* library/tkdnd.tcl: Added support in <<DragInitCmd>> & <<DragEndCmd>>
for %x, %y mouse coordinates (relative to window that is the drag
source). Added the ability to stop a drag on the drag source. The
<<DragInitCmd>> binding must return either "refuse_drop"
as a value (instead of a list), or use
"return -code break"|"return -code continue".
2015-02-20 Petasis George <petasis@iit.demokritos.gr>
* unix/TkDND_XDND.c: Fixed a bug in converting Time to a Tcl object.
Now Tcl_NewWideIntObj() is used, as Tcl_NewLongObj() could cause an
overflow under some operating systems. Bug reported by Nicolas Bats,
for OS X 10.7.
2014-11-26 Petasis George <petasis@iit.demokritos.gr>
TkDND 2.7 released.
2014-10-07 Petasis George <petasis@iit.demokritos.gr>
* macosx/macdnd.m:
* library/tkdnd_macosx.tcl: Added support for DND_HTML in OS X.
* library/tkdnd_unix.tcl: Added support for DND_HTML in XDND.
2014-09-21 Petasis George <petasis@iit.demokritos.gr>
* library/tkdnd_macosx.tcl:
* library/tkdnd_unix.tcl: Changed implementation to re-use the
generic implementation.
* library/tkdnd_generic.tcl: Two new procedures,
generic::GetWindowCommonTypes and generic::FindWindowWithCommonTypes.
The last one tries to find a window that can accept the current drag.
* unix/TkDND_XDND.c: Fixed a bug in getting the "acccepted" field
in XdndFinished.
* demos/overlapping_targets.tcl: New demo (more a "testing" utility for
mega-widget support).
* CMakeLists.txt:
* configure.in: Updated installed files.
* demos/basic.tcl:
* demos/dndSpy.tcl:
* demos/simple_target.tcl: Bug fixes.
* library/tkdnd.tcl:
* library/tkdnd_macosx.tcl:
* library/tkdnd_unix.tcl: Various bug fixes.
* win/OleDND.h:
* win/TkDND_OleDND.cpp:
* library/tkdnd_windows.tcl: Changed implementation to re-use the
generic implementation.
* library/tkdnd_generic.tcl: Added a new "generic" implementation of
handling drops, with the aim to be re-used by all supported platforms.
2014-08-19 Petasis George <petasis@iit.demokritos.gr>
* unix/TkDND_XDND.c:
* win/OleDND.h: Corrected behaviour when mouse drags over overlapping
windows. Bug reported by Csaba Nemethi.
2014-08-13 Petasis George <petasis@iit.demokritos.gr>
* library/tkdnd_windows.tcl:
* library/tkdnd.tcl:
* library/tkdnd_unix.tcl:
* library/tkdnd_macosx.tcl:
* macosx/macdnd.m: Added support for complex sources under OS X.
* CMakeLists.txt: A few fixes for OS X.
* demos/complex_source.tcl:
* demos/simple_source.tcl: Ensure returned paths are absolute (to avoid
warnings under OS X).
2014-08-06 Petasis George <petasis@iit.demokritos.gr>
* library/tkdnd_unix.tcl: Added support for sources with multiple
and (incompatible) types under Unix. Completed implementation started
on 2014-01-05 for Windows. OS X support is still pending.
* unix/TkDND_XDND.c: Replaced calls to (deprecated)
XKeycodeToKeysym(), with calls to XGetKeyboardMapping().
2014-08-04 Petasis George <petasis@iit.demokritos.gr>
* library/tkdnd_unix.tcl: Fixed a bug where successive drags may
be canceled, by a delayed XDNDFinished event, which is scheduled by
xdnd::_SendXdndDrop to occur after 10 seconds (as a protection against
a failed selection transfer by the client).
Bug reported by Csaba Nemethi.
2014-01-05 Petasis George <petasis@iit.demokritos.gr>
* doc/tkDND.n: Updated the man page.
* demos/complex_source.tcl:
* demos/simple_source.tcl:
* demos/simple_target.tcl: New demos.
* win/OleDND.h:
* win/TkDND_OleDND.cpp:
* library/tkdnd.tcl:
* library/tkdnd_windows.tcl: Added support for sources with multiple
and (incompatible) types, that require different data to be dropped. The
changes affect the <<DragInitCmd>>, where there are now to types of
return values expected from the event. Changes have been tested only
under Windows. Unix/OS X not yet implemented.
* demos/basic.tcl: Added information about the cross-platform dropped
type.
2012-11-27 Petasis George <petasis@iit.demokritos.gr>
* library/tkdnd_unix.tcl:
* library/tkdnd_windows.tcl: Leave and Drop events do not report 0
as root x/y (%X %Y). In case the underlying protocol does not support
reporting the mouse coordinates for the specific event, the last known
possition from the position event is used.
2012-08-26 Petasis George <petasis@iit.demokritos.gr>
TkDND 2.6 released.
* unix/tkUnixSelect.c: Added a work-around for getting the selection
under unix: since Tk does not always deliver SelectionNotify, we try
to get the selection even if SelectionNotify has not been received.
2012-08-15 Petasis George <petasis@iit.demokritos.gr>
* unix/tkUnixSelect.c: Partially solved the problem with getting
selection under unix. The solution was to try and get the selection,
even if a SelectionNotify event has not been delivered.
2012-07-14 Petasis George <petasis@iit.demokritos.gr>
* unix/tkUnixSelect.c: Tests with Tcl_ThreadAlert(). It helps
somewhat, but is not the solution for the problems when getting the
selection.
2012-06-17 Petasis George <petasis@iit.demokritos.gr>
TkDND 2.5 released.
* win/TkDND_OleDND.cpp: Fixes for type CF_HDROP.
2012-06-07 Petasis George <petasis@iit.demokritos.gr>
* demos/basic.tcl: Updated demo with support for colours, which only
works for XDND right now.
* unix/TkDND_XDND.c:
* unix/tkUnixSelect.c: Implementation of unix (XDND) drags completed.
2012-06-06 Petasis George <petasis@iit.demokritos.gr>
* unix/Cursors.c: Ported cursors from TkDND 1.x to TkDND 2.x
2012-06-05 Petasis George <petasis@iit.demokritos.gr>
* library/tkdnd.tcl:
* library/tkdnd_unix.tcl:
* unix/tkUnixSelect.c:
* unix/TkDND_XDND.c: Added support for initiating drags from Tk under
unix. Despite incomplete, seems to work with GTK.
2012-06-02 Petasis George <petasis@iit.demokritos.gr>
* library/tkdnd_unix.tcl:
* unix/TkDND_XDND.c:
* unix/tkUnixSelect.c:
* unix/tkSelect.h: Modifications to support Linux drops. Drops from
GTK seem to always work, and drops from Qt seem to work most of the
times.
2012-04-19 Petasis George <petasis@iit.demokritos.gr>
* win/Makefile: Updated the Windows Makefile, after a patch from
Dave Bodenstab.
2012-04-12 Petasis George <petasis@iit.demokritos.gr>
TkDND 2.4 released.
* library/tkdnd_unix.tcl:
* unix/TkDND_XDND.c:
* unix/tkUnixSelect.c:
* unix/tkSelect.h: Modifications to support Linux drops.
* tclconfig/*:
* configure.in, Makefile.in: Updated to TEA 3.9.
* library/tkdnd_unix.tcl: Removed braces from a comment in
xdnd::_GetDroppedData, left from testing with TIP 370 preliminary
implementation. SF Bug ID: 3516862
2012-03-03 Petasis George <petasis@iit.demokritos.gr>
TkDND 2.3 released.
* library/tkdnd_windows.tcl:
* win/OleDND.h:
* win/TkDND_OleDND.cpp: Fix in TkDND_DropSource::QueryContinueDrag,
to support dragging with all mouse buttons. Bug reported by
Michael Fersch.
2011-09-24 Petasis George <petasis@iit.demokritos.gr>
* win/OleDND.h: Added definition of WINVER to version 5, when compiling
with MinGW, which defines it with version 4. SF Bug ID: 3411338.
2011-09-23 Petasis George <petasis@iit.demokritos.gr>
* win/OleDND.h: Modified STRING_(s), to ease compilation with MinGW.
Patch provided by Hans-Christoph Steiner. SF Bug ID: 3411338.
2011-09-22 Petasis George <petasis@iit.demokritos.gr>
* win/OleDND.h: Added a check if CF_DIBV5 is defined (i.e.
WINVER < 0x0500). SF Bug ID: 3411338.
2011-03-18 Petasis George <petasis@iit.demokritos.gr>
* library/tkdnd_unix.tcl: Fixed a bug in xdnd::_GetDroppedData, where
an improper error was thrown in case no common types were found between
the drag source and drop target widgets. Now a more appropriate error
is returned. Bug reported by Kevin Walzer.
2011-01-14 Petasis George <petasis@iit.demokritos.gr>
* library/tkdnd_unix.tcl: Added support for accepting drops, if
TIP 370 is finally approved. Changes tested with a preliminary TIP 370
implementation.
* library/tkdnd_macosx.tcl: Fixed a bug reported by Kevin Walzer:
macdnd::_GetDroppedData and xdnd::_GetDroppedData were missing the
"time" argument, added in the XDND section for TIP 370 (if it gets
accepted).
* macosx/macdnd.m: Restored back a workarround by Kevin Walzer, as
TkDND does not work well under all circumstances in OS X 10.6.
(Reported by Kevin Walzer on 23 Dec 2010).
2010-08-03 Petasis George <petasis@iit.demokritos.gr>
TkDND 2.2 released.
* library/tkdnd_windows.tcl:
* win/OleDND.h: Fixes for compiling with UNICODE & _UNICODE.
2010-07-28 Petasis George <petasis@iit.demokritos.gr>
* win/Makefile: Updated.
* library/tkdnd_unix.tcl:
* library/tkdnd_windows.tcl: Fixed bug 2169256.
* library/tkdnd.tcl: Fixed bug 2486830.
2010-06-16 Petasis George <petasis@iit.demokritos.gr>
* Makefile.in:
* configure.in:
* win/Makefile:
* win/TkDND_OleDND.cpp:
* unix/TkDND_XDND.c: Applied a patch from Andreas Kupries, which
make the unix code compatible with compilers supporting C89 (i.e.
AIX's cc). Also, the TEA files were updated.
* /unix/TkDND_XDND.c: Fixed a bug in TkDND_RegisterTypesObjCmd.
It seems that KDE wants the XdndAware property on the window these
days, and not at the toplevel one.
2010-06-11 Petasis George <petasis@iit.demokritos.gr>
TkDND 2.1 released.
2010-05-05 Petasis George <petasis@iit.demokritos.gr>
* /macosx/macdnd.m: Several fixes. The most important are:
Do not initiate a drag if the clipboard is empty (i.e. because we
cannot handle any of the provided types).
Fixed drag icon slide when the drag is canceled.
2010-04-30 Petasis George <petasis@iit.demokritos.gr>
* /macosx/macdnd.m: Several changes:
Moved drag operation inside TkDND_DoDragDropObjCmd. This means that
drag operation can be started with a Tk binding.
Fixed the way drag types are declared in the drag clipboard. Now types
are reported correctly during drops.
Added a tag in the DNDView class.
Added a function to get the DNDView pointer from an NSView pointer.
Hopefully this will not permit to add more than one DNDView to any
view. This function always return a DNDView pointer (it creates a
new DNDView if a view does not already has one).
The demos seem to work, although the garbage collector seems to print
some messages during drags from Tk windows.
2010-04-06 Petasis George <petasis@iit.demokritos.gr>
* /macosx/macdnd.m: Some attempts towards drag support for OS X.
2010-01-03 Petasis George <petasis@iit.demokritos.gr>
* /library/tkdnd_macosx.tcl:
* /macosx/macdnd.m: Changed the way dropped data is handled: during
the drop event the data are converted into a utf-8 string (in case of
dropping string data) or a Tcl list object of utf-8 filenames (in case
of dropping files). The data object is stored directly in the
tkdnd::macdnd::_dropped_data variable, instead of the selection
clipboard. _GetDroppedData was modified to return this stored data.
2009-12-30 Petasis George <petasis@iit.demokritos.gr>
* /cmake:
* /CMakeLists.txt: Added support for building TkDND with cmake (i.e.
under windows).
2009-12-29 Petasis George <petasis@iit.demokritos.gr>
* /library/tkdnd_macosx.tcl:
* /macosx/macdnd.m: Changes to better integrate the work done by
Kevin Walzer with the rest of TkDND, since OS X seems to mimic the
XDND implementation. tkdnd_macosx.tcl is now a stub file, with most of
the work being done by the unix (XDND) code.
I think that OS X drop support is now working.
2009-12-09 Petasis George <petasis@iit.demokritos.gr>
* /library/tkdnd_macosx.tcl:
* /macosx/macdnd.m: Updates to better integrate the OS X type
registration command with the rest of the TkDND internal API.
2009-12-01 Walzer Kevin <kw@codebykevin.com>
* /macosx/*: Initial support for drop targets under OS X (Cocoa).
2007-02-09 Petasis George <petasis@iit.demokritos.gr>
* /unix/TkDND_XDND.c: Fixed a bug in TkDND_RegisterTypesObjCmd, where
Tk_Parent was used to determine if a provided path was a toplevel.
Replaced by a check through Tk_IsTopLevel.
Bug reported by Alain Bertrand <alain.mp.bertrand@tele2.be>
2006-04-24 Petasis George <petasis@iit.demokritos.gr>
* TkDND version 2.0 started.
|