Multiprocotol Terminalprogram (BAT)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
MultiTerm/MultiTerm.Wpf/View/ShellView.xaml

92 lines
4.7 KiB

<UserControl x:Class="MultiTerm.Wpf.View.ShellView"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:conv="clr-namespace:MultiTerm.Wpf.ValueConverters"
xmlns:controls="clr-namespace:MultiTerm.Wpf.Controls"
xmlns:vm="clr-namespace:MultiTerm.Core.ViewModel;assembly=MultiTerm.Core"
xmlns:v="clr-namespace:MultiTerm.Wpf.View"
xmlns:core_common="clr-namespace:MultiTerm.Core.Common;assembly=MultiTerm.Core"
mc:Ignorable="d"
d:DesignHeight="600" d:DesignWidth="1200">
<UserControl.Resources>
<!-- Value Converters -->
<conv:EnumDescriptionToMenuItemConverter x:Key="EnumDescriptionConverter"/>
<!-- Data Sources -->
<ObjectDataProvider x:Key="NewlineSeparatorTypeValues"
ObjectType="{x:Type sys:Enum}"
MethodName="GetValues">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="core_common:NewlineSeparatorType" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</UserControl.Resources>
<DockPanel>
<Menu DockPanel.Dock="Top">
<MenuItem Header="_File"/>
<MenuItem Header="_Edit">
<MenuItem Header="_Copy" InputGestureText="Ctrl + C">
<!-- <MenuItem.Icon> // TODO
<Image Width="16" Height="16" Source="copy.png"/>
</MenuItem.Icon>-->
</MenuItem>
<MenuItem Header="_Paste" InputGestureText="Ctrl + P">
<!-- <MenuItem.Icon> // TODO
<Image Width="16" Height="16" Source="paste.png"/>
</MenuItem.Icon>-->
</MenuItem>
</MenuItem>
<MenuItem Header="Test">
<MenuItem Header="Item1" Command="{Binding TestButtonClickedCommand}"/>
</MenuItem>
<MenuItem Header="_Settings">
<controls:SingleSelectSubMenu Title="Default Newline Separator on Receive" HorizontalContentAlignment="Left" VerticalContentAlignment="Top"
OptionsSource="{Binding Source={StaticResource NewlineSeparatorTypeValues}}"
SelectedMenuItem="{Binding DefaultReceiveNewlineSeparator, Mode=TwoWay, Converter={StaticResource EnumDescriptionConverter}}">
</controls:SingleSelectSubMenu>
<controls:SingleSelectSubMenu Title="Default Newline Separator on Send"
OptionsSource="{Binding Source={StaticResource NewlineSeparatorTypeValues}}"
SelectedMenuItem="{Binding DefaultSendNewlineSeparator,Mode=TwoWay, Converter={StaticResource EnumDescriptionConverter}}">
</controls:SingleSelectSubMenu>
</MenuItem>
<MenuItem Header="_View"/>
<MenuItem Header="_About"/>
</Menu>
<StackPanel Orientation="Vertical" DockPanel.Dock="Left" Width="150">
</StackPanel>
<TabControl DockPanel.Dock="Right"
x:Name="terminalTabControl"
ItemsSource="{Binding TerminalViewModels}"
SelectedItem="{Binding SelectedTerminalViewModel}">
<!-- Tab Template -->
<TabControl.ItemTemplate>
<DataTemplate>
<StackPanel Orientation="Horizontal">
<TextBlock Text="{Binding Title, Mode=OneWay}" />
<Button Command="{Binding CloseRequestCommand}" Width="20" Padding="0" Margin="8 0 0 0" Content="X">
<Button.Style>
<Style TargetType="Button" x:Name="CloseButtonStyle">
<Setter Property="Visibility" Value="Visible"/>
</Style>
</Button.Style>
</Button>
</StackPanel>
</DataTemplate>
</TabControl.ItemTemplate>
<!-- Register additional Tab ViewModels here -->
<TabControl.Resources>
<DataTemplate DataType="{x:Type vm:SendReceiveViewModel}">
<v:SendReceiveView/>
</DataTemplate>
</TabControl.Resources>
</TabControl>
</DockPanel>
</UserControl>