inital
This commit is contained in:
@@ -0,0 +1,143 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Media.Effects;
|
||||
using C4IT.FASD.Base;
|
||||
using C4IT.Logging;
|
||||
using F4SD_AdaptableIcon.Enums;
|
||||
using FasdDesktopUi.Basics.Enums;
|
||||
using FasdDesktopUi.Basics.UserControls.AdaptableIcon;
|
||||
using FasdDesktopUi.Pages.SlimPage.Models;
|
||||
using static C4IT.Logging.cLogManager;
|
||||
|
||||
namespace FasdDesktopUi.Pages.SlimPage.UserControls
|
||||
{
|
||||
public partial class SlimPageDataHistory : UserControl
|
||||
{
|
||||
#region Properties
|
||||
|
||||
#region IsBlurred
|
||||
|
||||
private static void IsBlurredChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (d is SlimPageDataHistory _me && e.NewValue is bool isBlurred)
|
||||
_me.ValueBorder.Child.Effect = isBlurred ? new BlurEffect() { Radius = 5, KernelType = KernelType.Gaussian } : null;
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty IsBlurredProperty =
|
||||
DependencyProperty.Register("IsBlurred", typeof(bool), typeof(SlimPageDataHistory), new PropertyMetadata(false, new PropertyChangedCallback(IsBlurredChangedCallback)));
|
||||
|
||||
public bool IsBlurred
|
||||
{
|
||||
get { return (bool)GetValue(IsBlurredProperty); }
|
||||
set { SetValue(IsBlurredProperty, value); }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region HistoryData Dependeny Property
|
||||
|
||||
private static void HistoryDataChangedCallback(DependencyObject d, DependencyPropertyChangedEventArgs e)
|
||||
{
|
||||
if (d is SlimPageDataHistory slimPageDataHistory)
|
||||
slimPageDataHistory.InitializeHistoryData();
|
||||
}
|
||||
|
||||
public static readonly DependencyProperty HistoryDataProperty =
|
||||
DependencyProperty.Register("HistoryData", typeof(cSlimPageDataHistoryModel), typeof(SlimPageDataHistory), new PropertyMetadata(new cSlimPageDataHistoryModel(), new PropertyChangedCallback(HistoryDataChangedCallback)));
|
||||
|
||||
public cSlimPageDataHistoryModel HistoryData
|
||||
{
|
||||
get { return (cSlimPageDataHistoryModel)GetValue(HistoryDataProperty); }
|
||||
set { SetValue(HistoryDataProperty, value); }
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
public SlimPageDataHistory()
|
||||
{
|
||||
InitializeComponent();
|
||||
}
|
||||
|
||||
private void InitializeHistoryData()
|
||||
{
|
||||
try
|
||||
{
|
||||
if (HistoryData == null)
|
||||
return;
|
||||
|
||||
MainStack.Children.Clear();
|
||||
|
||||
var tempHistoryDataColumns = HistoryData.ValueColumns.Take(7);
|
||||
|
||||
foreach (var historyColumn in tempHistoryDataColumns)
|
||||
{
|
||||
StackPanel stackPanel = new StackPanel();
|
||||
stackPanel.Children.Add(new TextBlock() { TextAlignment = TextAlignment.Center, Text = historyColumn.Content });
|
||||
AdaptableIcon adaptableIcon = new AdaptableIcon();
|
||||
|
||||
switch (historyColumn.HighlightColor)
|
||||
{
|
||||
case enumHighlightColor.none:
|
||||
adaptableIcon.SelectedInternIcon = enumInternIcons.status_empty;
|
||||
adaptableIcon.SetResourceReference(AdaptableIcon.PrimaryIconColorProperty, "Color.SoftContrast");
|
||||
break;
|
||||
case enumHighlightColor.blue:
|
||||
adaptableIcon.SelectedInternIcon = enumInternIcons.status_info;
|
||||
adaptableIcon.SetResourceReference(AdaptableIcon.PrimaryIconColorProperty, "Color.Blue");
|
||||
break;
|
||||
case enumHighlightColor.green:
|
||||
adaptableIcon.SelectedInternIcon = enumInternIcons.status_good;
|
||||
adaptableIcon.SetResourceReference(AdaptableIcon.PrimaryIconColorProperty, "Color.Green");
|
||||
break;
|
||||
case enumHighlightColor.orange:
|
||||
adaptableIcon.SelectedInternIcon = enumInternIcons.status_danger;
|
||||
adaptableIcon.SetResourceReference(AdaptableIcon.PrimaryIconColorProperty, "Color.Orange");
|
||||
break;
|
||||
case enumHighlightColor.red:
|
||||
adaptableIcon.SelectedInternIcon = enumInternIcons.status_bad;
|
||||
adaptableIcon.SetResourceReference(AdaptableIcon.PrimaryIconColorProperty, "Color.Red");
|
||||
break;
|
||||
}
|
||||
|
||||
if (historyColumn.IsLoading && historyColumn.HighlightColor != enumHighlightColor.red)
|
||||
{
|
||||
//todo: replace loading icon
|
||||
adaptableIcon.SelectedInternIcon = enumInternIcons.menuBar_more;
|
||||
adaptableIcon.SetResourceReference(AdaptableIcon.PrimaryIconColorProperty, "Color.Menu.Icon");
|
||||
}
|
||||
|
||||
stackPanel.Children.Add(adaptableIcon);
|
||||
MainStack.Children.Add(stackPanel);
|
||||
}
|
||||
|
||||
if (tempHistoryDataColumns.Any(data => data.IsLoading))
|
||||
LoadingIcon.Visibility = Visibility.Visible;
|
||||
else
|
||||
LoadingIcon.Visibility = Visibility.Collapsed;
|
||||
|
||||
(MainStack.Children[0] as FrameworkElement).Margin = new Thickness(5, 2.5, 2.5, 2.5);
|
||||
(MainStack.Children[MainStack.Children.Count - 1] as FrameworkElement).Width = 75;
|
||||
}
|
||||
catch (Exception E)
|
||||
{
|
||||
LogException(E);
|
||||
}
|
||||
finally
|
||||
{
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
internal void UpdateHistoryData(cSlimPageDataHistoryModel newHistoryData)
|
||||
{
|
||||
HistoryData = newHistoryData;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user