ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/kgsueme/kgsueme/userlist.pl
(Generate patch)

Comparing kgsueme/kgsueme/userlist.pl (file contents):
Revision 1.4 by pcg, Thu Jun 12 21:03:04 2003 UTC vs.
Revision 1.5 by pcg, Thu May 20 22:59:55 2004 UTC

1package userlist; 1package userlist;
2 2
3use base gtk::widget; 3use Glib::Object::Subclass
4 Gtk2::TreeView;
4 5
5sub new { 6sub new {
6 my $class = shift; 7 my ($self, %arg) = @_;
7 my $self = $class->SUPER::new(@_); 8 $self = $self->Glib::Object::new;
9 $self->{$_} = delete $arg{$_} for keys %arg;
8 10
11 $self->signal_connect (destroy => sub { %{$_[0]} = () });
12
9 $self->{model} = new Gtk2::ListStore Glib::String, Glib::String, Glib::String, Glib::Int, Glib::String; 13 $self->set_model ($self->{model} = new Gtk2::ListStore Glib::String, Glib::String, Glib::String, Glib::Int, Glib::String);
10 gtk::state $self->{model}, "userlist::model", undef, modelsortorder => [2, 'descending']; 14 gtk::state $self->{model}, "userlist::model", undef, modelsortorder => [2, 'descending'];
11 15
12 $self->{widget} = new Gtk2::TreeView $self->{model};
13
14 $self->{widget}->set (rules_hint => 0, search_column => 1); 16 $self->set (rules_hint => 0, search_column => 1);
15 17
16 my $column = $self->{rlcolumns}[0] = 18 my $column = $self->{rlcolumns}[0] =
17 Gtk2::TreeViewColumn->new_with_attributes ("Name", $gtk::text_renderer, text => 0); 19 Gtk2::TreeViewColumn->new_with_attributes ("Name", $gtk::text_renderer, text => 0);
18 $column->set_sort_column_id(1); 20 $column->set_sort_column_id (1);
19 $column->set(sizing => 'grow-only'); 21 $column->set (sizing => 'grow-only');
20 $self->{widget}->append_column ($column); 22 $self->append_column ($column);
21 23
22 my $column = $self->{rlcolumns}[1] = 24 my $column = $self->{rlcolumns}[1] =
23 Gtk2::TreeViewColumn->new_with_attributes ("Rk", $gtk::text_renderer, text => 2); 25 Gtk2::TreeViewColumn->new_with_attributes ("Rk", $gtk::text_renderer, text => 2);
24 $column->set_sort_column_id(3); 26 $column->set_sort_column_id (3);
25 $column->set(sizing => 'grow-only'); 27 $column->set (sizing => 'grow-only');
26 $self->{widget}->append_column ($column); 28 $self->append_column ($column);
27 29
28 my $column = $self->{rlcolumns}[2] = 30 my $column = $self->{rlcolumns}[2] =
29 Gtk2::TreeViewColumn->new_with_attributes ("Flags", $gtk::text_renderer, text => 4); 31 Gtk2::TreeViewColumn->new_with_attributes ("Flags", $gtk::text_renderer, text => 4);
30 $column->set(resizable => 1); 32 $column->set (resizable => 1);
31 $column->set(sizing => 'grow-only'); 33 $column->set (sizing => 'grow-only');
32 $self->{widget}->append_column ($column); 34 $self->append_column ($column);
33 35
34 $self->{widget}->signal_connect(row_activated => sub { 36 $self->signal_connect (row_activated => sub {
35 my ($widget, $path, $column) = @_; 37 my ($widget, $path, $column) = @_;
36 my $user = $self->{users}{$self->{model}->get ($self->{model}->get_iter ($path), 0)} 38 my $user = $self->{users}{$self->{model}->get ($self->{model}->get_iter ($path), 0)}
37 or return 1; 39 or return 1;
38 warn "selected user $user\n"; 40 warn "selected user $user\n";
39 1; 41 1;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines