Server IP : 103.119.228.120 / Your IP : 3.137.190.6 Web Server : Apache System : Linux v8.techscape8.com 3.10.0-1160.119.1.el7.tuxcare.els2.x86_64 #1 SMP Mon Jul 15 12:09:18 UTC 2024 x86_64 User : nobody ( 99) PHP Version : 5.6.40 Disable Function : shell_exec,symlink,system,exec,proc_get_status,proc_nice,proc_terminate,define_syslog_variables,syslog,openlog,closelog,escapeshellcmd,passthru,ocinum cols,ini_alter,leak,listen,chgrp,apache_note,apache_setenv,debugger_on,debugger_off,ftp_exec,dl,dll,myshellexec,proc_open,socket_bind,proc_close,escapeshellarg,parse_ini_filepopen,fpassthru,exec,passthru,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,popen,show_source,proc_nice,proc_terminate,proc_get_status,proc_close,pfsockopen,leak,apache_child_terminate,posix_kill,posix_mkfifo,posix_setpgid,posix_setsid,posix_setuid,dl,symlink,shell_exec,system,dl,passthru,escapeshellarg,escapeshellcmd,myshellexec,c99_buff_prepare,c99_sess_put,fpassthru,getdisfunc,fx29exec,fx29exec2,is_windows,disp_freespace,fx29sh_getupdate,fx29_buff_prepare,fx29_sess_put,fx29shexit,fx29fsearch,fx29ftpbrutecheck,fx29sh_tools,fx29sh_about,milw0rm,imagez,sh_name,myshellexec,checkproxyhost,dosyayicek,c99_buff_prepare,c99_sess_put,c99getsource,c99sh_getupdate,c99fsearch,c99shexit,view_perms,posix_getpwuid,posix_getgrgid,posix_kill,parse_perms,parsesort,view_perms_color,set_encoder_input,ls_setcheckboxall,ls_reverse_all,rsg_read,rsg_glob,selfURL,dispsecinfo,unix2DosTime,addFile,system,get_users,view_size,DirFiles,DirFilesWide,DirPrintHTMLHeaders,GetFilesTotal,GetTitles,GetTimeTotal,GetMatchesCount,GetFileMatchesCount,GetResultFiles,fs_copy_dir,fs_copy_obj,fs_move_dir,fs_move_obj,fs_rmdir,SearchText,getmicrotime MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /usr/local/share/perl5/Curses/UI/Dialog/ |
Upload File : |
# ---------------------------------------------------------------------- # Curses::UI::Dialog::Progress # # (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::Progress; use strict; use Curses; use Curses::UI::Common; use Curses::UI::Window; use vars qw( $VERSION @ISA ); @ISA = qw( Curses::UI::Window Curses::UI::Common ); $VERSION = '1.10'; sub new () { my $class = shift; my %userargs = @_; keys_to_lowercase(\%userargs); my %args = ( -nomessage => 0, # Do we want a message or not? -message => '', # The message to show -min => undef, # Arguments for the progressbar -max => undef, -pos => undef, -nocenterline => undef, -nopercentage => undef, -ipad => 1, # Default widget settings -border => 1, -width => 60, -height => undef, -fg => -1, -bg => -1, %userargs, -centered => 1, ); my $this = $class->SUPER::new(%args); unless ($args{-nomessage}) { $this->add( 'label', 'Label', -width => -1, -text => $this->{-message}, -intellidraw => 0, ); } # Create the progress bar arguments. my %pb_args = (); foreach my $var (qw(-min -max -pos -nopercentage -nocenterline)) { if (defined $this->{$var}) { $pb_args{$var} = $this->{$var}; } } $this->add( 'progressbar', 'Progressbar', -y => -1, -width => -1, -fg => $this->{-fg}, -bg => $this->{-bg}, %pb_args, -intellidraw => 0, ); $this->layout(); bless $this, $class; } # There is no need to focus a progress dialog sub focus() {} ; sub layout() { my $this = shift; if (not defined $this->{-height} and defined $this->getobj('progressbar')) { # Space between progressbar and message. my $need = ($this->{-nomessage} ? 0 : 1); # The height for the message. if (defined $this->getobj('label')) { $need += $this->getobj('label')->height; } # The height for the progressbar. if (defined $this->getobj('progressbar')) { my $pbheight = $this->getobj('progressbar')->height; $need += $pbheight; } my $height = $this->height_by_windowscrheight($need, %$this); $this->{-height} = $height; } $this->SUPER::layout or return; return $this; } sub pos($;) { my $this = shift; my $pos = shift; $this->getobj('progressbar')->pos($pos); return $this; } sub message() { my $this = shift; return $this if $this->{-nomessage}; my $msg = shift; $this->getobj('label')->text($msg); return $this; } 1; =pod =head1 NAME Curses::UI::Dialog::Progress - Create and manipulate progress dialogs =head1 CLASS HIERARCHY Curses::UI::Widget | +----Curses::UI::Container | +----Curses::UI::Window | +----Curses::UI::Dialog::Progress =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::Progress', -max => 100, -message => 'Some message', ); $dialog->pos(10); $dialog->message('Some other message'); $dialog->draw(); $win->delete('mydialog'); # The easy way (see Curses::UI documentation). # -------------------------------------------- $cui->progress( -max => 100, -message => 'Some message', ); $cui->setprogress(10, 'Some other message'); $cui->noprogress; =head1 DESCRIPTION Curses::UI::Dialog::Progress is not really a dialog, since the user has no way of interacting with it. It is merely a way of presenting progress information to the user of your program. See exampes/demo-Curses::UI::Dialog::Progress in the distribution for a short demo. =head1 OPTIONS =over 4 =item * B<-title> < TEXT > Set the title of the dialog window to TEXT. =item * B<-message> < TEXT > This option sets the initial message to show to TEXT. This message is displayed using a L<Curses::UI::Label|Curses::UI::Label>, so it can not contain any newline (\n) characters. =item * B<-nomessage> < BOOLEAN > If BOOLEAN has a true value, the dialog window will not contain a message label. By default B<-nomessage> has a false value. =item * B<-min> < VALUE > =item * B<-max> < VALUE > =item * B<-pos> < VALUE > =item * B<-nopercentage> < BOOLEAN > =item * B<-nocenterline> < BOOLEAN > These options control the progressbar of the dialog. For an explanation of these options, see L<Curses::UI::Progressbar|Curses::UI::Progressbar>. =back =head1 METHODS =over 4 =item * B<new> ( OPTIONS ) =item * B<layout> ( ) =item * B<draw> ( BOOLEAN ) These are standard methods. See L<Curses::UI::Container|Curses::UI::Container> for an explanation of these. =item * B<pos> ( VALUE ) This method will update the position of the progressbar to SCALAR. You will have to call the B<draw> method to see the changes. =item * B<message> ( TEXT ) This method will update the message of the progress dialog to TEXT. You will have to call the B<draw> method to see the changes. =back =head1 SEE ALSO L<Curses::UI|Curses::UI>, L<Curses::UI::Container|Curses::UI::Container>, L<Curses::UI::Progressbar|Curses::UI::Progressbar> =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.