168 lines
8.2 KiB
XML
168 lines
8.2 KiB
XML
<Window x:Class="CtrEditor.PopUps.LibraryWindow"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:controls="clr-namespace:CtrEditor.Controls"
|
|
xmlns:xctk="http://schemas.xceed.com/wpf/xaml/toolkit"
|
|
xmlns:local="clr-namespace:CtrEditor.PopUps"
|
|
xmlns:ObjetosSim="clr-namespace:CtrEditor.ObjetosSim"
|
|
Title="Biblioteca de Objetos Simulables" Height="700" Width="1200"
|
|
WindowStartupLocation="CenterOwner" ResizeMode="CanResize"
|
|
Loaded="Window_Loaded">
|
|
|
|
<Window.InputBindings>
|
|
<KeyBinding Key="C" Modifiers="Ctrl" Command="{Binding CopyObjectCommand}" />
|
|
<KeyBinding Key="V" Modifiers="Ctrl" Command="{Binding PasteObjectCommand}" />
|
|
<KeyBinding Key="Delete" Command="{Binding DeleteObjectCommand}" />
|
|
</Window.InputBindings>
|
|
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="250" MinWidth="200" />
|
|
<ColumnDefinition Width="5" />
|
|
<ColumnDefinition Width="300" MinWidth="250" />
|
|
<ColumnDefinition Width="5" />
|
|
<ColumnDefinition Width="350" MinWidth="250" />
|
|
<ColumnDefinition Width="5" />
|
|
<ColumnDefinition Width="*" MinWidth="300" />
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<!-- Primera columna: Gestión de directorios de biblioteca -->
|
|
<Grid Grid.Column="0">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<Label Grid.Row="0" Content="Directorios de Biblioteca" FontWeight="Bold" />
|
|
|
|
<ListBox Grid.Row="1" Name="LibraryDirectoriesList"
|
|
ItemsSource="{Binding LibraryDirectories}"
|
|
SelectedItem="{Binding SelectedLibraryDirectory, Mode=TwoWay}"
|
|
DisplayMemberPath="DisplayName" />
|
|
|
|
<StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Center" Margin="5">
|
|
<Button Content="Agregar" Command="{Binding AddLibraryDirectoryCommand}" Margin="2" Padding="5,2" />
|
|
<Button Content="Eliminar" Command="{Binding RemoveLibraryDirectoryCommand}" Margin="2" Padding="5,2" />
|
|
</StackPanel>
|
|
</Grid>
|
|
|
|
<!-- GridSplitter 1 -->
|
|
<GridSplitter Grid.Column="1" HorizontalAlignment="Center" VerticalAlignment="Stretch"
|
|
Background="LightGray" Width="5" />
|
|
|
|
<!-- Segunda columna: Bibliotecas -->
|
|
<Grid Grid.Column="2">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<Label Grid.Row="0" Content="Bibliotecas" FontWeight="Bold" />
|
|
<TreeView Grid.Row="1" Name="LibrariesTreeView"
|
|
ItemsSource="{Binding Libraries}"
|
|
SelectedItemChanged="LibrariesTreeView_SelectedItemChanged">
|
|
<TreeView.ItemTemplate>
|
|
<DataTemplate>
|
|
<TextBlock Text="{Binding DisplayName}" />
|
|
</DataTemplate>
|
|
</TreeView.ItemTemplate>
|
|
</TreeView>
|
|
|
|
<StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Center" Margin="5">
|
|
<Button Content="Nueva Biblioteca" Command="{Binding CreateNewLibraryCommand}" Margin="2" Padding="5,2" />
|
|
</StackPanel>
|
|
</Grid>
|
|
|
|
<!-- GridSplitter 2 -->
|
|
<GridSplitter Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Stretch"
|
|
Background="LightGray" Width="5" />
|
|
|
|
<!-- Tercera columna: Objetos -->
|
|
<Grid Grid.Column="4">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<!-- Filtros -->
|
|
<Expander Grid.Row="0" Header="Filtros" IsExpanded="True">
|
|
<controls:osVisFilter x:Name="ObjectFilter" Margin="5"/>
|
|
</Expander>
|
|
|
|
<Label Grid.Row="1" Content="Objetos" FontWeight="Bold" />
|
|
<TreeView Grid.Row="2" Name="ObjectsTreeView"
|
|
ItemsSource="{Binding FilteredObjectsByType}"
|
|
SelectedItemChanged="ObjectsTreeView_SelectedItemChanged">
|
|
<TreeView.Resources>
|
|
<!-- Template for object type groups -->
|
|
<HierarchicalDataTemplate DataType="{x:Type local:ObjectTypeGroup}"
|
|
ItemsSource="{Binding Objects}">
|
|
<TextBlock Text="{Binding TypeName}" FontWeight="Bold" />
|
|
</HierarchicalDataTemplate>
|
|
|
|
<!-- Template for individual objects -->
|
|
<DataTemplate DataType="{x:Type ObjetosSim:osBase}">
|
|
<TextBlock Text="{Binding Nombre}">
|
|
<TextBlock.Style>
|
|
<Style TargetType="TextBlock">
|
|
<Style.Triggers>
|
|
<DataTrigger Binding="{Binding Enable_On_All_Pages}" Value="True">
|
|
<Setter Property="Foreground" Value="Blue" />
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding Cloned}" Value="True">
|
|
<Setter Property="Foreground" Value="Orange" />
|
|
</DataTrigger>
|
|
<DataTrigger Binding="{Binding AutoCreated}" Value="True">
|
|
<Setter Property="Foreground" Value="Green" />
|
|
</DataTrigger>
|
|
</Style.Triggers>
|
|
</Style>
|
|
</TextBlock.Style>
|
|
</TextBlock>
|
|
</DataTemplate>
|
|
</TreeView.Resources>
|
|
</TreeView>
|
|
|
|
<!-- Botones de acción -->
|
|
<StackPanel Grid.Row="3" Orientation="Horizontal" HorizontalAlignment="Center" Margin="5">
|
|
<Button Content="Copiar (Ctrl+C)" Command="{Binding CopyObjectCommand}" Margin="2" Padding="5,2" />
|
|
<Button Content="Pegar (Ctrl+V)" Command="{Binding PasteObjectCommand}" Margin="2" Padding="5,2" />
|
|
<Button Content="Eliminar" Command="{Binding DeleteObjectCommand}" Margin="2" Padding="5,2" />
|
|
</StackPanel>
|
|
</Grid>
|
|
|
|
<!-- GridSplitter 3 -->
|
|
<GridSplitter Grid.Column="5" HorizontalAlignment="Center" VerticalAlignment="Stretch"
|
|
Background="LightGray" Width="5" />
|
|
|
|
<!-- Cuarta columna: Propiedades del objeto seleccionado -->
|
|
<Grid Grid.Column="6">
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto" />
|
|
<RowDefinition Height="*" />
|
|
<RowDefinition Height="Auto" />
|
|
</Grid.RowDefinitions>
|
|
|
|
<Label Grid.Row="0" Content="Propiedades del Objeto" FontWeight="Bold" />
|
|
|
|
<xctk:PropertyGrid Grid.Row="1"
|
|
Name="ObjectPropertyGrid"
|
|
SelectedObject="{Binding SelectedObject}"
|
|
IsReadOnly="True"
|
|
ShowSearchBox="True"
|
|
ShowSortOptions="True"
|
|
ShowTitle="False"
|
|
Margin="5" />
|
|
|
|
<!-- Botones de control -->
|
|
<StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Right" Margin="5">
|
|
<Button Content="Cerrar" IsCancel="True" Click="CloseButton_Click"
|
|
Margin="2" Padding="15,5" MinWidth="75" />
|
|
</StackPanel>
|
|
</Grid>
|
|
</Grid>
|
|
</Window> |