diff options
Diffstat (limited to 'lib/ManaTools/Shared/GUI/EventRole.pm')
-rw-r--r-- | lib/ManaTools/Shared/GUI/EventRole.pm | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/lib/ManaTools/Shared/GUI/EventRole.pm b/lib/ManaTools/Shared/GUI/EventRole.pm index c0dc639b..f28b25ac 100644 --- a/lib/ManaTools/Shared/GUI/EventRole.pm +++ b/lib/ManaTools/Shared/GUI/EventRole.pm @@ -105,5 +105,29 @@ sub DEMOLISH { $eventHandler->delEvent($name) if defined($eventHandler); } +#============================================================= + +=head2 parentDialog + +=head3 INPUT + + $self: this object + +=head3 DESCRIPTION + + finds the parent Dialog + +=cut + +#============================================================= +sub parentDialog { + my $self = shift; + my $eventHandler = $self->eventHandler(); + while (defined($eventHandler) && !$eventHandler->isa('ManaTools::Shared::GUI::Dialog') && $eventHandler->does('ManaTools::Shared::GUI::EventRole')) { + $eventHandler = $eventHandler->eventHandler(); + } + return $eventHandler; +} + 1; |