2
0
mirror of https://github.com/9ParsonsB/Pulsar.git synced 2025-07-01 08:23:42 -04:00

Winforms overhal in progress

This commit is contained in:
Xjph
2023-05-05 09:37:08 -02:30
parent 4dba621d7c
commit 1d62a0ec1d
50 changed files with 5871 additions and 2680 deletions

View File

@ -1,23 +0,0 @@
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Observatory.Framework
{
public class BasicGrid
{
public BasicGrid()
{
Headers = new();
Formats = new();
Items = new();
}
public readonly ObservableCollection<string> Headers;
public readonly ObservableCollection<string> Formats;
public readonly ObservableCollection<ObservableCollection<object>> Items;
}
}

View File

@ -135,7 +135,7 @@ namespace Observatory.Framework.Interfaces
/// <param name="notificationEventArgs">NotificationArgs object specifying notification content and behaviour.</param>
/// <returns>Guid associated with the notification during its lifetime. Used as an argument with CancelNotification and UpdateNotification.</returns>
public Guid SendNotification(NotificationArgs notificationEventArgs);
/// <summary>
/// Cancel or close an active notification.
/// </summary>
@ -154,7 +154,14 @@ namespace Observatory.Framework.Interfaces
/// </summary>
/// <param name="worker">Reference to the calling plugin's worker interface.</param>
/// <param name="item">Grid item to be added. Object type should match original template item used to create the grid.</param>
public void AddGridItem(IObservatoryWorker worker, List<object> item);
public void AddGridItem(IObservatoryWorker worker, object item);
/// <summary>
/// Add multiple items to the bottom of the basic UI grid.
/// </summary>
/// <param name="worker">Reference to the calling plugin's worker interface.</param>
/// <param name="items">Grid items to be added. Object types should match original template item used to create the grid.</param>
public void AddGridItems(IObservatoryWorker worker, IEnumerable<object> items);
/// <summary>
/// Add multiple items to the bottom of the basic UI grid.
@ -167,7 +174,8 @@ namespace Observatory.Framework.Interfaces
/// Clears basic UI grid, removing all items.
/// </summary>
/// <param name="worker">Reference to the calling plugin's worker interface.</param>
public void ClearGrid(IObservatoryWorker worker);
/// <param name="templateItem">Template item used to re-initialise the grid.</param>
public void ClearGrid(IObservatoryWorker worker, object templateItem);
/// <summary>
/// Requests current Elite Dangerous status.json content.
@ -185,7 +193,7 @@ namespace Observatory.Framework.Interfaces
/// or pass it along to its collaborators.
/// </summary>
/// <param name="plugin">The calling plugin</param>
public Action<Exception, String> GetPluginErrorLogger (IObservatoryPlugin plugin);
public Action<Exception, String> GetPluginErrorLogger(IObservatoryPlugin plugin);
/// <summary>
/// Perform an action on the current Avalonia UI thread.

View File

