19declare(strict_types=1);
56 return $this->context_collection->
main();
61 return $called_contexts->
current()->getAdditionalData()
62 ->is(self::TEST_PLAYER_KIOSK_MODE_ENABLED,
true);
67 $mainbar = $this->
globalScreen()->layout()->factory()->mainbar();
68 $has_question_list = $called_contexts->
current()->getAdditionalData()
69 ->exists(self::TEST_PLAYER_QUESTIONLIST);
75 $mainbar_modification =
static fn(?
MainBar $mainbar): ?
MainBar =>
null;
76 if ($has_question_list) {
77 $f = $this->dic->ui()->factory();
78 $r = $this->dic->ui()->renderer();
79 $lng = $this->dic->language();
80 $question_listing = $called_contexts->
current()->getAdditionalData()->get(self::TEST_PLAYER_QUESTIONLIST);
82 $mainbar_modification =
static function (?
MainBar $mainbar) use (
$f, $r,
$lng, $question_listing): ?
MainBar {
85 $icon =
$f->symbol()->icon()->standard(
'tst',
$lng->txt(
"more"));
86 $tools_button =
$f->button()->bulky($icon,
$lng->txt(
"tools"),
"#")
89 $question_listing =
$f->legacy()->content($r->render($question_listing));
91 $label =
$lng->txt(
'mainbar_button_label_questionlist');
92 $entry =
$f->maincontrols()->slate()->legacy(
94 $f->symbol()->icon()->standard(
'tst', $label),
100 ->withAdditionalToolEntry(
'questionlist', $entry);
105 ->withModification($mainbar_modification)
106 ->withPriority(self::MODIFICATION_PRIORITY);
115 return $this->
globalScreen()->layout()->factory()->metabar()
120 )->withPriority(self::MODIFICATION_PRIORITY);
129 return $this->
globalScreen()->layout()->factory()->footer()
134 )->withPriority(self::MODIFICATION_PRIORITY);
143 $title = $called_contexts->
current()->getAdditionalData()->get(self::TEST_PLAYER_SHORT_TITLE);
144 if ($title ===
null) {
147 return $this->
globalScreen()->layout()->factory()->short_title()
149 function (?
string $content) use ($title): ?
string {
152 )->withPriority(self::MODIFICATION_PRIORITY);
157 if (!$called_contexts->
current()->getAdditionalData()->exists(self::TEST_PLAYER_VIEW_TITLE)) {
161 $title = $called_contexts->
current()->getAdditionalData()->get(self::TEST_PLAYER_VIEW_TITLE);
162 if ($title ===
null) {
165 return $this->
globalScreen()->layout()->factory()->view_title()
167 function (?
string $content) use ($title): ?
string {
170 )->withPriority(self::MODIFICATION_PRIORITY);
175 if (!$called_contexts->
current()->getAdditionalData()->exists(self::TEST_PLAYER_TITLE)) {
179 $title = $called_contexts->
current()->getAdditionalData()->get(self::TEST_PLAYER_TITLE);
181 if ($title ==
null) {
189 return $this->
globalScreen()->layout()->factory()->view_title()
191 function (?
string $content) use ($title): ?
string {
194 )->withPriority(self::MODIFICATION_PRIORITY);
202 return $this->
globalScreen()->layout()->factory()->logo()->withModification(
206 )->withPriority(self::MODIFICATION_PRIORITY);
Class ShortTitleModification.
Class ShortTitleModification.
Class AbstractModificationProvider.
const TEST_PLAYER_VIEW_TITLE
getFooterModification(CalledContexts $called_contexts)
@inheritDoc
const TEST_PLAYER_KIOSK_MODE_ENABLED
getMetaBarModification(CalledContexts $called_contexts)
@inheritDoc
const TEST_PLAYER_SHORT_TITLE
getMainBarModification(CalledContexts $called_contexts)
@inheritDoc
isKioskModeEnabled(CalledContexts $called_contexts)
getViewTitleModification(CalledContexts $called_contexts)
@inheritDoc
const TEST_PLAYER_QUESTIONLIST
const MODIFICATION_PRIORITY
getTitleModification(CalledContexts $called_contexts)
@inheritDoc
getShortTitleModification(CalledContexts $called_contexts)
@inheritDoc
getLogoModification(CalledContexts $called_contexts)
@inheritDoc
Interface ModificationProvider.
withAction($action)
Get an image like this with an action.
This describes the MainBar.
withClearedEntries()
Get a copy of this MainBar without any entries.
withToolsButton(Button\Bulky $button)
Set button for the tools-trigger.
This describes the MetaBar.