1<?php
2
3/* Copyright (c) 2016 Timon Amstutz <timon.amstutz@ilub.unibe.ch> Extended GPL, see docs/LICENSE */
4
5namespace ILIAS\UI\Component\Panel;
6
7/**
8 * This describes how a panel could be modified during construction of UI.
9 */
10interface Panel extends \ILIAS\UI\Component\Component
11{
12    /**
13     * Gets the title of the panel
14     *
15     * @return string $title Title of the Panel
16     */
17    public function getTitle();
18
19    /**
20     * Gets the content to be displayed inside the panel
21     *
22     * @return \ILIAS\UI\Component\Component[]|\ILIAS\UI\Component\Component
23     */
24    public function getContent();
25
26    /**
27     * Sets action Dropdown being displayed beside the title
28     * @param \ILIAS\UI\Component\Dropdown\Standard $actions
29     * @return Sub
30     */
31    public function withActions(\ILIAS\UI\Component\Dropdown\Standard $actions);
32
33    /**
34     * Gets action Dropdown being displayed beside the title
35     * @return \ILIAS\UI\Component\Dropdown\Standard | null
36     */
37    public function getActions();
38}
39