implement all BrowserWindow API Events and the rest of missed functions

This commit is contained in:
Gregor Biswanger
2017-10-16 22:39:45 +02:00
parent c5229d1d00
commit c1792c793f
7 changed files with 1562 additions and 276 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,40 @@
using Newtonsoft.Json;
using System;
namespace ElectronNET.API.Entities
{
public class ThumbarButton
{
public string Id { get; internal set; }
[JsonIgnore]
public Action Click { get; set; }
/// <summary>
/// Control specific states and behaviors of the button. By default, it is ["enabled"].
///
/// enabled - The button is active and available to the user.
/// disabled - The button is disabled.It is present, but has a visual state indicating it will not respond to user action.
/// dismissonclick - When the button is clicked, the thumbnail window closes immediately.
/// nobackground - Do not draw a button border, use only the image.
/// hidden - The button is not shown to the user.
/// noninteractive - The button is enabled but not interactive; no pressed button state is drawn.This value is intended for instances where the button is used in a notification.
/// </summary>
public string[] Flags { get; set; }
/// <summary>
/// The icon showing in thumbnail toolbar.
/// </summary>
public string Icon { get; set; }
/// <summary>
/// The text of the button's tooltip.
/// </summary>
public string Tooltip { get; set; }
public ThumbarButton(string icon)
{
Icon = icon;
}
}
}

View File

@@ -0,0 +1,39 @@
using ElectronNET.API.Entities;
using System;
using System.Collections.Generic;
namespace ElectronNET.API.Extensions
{
internal static class ThumbarButtonExtensions
{
public static ThumbarButton[] AddThumbarButtonsId(this ThumbarButton[] thumbarButtons)
{
for (int index = 0; index < thumbarButtons.Length; index++)
{
var thumbarButton = thumbarButtons[index];
if (string.IsNullOrEmpty(thumbarButton.Id))
{
thumbarButton.Id = Guid.NewGuid().ToString();
}
}
return thumbarButtons;
}
public static ThumbarButton GetThumbarButton(this List<ThumbarButton> thumbarButtons, string id)
{
ThumbarButton result = new ThumbarButton("");
foreach (var item in thumbarButtons)
{
if (item.Id == id)
{
result = item;
}
}
return result;
}
}
}