IDashboardWidget.cs 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. using InABox.Core;
  2. using System;
  3. using System.Windows;
  4. using System.Windows.Controls;
  5. using InABox.Configuration;
  6. using InABox.Wpf;
  7. namespace PRSDesktop
  8. {
  9. public interface IDashboardProperties { }
  10. public interface IDashboardWidget<TGroup, TProperties> : ICorePanel
  11. where TGroup : DashboardWidgetGroup
  12. where TProperties : IConfigurationSettings, IDashboardProperties
  13. {
  14. TProperties Properties { get; set; }
  15. event LoadSettings<TProperties> LoadSettings;
  16. event SaveSettings<TProperties> SaveSettings;
  17. }
  18. public interface IActionsDashboard
  19. {
  20. void BuildActionsMenu(ContextMenu menu);
  21. }
  22. public interface IDashboardElement { }
  23. public abstract class DashboardElement<TDashboard, TGroup, TProperties> : DFLayoutElement<TProperties>, IDashboardElement
  24. where TGroup : DashboardWidgetGroup
  25. where TProperties : IUserConfigurationSettings, IDashboardProperties, IConfigurationSettings
  26. where TDashboard : IDashboardWidget<TGroup, TProperties>
  27. {
  28. }
  29. }