Switch to submodules, support multiple patterns, add options dialog, add license and initial readme

This commit is contained in:
2018-02-08 14:14:46 -05:00
parent 438433e022
commit 6fec068715
27 changed files with 1103 additions and 80 deletions

View File

@@ -0,0 +1,114 @@
using System.Linq;
using System.Windows;
using System.Windows.Controls;
namespace WorkIndicator.Options
{
public partial class WindowPatternsOptionsPanel
{
public WindowPatternsOptionsPanel()
{
InitializeComponent();
}
private WindowPatterns WindowPatterns => Data as WindowPatterns;
public override void LoadPanel(object data)
{
base.LoadPanel(data);
WindowPatternsGrid.ItemsSource = WindowPatterns;
WindowPatternsGrid.SelectedItem = WindowPatterns.FirstOrDefault();
SetButtonStates();
}
public override bool ValidatePanel()
{
return true;
}
public override void SavePanel()
{
}
public override string CategoryName => Properties.Resources.OptionCategory_WindowPatterns;
private void SetButtonStates()
{
EditWindowPatternButton.IsEnabled = (WindowPatternsGrid.SelectedItems.Count == 1);
DeleteWindowPatternButton.IsEnabled = (WindowPatternsGrid.SelectedItems.Count > 0);
}
private void AddWindowPattern()
{
var windowPattern = new WindowPattern();
var windowPatternWindow = new WindowPatternWindow();
var result = windowPatternWindow.Display(windowPattern, Window.GetWindow(this));
if (result.HasValue && result.Value)
{
WindowPatterns.Add(windowPattern);
WindowPatternsGrid.SelectedItem = windowPattern;
SetButtonStates();
}
}
private void EditSelectedWindowPattern()
{
if (WindowPatternsGrid.SelectedItem == null)
return;
var windowPattern = WindowPatternsGrid.SelectedItem as WindowPattern;
var windowPatternWindow = new WindowPatternWindow();
windowPatternWindow.Display(windowPattern, Window.GetWindow(this));
}
private void DeleteSelectedWindowPattern()
{
var windowPattern = WindowPatternsGrid.SelectedItem as WindowPattern;
var index = WindowPatternsGrid.SelectedIndex;
WindowPatterns.Remove(windowPattern);
if (WindowPatternsGrid.Items.Count == index)
WindowPatternsGrid.SelectedIndex = WindowPatternsGrid.Items.Count - 1;
else if (WindowPatternsGrid.Items.Count >= index)
WindowPatternsGrid.SelectedIndex = index;
SetButtonStates();
}
private void HandleAddWindowPatternButtonClick(object sender, RoutedEventArgs e)
{
AddWindowPattern();
}
private void HandleEditWindowPatternButtonClick(object sender, RoutedEventArgs e)
{
EditSelectedWindowPattern();
}
private void HandleDeleteWindowPatternButtonClick(object sender, RoutedEventArgs e)
{
DeleteSelectedWindowPattern();
}
private void HandleWindowPatternsSelectionChanged(object sender, SelectionChangedEventArgs e)
{
SetButtonStates();
}
private void HandleWindowPatternsDoubleClick(object sender, System.Windows.Input.MouseButtonEventArgs e)
{
EditSelectedWindowPattern();
}
}
}