RE: SimpleList drag and drop
- From: "Ratcliffe, Jeffrey (Peters)" <Jeffrey Ratcliffe External eads com>
- To: gtk-perl-list gnome org
- Subject: RE: SimpleList drag and drop
- Date: Wed, 20 Sep 2006 07:20:19 +0200
Hi, I'm no expert on this, but read "perldoc Gtk2::Widget" for the
drag-n-drop callbacks.
I did (honestly!)
Usually, you don't drop onto the same widget, but for your example
add
$slist->signal_connect("drag_drop" => sub { warn "dropped\n"; } );
OK. That certainly gives me a dropped signal. But somehow the timing with the update of the tied data array
is out.
For the attached code, at the dropped signal, the array is still in its original order. Only when pressing
the button (or redoing the drop) is the new order displayed.
Any ideas?
#!/usr/bin/perl -w
use strict;
use Gtk2 -init;
use Gtk2::SimpleList;
my $win = Gtk2::Window->new;
$win->signal_connect (delete_event => sub { Gtk2->main_quit; });
my $vbox = Gtk2::VBox->new;
$win->add ($vbox);
my $slist = Gtk2::SimpleList->new ( 'Int' => 'int', 'Text' => 'text' );
@{$slist->{data}} = ( [1, 'text1'], [2, 'text2'], [3, 'text3'] );
$slist -> set_reorderable( 1 );
$slist -> signal_connect("drag_drop" => sub {
warn "dropped!\n";
list();
});
$vbox->add ($slist);
my $button = Gtk2::Button->new ( 'Print List' );
$vbox->add ($button);
$button -> signal_connect(clicked => sub {list();});
$win->show_all;
Gtk2->main;
sub list {
for (0..$#{$slist->{data}}) {
warn $slist->{data}[$_][0]." ".$slist->{data}[$_][1]."\n";
}
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]