PHP Class PhpSchool\CliMenu\CliMenuBuilder

Author: Michael Woodward ([email protected])
Author: Aydin Hassan ([email protected])
Show file Open project: php-school/cli-menu Class Usage Examples

Public Methods

Method Description
__construct ( CliMenuBuilder $parent = null )
addAsciiArt ( string $art, string $position = AsciiArtItem::POSITION_CENTER )
addItem ( string $text, callable $itemCallable, boolean $showItemExtra = false, boolean $disabled = false )
addItems ( array $items )
addLineBreak ( string $breakChar = ' ', integer $lines = 1 )
addMenuItem ( PhpSchool\CliMenu\MenuItem\MenuItemInterface $item )
addStaticItem ( string $text )
addSubMenu ( string $id ) : CliMenuBuilder
build ( ) : CliMenu
disableDefaultItems ( )
disableMenu ( ) Disable a submenu
end ( ) : CliMenuBuilder Return to parent builder
getSubMenu ( string $id ) : CliMenu
isMenuDisabled ( ) : boolean
setBackgroundColour ( string $colour )
setExitButtonText ( string $exitButtonText )
setForegroundColour ( string $colour )
setGoBackButtonText ( string $goBackButtonTest )
setItemExtra ( string $extra )
setMargin ( integer $margin )
setPadding ( integer $padding )
setSelectedMarker ( string $marker )
setTerminal ( PhpSchool\CliMenu\Terminal\TerminalInterface $terminal )
setTitle ( string $title )
setTitleSeparator ( string $separator )
setUnselectedMarker ( string $marker )
setWidth ( integer $width )

Private Methods

Method Description
buildStyle ( ) : MenuStyle
buildSubMenus ( array $items ) : array
getDefaultItems ( ) : array
getMenuStyle ( ) : MenuStyle Recursively drop back to the parents menu style when the current menu has a parent and has no changes
itemsHaveExtra ( array $items ) : boolean

Method Details

__construct() public method

public __construct ( CliMenuBuilder $parent = null )
$parent CliMenuBuilder

addAsciiArt() public method

public addAsciiArt ( string $art, string $position = AsciiArtItem::POSITION_CENTER )
$art string
$position string

addItem() public method

public addItem ( string $text, callable $itemCallable, boolean $showItemExtra = false, boolean $disabled = false )
$text string
$itemCallable callable
$showItemExtra boolean
$disabled boolean

addItems() public method

public addItems ( array $items )
$items array

addLineBreak() public method

public addLineBreak ( string $breakChar = ' ', integer $lines = 1 )
$breakChar string
$lines integer

addMenuItem() public method

public addMenuItem ( PhpSchool\CliMenu\MenuItem\MenuItemInterface $item )
$item PhpSchool\CliMenu\MenuItem\MenuItemInterface

addStaticItem() public method

public addStaticItem ( string $text )
$text string

addSubMenu() public method

public addSubMenu ( string $id ) : CliMenuBuilder
$id string ID to reference and retrieve sub-menu
return CliMenuBuilder

build() public method

public build ( ) : CliMenu
return CliMenu

disableDefaultItems() public method

public disableDefaultItems ( )

disableMenu() public method

Disable a submenu
public disableMenu ( )

end() public method

Return to parent builder
public end ( ) : CliMenuBuilder
return CliMenuBuilder

getSubMenu() public method

public getSubMenu ( string $id ) : CliMenu
$id string
return CliMenu

isMenuDisabled() public method

public isMenuDisabled ( ) : boolean
return boolean

setBackgroundColour() public method

public setBackgroundColour ( string $colour )
$colour string

setExitButtonText() public method

public setExitButtonText ( string $exitButtonText )
$exitButtonText string

setForegroundColour() public method

public setForegroundColour ( string $colour )
$colour string

setGoBackButtonText() public method

public setGoBackButtonText ( string $goBackButtonTest )
$goBackButtonTest string

setItemExtra() public method

public setItemExtra ( string $extra )
$extra string

setMargin() public method

public setMargin ( integer $margin )
$margin integer

setPadding() public method

public setPadding ( integer $padding )
$padding integer

setSelectedMarker() public method

public setSelectedMarker ( string $marker )
$marker string

setTerminal() public method

public setTerminal ( PhpSchool\CliMenu\Terminal\TerminalInterface $terminal )
$terminal PhpSchool\CliMenu\Terminal\TerminalInterface

setTitle() public method

public setTitle ( string $title )
$title string

setTitleSeparator() public method

public setTitleSeparator ( string $separator )
$separator string

setUnselectedMarker() public method

public setUnselectedMarker ( string $marker )
$marker string

setWidth() public method

public setWidth ( integer $width )
$width integer