inital
This commit is contained in:
148
FasdDesktopUi/Basics/Models/ContainerDataModels.cs
Normal file
148
FasdDesktopUi/Basics/Models/ContainerDataModels.cs
Normal file
@@ -0,0 +1,148 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
|
||||
using FasdDesktopUi.Basics.Enums;
|
||||
using C4IT.FASD.Base;
|
||||
using static C4IT.Logging.cLogManager;
|
||||
|
||||
using MaterialIcons;
|
||||
using F4SD_AdaptableIcon.Enums;
|
||||
using C4IT.F4SD.DisplayFormatting;
|
||||
|
||||
namespace FasdDesktopUi.Basics.Models
|
||||
{
|
||||
public interface IContainerData
|
||||
{
|
||||
bool HasValue { get; }
|
||||
}
|
||||
public interface IContainerHelperClass
|
||||
{
|
||||
int MaxValueCount { get; }
|
||||
bool IsValueRequired { get; }
|
||||
}
|
||||
public interface IContainerCollectionElementData
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public class cContainerCollectionData : List<cContainerData>
|
||||
{
|
||||
public int ColumnSpan { get; set; }
|
||||
}
|
||||
|
||||
public class cContainerData : List<IContainerData>
|
||||
{
|
||||
public string ContainerName { get; set; }
|
||||
public bool IsMaximizable { get; set; }
|
||||
public bool IsAddable { get; set; }
|
||||
public bool IsDeletable { get; set; }
|
||||
}
|
||||
|
||||
public class cContainerStackPanel : IContainerData
|
||||
{
|
||||
public Orientation Orientation { get; set; }
|
||||
public List<IContainerData> StackPanelData { get; set; }
|
||||
|
||||
public bool HasValue { get => StackPanelData?.Any(data => data.HasValue) ?? false; }
|
||||
}
|
||||
|
||||
public class cContainerPrimaryContent : IContainerData
|
||||
{
|
||||
public IContainerData Value { get; set; }
|
||||
|
||||
public bool HasValue { get => Value.HasValue; }
|
||||
}
|
||||
|
||||
public class cContainerValue : IContainerData
|
||||
{
|
||||
public string DisplayValue { get; set; }
|
||||
public string Description { get; set; }
|
||||
public string MaximizeValue { get; set; }
|
||||
public double FontSize { get; set; } = 16;
|
||||
public FontWeight FontWeight { get; set; } = FontWeights.Normal;
|
||||
public bool IsEditOnly { get; set; } = false;
|
||||
public cEditableValueInformationBase EditableValueInformation { get; set; }
|
||||
|
||||
public bool HasValue { get => !string.IsNullOrWhiteSpace(DisplayValue); }
|
||||
}
|
||||
|
||||
public class cContainerIcon : IContainerData
|
||||
{
|
||||
public string IconName { get; set; }
|
||||
public enumIconType IconType { get; set; }
|
||||
public enumHighlightColor HighlightColor { get; set; } = enumHighlightColor.none;
|
||||
public string ToolTipText { get; set; }
|
||||
|
||||
public cContainerIcon()
|
||||
{
|
||||
|
||||
}
|
||||
|
||||
public cContainerIcon(enumInternIcons internIcon, enumHighlightColor highlightColor = enumHighlightColor.none)
|
||||
{
|
||||
try
|
||||
{
|
||||
IconType = enumIconType.intern;
|
||||
IconName = internIcon.ToString();
|
||||
HighlightColor = highlightColor;
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
LogException(E);
|
||||
}
|
||||
}
|
||||
|
||||
public cContainerIcon(MaterialIconType materialIcon, enumHighlightColor highlightColor = enumHighlightColor.none)
|
||||
{
|
||||
try
|
||||
{
|
||||
IconType = enumIconType.material;
|
||||
IconName = materialIcon.ToString();
|
||||
HighlightColor = highlightColor;
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
LogException(E);
|
||||
}
|
||||
}
|
||||
|
||||
public bool HasValue { get => !string.IsNullOrWhiteSpace(IconName); }
|
||||
}
|
||||
|
||||
#region Helpers
|
||||
|
||||
public class cContainerValueHelper : cContainerValue, IContainerHelperClass
|
||||
{
|
||||
public int MaxValueCount { get => RawValues.Count; }
|
||||
public RawValueType DisplayType { get; set; }
|
||||
public List<object> RawValues { get; set; } = new List<object>();
|
||||
public List<object> RawMaximizeValues { get; set; } = new List<object>();
|
||||
public bool IsValueRequired { get; set; }
|
||||
}
|
||||
|
||||
public class cContainerIconHelper : IContainerHelperClass
|
||||
{
|
||||
public int MaxValueCount { get => Icons.Count; }
|
||||
public List<cContainerIcon> Icons { get; set; } = new List<cContainerIcon>();
|
||||
public bool IsValueRequired { get; set; }
|
||||
}
|
||||
|
||||
public class cContainerStackPanelHelper : cContainerStackPanel, IContainerHelperClass
|
||||
{
|
||||
public int MaxValueCount { get => StackPanelHelperData.Max(value => value.MaxValueCount); }
|
||||
public List<IContainerHelperClass> StackPanelHelperData { get; set; } = new List<IContainerHelperClass>();
|
||||
public bool IsValueRequired { get; set; }
|
||||
}
|
||||
|
||||
public class cContainerContentHelper : cContainerPrimaryContent, IContainerHelperClass
|
||||
{
|
||||
public int MaxValueCount { get => Content?.MaxValueCount ?? 1; }
|
||||
public IContainerHelperClass Content { get; set; }
|
||||
public bool IsValueRequired { get; set; }
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
Reference in New Issue
Block a user