aboutsummaryrefslogtreecommitdiffstats
path: root/AdminPanel/Shared.pm
diff options
context:
space:
mode:
Diffstat (limited to 'AdminPanel/Shared.pm')
-rw-r--r--AdminPanel/Shared.pm175
1 files changed, 175 insertions, 0 deletions
diff --git a/AdminPanel/Shared.pm b/AdminPanel/Shared.pm
new file mode 100644
index 0000000..0779d0e
--- /dev/null
+++ b/AdminPanel/Shared.pm
@@ -0,0 +1,175 @@
+#!/usr/bin/perl
+# vim: set et ts=4 sw=4:
+# Copyright 2012-2013 Angelo Naselli <anaselli@linux.it>
+#
+# This file is part of LogViever
+#
+# LogViever is free software: you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation, either version 2 of the License, or
+# (at your option) any later version.
+#
+# LogViever is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with LogViever. If not, see <http://www.gnu.org/licenses/>.
+
+package AdminPanel::Shared;
+
+use strict;
+use warnings;
+use diagnostics;
+use yui;
+use base qw(Exporter);
+
+our @EXPORT = qw(warningMsgBox
+ msgBox
+ infoMsgBox
+ ask_YesOrNo
+ ask_OkCancel);
+
+sub warningMsgBox {
+ my ($st) = @_;
+ my $factory = yui::YUI::widgetFactory;
+ my $msg_box = $factory->createPopupDialog($yui::YDialogWarnColor);
+ my $layout = $factory->createVBox($msg_box);
+ my $align = $factory->createAlignment($layout, 3, 0);
+ $factory->createLabel( $align, $st, 1, 0);
+ $align = $factory->createAlignment($layout, 3, 0);
+ $factory->createPushButton($align, N("Ok"));
+ $msg_box->waitForEvent();
+
+ destroy $msg_box;
+}
+
+sub infoMsgBox {
+ my ($st) = @_;
+ my $factory = yui::YUI::widgetFactory;
+ my $msg_box = $factory->createPopupDialog($yui::YDialogInfoColor);
+ my $layout = $factory->createVBox($msg_box);
+ my $align = $factory->createAlignment($layout, 3, 0);
+ $factory->createLabel( $align, $st, 1, 0);
+ $align = $factory->createAlignment($layout, 3, 0);
+ $factory->createPushButton($align, N("Ok"));
+ $msg_box->waitForEvent();
+
+ destroy $msg_box;
+}
+
+sub msgBox {
+ my ($st) = @_;
+ my $factory = yui::YUI::widgetFactory;
+ my $msg_box = $factory->createPopupDialog($yui::YDialogNormalColor);
+ my $layout = $factory->createVBox($msg_box);
+ my $align = $factory->createAlignment($layout, 3, 0);
+ $factory->createLabel( $align, $st, 1, 0);
+ $align = $factory->createAlignment($layout, 3, 0);
+ $factory->createPushButton($align, N("Ok"));
+ $msg_box->waitForEvent();
+
+ destroy $msg_box;
+}
+
+sub ask_OkCancel {
+ my ($title, $text) = @_;
+ my $retVal = 0;
+ my $factory = yui::YUI::widgetFactory;
+
+ my $msg_box = $factory->createPopupDialog($yui::YDialogNormalColor);
+ my $layout = $factory->createVBox($msg_box);
+
+ my $align = $factory->createAlignment($layout, 3, 0);
+ ## title with headings true
+ $factory->createLabel( $align, $title, 1, 0);
+ $align = $factory->createLeft($layout);
+ $factory->createLabel( $align, $text, 0, 0);
+
+ $align = $factory->createRight($layout);
+ my $hbox = $factory->createHBox($align);
+ my $okButton = $factory->createPushButton($hbox, N("Ok"));
+ my $cancelButton = $factory->createPushButton($hbox, N("Cancel"));
+
+ my $event = $msg_box->waitForEvent();
+
+ my $eventType = $event->eventType();
+
+ if ($eventType == $yui::YEvent::WidgetEvent) {
+ # widget selected
+ my $widget = $event->widget();
+ $retVal = ($widget == $okButton);
+ }
+
+ destroy $msg_box;
+
+ return $retVal;
+}
+
+sub ask_YesOrNo {
+ my ($title, $text) = @_;
+ my $retVal = "No";
+ my $factory = yui::YUI::widgetFactory;
+
+ my $msg_box = $factory->createPopupDialog($yui::YDialogNormalColor);
+ my $layout = $factory->createVBox($msg_box);
+
+ my $align = $factory->createAlignment($layout, 3, 0);
+ ## title with headings true
+ $factory->createLabel( $align, $title, 1, 0);
+ $align = $factory->createLeft($layout);
+ $factory->createLabel( $align, $text, 0, 0);
+
+ $align = $factory->createRight($layout);
+ my $hbox = $factory->createHBox($align);
+ my $yesButton = $factory->createPushButton($hbox, N("Yes"));
+ my $noButton = $factory->createPushButton($hbox, N("No"));
+
+ my $event = $msg_box->waitForEvent();
+
+ my $eventType = $event->eventType();
+
+ if ($eventType == $yui::YEvent::WidgetEvent) {
+ # widget selected
+ my $widget = $event->widget();
+ $retVal = ($widget == $yesButton) ? "Yes" : "No";
+ }
+
+ destroy $msg_box;
+
+ return $retVal;
+}
+
+1;
+
+=head1 NAME
+
+ Shared - shared module providing common routines
+
+=head1 SYNOPSIS
+
+
+=head1 METHODS
+
+=head2 warningMsgBox
+
+=head2 msgBox
+
+ shows a simple message box
+
+=head2 infoMsgBox
+
+ shows a message box for informations
+
+=head2 ask_YesOrNo
+
+ shows a dialog with two buttons (Yes/No)
+
+=head3 return value(string)
+
+=head2 ask_OkCancel
+
+ shows a dialog with to buttons (Ok/Cancel)
+
+=head3 return value(string)