SystemTrayMenu/DataClasses/MenuData.cs

56 lines
1.3 KiB
C#
Raw Normal View History

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>
/// State not defined or data still loading
/// </summary>
Undefined,
/// <summary>
/// Data is available
2022-12-05 13:27:57 +13:00
/// </summary>
2022-12-04 09:23:19 +13:00
Valid,
/// <summary>
/// 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>
/// Loading failed, so no data available
2022-12-05 13:27:57 +13:00
/// </summary>
NoAccess,
}
internal struct MenuData
{
public MenuData(RowData? rowDataParent)
2022-12-05 13:27:57 +13:00
{
RowDataParent = rowDataParent;
if (rowDataParent != null)
{
Level = rowDataParent.Level + 1;
}
else
{
Level = 0;
}
2022-12-05 13:27:57 +13:00
}
internal int Level { get; }
internal RowData? RowDataParent { get; }
2022-12-05 13:27:57 +13:00
internal List<RowData> RowDatas { get; set; } = new ();
internal MenuDataDirectoryState DirectoryState { get; set; } = MenuDataDirectoryState.Undefined;
2022-12-05 13:27:57 +13:00
}
}