NOM

Tk::Derived - Classe de base pour les widgets dérivées d'autres widgets


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
  }


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 configure et cget 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 Populate fournie par Tk::Derived, et appelle ConfigSpecs pour déclarer les options de configuration.

Méthodes publiques fournies par Tk::Derived :

->ConfigSpecs(-clé => [type, nom, Classe, défaut], ...)


VOIR AUSSI

Tk::ConfigSpecs Tk::mega Tk::composite


TRADUCTION

Jean-Pierre Vidal jeanpierre.vidal@free.fr


RELECTURE

Pas de relecture pour le moment