2022-12-05 13:27:57 +13:00
|
|
|
|
// <copyright file="MenuData.cs" company="PlaceholderCompany">
|
|
|
|
|
// Copyright (c) PlaceholderCompany. All rights reserved.
|
|
|
|
|
// </copyright>
|
|
|
|
|
|
|
|
|
|
namespace SystemTrayMenu.DataClasses
|
|
|
|
|
{
|
|
|
|
|
using System.Collections.Generic;
|
|
|
|
|
|
|
|
|
|
internal enum MenuDataDirectoryState
|
2022-12-04 09:23:19 +13:00
|
|
|
|
{
|
|
|
|
|
/// <summary>
|
2023-09-23 08:35:56 +12:00
|
|
|
|
/// State not defined or data still loading.
|
2022-12-04 09:23:19 +13:00
|
|
|
|
/// </summary>
|
|
|
|
|
Undefined,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2023-09-23 08:35:56 +12:00
|
|
|
|
/// Data is available.
|
2022-12-05 13:27:57 +13:00
|
|
|
|
/// </summary>
|
2022-12-04 09:23:19 +13:00
|
|
|
|
Valid,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2023-09-23 08:35:56 +12:00
|
|
|
|
/// Loading finished but no data available.
|
2022-12-05 13:27:57 +13:00
|
|
|
|
/// </summary>
|
2022-12-04 09:23:19 +13:00
|
|
|
|
Empty,
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2023-09-23 08:35:56 +12:00
|
|
|
|
/// Loading failed, so no data available.
|
2022-12-05 13:27:57 +13:00
|
|
|
|
/// </summary>
|
|
|
|
|
NoAccess,
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
internal struct MenuData
|
|
|
|
|
{
|
2023-04-30 04:57:39 +12:00
|
|
|
|
public MenuData(RowData? rowDataParent)
|
2022-12-05 13:27:57 +13:00
|
|
|
|
{
|
2023-04-16 08:47:29 +12:00
|
|
|
|
RowDataParent = rowDataParent;
|
2023-04-30 04:57:39 +12:00
|
|
|
|
if (rowDataParent != null)
|
|
|
|
|
{
|
|
|
|
|
Level = rowDataParent.Level + 1;
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
Level = 0;
|
|
|
|
|
}
|
2022-12-05 13:27:57 +13:00
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
internal int Level { get; }
|
|
|
|
|
|
2023-04-30 04:57:39 +12:00
|
|
|
|
internal RowData? RowDataParent { get; }
|
2022-12-05 13:27:57 +13:00
|
|
|
|
|
2023-04-28 08:19:02 +12:00
|
|
|
|
internal List<RowData> RowDatas { get; set; } = new ();
|
|
|
|
|
|
|
|
|
|
internal MenuDataDirectoryState DirectoryState { get; set; } = MenuDataDirectoryState.Undefined;
|
2022-12-05 13:27:57 +13:00
|
|
|
|
}
|
2023-04-28 08:19:02 +12:00
|
|
|
|
}
|