61 lines
1.9 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|
|
} |