| 1 $MODULE_NAME = "GTK Frame Test"; |
|
| 2 |
|
| 3 use Gaim; |
|
| 4 |
|
| 5 %PLUGIN_INFO = ( |
|
| 6 perl_api_version => 2, |
|
| 7 name => " Perl: $MODULE_NAME", |
|
| 8 version => "0.1", |
|
| 9 summary => "Test plugin for the Perl interpreter.", |
|
| 10 description => "Implements a set of test proccedures to ensure all functions that work in the C API still work in the Perl plugin interface. As XSUBs are added, this *should* be updated to test the changes. Furthermore, this will function as the tutorial perl plugin.", |
|
| 11 author => "John H. Kelm <johnhkelm\@gmail.com>", |
|
| 12 url => "http://gaim.sourceforge.net/", |
|
| 13 |
|
| 14 GTK_UI => TRUE, |
|
| 15 gtk_prefs_info => "foo", |
|
| 16 load => "plugin_load", |
|
| 17 unload => "plugin_unload", |
|
| 18 ); |
|
| 19 |
|
| 20 |
|
| 21 sub plugin_init { |
|
| 22 return %PLUGIN_INFO; |
|
| 23 } |
|
| 24 |
|
| 25 sub button_cb { |
|
| 26 my $widget = shift; |
|
| 27 my $data = shift; |
|
| 28 print "Clicked button with message: " . $data . "\n"; |
|
| 29 } |
|
| 30 |
|
| 31 sub foo { |
|
| 32 eval ' |
|
| 33 use Glib; |
|
| 34 use Gtk2 \'-init\'; |
|
| 35 |
|
| 36 $frame = Gtk2::Frame->new(\'Gtk Test Frame\'); |
|
| 37 $button = Gtk2::Button->new(\'Print Message\'); |
|
| 38 |
|
| 39 $frame->set_border_width(10); |
|
| 40 $button->set_border_width(150); |
|
| 41 $button->signal_connect("clicked" => \&button_cb, "Message Text"); |
|
| 42 $frame->add($button); |
|
| 43 |
|
| 44 $button->show(); |
|
| 45 $frame->show(); |
|
| 46 '; |
|
| 47 return $frame; |
|
| 48 } |
|
| 49 |
|
| 50 sub plugin_load { |
|
| 51 my $plugin = shift; |
|
| 52 print "#" x 80 . "\n"; |
|
| 53 |
|
| 54 |
|
| 55 ######### TEST CODE HERE ########## |
|
| 56 |
|
| 57 print "$MODULE_NAME: Loading...\n"; |
|
| 58 |
|
| 59 |
|
| 60 Gaim::debug_info("plugin_load()", "Testing $MODULE_NAME Completed."); |
|
| 61 print "#" x 80 . "\n\n"; |
|
| 62 } |
|
| 63 |
|
| 64 sub plugin_unload { |
|
| 65 |
|
| 66 } |
|