2024-05-10 17:17:57 -03:00
|
|
|
<Window
|
2024-05-04 06:00:52 -03:00
|
|
|
xmlns:ctreditor="clr-namespace:CtrEditor"
|
2024-05-01 14:45:20 -03:00
|
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
2024-05-04 06:00:52 -03:00
|
|
|
xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
|
|
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
2024-05-14 09:15:10 -03:00
|
|
|
xmlns:Siemens="clr-namespace:CtrEditor.Siemens"
|
2024-05-11 11:58:55 -03:00
|
|
|
xmlns:convert="clr-namespace:CtrEditor.Convertidores"
|
2024-05-14 09:15:10 -03:00
|
|
|
xmlns:ObjetosSim="clr-namespace:CtrEditor.ObjetosSim" x:Class="CtrEditor.MainWindow"
|
2024-05-19 14:56:08 -03:00
|
|
|
Height="900" Width="1600" WindowState="Maximized"
|
2024-05-03 03:58:21 -03:00
|
|
|
ResizeMode="CanResize" Title="{Binding directorioTrabajo}">
|
|
|
|
|
2024-05-15 06:20:09 -03:00
|
|
|
<Window.DataContext>
|
|
|
|
<ctreditor:MainViewModel/>
|
|
|
|
</Window.DataContext>
|
|
|
|
|
2024-05-11 11:58:55 -03:00
|
|
|
<Window.Resources>
|
|
|
|
<convert:FloatToFormattedStringConverter x:Key="floatFormatter"/>
|
2024-05-14 12:10:32 -03:00
|
|
|
<convert:BrushToColorNameConverter x:Key="BrushToColorNameConverter"/>
|
2024-05-11 11:58:55 -03:00
|
|
|
|
2024-05-15 06:20:09 -03:00
|
|
|
<!-- Style for Start/Stop Button -->
|
|
|
|
<Style x:Key="StartStopButtonStyle" TargetType="Button">
|
|
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
|
|
<Style.Triggers>
|
|
|
|
<DataTrigger Binding="{Binding IsSimulationRunning}" Value="True">
|
|
|
|
<Setter Property="Background" Value="LightGreen"/>
|
|
|
|
</DataTrigger>
|
|
|
|
</Style.Triggers>
|
|
|
|
</Style>
|
|
|
|
|
|
|
|
<!-- Style for Connect/Disconnect Button -->
|
|
|
|
<Style x:Key="ConnectDisconnectButtonStyle" TargetType="Button">
|
|
|
|
<Setter Property="Background" Value="Transparent"/>
|
|
|
|
<Style.Triggers>
|
|
|
|
<DataTrigger Binding="{Binding IsConnected}" Value="True">
|
|
|
|
<Setter Property="Background" Value="LightGreen"/>
|
|
|
|
</DataTrigger>
|
|
|
|
</Style.Triggers>
|
|
|
|
</Style>
|
|
|
|
</Window.Resources>
|
2024-05-03 03:58:21 -03:00
|
|
|
|
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"/>
|
2024-05-20 09:05:34 -03:00
|
|
|
<ColumnDefinition Width="8*" MinWidth="200"/>
|
|
|
|
<ColumnDefinition Width="2*" MinWidth="100"/>
|
2024-05-02 11:06:45 -03:00
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
|
|
<!-- Primera Columna -->
|
|
|
|
<Grid Grid.Column="0">
|
|
|
|
<Grid.RowDefinitions>
|
|
|
|
<RowDefinition Height="1*"/>
|
2024-05-10 17:17:57 -03:00
|
|
|
<RowDefinition Height="2*"/>
|
|
|
|
<RowDefinition Height="Auto"/>
|
2024-05-02 11:06:45 -03:00
|
|
|
</Grid.RowDefinitions>
|
2024-05-03 03:58:21 -03:00
|
|
|
<ListBox x:Name="ListaImagenes" Grid.Row="0" Margin="5" ItemsSource="{Binding listaImagenes}" SelectedItem="{Binding SelectedImage}" />
|
2024-05-04 06:00:52 -03:00
|
|
|
<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>
|
2024-05-10 17:17:57 -03:00
|
|
|
<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">
|
2024-05-15 06:20:09 -03:00
|
|
|
<Grid.RowDefinitions>
|
|
|
|
<RowDefinition Height="Auto" />
|
|
|
|
<RowDefinition Height="*" />
|
|
|
|
</Grid.RowDefinitions>
|
|
|
|
|
|
|
|
<ToolBarTray Grid.Row="0">
|
|
|
|
<ToolBar>
|
|
|
|
<Button Command="{Binding TBStartSimulationCommand}" ToolTip="Iniciar Simulación" Style="{StaticResource StartStopButtonStyle}">
|
|
|
|
<StackPanel>
|
|
|
|
<Image Source="Icons/start.png" Width="16" Height="16"/>
|
|
|
|
<TextBlock Text="Iniciar"/>
|
|
|
|
</StackPanel>
|
|
|
|
</Button>
|
|
|
|
<Button Command="{Binding TBStopSimulationCommand}" ToolTip="Detener Simulación">
|
|
|
|
<StackPanel>
|
|
|
|
<Image Source="Icons/stop.png" Width="16" Height="16"/>
|
|
|
|
<TextBlock Text="Detener"/>
|
|
|
|
</StackPanel>
|
|
|
|
</Button>
|
|
|
|
<Button Command="{Binding TBSaveCommand}" ToolTip="Guardar">
|
|
|
|
<StackPanel>
|
|
|
|
<Image Source="Icons/save.png" Width="16" Height="16"/>
|
|
|
|
<TextBlock Text="Guardar"/>
|
|
|
|
</StackPanel>
|
|
|
|
</Button>
|
|
|
|
<Button Command="{Binding TBConnectPLCCommand}" ToolTip="Conectar PLC" Style="{StaticResource ConnectDisconnectButtonStyle}">
|
|
|
|
<StackPanel>
|
|
|
|
<Image Source="Icons/connect.png" Width="16" Height="16"/>
|
|
|
|
<TextBlock Text="Conectar"/>
|
|
|
|
</StackPanel>
|
|
|
|
</Button>
|
|
|
|
<Button Command="{Binding TBDisconnectPLCCommand}" ToolTip="Desconectar PLC">
|
|
|
|
<StackPanel>
|
|
|
|
<Image Source="Icons/disconnect.png" Width="16" Height="16"/>
|
|
|
|
<TextBlock Text="Desconectar"/>
|
|
|
|
</StackPanel>
|
|
|
|
</Button>
|
|
|
|
</ToolBar>
|
|
|
|
</ToolBarTray>
|
|
|
|
|
|
|
|
<ScrollViewer Grid.Row="1" x:Name="ImagenEnTrabajoScrollViewer" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" PanningMode="Both">
|
2024-05-16 13:45:14 -03:00
|
|
|
<Canvas x:Name="ImagenEnTrabajoCanvas" Margin="200">
|
2024-05-03 03:58:21 -03:00
|
|
|
<!-- 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-19 14:56:08 -03:00
|
|
|
<RowDefinition Height="Auto" />
|
2024-05-02 11:06:45 -03:00
|
|
|
</Grid.RowDefinitions>
|
2024-05-11 11:58:55 -03:00
|
|
|
|
|
|
|
<!-- ListBox -->
|
2024-05-04 15:35:06 -03:00
|
|
|
<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-19 14:56:08 -03:00
|
|
|
|
|
|
|
<ToolBarTray Grid.Row="3">
|
|
|
|
<ToolBar>
|
|
|
|
<Button Command="{Binding TBEliminarUserControlCommand}" ToolTip="Eliminar Control">
|
|
|
|
<StackPanel>
|
|
|
|
<Image Source="Icons/borrar.png" Width="16" Height="16"/>
|
|
|
|
<TextBlock Text="Eliminar"/>
|
|
|
|
</StackPanel>
|
|
|
|
</Button>
|
2024-05-20 09:05:34 -03:00
|
|
|
<Button Command="{Binding TBDuplicarUserControlCommand}" ToolTip="Duplicar Control">
|
|
|
|
<StackPanel>
|
|
|
|
<Image Source="Icons/duplicate.png" Width="16" Height="16"/>
|
|
|
|
<TextBlock Text="Duplicar"/>
|
|
|
|
</StackPanel>
|
|
|
|
</Button>
|
2024-05-19 14:56:08 -03:00
|
|
|
</ToolBar>
|
|
|
|
</ToolBarTray>
|
|
|
|
|
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>
|