perlquestion
Anonymous Monk
<p>This is my first attempt at writing a megawidgit in PERL. I have not been programming for 10yrs. I cant find any concise examples showing what must be in the module, and where the perl subroutines must go. Here is my code.
It runs -- but it only hangs. I assume the widget is not being displayed, and its waiting for to choose something... </p>
<code>
package Tk::ListBox;
unshift (@INC , "/usr/pkg/lib/perl5/site_perl/5.30.0/x86_64-netbsd-thread-multi/Tk");
unshift (@INC , "/usr/pkg/lib/perl5/vendor_perl/5.30.0/Cache/Memcached");
unshift (@INC , "/usr/pkg/lib/perl5/site_perl/5.30.0/Cache");
# Declare base class.
use base qw/ Tk::Frame /; # Frame-based composite
use Tk::Widget; # or
use base qw/ Tk::Toplevel /; # Toplevel-based composite
# or (Not a TopLevel widget)
# use base qw/ Tk::Scrolled /;
# use base qw/ Tk::Listbox /;
use Tk::Listbox;
use Tk::Button;
use Tk::Entry;
# use base qw/ Tk::Derived Tk::SomeWidget /; # derived from SomeWidget
# ## If it is a "composite widget", then its not "derived"
Construct Tk::Widget 'ListBox2'; # install MyNewWidget in pTk namespace
sub ClassInit
{ # called once to initialize new class
my($class, $mw) = @_;
$class->SUPER::ClassInit($mw);
}
sub Populate { # called to build each widget instance
my($self, $args) = @_;
$self->SUPER::Populate($args);
my $o = $self -> ListBox2 -> pack();
$self->Advertise( 'listbox' => $o ); # advertise subwidgets
$self->Callback(); # invoke -command callbacks
$self->Component(); # define a subwidget component
$self->ConfigSpecs(); # define cget() / configure() options
$self->Delegates(); # how methods are delegated to subwidgets
$self->Subwidget(); # map a subwidget name to subwidget reference
}
</code>
11