package Tk
::DragDrop
::KDEDrop
;
$VERSION = '3.007'; # $Id: //depot/Tk8/DragDrop/DragDrop/KDEDrop.pm#7 $
use base qw(Tk::DragDrop::Rect);
Tk
::DragDrop
->Type('KDE');
my ($class,$token,$id) = @_;
return bless {id
=> $id, token
=>$token},$class;
my ($site,$token,$seln,$e) = @_;
Tk
::catch
{ $string = $w->SelectionGet(-selection
=> $seln, -type
=> 'FILE_NAME') };
if (!$@
&& defined $string)
$w->property('set','DndSelection','STRING',8,"file:$string",'root');
my $data = pack('LLLLL',128,0,0,$e->X,$e->Y);
$w->SendClientMessage('DndProtocol',$site->{id
},32,$data);
my ($class,$token,$X,$Y) = @_;
my $id = $token->PointToWindow($X,$Y);
Tk
::catch
{ @prop = $token->property('get','KDE_DESKTOP_WINDOW', $id) };
$seen = 1 if (!$@
&& shift(@prop) eq 'KDE_DESKTOP_WINDOW');
$id = $token->PointToWindow($X,$Y,$id)
my $hash = $token->{$class};
my $site = $hash->{$best};
$site = $class->new($token,$best);
my ($site,$token,$e) = @_;
my ($site,$token,$e) = @_;
my ($site,$token,$e) = @_;