From d90bac7b21e3c3d5e98575c3a61a73f72e0fdaa5 Mon Sep 17 00:00:00 2001 From: Invvard <7305493+Invvard@users.noreply.github.com> Date: Sun, 7 Apr 2019 21:44:58 -0400 Subject: [PATCH 01/29] Bind window height to ViewModel --- .../View/DisplayLayoutWindow.xaml | 2 +- .../ViewModel/DisplayLayoutViewModel.cs | 24 +++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml b/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml index d27bf1c5..6eddff28 100644 --- a/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml +++ b/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml @@ -6,7 +6,7 @@ xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:command="http://www.galasoft.ch/mvvmlight" x:Class="InvvardDev.EZLayoutDisplay.Desktop.View.DisplayLayoutWindow" - mc:Ignorable="d" Height="423" Width="1075" + mc:Ignorable="d" Height="{Binding WindowHeight}" Width="1075" WindowStartupLocation="CenterScreen" ResizeMode="NoResize" Visibility="Visible" ShowInTaskbar="True" WindowStyle="None" Background="{StaticResource WindowBackgroundBrush}" diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs index c7d20386..118d46e0 100644 --- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs +++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Text; using System.Threading.Tasks; +using System.Windows; using System.Windows.Input; using GalaSoft.MvvmLight; using GalaSoft.MvvmLight.CommandWpf; @@ -22,6 +23,12 @@ namespace InvvardDev.EZLayoutDisplay.Desktop.ViewModel { public class DisplayLayoutViewModel : ViewModelBase { + #region Constants + + private const int NonResizableWindowHeight = 423; + private const int ResizableWindowHeight = 423; + + #endregion #region Fields private static readonly Logger Logger = LogManager.GetCurrentClassLogger(); @@ -38,6 +45,8 @@ public class DisplayLayoutViewModel : ViewModelBase private int _currentLayerIndex; private EZLayout _ezLayout; + private int _windowHeight; + private string _windowTitle; private string _noLayoutWarningFirstLine; private string _noLayoutWarningSecondLine; @@ -131,6 +140,15 @@ public int CurrentLayerIndex private set => Set(ref _currentLayerIndex, value); } + /// + /// Gets or sets the window's height. + /// + public int WindowHeight + { + get => _windowHeight; + private set => Set(ref _windowHeight, value); + } + #endregion #region Relay commands @@ -164,6 +182,7 @@ public DisplayLayoutViewModel(IWindowService windowService, ILayoutService layou CurrentLayoutTemplate = new ObservableCollection(); SetLabelUi(); + SetWindowParameters(); LoadCompleteLayout(); } @@ -179,6 +198,11 @@ private void SetLabelUi() ControlHintLabel = "Press 'Space' to display next layer"; } + private void SetWindowParameters() + { + WindowHeight = NonResizableWindowHeight; + } + private async void LoadCompleteLayout() { Logger.TraceMethod(); From 4b73df362ff6c998b90274fa17786f12e55c5b52 Mon Sep 17 00:00:00 2001 From: Invvard <7305493+Invvard@users.noreply.github.com> Date: Sun, 7 Apr 2019 21:56:14 -0400 Subject: [PATCH 02/29] Bind window resize mode to ViewModel --- .../View/DisplayLayoutWindow.xaml | 2 +- .../ViewModel/DisplayLayoutViewModel.cs | 11 +++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml b/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml index 6eddff28..f7aee413 100644 --- a/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml +++ b/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml @@ -8,7 +8,7 @@ x:Class="InvvardDev.EZLayoutDisplay.Desktop.View.DisplayLayoutWindow" mc:Ignorable="d" Height="{Binding WindowHeight}" Width="1075" WindowStartupLocation="CenterScreen" - ResizeMode="NoResize" Visibility="Visible" ShowInTaskbar="True" + ResizeMode="{Binding WindowResizeMode}" Visibility="Visible" ShowInTaskbar="True" WindowStyle="None" Background="{StaticResource WindowBackgroundBrush}" Title="{Binding WindowTitle}" Icon="{StaticResource WindowIcon}" DataContext="{Binding DisplayLayout, Source={StaticResource Locator}}"> diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs index 118d46e0..756813e6 100644 --- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs +++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs @@ -46,6 +46,7 @@ public class DisplayLayoutViewModel : ViewModelBase private EZLayout _ezLayout; private int _windowHeight; + private ResizeMode _windowResizeMode; private string _windowTitle; private string _noLayoutWarningFirstLine; @@ -149,6 +150,15 @@ public int WindowHeight private set => Set(ref _windowHeight, value); } + /// + /// Gets or sets the window's resize mode. + /// + public ResizeMode WindowResizeMode + { + get => _windowResizeMode; + private set => Set(ref _windowResizeMode, value); + } + #endregion #region Relay commands @@ -200,6 +210,7 @@ private void SetLabelUi() private void SetWindowParameters() { + WindowResizeMode = ResizeMode.NoResize; WindowHeight = NonResizableWindowHeight; } From 225505beb41b0a79cbbd6d4d21c9ce79668cb16b Mon Sep 17 00:00:00 2001 From: Invvard <7305493+Invvard@users.noreply.github.com> Date: Sun, 7 Apr 2019 21:59:07 -0400 Subject: [PATCH 03/29] Bind window' style to ViewModel --- .../View/DisplayLayoutWindow.xaml | 2 +- .../ViewModel/DisplayLayoutViewModel.cs | 12 ++++++------ 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml b/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml index f7aee413..6eddff28 100644 --- a/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml +++ b/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml @@ -8,7 +8,7 @@ x:Class="InvvardDev.EZLayoutDisplay.Desktop.View.DisplayLayoutWindow" mc:Ignorable="d" Height="{Binding WindowHeight}" Width="1075" WindowStartupLocation="CenterScreen" - ResizeMode="{Binding WindowResizeMode}" Visibility="Visible" ShowInTaskbar="True" + ResizeMode="NoResize" Visibility="Visible" ShowInTaskbar="True" WindowStyle="None" Background="{StaticResource WindowBackgroundBrush}" Title="{Binding WindowTitle}" Icon="{StaticResource WindowIcon}" DataContext="{Binding DisplayLayout, Source={StaticResource Locator}}"> diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs index 756813e6..b80bf2ad 100644 --- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs +++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs @@ -46,7 +46,7 @@ public class DisplayLayoutViewModel : ViewModelBase private EZLayout _ezLayout; private int _windowHeight; - private ResizeMode _windowResizeMode; + private WindowStyle _windowStyle; private string _windowTitle; private string _noLayoutWarningFirstLine; @@ -151,12 +151,12 @@ public int WindowHeight } /// - /// Gets or sets the window's resize mode. + /// Gets or sets the window' style. /// - public ResizeMode WindowResizeMode + public WindowStyle WindowStyle { - get => _windowResizeMode; - private set => Set(ref _windowResizeMode, value); + get => _windowStyle; + private set => Set(ref _windowStyle, value); } #endregion @@ -210,7 +210,7 @@ private void SetLabelUi() private void SetWindowParameters() { - WindowResizeMode = ResizeMode.NoResize; + WindowStyle = WindowStyle.None; WindowHeight = NonResizableWindowHeight; } From 22bdab9e18eaae5347ff17db2ae8a5300a3cb7b0 Mon Sep 17 00:00:00 2001 From: Invvard <7305493+Invvard@users.noreply.github.com> Date: Sun, 7 Apr 2019 22:05:07 -0400 Subject: [PATCH 04/29] Bind window style to VM --- .../View/DisplayLayoutWindow.xaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml b/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml index 6eddff28..39045a42 100644 --- a/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml +++ b/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml @@ -9,7 +9,7 @@ mc:Ignorable="d" Height="{Binding WindowHeight}" Width="1075" WindowStartupLocation="CenterScreen" ResizeMode="NoResize" Visibility="Visible" ShowInTaskbar="True" - WindowStyle="None" Background="{StaticResource WindowBackgroundBrush}" + WindowStyle="{Binding WindowStyle}" Background="{StaticResource WindowBackgroundBrush}" Title="{Binding WindowTitle}" Icon="{StaticResource WindowIcon}" DataContext="{Binding DisplayLayout, Source={StaticResource Locator}}"> From e9b6f40ec032a50242842b5c958c30d19c64b0a7 Mon Sep 17 00:00:00 2001 From: Invvard <7305493+Invvard@users.noreply.github.com> Date: Sun, 7 Apr 2019 22:11:57 -0400 Subject: [PATCH 05/29] Move data context declaration --- .../View/DisplayLayoutWindow.xaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml b/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml index 39045a42..d87b861a 100644 --- a/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml +++ b/src/InvvardDev.EZLayoutDisplay.Desktop/View/DisplayLayoutWindow.xaml @@ -6,12 +6,12 @@ xmlns:i="http://schemas.microsoft.com/expression/2010/interactivity" xmlns:command="http://www.galasoft.ch/mvvmlight" x:Class="InvvardDev.EZLayoutDisplay.Desktop.View.DisplayLayoutWindow" + DataContext="{Binding DisplayLayout, Source={StaticResource Locator}}" mc:Ignorable="d" Height="{Binding WindowHeight}" Width="1075" WindowStartupLocation="CenterScreen" ResizeMode="NoResize" Visibility="Visible" ShowInTaskbar="True" WindowStyle="{Binding WindowStyle}" Background="{StaticResource WindowBackgroundBrush}" - Title="{Binding WindowTitle}" Icon="{StaticResource WindowIcon}" - DataContext="{Binding DisplayLayout, Source={StaticResource Locator}}"> + Title="{Binding WindowTitle}" Icon="{StaticResource WindowIcon}"> From 72f560c4ebb90052ae3a5859534d47aa20c8efd5 Mon Sep 17 00:00:00 2001 From: Invvard <7305493+Invvard@users.noreply.github.com> Date: Tue, 9 Apr 2019 20:46:07 -0400 Subject: [PATCH 06/29] Add the non pin window height constant value --- .../ViewModel/DisplayLayoutViewModel.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs index b80bf2ad..5137fe4b 100644 --- a/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs +++ b/src/InvvardDev.EZLayoutDisplay.Desktop/ViewModel/DisplayLayoutViewModel.cs @@ -26,7 +26,7 @@ public class DisplayLayoutViewModel : ViewModelBase #region Constants private const int NonResizableWindowHeight = 423; - private const int ResizableWindowHeight = 423; + private const int ResizableWindowHeight = 453; #endregion #region Fields From 104a3e94705921f712562d3cd28732c26b17ce1f Mon Sep 17 00:00:00 2001 From: Invvard <7305493+Invvard@users.noreply.github.com> Date: Tue, 9 Apr 2019 21:23:46 -0400 Subject: [PATCH 07/29] Add the pin and pin.remove icom --- .../InvvardDev.EZLayoutDisplay.Desktop.csproj | 4 ++++ .../Skins/Images/pin.png | Bin 0 -> 626 bytes .../Skins/Images/pin.remove.png | Bin 0 -> 791 bytes 3 files changed, 4 insertions(+) create mode 100644 src/InvvardDev.EZLayoutDisplay.Desktop/Skins/Images/pin.png create mode 100644 src/InvvardDev.EZLayoutDisplay.Desktop/Skins/Images/pin.remove.png diff --git a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj index 15f461e7..d5f60982 100644 --- a/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj +++ b/src/InvvardDev.EZLayoutDisplay.Desktop/InvvardDev.EZLayoutDisplay.Desktop.csproj @@ -269,6 +269,10 @@ + + + +