Skip to content

Commit

Permalink
Fixed tests
Browse files Browse the repository at this point in the history
  • Loading branch information
CPKreu committed May 6, 2021
1 parent 515fb46 commit f8e8edf
Show file tree
Hide file tree
Showing 5 changed files with 25 additions and 5 deletions.
7 changes: 7 additions & 0 deletions PixiEditor/ViewModels/ISetableOwner.cs
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
namespace PixiEditor.ViewModels
{
public interface ISetableOwner<TOwner>
{
public void SetOwner(TOwner owner);
}
}
12 changes: 11 additions & 1 deletion PixiEditor/ViewModels/SubViewModels/Main/WindowViewModel.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,17 @@

namespace PixiEditor.ViewModels.SubViewModels.Main
{
public class WindowViewModel : SubViewModel<ViewModelMain>
public class WindowViewModel : SubViewModel<ViewModelMain>, ISetableOwner<ViewModelMain>
{
public MainWindow MainWindow { get; private set; }

public RelayCommand ShowAvalonDockWindowCommand { get; set; }

public WindowViewModel()
: this(null)
{
}

public WindowViewModel(ViewModelMain owner)
: base(owner)
{
Expand All @@ -19,6 +24,11 @@ public WindowViewModel(ViewModelMain owner)
MainWindow = (MainWindow)System.Windows.Application.Current?.MainWindow;
}

public void SetOwner(ViewModelMain owner)
{
Owner = owner;
}

private void ShowAvalonDockWindow(object parameter)
{
string id = (string)parameter;
Expand Down
6 changes: 4 additions & 2 deletions PixiEditor/ViewModels/ViewModelMain.cs
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ public class ViewModelMain : ViewModelBase

public StylusViewModel StylusSubViewModel { get; set; }

public WindowViewModel WindowViewModel { get; set; }
public WindowViewModel WindowSubViewModel { get; set; }

public IPreferences Preferences { get; set; }

Expand Down Expand Up @@ -114,7 +114,9 @@ public ViewModelMain(IServiceProvider services)
DocumentSubViewModel = new DocumentViewModel(this);
DiscordViewModel = new DiscordViewModel(this, "764168193685979138");
UpdateSubViewModel = new UpdateViewModel(this);
WindowViewModel = new WindowViewModel(this);

WindowSubViewModel = services.GetService<WindowViewModel>();
WindowSubViewModel?.SetOwner(this);

StylusSubViewModel = services.GetService<StylusViewModel>();
StylusSubViewModel?.SetOwner(this);
Expand Down
2 changes: 1 addition & 1 deletion PixiEditor/Views/MainWindow.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,7 @@
<MenuItem Header="_Open Startup Window" ToolTip="Hello there!"
Command="{Binding MiscSubViewModel.OpenHelloThereWindowCommand}"/>
<MenuItem Header="_Open Navigation Window"
Command="{Binding WindowViewModel.ShowAvalonDockWindowCommand}" CommandParameter="navigation"/>
Command="{Binding WindowSubViewModel.ShowAvalonDockWindowCommand}" CommandParameter="navigation"/>
</MenuItem>
<MenuItem Header="_Help">
<MenuItem Header="_Documentation" Command="{Binding MiscSubViewModel.OpenHyperlinkCommand}"
Expand Down
3 changes: 2 additions & 1 deletion PixiEditor/Views/MainWindow.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -34,7 +34,8 @@ public MainWindow()

IServiceCollection services = new ServiceCollection()
.AddSingleton<IPreferences>(preferences)
.AddSingleton(new StylusViewModel());
.AddSingleton<StylusViewModel>()
.AddSingleton<WindowViewModel>();

pixiEditorLogo = BitmapFactory.FromResource(@"/Images/PixiEditorLogo.png");

Expand Down

0 comments on commit f8e8edf

Please sign in to comment.