/**
* Constructor
*
* @param string $editor The editor name
* @param DispatcherInterface $dispatcher The event dispatcher we're going to use
*/
public function __construct($editor = 'none', DispatcherInterface $dispatcher = null)
{
$this->_name = $editor;
// Set the dispatcher
if (!\is_object($dispatcher)) {
$dispatcher = Factory::getContainer()->get('dispatcher');
}
$this->setDispatcher($dispatcher);
// Register the getButtons event
$this->getDispatcher()->addListener('getButtons', function (AbstractEvent $event) {
$editor = $event->getArgument('editor', null);
$buttons = $event->getArgument('buttons', null);
$result = $event->getArgument('result', []);
$newResult = $this->getButtons($editor, $buttons);
$newResult = (array) $newResult;
$event['result'] = array_merge($result, $newResult);
});
}