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

Comparing kgsueme/kgsueme/gtk.pl (file contents):
Revision 1.2 by pcg, Sat May 31 09:48:48 2003 UTC vs.
Revision 1.3 by pcg, Sat May 31 10:58:30 2003 UTC

1package gtk; 1package gtk;
2
3use Carp;
2 4
3our $text_renderer = new Gtk2::CellRendererText; 5our $text_renderer = new Gtk2::CellRendererText;
4our $int_renderer = new Gtk2::CellRendererText; 6our $int_renderer = new Gtk2::CellRendererText;
5$int_renderer->set (xalign => 1); 7$int_renderer->set (xalign => 1);
6 8
7our $state = $util::state->{gtk} || {}; 9our $state = $util::state->{gtk} || {};
8 10
9# shows the properties of a glib object 11# shows the properties of a glib object
10sub gtk_info { 12sub info {
11 my ($idx, $obj) = @_; 13 my ($idx, $obj) = @_;
12 last if $seen{$idx}++; 14 last if $seen{$idx}++;
13 print "\n$idx\n"; 15 print "\n$idx\n";
14 for ($obj->list_properties) { 16 for ($obj->list_properties) {
15 printf "%-16s %-24s %-24s %s\n", $_->{name}, $_->{type}, (join ":", @{$_->{flags}}), $_->{descr}; 17 printf "%-16s %-24s %-24s %s\n", $_->{name}, $_->{type}, (join ":", @{$_->{flags}}), $_->{descr};
97 99
98package gtk::widget; 100package gtk::widget;
99 101
100# hacked gtk pseudo-widget 102# hacked gtk pseudo-widget
101 103
104sub new {
105 my $class = shift;
106 bless { @_ }, $class;
107}
108
102sub widget { $_[0]{widget} } 109sub widget { $_[0]{widget} }
103 110
104sub AUTOLOAD { 111sub AUTOLOAD {
105 warn $AUTOLOAD; 112 $AUTOLOAD =~ /::([^:]+)$/ or Carp::confess "$AUTOLOAD: no such method (illegal name)";
106 die; 113 my $method = $_[0]{widget}->can($1)
114 or Carp::confess "$AUTOLOAD: no such method";
115 # do NOT cache.. we are fats enough this way
116 unshift @_, shift->{widget};
117 &$method;
118}
119
120package gtk::text;
121
122use base gtk::widget;
123
124sub new {
125 my $class = shift;
126 my $self = $class->SUPER::new(@_);
127
128 $self->{buffer} = new Gtk2::TextBuffer undef;
129
130 $self->{widget} = new Gtk2::TextView;
131
132 $self;
133}
134
135sub set_text {
136 my ($self, $text) = @_;
107} 137}
108 138
1091; 1391;
110 140

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines