CtrEditor/PopUps/LibraryWindow.xaml.cs

61 lines
1.9 KiB
C#

using System.Windows;
using System.Windows.Controls;
using CtrEditor.ObjetosSim;
namespace CtrEditor.PopUps
{
/// <summary>
/// Interaction logic for LibraryWindow.xaml
/// </summary>
public partial class LibraryWindow : Window
{
public LibraryWindow()
{
InitializeComponent();
}
private void LibrariesTreeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
if (DataContext is LibraryWindowViewModel viewModel)
{
viewModel.SelectedLibrary = e.NewValue as LibraryItem;
}
}
private void ObjectsTreeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs<object> e)
{
if (DataContext is LibraryWindowViewModel viewModel)
{
// Check if the selected item is an osBase object or an ObjectTypeGroup
if (e.NewValue is osBase selectedObject)
{
viewModel.SelectedObject = selectedObject;
}
else if (e.NewValue is ObjectTypeGroup typeGroup)
{
// If a type group is selected, clear the selected object
viewModel.SelectedObject = null;
}
else
{
viewModel.SelectedObject = null;
}
}
}
private void CloseButton_Click(object sender, RoutedEventArgs e)
{
this.Close();
}
private void Window_Loaded(object sender, RoutedEventArgs e)
{
// Setup filter events after window is loaded
if (DataContext is LibraryWindowViewModel viewModel)
{
ObjectFilter.FilterChanged += (s, args) => viewModel.OnFilterChanged(args.FilterViewModel);
viewModel.SetObjectFilter(ObjectFilter);
}
}
}
}