=head1 NOM Tk::Derived - Classe de base pour les widgets dérivées d'autres widgets =head1 SYNOPSIS package Tk::MyNewWidget; use Tk::widgets qw/ BaseWidget, list of Tk widgets /; use base qw/ Tk::Derived Tk::BaseWidget /; Construct Tk::Widget 'MyNewWidget'; sub ClassInit { my( $class, $mw ) = @_; #... mettre par exemple les liaisons de classe ici... $class->SUPER::ClassInit ( $mw ); } sub Populate { my( $self, $args ) = @_; my $flag = delete $args->{-flag}; if( defined $flag ) { # prendre en compte -flag => xxx ce qui ne # peut être fait qu'au moment de la création. # l'instruction delete ci-dessus assure que new() # ne tentera pas un $self->configure( -flag => xxx ); } $self->SUPER::Populate( $args ); $self = $self->Component( ... ); $self->Delegates( ... ); $self->ConfigSpecs( '-cursor' => [ SELF, 'cursor', 'Cursor', undef ], '-something' => [ METHOD, dbName, dbClass, default ], '-text' => [ $label, dbName, dbClass, default ], '-heading' => [ {-text => $head}, heading, Heading, 'My Heading' ], ); } sub something { my( $self, $value) = @_; if ( @_ > 1 ) { # l'initialiser } return # valeur courante } =head1 DESCRIPTION Tk::Derived est utilisée avec l'héritage multiple de perl5 pour surcharger certaines méthodes normalement héritées de Tk::Widget. Tk::Derived doit précéder tout widget Tk dans la définition de la classe de base des classes. Le but principal de Tk::Derived est d'enrober les méthodes C et C du widget afin de permettre au widget dérivé d'ajouter des options de configuration au widget de base, ou de modifier leur comportement. Normalement, la classe dérivée redéfinit la méthode C fournie par Tk::Derived, et appelle C pour déclarer les options de configuration. Méthodes publiques fournies par Tk::Derived : -EConfigSpecs(-I => [I, I, I, I], ...) =head1 VOIR AUSSI Tk::ConfigSpecs Tk::mega Tk::composite =head1 TRADUCTION Jean-Pierre Vidal jeanpierre.vidal@free.fr =head1 RELECTURE Pas de relecture pour le moment