public function __construct($editor = 'none', DispatcherInterface $dispatcher = null)
{
$this->_name = $editor;
if (!\is_object($dispatcher)) {
$dispatcher = Factory::getContainer()->get('dispatcher');
}
$this->setDispatcher($dispatcher);
$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);
});
}