CtrEditor/MainWindow.xaml

113 lines
5.2 KiB
Plaintext
Raw Normal View History

<Window
xmlns:ctreditor="clr-namespace:CtrEditor"
2024-05-01 14:45:20 -03:00
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:Siemens="clr-namespace:CtrEditor.Siemens" x:Class="CtrEditor.MainWindow"
2024-05-11 11:58:55 -03:00
xmlns:convert="clr-namespace:CtrEditor.Convertidores"
Height="900" Width="1600"
ResizeMode="CanResize" Title="{Binding directorioTrabajo}">
2024-05-11 11:58:55 -03:00
<Window.Resources>
<convert:FloatToFormattedStringConverter x:Key="floatFormatter"/>
</Window.Resources>
2024-05-02 11:26:45 -03:00
<Window.DataContext>
<ctreditor:MainViewModel/>
</Window.DataContext>
2024-05-01 14:45:20 -03:00
<Grid>
2024-05-02 11:06:45 -03:00
<!-- Menú Principal sobre toda la ventana -->
<Menu VerticalAlignment="Top" HorizontalAlignment="Stretch">
<MenuItem Header="Projecto">
<MenuItem Header="Abrir Directorio de trabajo" Command="{Binding OpenWorkDirectoryCommand}" />
2024-05-03 05:13:25 -03:00
<MenuItem Header="Iniciar Simulacion" Command="{Binding StartSimulationCommand}" />
<MenuItem Header="Detenet Simulacion" Command="{Binding StopSimulationCommand}" />
2024-05-02 11:06:45 -03:00
<MenuItem Header="Guardar" Command="{Binding SaveCommand}" />
<MenuItem Header="Salir" Command="{Binding ExitCommand}" />
</MenuItem>
</Menu>
<Grid Margin="0,20,0,0">
<!-- Margen superior para el menú -->
<Grid.ColumnDefinitions>
2024-05-03 05:13:25 -03:00
<ColumnDefinition Width="1*" MinWidth="100"/>
<ColumnDefinition Width="4*" MinWidth="200"/>
<ColumnDefinition Width="1*" MinWidth="100"/>
2024-05-02 11:06:45 -03:00
</Grid.ColumnDefinitions>
<!-- Primera Columna -->
<Grid Grid.Column="0">
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="2*"/>
<RowDefinition Height="Auto"/>
2024-05-02 11:06:45 -03:00
</Grid.RowDefinitions>
<ListBox x:Name="ListaImagenes" Grid.Row="0" Margin="5" ItemsSource="{Binding listaImagenes}" SelectedItem="{Binding SelectedImage}" />
<ListBox x:Name="ListaFunciones" Grid.Row="1" Margin="5" ItemsSource="{Binding ListaOsBase}" DisplayMemberPath="Nombre" SelectedItem="{Binding SelectedItem}">
<i:Interaction.Triggers>
<i:EventTrigger EventName="MouseDoubleClick">
<i:InvokeCommandAction Command="{Binding ItemDoubleClickCommand}" CommandParameter="{Binding SelectedItem}"/>
</i:EventTrigger>
</i:Interaction.Triggers>
</ListBox>
<Siemens:PLCControl x:Name="PLCSim" Grid.Row="2" Margin="5" DataContext="{Binding PLCViewModel}"/>
2024-05-02 11:06:45 -03:00
</Grid>
2024-05-03 05:13:25 -03:00
<!-- GridSplitter -->
<GridSplitter Grid.Column="0" Grid.Row="0" HorizontalAlignment="Right" Width="5" Background="LightGray" />
2024-05-02 11:06:45 -03:00
<!-- Segunda Columna -->
<Grid Grid.Column="1">
<ScrollViewer x:Name="ImagenEnTrabajoScrollViewer" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" PanningMode="Both">
<Canvas x:Name="ImagenEnTrabajoCanvas" Margin="20">
<!-- El Margin puede ser ajustado según el espacio adicional que quieras proporcionar -->
<Canvas.LayoutTransform>
<ScaleTransform ScaleX="1" ScaleY="1"/>
</Canvas.LayoutTransform>
2024-05-02 11:06:45 -03:00
</Canvas>
</ScrollViewer>
</Grid>
2024-05-03 05:13:25 -03:00
<!-- GridSplitter -->
<GridSplitter Grid.Column="1" Grid.Row="0" HorizontalAlignment="Right" Width="5" Background="LightGray" />
2024-05-01 14:45:20 -03:00
2024-05-02 11:06:45 -03:00
<!-- Tercera Columna -->
<Grid Grid.Column="2">
<Grid.RowDefinitions>
2024-05-11 11:58:55 -03:00
<RowDefinition Height="*" />
<!-- Altura ajustable para el ListBox -->
<RowDefinition Height="Auto" />
<!-- Espacio para el GridSplitter -->
<RowDefinition Height="*" />
<!-- Altura ajustable para el PanelEdicion -->
2024-05-02 11:06:45 -03:00
</Grid.RowDefinitions>
2024-05-11 11:58:55 -03:00
<!-- ListBox -->
<ListBox x:Name="ListaOs"
2024-05-11 11:58:55 -03:00
Grid.Row="0"
Margin="5"
ItemsSource="{Binding ObjetosSimulables}"
DisplayMemberPath="Nombre"
SelectedItem="{Binding SelectedItemOsList, Mode=TwoWay}"
SelectionChanged="ListaOs_SelectionChanged"/>
<!-- GridSplitter -->
<GridSplitter Grid.Row="1"
Height="5"
HorizontalAlignment="Stretch"
Background="Gray"
ResizeDirection="Rows"
VerticalAlignment="Center"/>
<!-- PanelEdicion -->
<ScrollViewer Grid.Row="2" Margin="5" VerticalScrollBarVisibility="Auto">
<StackPanel x:Name="PanelEdicion">
<!-- Aquí puedes agregar los controles para editar propiedades -->
</StackPanel>
</ScrollViewer>
2024-05-02 11:06:45 -03:00
</Grid>
2024-05-11 11:58:55 -03:00
2024-05-02 11:06:45 -03:00
</Grid>
2024-05-01 14:45:20 -03:00
</Grid>
</Window>