For those who want to test the new version, there is a release at:
http://www.ellogon.org/petasis/index.php?option=com_docman&task=doc_download&gid=47&Itemid=37
This includes the sources & binaries for linux (fedora core 5) and windows.
George
"Georgios Petasis" <petasis@iit.demokritos.gr> wrote in message
news:e0mdmo$ak7$1@ulysses.noc.ntua.gr...
>A small compatibility layer for supporting simple cases of the TkDND 1.x
>series
> was added. So, if you don't use %x & %y in your scripts,
> and the tkdnd utilities for droping on canvas items, you have a good
> chance
> the old code will work :-)
>
> George
>
> "Georgios Petasis" <petasis@iit.demokritos.gr> wrote in message
> news:e0lrrp$2442$1@ulysses.noc.ntua.gr...
>> Although not an official announcement yet (as my web server is down due
>> to a scheduled power shortage), I am posting some details about the
>> forthcoming release of the TkDND version 2.0 series.
>>
>> 1) TkDND v 2.0 wil lbe incompatible with 1.x versions. Perhaps
>> a compatibility layer will be added to support the most common
>> use cases of the 1.x series.
>>
>> 2) TkDND won't support user-defined drag and drop format, as
>> 1.x supported. I think that this was a feature never used by somebody.
>>
>> 3) The current implementation, support only drops from other applications
>> to Tk windows. Of course, full drag support is planned.
>>
>> 4) Motif drag and drop handling won't be supported.
>>
>> Now, what the new API look like:
>>
>> Drop target widgets:
>> --------------------------------
>>
>> A drop target widget can be defined as:
>>
>> tkdnd::drop_target register .drop_target <type-list>
>>
>> <type-list> can contain cross-platform types, like "DND_Text" and
>> "DND_Files",
>> or platform-dependent types like CF_HDROP or text/files.
>> A new feature is that types can also have wildcards, like in "string
>> match".
>> For example, the type "*" will accept all types!
>>
>> Since a widget is registered as a drop target, 4 events can be delivered
>> to the widget during drop operations: <<DropEnter>>,
>> <<DropPosition>>, <<DropLeave>> and <<Drop(:*)?>>.
>> You can register a widget to receive these events, by using bind:
>>
>> set cmd {handle_event %E %W %X %Y %ST %TT %A %a %CST %CTT %T %t %B %D}
>> bind .drop_target <<DropEnter>> $cmd
>> bind .drop_target <<DropPosition>> $cmd
>> bind .drop_target <<DropLeave>> $cmd
>>
>> The <<Drop>> event, can be more complex: a widget can register a generic
>> <<Drop>> event that will be called when any drop event occurs. But it can
>> also register a more "specific" drop event, associated with a type:
>>
>> bind .drop_target <<Drop>> $cmd
>> bind .drop_target <<Drop:DND_Files>> $cmd
>>
>> In such a case, if a file is dropped on the widget, the event
>> <<Drop:DND_Files>> will be called. For all other drops
>> (like texts), the "generic" <<Drop>> will be called.
>>
>> All event bindings, if defined, are expected to return the drop
>> action (one of copy, move, link, ask, private & refuse_drop).
>> Also, bindings can have various pieces of information, like
>> Event (%E) Widget (%W) X (%X) Y (%Y) Source_Types (%ST)
>> Target_Types (%TT) Source_Actions (%A) Action (%a)
>> Common_Source_Types (%CST)
>> Common_Target_Types (%CTT)
>> Types (%T) Drop_Type (%t)
>> Pressed_Keys/Buttons (%B) and Data (%D)
>>
>> How does this new interface sounds?
>>
>> George
>>
>> (The new version will be available as soon as my server will be up again,
>> which is expected to happen by tonight.)
>>
>
>
Received on Sun Apr 30 02:56:12 2006