AlkantarClanX12
Current Path : /proc/self/root/opt/alt/php54/usr/share/pear/ezc/ConsoleTools/options/ |
Current File : //proc/self/root/opt/alt/php54/usr/share/pear/ezc/ConsoleTools/options/progressbar.php |
<?php /** * File containing the ezcConsoleProgressbarOptions class. * * @package ConsoleTools * @version 1.6.1 * @copyright Copyright (C) 2005-2010 eZ Systems AS. All rights reserved. * @license http://ez.no/licenses/new_bsd New BSD License * @filesource */ /** * Struct class to store the options of the ezcConsoleOutput class. * This class stores the options for the {@link ezcConsoleOutput} class. * * @property string $barChar * The character to fill the bar with, during progress indication. * @property string $emptyChar * The character to pre-fill the bar, before indicating progress. * @property string $formatString * The format string to describe the complete progressbar. * @property string $fractionFormat * Format to display the fraction value. * @property string $processChar * The character for the end of the progress area (the arrow!). * @property int $redrawFrequency * How often to redraw the progressbar (on every Xth call to advance()). * @property int $step * How many steps to advance the progressbar on each call to advance(). * @property int $width * The width of the bar itself. * @property string $actFormat * The format to display the actual value with. * @property string $maxFormat * The format to display the actual value with. * @property int $minVerbosity * Defines the minimum {ezcConsoleOutputOptions->$verbosityLevel} * that is needed by the progress bar to be rendered. If * $verbosityLevel is lower, the bar is skipped. Default is 0 to * render always. * @property int $maxVerbosity * Defines the maximum {ezcConsoleOutputOptions->$verbosityLevel} on * which the progress bar is rendered. If $verbosityLevel is higher, * the bar is skipped. Default is false, to render always. * * @package ConsoleTools * @version 1.6.1 */ class ezcConsoleProgressbarOptions extends ezcBaseOptions { protected $properties = array( 'barChar' => "+", 'emptyChar' => "-", 'formatString' => "%act% / %max% [%bar%] %fraction%%", 'fractionFormat' => "%01.2f", 'progressChar' => ">", 'redrawFrequency' => 1, 'step' => 1, 'width' => 78, 'actFormat' => '%.0f', 'maxFormat' => '%.0f', 'minVerbosity' => 1, 'maxVerbosity' => false, ); /** * Option write access. * * @throws ezcBasePropertyNotFoundException * If a desired property could not be found. * @throws ezcBaseValueException * If a desired property value is out of range. * * @param string $key Name of the property. * @param mixed $value The value for the property. * @ignore */ public function __set( $key, $value ) { switch ( $key ) { case "barChar": case "emptyChar": case "progressChar": case "formatString": case "fractionFormat": case "actFormat": case "maxFormat": if ( is_string( $value ) === false || strlen( $value ) < 1 ) { throw new ezcBaseValueException( $key, $value, 'string, not empty' ); } break; case "width": if ( !is_int( $value ) || $value < 5 ) { throw new ezcBaseValueException( $key, $value, 'int >= 5' ); } break; case "redrawFrequency": case "step": if ( ( !is_int( $value ) && !is_float( $value ) ) || $value < 1 ) { throw new ezcBaseValueException( $key, $value, 'int > 0' ); } break; case 'minVerbosity': if ( !is_int( $value ) || $value < 0 ) { throw new ezcBaseValueException( $key, $value, 'int >= 0' ); } break; case 'maxVerbosity': if ( ( !is_int( $value ) || $value < 0 ) && $value !== false ) { throw new ezcBaseValueException( $key, $value, 'int >= 0 or false' ); } break; default: throw new ezcBasePropertyNotFoundException( $key ); } $this->properties[$key] = $value; } } ?>