Thread OO-Button-Modul: für SDL (ab geht um OO) (37 answers)
Opened by master at 2006-03-31 19:08

ptk
 2006-04-07 00:59
#64280 #64280
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Wenn du eine Rückreferenz von Button auf Container brauchst: dann übergib einfach die Container-Referenz und speichere sie irgendwo im Button-Objekt. Denk aber daran, dass du diese Referenz per Scalar::Util::weaken "schwach" machst, weil du dir ansonsten eine zirkuläre Referenz baust, die Perl nicht automatisch auflösen kann.

Beispielcode:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
$container->add_button(%button_args);

{
package Container;
sub add_button {
my($self, %button_args) = @_;
my $button = Button->new(%button_args, -container => $self);
push @{$self->buttons}, $button;
$button;
}
}

Hier sieht man auch den Tk-Stil der "named parameters". Eine Sache, die bei Perl6 viel leichter sein wird und auf die ich mich schon freue.

View full thread OO-Button-Modul: für SDL (ab geht um OO)