# ----------------------------------------------------------------------
# Curses::UI::Dialog::Error
#
# (c) 2001-2002 by Maurice Makaay. All rights reserved.
# This file is part of Curses::UI. Curses::UI is free software.
# You can redistribute it and/or modify it under the same terms
# as perl itself.
#
# Currently maintained by Marcus Thiesen
# e-mail: marcus@cpan.thiesenweb.de
# ----------------------------------------------------------------------
package Curses::UI::Dialog::Error;
use strict;
use Curses;
use Curses::UI::Common;
use Curses::UI::Dialog::Basic;
use vars qw(
$VERSION
@ISA
);
@ISA = qw(
Curses::UI::Dialog::Basic
Curses::UI::Common
);
$VERSION = '1.10';
sub new ()
{
my $class = shift;
my %userargs = @_;
keys_to_lowercase(\%userargs);
my %args = (
-message => '', # The message to show
-fg => -1,
-bg => -1,
%userargs,
-ipadleft => 10, # Space for sign
-centered => 1,
);
my $this = $class->SUPER::new(%args);
unless (defined $this->{-title}) {
my $l = $this->root->lang;
$this->title($l->get('error_title'));
}
bless $this, $class;
}
sub draw(;$)
{
my $this = shift;
my $no_doupdate = shift || 0;
# Draw widget
$this->SUPER::draw(1) or return $this;
# Draw sign
$this->{-borderscr}->addstr(2, 1, " _");
$this->{-borderscr}->addstr(3, 1, " / \\");
$this->{-borderscr}->addstr(4, 1, " / ! \\");
$this->{-borderscr}->addstr(5, 1, " /_____\\");
$this->{-borderscr}->noutrefresh();
$this->{-canvasscr}->noutrefresh();
doupdate() unless $no_doupdate;
return $this;
}
1;
=pod
=head1 NAME
Curses::UI::Dialog::Error - Create and manipulate error dialogs
=head1 CLASS HIERARCHY
Curses::UI::Widget
|
+----Curses::UI::Container
|
+----Curses::UI::Window
|
+----Curses::UI::Dialog::Basic
|
+----Curses::UI::Dialog::Error
=head1 SYNOPSIS
use Curses::UI;
my $cui = new Curses::UI;
my $win = $cui->add('window_id', 'Window');
# The hard way.
# -------------
my $dialog = $win->add(
'mydialog', 'Dialog::Error',
-message => 'The world has gone!'
);
$dialog->focus;
$win->delete('mydialog');
# The easy way (see Curses::UI documentation).
# --------------------------------------------
$cui->error(-message => 'The world has gone!');
# or even:
$cui->error('The world has gone!');
=head1 DESCRIPTION
Curses::UI::Dialog::Error is a basic error dialog. It is
almost the same as L<Curses::UI::Dialog::Basic|Curses::UI::Dialog::Basic>,
except for the fact that a warning sign is drawn to the left of
the message using ASCII "art":
_
/ \
/ ! \
/_____\
Since this class is very closely related to the basic dialog,
see L<Curses::UI::Dialog::Basic|Curses::UI::Dialog::Basic> for
a description of the options and methods that you can use.
=head1 SEE ALSO
L<Curses::UI|Curses::UI>,
L<Curses::UI::Dialog::Basic|Curses::UI::Dialog::Basic>
=head1 AUTHOR
Copyright (c) 2001-2002 Maurice Makaay. All rights reserved.
Maintained by Marcus Thiesen (marcus@cpan.thiesenweb.de)
This package is free software and is provided "as is" without express
or implied warranty. It may be used, redistributed and/or modified
under the same terms as perl itself.