@ -1439,18 +1439,26 @@
<param name="notificationId">Guid of notification to be updated.</param>
<param name="notificationEventArgs">NotificationArgs object specifying updated notification content and behaviour.</param>
</member>
<member name="M:Observatory.Framework.Interfaces.IObservatoryCore.AddGridItem(Observatory.Framework.Interfaces.IObservatoryWorker,System.Collections.Generic.List{System.Object})">
<member name="M:Observatory.Framework.Interfaces.IObservatoryCore.AddGridItem(Observatory.Framework.Interfaces.IObservatoryWorker,System.Object)">
<summary>
Add an item to the bottom of the basic UI grid.
</summary>
<param name="worker">Reference to the calling plugin's worker interface.</param>
<param name="item">Grid item to be added. Object type should match original template item used to create the grid.</param>
</member>
<member name="M:Observatory.Framework.Interfaces.IObservatoryCore.ClearGrid(Observatory.Framework.Interfaces.IObservatoryWorker)">
<member name="M:Observatory.Framework.Interfaces.IObservatoryCore.AddGridItems(Observatory.Framework.Interfaces.IObservatoryWorker,System.Collections.Generic.IEnumerable{System.Object})">
<summary>
Add multiple items to the bottom of the basic UI grid.
</summary>
<param name="worker">Reference to the calling plugin's worker interface.</param>
<param name="items">Grid items to be added. Object types should match original template item used to create the grid.</param>
</member>
<member name="M:Observatory.Framework.Interfaces.IObservatoryCore.ClearGrid(Observatory.Framework.Interfaces.IObservatoryWorker,System.Object)">
<summary>
Clears basic UI grid, removing all items.
</summary>
<param name="worker">Reference to the calling plugin's worker interface.</param>
<param name="templateItem">Template item used to re-initialise the grid.</param>
</member>
<member name="M:Observatory.Framework.Interfaces.IObservatoryCore.GetStatus">
<summary>
@ -1512,12 +1520,13 @@
<para>(Untested/not implemented)</para>
</summary>
</member>
<member name="F:Observatory.Framework.PluginUI.BasicGrid">
<member name="F:Observatory.Framework.PluginUI.DataGrid">
<summary>
<para>>Two-dimensional collection of items to display in UI grid for UIType.Basic</para>
<para>Collection bound to DataGrid used byu plugins with UIType.Basic.</para>
<para>Objects in collection should be of a class defined within the plugin consisting of string properties.<br/>Each object is a single row, and the property names are used as column headers.</para>
</summary>
</member>
<member name="M:Observatory.Framework.PluginUI.#ctor(Observatory.Framework.BasicGrid)">
<member name="M:Observatory.Framework.PluginUI.#ctor(System.Collections.ObjectModel.ObservableCollection{System.Object})">
<summary>
Instantiate PluginUI of UIType.Basic.
</summary>
@ -1546,12 +1555,12 @@
</member>
<member name="F:Observatory.Framework.PluginUI.UIType.Basic">
<summary>
Simple DataGrid, to which items can be added or removed.
Simple listview, to which items can be added or removed.
</summary>
</member>
<member name="F:Observatory.Framework.PluginUI.UIType.Avalonia">
<member name="F:Observatory.Framework.PluginUI.UIType.Panel">
<summary>
AvaloniaUI control which is placed in plugin tab.
Panel control which is placed in plugin tab.
</summary>
</member>
<member name="F:Observatory.Framework.PluginUI.UIType.Core">

View File

@ -23,9 +23,10 @@ namespace Observatory.Framework
public object UI;
/// <summary>
/// <para>>Two-dimensional collection of items to display in UI grid for UIType.Basic</para>
/// <para>Collection bound to DataGrid used byu plugins with UIType.Basic.</para>
/// <para>Objects in collection should be of a class defined within the plugin consisting of string properties.<br/>Each object is a single row, and the property names are used as column headers.</para>
/// </summary>
public BasicGrid BasicGrid;
public ObservableCollection<object> DataGrid;
/// <summary>
/// Instantiate PluginUI of UIType.Basic.
@ -34,10 +35,10 @@ namespace Observatory.Framework
/// <para>Collection bound to DataGrid used byu plugins with UIType.Basic.</para>
/// <para>Objects in collection should be of a class defined within the plugin consisting of string properties.<br/>Each object is a single row, and the property names are used as column headers.</para>
/// </param>
public PluginUI(BasicGrid basicGrid)
public PluginUI(ObservableCollection<object> DataGrid)
{
PluginUIType = UIType.Basic;
BasicGrid = basicGrid;
this.DataGrid = DataGrid;
}
/// <summary>
@ -62,13 +63,13 @@ namespace Observatory.Framework
/// </summary>
None = 0,
/// <summary>
/// Simple DataGrid, to which items can be added or removed.
/// Simple listview, to which items can be added or removed.
/// </summary>
Basic = 1,
/// <summary>
/// AvaloniaUI control which is placed in plugin tab.
/// Panel control which is placed in plugin tab.
/// </summary>
Avalonia = 2,
Panel = 2,
/// <summary>
/// UI used by Observatory Core settings tab.<br/>
/// Not intended for use by plugins.