1<?php
2
3/* Copyright (c) 2016 Timon Amstutz <timon.amstutz@ilub.unibe.ch> Extended GPL, see docs/LICENSE */
4
5namespace ILIAS\UI\Component\ViewControl;
6
7use \ILIAS\UI\Component\Component;
8
9/**
10 * This describes a Mode Control
11 */
12interface Mode extends Component
13{
14    /**
15     * set the currently active Button by label.
16     *
17     * @param string $label. The label of the button to activate
18     */
19    public function withActive($label);
20
21    /**
22     * get the label of the currently active button of the mode control
23     *
24     * @return string the label of the currently active button of the mode control
25     */
26    public function getActive();
27
28    /**
29     * Get the array containing the actions and labels of the mode control
30     *
31     *@return array (string|string)[]. Array containing keys as label and values as actions.
32     */
33    public function getLabelledActions();
34
35    /**
36    * Get the aria-label on the Viewcontrol
37    *
38    * @return	string
39    */
40    public function getAriaLabel();
41}
42