/* * Copyright (c) 2020 ETH Zürich, Educational Development and Technology (LET) * * This Source Code Form is subject to the terms of the Mozilla Public * License, v. 2.0. If a copy of the MPL was not distributed with this * file, You can obtain one at http://mozilla.org/MPL/2.0/. */ using SafeExamBrowser.I18n.Contracts; using SafeExamBrowser.UserInterface.Contracts.Shell.Events; namespace SafeExamBrowser.UserInterface.Contracts.Shell { /// /// The taskbar is a user interface element via which the user can access and control various aspects of the application. /// public interface ITaskbar { /// /// Controls the visibility of the clock. /// bool ShowClock { set; } /// /// Event fired when the user clicked the quit button in the taskbar. /// event QuitButtonClickedEventHandler QuitButtonClicked; /// /// Adds the given application control to the taskbar. /// void AddApplicationControl(IApplicationControl control, bool atFirstPosition = false); /// /// Adds the given notification control to the taskbar. /// void AddNotificationControl(INotificationControl control); /// /// Adds the given system control to the taskbar. /// void AddSystemControl(ISystemControl control); /// /// Closes the taskbar. /// void Close(); /// /// Returns the absolute height of the taskbar (i.e. in physical pixels). /// int GetAbsoluteHeight(); /// /// Moves the taskbar to the bottom of the screen and resizes it accordingly. /// void InitializeBounds(); /// /// Initializes all text elements in the taskbar. /// void InitializeText(IText text); /// /// Shows the taskbar. /// void Show(); } }