using System; using System.Linq; using System.Windows; using System.Windows.Controls; using System.Windows.Media; using InABox.Core; using InABox.WPF; namespace PRSDesktop; public partial class DigitalFormsDock : UserControl, IDockPanel { private static readonly SolidColorBrush EnabledBrush = new SolidColorBrush(Colors.LightYellow); private static readonly SolidColorBrush DisabledBrush = new SolidColorBrush(Colors.LightGray); public DigitalFormsDock() { InitializeComponent(); //RefreshButton.Content = new Image() { Source = PRSDesktop.Resources.refresh.AsBitmapImage() }; foreach (var (type, image) in DigitalFormDockGrid.Images) { var button = new Button(); button.Background = EnabledBrush; button.Content = new Image() { Source = image.AsBitmapImage() }; button.BorderBrush = new SolidColorBrush(Colors.Gray); button.BorderThickness = new Thickness(0.75); button.Margin = new Thickness(2, 0, 0, 0); button.Width = 25D; button.Padding = new Thickness(2); button.ToolTip = type.EntityName().Split('.').Last().SplitCamelCase(); button.Click += TypeFilterClick; button.Tag = type; TypeStack.Children.Add(button); } } private void TypeFilterClick(object sender, RoutedEventArgs e) { var button = (sender as Button)!; var type = (button.Tag as Type)!; if (Items.ExcludedTypes.Contains(type)) Items.ExcludedTypes.Remove(type); else Items.ExcludedTypes.Add(type); button.Background = Items.ExcludedTypes.Contains(type) ? DisabledBrush : EnabledBrush; Refresh(); } private void RefreshButton_OnClick(object sender, RoutedEventArgs e) { Refresh(); } public void Setup() { Items.Refresh(true, false); } public void Refresh() { Items.Refresh(false, true); } private void AgeCombo_OnSelectionChanged(object sender, SelectionChangedEventArgs e) { var startdate = AgeCombo.SelectedIndex == 2 ? DateTime.Today.AddDays(-30) : AgeCombo.SelectedIndex == 1 ? DateTime.Today.AddDays(-7) : DateTime.Today; if ((Items != null) && (startdate != Items.StartDate)) { Items.StartDate = startdate; Refresh(); } } }