Browse Source

Fixed active document on click

flabbet 4 years ago
parent
commit
c564a148f7
2 changed files with 15 additions and 0 deletions
  1. 10 0
      PixiEditor/Models/DataHolders/Document.cs
  2. 5 0
      PixiEditor/Views/MainWindow.xaml

+ 10 - 0
PixiEditor/Models/DataHolders/Document.cs

@@ -27,6 +27,7 @@ namespace PixiEditor.Models.DataHolders
             Width = width;
             Height = height;
             RequestCloseDocumentCommand = new RelayCommand(RequestCloseDocument);
+            SetAsActiveOnClickCommand = new RelayCommand(SetAsActiveOnClick);
             UndoManager = new UndoManager();
             XamlAccesibleViewModel = ViewModelMain.Current ?? null;
             GeneratePreviewLayer();
@@ -39,6 +40,8 @@ namespace PixiEditor.Models.DataHolders
 
         public RelayCommand RequestCloseDocumentCommand { get; set; }
 
+        public RelayCommand SetAsActiveOnClickCommand { get; set; }
+
         private ViewModelMain xamlAccesibleViewModel = null;
 
         public ViewModelMain XamlAccesibleViewModel // Used to access ViewModelMain, without changing DataContext in XAML
@@ -422,6 +425,13 @@ namespace PixiEditor.Models.DataHolders
                     "Center content"));
         }
 
+        private void SetAsActiveOnClick(object obj)
+        {
+            XamlAccesibleViewModel.BitmapManager.MouseController.StopRecordingMouseMovementChanges();
+            XamlAccesibleViewModel.BitmapManager.MouseController.StartRecordingMouseMovementChanges(true);
+            XamlAccesibleViewModel.BitmapManager.ActiveDocument = this;
+        }
+
         private void RequestCloseDocument(object parameter)
         {
             ViewModelMain.Current.DocumentSubViewModel.RequestCloseDocument(this);

+ 5 - 0
PixiEditor/Views/MainWindow.xaml

@@ -185,6 +185,11 @@
                                         MouseDownCommand="{Binding XamlAccesibleViewModel.IoSubViewModel.MouseDownCommand}"
                                         MouseXOnCanvas="{Binding MouseXOnCanvas, Mode=TwoWay}"
                                         MouseYOnCanvas="{Binding MouseYOnCanvas, Mode=TwoWay}">
+                                <i:Interaction.Triggers>
+                                    <i:EventTrigger EventName="PreviewMouseDown">
+                                        <i:InvokeCommandAction Command="{Binding SetAsActiveOnClickCommand}"/>
+                                    </i:EventTrigger>
+                                </i:Interaction.Triggers>
                             </usercontrols:DrawingViewPort>
                         </DataTemplate>
                     </avalondock:DockingManager.LayoutItemTemplate>