aboutsummaryrefslogtreecommitdiffstats
path: root/lib/ManaTools/Shared/GUI/EventRole.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/ManaTools/Shared/GUI/EventRole.pm')
-rw-r--r--lib/ManaTools/Shared/GUI/EventRole.pm24
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;