using System; using System.Collections.Generic; using System.Drawing; using InABox.Core; namespace PRSDesktop { public class PanelAction { public Action OnExecute { get; set; } public string Section { get; set; } public string Caption { get; set; } public Bitmap Image { get; set; } public void Execute() { OnExecute?.Invoke(this); } } public interface ICorePanel { void Setup(); void Shutdown(); void Refresh(); } public interface IBasePanel : ICorePanel, IDataModelSource { bool IsReady { get; set; } void CreateToolbarButtons(IPanelHost host); bool Focus(); Dictionary Selected(); void Heartbeat(TimeSpan time); } public interface IPanel : IBasePanel { } public interface IPanelHost { void CreatePanelAction(PanelAction action); } }