element->addClasses( array( 'oo-ui-buttonElement' ) ); $this->target->addClasses( array( 'oo-ui-buttonElement-button' ) ); $this->toggleFramed( isset( $config['framed'] ) ? $config['framed'] : true ); $this->target->setAttributes( array( 'role' => 'button', ) ); } /** * Toggle frame. * * @param boolean $framed Make button framed, omit to toggle * @chainable */ public function toggleFramed( $framed = null ) { $this->framed = $framed !== null ? !!$framed : !$this->framed; $this->element->toggleClasses( array( 'oo-ui-buttonElement-framed' ), $this->framed ); $this->element->toggleClasses( array( 'oo-ui-buttonElement-frameless' ), !$this->framed ); } /** * Check if button has a frame. * * @return boolean Button is framed */ public function isFramed() { return $this->framed; } public function getConfig( &$config ) { if ( $this->framed !== true ) { $config['framed'] = $this->framed; } return parent::getConfig( $config ); } }