// https://github.com/AvaloniaUI/Avalonia/issues/2649#issuecomment-620720914
using System.IO;
namespace System.Application.UI
{
///
/// Represents a taskbar notification area icon (aka "tray icon") on Windows,
/// and similar task panel notification icons on Linux and Mac.
///
///
public interface INotifyIcon
{
///
/// Gets or sets the icon for the notify icon. Either a file system path
/// or a resm: manifest resource path can be specified.
///
string IconPath { get; set; }
///
/// Gets or sets the tooltip text for the notify icon.
///
string ToolTipText { get; set; }
///
/// Gets or sets the context- (right-click)-menu for the notify icon.
///
TContextMenu? ContextMenu { get; set; }
///
/// Gets or sets if the notify icon is visible in the
/// taskbar notification area or not.
///
bool Visible { get; set; }
///
/// Removes the notify icon from the taskbar notification area.
///
void Remove();
///
/// This event is raised when a user clicks on the notification icon.
///
event EventHandler Click;
///
/// This event is raised when a user doubleclicks on the notification icon.
///
event EventHandler DoubleClick;
///
/// This event is raised when a user right-clicks on the notification icon.
///
event EventHandler RightClick;
public interface IUIFrameworkHelper
{
Stream OpenAsset(Uri uri);
void ForEachMenuItems(TContextMenu menu, Action<(object menuItem, string header, Action activated)> action);
}
}
}