@ -9,6 +9,7 @@
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"
xmlns:helpers="clr-namespace:MultiTerm.Wpf.Helpers"
mc:Ignorable="d"
d:DesignHeight="600" d:DesignWidth="1200">
<UserControl.Resources>
@ -23,6 +24,13 @@
<x:Type TypeName="core_common:NewlineSeparatorType" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
<ObjectDataProvider x:Key="TerminalViewTypeValues"
ObjectType="{x:Type sys:Enum}"
MethodName="GetValues">
<ObjectDataProvider.MethodParameters>
<x:Type TypeName="core_common:TerminalViewType" />
</ObjectDataProvider.MethodParameters>
</ObjectDataProvider>
</UserControl.Resources>
@ -58,7 +66,61 @@
<MenuItem Header="_About"/>
</Menu>
<StackPanel Orientation="Vertical" DockPanel.Dock="Left" Width="150">
<Button Name="AddNewTabButton" Content="Add new Tab">
<Button.Resources>
<!-- Binding Proxy to provide DataContext to elements within ContextMenu -->
<helpers:BindingProxy x:Key="proxy" Data="{Binding}"/>
</Button.Resources>
<Button.ContextMenu>
<ContextMenu x:Name="MainContextMenu" PlacementRectangle="{Binding RelativeSource={RelativeSource Self}}">
<!-- View types -->
<controls:SingleSelectSubMenu Title="View type"
OptionsSource="{Binding Source={StaticResource TerminalViewTypeValues}}"
SelectedMenuItem="{Binding Data.SelectedTerminalViewType, Mode=TwoWay, Source={StaticResource proxy},
Converter={StaticResource EnumDescriptionConverter}}">
</controls:SingleSelectSubMenu>
<Separator/>
<MenuItem Header="Protocol" IsEnabled="False"/>
<!-- Protocol types -->
<MenuItem Header="Serial"
Command="{Binding Data.AppendTerminalCommand, Source={StaticResource proxy}}">
<!--TODO implement parameter CommandParameter="{Binding RelativeSource={RelativeSource Self}}">-->
</MenuItem>
<MenuItem Header="USB HID" />
<MenuItem Header="TCP" />
<MenuItem Header="UCP" />
</ContextMenu>
</Button.ContextMenu>
<Button.Triggers>
<EventTrigger SourceName="AddNewTabButton" RoutedEvent="Button.Click">
<BeginStoryboard>
<Storyboard>
<ObjectAnimationUsingKeyFrames Storyboard.TargetName="MainContextMenu" Storyboard.TargetProperty="(ContextMenu.IsOpen)">
<DiscreteObjectKeyFrame KeyTime="0:0:0">
<DiscreteObjectKeyFrame.Value>
<sys:Boolean>True</sys:Boolean>
</DiscreteObjectKeyFrame.Value>
</DiscreteObjectKeyFrame>
</ObjectAnimationUsingKeyFrames>
</Storyboard>
</BeginStoryboard>
</EventTrigger>
</Button.Triggers>
</Button>
<!--<RibbonMenuButton x:Name="newTerminalMenu" Label="Add new Tab" Background="Gray">
<RibbonRadioButton Label="SendReceive">
</RibbonRadioButton>
<RibbonRadioButton Label="Console">
</RibbonRadioButton>
<RibbonSeparator/>
</RibbonMenuButton>-->
</StackPanel>
<TabControl DockPanel.Dock="Right"
x:Name="terminalTabControl"
@ -74,6 +136,8 @@
<Button.Style>
<Style TargetType="Button" x:Name="CloseButtonStyle">
<Setter Property="Visibility" Value="Visible"/>
<Setter Property="Background" Value="Transparent"/>
<Setter Property="BorderBrush" Value="Transparent"/>
</Style>
</Button.Style>
</Button>