<commit_before>﻿<Window
	x:Class="SmaSTraDesigner.MainWindow"
	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
	xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
	xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
	xmlns:local="clr-namespace:SmaSTraDesigner"
	xmlns:ctrl="clr-namespace:SmaSTraDesigner.Controls"
    xmlns:ctrlSupport="clr-namespace:SmaSTraDesigner.Controls.Support"
    xmlns:logic="clr-namespace:SmaSTraDesigner.BusinessLogic"
	mc:Ignorable="d"
	x:Name="This" Title="SmaSTra" d:DesignWidth="900" d:DesignHeight="650">
    <Window.CommandBindings>
        <CommandBinding Command="ctrlSupport:Commands.DebugTest" CanExecute="DebugTest_CanExecute" Executed="DebugTest_Executed" />
        <CommandBinding Command="ctrlSupport:Commands.Save" CanExecute="Save_CanExecute" Executed="Save_Executed" />
        <CommandBinding Command="ctrlSupport:Commands.Load" CanExecute="Load_CanExecute" Executed="Load_Executed" />
        <CommandBinding Command="ctrlSupport:Commands.Exit" CanExecute="Exit_CanExecute" Executed="Exit_Executed" />
        <CommandBinding Command="ctrlSupport:Commands.Merge" CanExecute="Merge_CanExecute" Executed="Merge_Execute" />
        <CommandBinding Command="ctrlSupport:Commands.Unmerge" CanExecute="Unmerge_CanExecute" Executed="Unmerge_Execute" />
        <CommandBinding Command="ctrlSupport:Commands.Generate" CanExecute="Generate_CanExecute" Executed="Generate_Executed" />
        <CommandBinding Command="ctrlSupport:Commands.Delete" CanExecute="Delete_CanExecute" Executed="Delete_Executed" />
        <CommandBinding Command="ctrlSupport:Commands.SelectConnected" CanExecute="SelectConnected_CanExecute" Executed="SelectConnected_Executed" />
        <CommandBinding Command="ctrlSupport:Commands.AddSelected" CanExecute="AddSelected_CanExecute" Executed="AddSelected_Executed" />
        <CommandBinding Command="ctrlSupport:Commands.ToOutputViewer" CanExecute="ToOutputViewer_CanExecute" Executed="ToOutputViewer_Executed" />
        <CommandBinding Command="ctrlSupport:Commands.AddToLibrary" CanExecute="AddToLibrary_CanExecute" Executed="AddToLibrary_Executed" />
    </Window.CommandBindings>

    <Grid MaxHeight="{Binding ElementName=This, Path=ActualHeight}">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="3*" />
            <ColumnDefinition Width="5" />
			<ColumnDefinition Width="*" />
		</Grid.ColumnDefinitions>
		<Grid.RowDefinitions>
			<RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
		</Grid.RowDefinitions>

		<Menu x:Name="mnuMain" Grid.ColumnSpan="99" Grid.Row="0" HorizontalAlignment="Stretch">
            <MenuItem x:Name="mniFile" Header="File">
                <MenuItem x:Name="mniSave" Header="Save" Command="ctrlSupport:Commands.Save" />
                <MenuItem x:Name="mniLoad" Header="Load" Command="ctrlSupport:Commands.Load" />
                <MenuItem x:Name="mniExit" Header="Exit" Command="ctrlSupport:Commands.Exit" />
			</MenuItem>
            <MenuItem x:Name="mniEdit" Header="Edit">
                <MenuItem x:Name="mniMerge" Header="Merge" Command="ctrlSupport:Commands.Merge" />
                <MenuItem x:Name="mniUnmerge" Header="Unmerge" Command="ctrlSupport:Commands.Unmerge" />
            </MenuItem>
            <MenuItem Header="Tree">
                <MenuItem x:Name="mniGenerateJava" Header="Generate Java code..." Command="ctrlSupport:Commands.Generate" />
			</MenuItem>
		</Menu>

        <StackPanel x:Name="spnSideMenu" Grid.ColumnSpan="99" Grid.Row="1" Orientation="Horizontal" Background="{StaticResource ColorPanelBackground}">
            <ToggleButton x:Name="tglDefaultTF" Content="Default Transformations" IsChecked="True" Checked="ToggleButton_Checked" />
			<ToggleButton x:Name="tglCustomTF" Content="Custom Transformations"  Checked="ToggleButton_Checked" />
            <ToggleButton x:Name="tglCombinedTF" Content="Combined Transformations"  Checked="ToggleButton_Checked" />
			<ToggleButton x:Name="tglOnlineTF" Content="Online Transformations" IsEnabled="False" Checked="ToggleButton_Checked" />
		</StackPanel>

        <DockPanel Grid.ColumnSpan="99" Grid.Row="2" Background="{StaticResource ColorPanelBackground}">
            <Grid Width="120" Height="50" DockPanel.Dock="Left">
                <Grid.ColumnDefinitions>
                    <ColumnDefinition Width="*" />
                    <ColumnDefinition Width="*" />
                </Grid.ColumnDefinitions>
                <Grid.RowDefinitions>
                    <RowDefinition Height="*" />
                </Grid.RowDefinitions>
                <Button Command="ctrlSupport:Commands.Save" Grid.Column="0" Width="50" Background="Transparent">
                    <Image Stretch="Uniform" Source="pack://siteoforigin:,,,/Resources/save.png"/>
                </Button>
                <Button Command="ctrlSupport:Commands.Load" Grid.Column="1" Width="50" Background="Transparent">
                    <Image Stretch="Uniform" Source="pack://siteoforigin:,,,/Resources/open.png"/>
                </Button>
            </Grid>
            <ScrollViewer Margin="50,0,0,0" Background="{StaticResource ColorPanelBackground}" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Hidden">
                <StackPanel Orientation="Horizontal">
                    <RadioButton GroupName="nodeType" x:Name="togDataSources" VerticalContentAlignment="Center">
                        <RadioButton.Template>
                            <ControlTemplate>
                                <ToggleButton IsChecked="{Binding IsChecked, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"
                          Content="{Binding Content, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"/>
                            </ControlTemplate>
                        </RadioButton.Template>
                        <WrapPanel>
                            <Image Width="75" Source="pack://siteoforigin:,,,/Resources/0v1_blue.png"/>
                        </WrapPanel>
                    </RadioButton>
                    <RadioButton GroupName="nodeType" x:Name="togConversions" VerticalContentAlignment="Center">
                        <RadioButton.Template>
                            <ControlTemplate>
                                <ToggleButton IsChecked="{Binding IsChecked, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"
                          Content="{Binding Content, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"/>
                            </ControlTemplate>
                        </RadioButton.Template>
                        <WrapPanel>
                            <Image Width="75" Source="pack://siteoforigin:,,,/Resources/1v1_blue.png"/>
                    </WrapPanel>
                    </RadioButton>
                    <RadioButton GroupName="nodeType" x:Name="togTransformations" VerticalContentAlignment="Center">
                        <RadioButton.Template>
                            <ControlTemplate>
                                <ToggleButton IsChecked="{Binding IsChecked, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"
                          Content="{Binding Content, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"/>
                            </ControlTemplate>
                        </RadioButton.Template>
                        <WrapPanel>
                            <Image Width="75" Source="pack://siteoforigin:,,,/Resources/2v1_blue.png"/>
                        </WrapPanel>
                    </RadioButton>
                </StackPanel>
		</ScrollViewer>
        </DockPanel>
        <!--<GridSplitter x:Name="gspMain" Grid.Column="2" Grid.Row="1" ResizeBehavior="PreviousAndNext" Width="10" />-->
		<!-- asdasd asd-->

        <ScrollViewer Grid.Row="3" Grid.ColumnSpan="99" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Hidden" Background="{StaticResource ColorPanelTitel}">
            <StackPanel x:Name="spnNodeClasses" Orientation="Horizontal">
                <DockPanel Visibility="{Binding ElementName=togDataSources, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}">
                    <ItemsControl x:Name="icDefaultDS" DockPanel.Dock="Right" Visibility="{Binding ElementName=tglDefaultTF, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}" ItemsSource="{Binding Path=BaseDataSources}" ItemTemplateSelector="{StaticResource NodeListTemplateSelector}" >
                        <ItemsControl.ItemsPanel>
                            <ItemsPanelTemplate>
                                <WrapPanel />
                            </ItemsPanelTemplate>
                        </ItemsControl.ItemsPanel>
                    </ItemsControl>
                    <!-- TODO: (PS) Add ItemControls here for custom and online Sensors -->
                    <ItemsControl x:Name="icCustomDS" DockPanel.Dock="Left" Visibility="{Binding ElementName=tglCustomTF, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}" ItemsSource="{Binding Path=CustomDataSources}" ItemTemplateSelector="{StaticResource NodeListTemplateSelector}" >
                        <ItemsControl.ItemsPanel>
                            <ItemsPanelTemplate>
                                <WrapPanel />
                            </ItemsPanelTemplate>
                        </ItemsControl.ItemsPanel>
                    </ItemsControl>
                    <ItemsControl x:Name="icCombinedDS" Visibility="{Binding ElementName=tglCombinedTF, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}" ItemsSource="{Binding Path=CombinedDataSources}" ItemTemplateSelector="{StaticResource NodeListTemplateSelector}" >
                        <ItemsControl.ItemsPanel>
                            <ItemsPanelTemplate>
                                <WrapPanel />
                            </ItemsPanelTemplate>
                        </ItemsControl.ItemsPanel>
                    </ItemsControl>
                </DockPanel>
                <DockPanel Visibility="{Binding ElementName=togConversions, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}">
                    <ItemsControl x:Name="icDefaultCV" DockPanel.Dock="Right" Visibility="{Binding ElementName=tglDefaultTF, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}" ItemsSource="{Binding Path=BaseConversions}" ItemTemplateSelector="{StaticResource NodeListTemplateSelector}" >
                        <ItemsControl.ItemsPanel>
                            <ItemsPanelTemplate>
                                <WrapPanel />
                            </ItemsPanelTemplate>
                        </ItemsControl.ItemsPanel>
                    </ItemsControl>
                    <ItemsControl x:Name="icCustomCV" DockPanel.Dock="Left" Visibility="{Binding ElementName=tglCustomTF, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}" ItemsSource="{Binding Path=CustomConversions}" ItemTemplateSelector="{StaticResource NodeListTemplateSelector}" >
                        <ItemsControl.ItemsPanel>
                            <ItemsPanelTemplate>
                                <WrapPanel />
                            </ItemsPanelTemplate>
                        </ItemsControl.ItemsPanel>
                    </ItemsControl>
                    <ItemsControl x:Name="icCombinedCV" Visibility="{Binding ElementName=tglCombinedTF, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}" ItemsSource="{Binding Path=CombinedConversions}" ItemTemplateSelector="{StaticResource NodeListTemplateSelector}" >
                        <ItemsControl.ItemsPanel>
                            <ItemsPanelTemplate>
                                <WrapPanel />
                            </ItemsPanelTemplate>
                        </ItemsControl.ItemsPanel>
                    </ItemsControl>
                </DockPanel>
                <DockPanel Visibility="{Binding ElementName=togTransformations, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}">
                    <ItemsControl x:Name="icDefaultTF" DockPanel.Dock="Right" Visibility="{Binding ElementName=tglDefaultTF, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}" ItemsSource="{Binding Path=BaseTransformations}" ItemTemplateSelector="{StaticResource NodeListTemplateSelector}" >
                        <ItemsControl.ItemsPanel>
                            <ItemsPanelTemplate>
                                <WrapPanel />
                            </ItemsPanelTemplate>
                        </ItemsControl.ItemsPanel>
                    </ItemsControl>
                    <ItemsControl x:Name="icCustomTF" DockPanel.Dock="Left" Visibility="{Binding ElementName=tglCustomTF, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}" ItemsSource="{Binding Path=CustomTransformations}" ItemTemplateSelector="{StaticResource NodeListTemplateSelector}" >
                        <ItemsControl.ItemsPanel>
                            <ItemsPanelTemplate>
                                <WrapPanel />
                            </ItemsPanelTemplate>
                        </ItemsControl.ItemsPanel>
                    </ItemsControl>
                    <ItemsControl x:Name="icCombinedTF" Visibility="{Binding ElementName=tglCombinedTF, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}" ItemsSource="{Binding Path=CombinedTransformations}" ItemTemplateSelector="{StaticResource NodeListTemplateSelector}" >
                        <ItemsControl.ItemsPanel>
                            <ItemsPanelTemplate>
                                <WrapPanel />
                            </ItemsPanelTemplate>
                        </ItemsControl.ItemsPanel>
                    </ItemsControl>
                </DockPanel>
            </StackPanel>
        </ScrollViewer>

		<ctrl:UcTreeDesigner x:Name="tdTreeDesigner" Grid.Column="0" Grid.Row="4" />

        
        <GridSplitter Grid.Column="1" Grid.Row="4" Width="5" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" />

        
        <Grid Grid.Column="2" Grid.Row="4">
            <Grid.RowDefinitions>
                <RowDefinition Height="*" />
                <RowDefinition Height="5" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>

            <DockPanel>
                <Border BorderThickness="1" BorderBrush="Black" DockPanel.Dock="Top">
                    <TextBlock Text="Properties" Style="{StaticResource TextBlockStyle}" Background="{StaticResource ColorPanelTitel}" TextAlignment="Center" HorizontalAlignment="Stretch" VerticalAlignment="Center"/>
                </Border>
                <ScrollViewer>
            <StackPanel x:Name="spnProperties" Background="{StaticResource ColorPanelBackground}">
                <StackPanel.Resources>
                    <logic:ConverterInputTypeName x:Key="InputTypeNameConverter" />
                   <!-- <Style TargetType="TextBlock">
                        <Setter Property="FontSize" Value="15" />
                    </Style>-->
                    <Style TargetType="TextBlock" BasedOn="{StaticResource TextBlockStyle}"/>
                    <Style TargetType="TextBox" BasedOn="{StaticResource TextBoxtyle}"/>
                </StackPanel.Resources>
                <WrapPanel>
                    <TextBlock Text="Name: " HorizontalAlignment="Left" VerticalAlignment="Center"/>
                    <TextBox  HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap" Text="{Binding Path=NodeName ,UpdateSourceTrigger=PropertyChanged}" />
                </WrapPanel>
                <WrapPanel>
                    <TextBlock Text="Class: " HorizontalAlignment="Left" VerticalAlignment="Center"/>
                    <TextBlock  HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap" Text="{Binding Path=NodeClass ,UpdateSourceTrigger=PropertyChanged}" />
                </WrapPanel>
                <TextBlock Text="Input: " HorizontalAlignment="Left" VerticalAlignment="Center"/>
                <WrapPanel>
                            <ItemsControl x:Name="icNodeClassInputTypes" ItemsSource="{Binding Path=NodeInputIOData, UpdateSourceTrigger=PropertyChanged}" >
                        <ItemsControl.ItemTemplate>
                            <DataTemplate>
                                <DataTemplate.Resources>
                                    <Style TargetType="TextBlock" BasedOn="{StaticResource TextBlockStyle}"/>
                                    <Style TargetType="TextBox" BasedOn="{StaticResource TextBoxtyle}"/>
                                </DataTemplate.Resources>
                                <StackPanel Orientation="Vertical" >
                                    <WrapPanel>
                                        <TextBlock Text="{Binding Path=Type.Name, Converter={StaticResource InputTypeNameConverter}, UpdateSourceTrigger=PropertyChanged}"  TextWrapping="Wrap"/>
                                        <TextBlock Text=": " TextWrapping="Wrap"/>
                                        <TextBox Text="{Binding Path=Value, UpdateSourceTrigger=PropertyChanged}"  TextWrapping="Wrap" MinWidth="50"/>
                                    </WrapPanel>
                                </StackPanel>
                            </DataTemplate>
                        </ItemsControl.ItemTemplate>
                    </ItemsControl>
                </WrapPanel>
                <WrapPanel>
                    <TextBlock Text="Output: " HorizontalAlignment="Left" VerticalAlignment="Center"/>
                    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap" Text="{Binding Path=NodeClassOutput ,UpdateSourceTrigger=PropertyChanged}" />
                </WrapPanel>
                <WrapPanel>
                    <TextBlock Text="X: " HorizontalAlignment="Left" VerticalAlignment="Center"/>
                    <TextBox HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap" Text="{Binding Path=NodePositionX ,UpdateSourceTrigger=PropertyChanged}" />
                </WrapPanel>
                <WrapPanel>
                    <TextBlock Text="Y: " HorizontalAlignment="Left" VerticalAlignment="Center"/>
                    <TextBox HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap" Text="{Binding Path=NodePositionY ,UpdateSourceTrigger=PropertyChanged}" />
                </WrapPanel>
                <WrapPanel>
                    <TextBlock Text="Description: " HorizontalAlignment="Left" VerticalAlignment="Center"/>
                    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap" Text="{Binding Path=NodeClassDescription ,UpdateSourceTrigger=PropertyChanged}" />
                </WrapPanel>
            </StackPanel>
            </ScrollViewer>
            </DockPanel>
            <GridSplitter Grid.Row="1" Height="5" HorizontalAlignment="Stretch" />

            <DockPanel Grid.Row="2">
                <Border DockPanel.Dock="Top" BorderThickness="1" BorderBrush="Black">
                    <TextBlock Text="Library" Style="{StaticResource TextBlockStyle}" FontSize="15" Background="{StaticResource ColorPanelTitel}" TextAlignment="Center" HorizontalAlignment="Stretch" VerticalAlignment="Center"/>
                </Border>
                <ScrollViewer >
            <StackPanel x:Name="spnLibrary" Background="{StaticResource ColorPanelBackground}" AllowDrop="True" Drop="spnLibrary_Drop" DragEnter="spnLibrary_DragEnter" >
                    <StackPanel.Resources>
                        <Style TargetType="TextBlock" BasedOn="{StaticResource TextBlockStyle}"/>
                        <Style TargetType="TextBox" BasedOn="{StaticResource TextBoxtyle}"/>
                    </StackPanel.Resources>
                    <ItemsControl Name="icLibraryNodeList" ItemsSource="{Binding Path=LibraryNodeViewerList}">
                        <ItemsControl.ItemsPanel>
                            <ItemsPanelTemplate>
                                <StackPanel>
                                </StackPanel>
                            </ItemsPanelTemplate>
                        </ItemsControl.ItemsPanel>
                    </ItemsControl>
                </StackPanel>
            </ScrollViewer>
            </DockPanel>
        </Grid>
	</Grid>
</Window>
<commit_msg>+ Changed top menu layout<commit_after>﻿<Window
	x:Class="SmaSTraDesigner.MainWindow"
	xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
	xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
	xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
	xmlns:local="clr-namespace:SmaSTraDesigner"
	xmlns:ctrl="clr-namespace:SmaSTraDesigner.Controls"
    xmlns:ctrlSupport="clr-namespace:SmaSTraDesigner.Controls.Support"
    xmlns:logic="clr-namespace:SmaSTraDesigner.BusinessLogic"
    xmlns:wpfConverters="clr-namespace:Common.Resources.Converters;assembly=WpfCommonLib"
	mc:Ignorable="d"
	x:Name="This" Title="SmaSTra" d:DesignWidth="900" d:DesignHeight="650">
    <Window.CommandBindings>
        <CommandBinding Command="ctrlSupport:Commands.DebugTest" CanExecute="DebugTest_CanExecute" Executed="DebugTest_Executed" />
        <CommandBinding Command="ctrlSupport:Commands.Save" CanExecute="Save_CanExecute" Executed="Save_Executed" />
        <CommandBinding Command="ctrlSupport:Commands.Load" CanExecute="Load_CanExecute" Executed="Load_Executed" />
        <CommandBinding Command="ctrlSupport:Commands.Exit" CanExecute="Exit_CanExecute" Executed="Exit_Executed" />
        <CommandBinding Command="ctrlSupport:Commands.Merge" CanExecute="Merge_CanExecute" Executed="Merge_Execute" />
        <CommandBinding Command="ctrlSupport:Commands.Unmerge" CanExecute="Unmerge_CanExecute" Executed="Unmerge_Execute" />
        <CommandBinding Command="ctrlSupport:Commands.Generate" CanExecute="Generate_CanExecute" Executed="Generate_Executed" />
        <CommandBinding Command="ctrlSupport:Commands.Delete" CanExecute="Delete_CanExecute" Executed="Delete_Executed" />
        <CommandBinding Command="ctrlSupport:Commands.SelectConnected" CanExecute="SelectConnected_CanExecute" Executed="SelectConnected_Executed" />
        <CommandBinding Command="ctrlSupport:Commands.AddSelected" CanExecute="AddSelected_CanExecute" Executed="AddSelected_Executed" />
        <CommandBinding Command="ctrlSupport:Commands.ToOutputViewer" CanExecute="ToOutputViewer_CanExecute" Executed="ToOutputViewer_Executed" />
        <CommandBinding Command="ctrlSupport:Commands.AddToLibrary" CanExecute="AddToLibrary_CanExecute" Executed="AddToLibrary_Executed" />
    </Window.CommandBindings>

    <Grid MaxHeight="{Binding ElementName=This, Path=ActualHeight}">
        <Grid.ColumnDefinitions>
            <ColumnDefinition Width="3*" />
            <ColumnDefinition Width="5" />
			<ColumnDefinition Width="*" />
		</Grid.ColumnDefinitions>
		<Grid.RowDefinitions>
			<RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="Auto" />
            <RowDefinition Height="*" />
		</Grid.RowDefinitions>

		<Menu x:Name="mnuMain" Grid.ColumnSpan="99" Grid.Row="0" HorizontalAlignment="Stretch">
            <MenuItem x:Name="mniFile" Header="File">
                <MenuItem x:Name="mniSave" Header="Save" Command="ctrlSupport:Commands.Save" />
                <MenuItem x:Name="mniLoad" Header="Load" Command="ctrlSupport:Commands.Load" />
                <MenuItem x:Name="mniExit" Header="Exit" Command="ctrlSupport:Commands.Exit" />
			</MenuItem>
            <MenuItem x:Name="mniEdit" Header="Edit">
                <MenuItem x:Name="mniMerge" Header="Merge" Command="ctrlSupport:Commands.Merge" />
                <MenuItem x:Name="mniUnmerge" Header="Unmerge" Command="ctrlSupport:Commands.Unmerge" />
            </MenuItem>
            <MenuItem Header="Tree">
                <MenuItem x:Name="mniGenerateJava" Header="Generate Java code..." Command="ctrlSupport:Commands.Generate" />
			</MenuItem>
		</Menu>

        <StackPanel x:Name="spnSideMenu" Grid.ColumnSpan="99" Grid.Row="1" Orientation="Horizontal" Background="{StaticResource ColorPanelBackground}">
            <ToggleButton x:Name="tglDefaultTF" Content="Default Transformations" IsChecked="True" Checked="ToggleButton_Checked" />
			<ToggleButton x:Name="tglCustomTF" Content="Custom Transformations"  Checked="ToggleButton_Checked" />
            <ToggleButton x:Name="tglCombinedTF" Content="Combined Transformations"  Checked="ToggleButton_Checked" />
			<ToggleButton x:Name="tglOnlineTF" Content="Online Transformations" IsEnabled="False" Checked="ToggleButton_Checked" />
		</StackPanel>

        <Grid Grid.ColumnSpan="99" Grid.Row="2" Background="{StaticResource ColorPanelBackground}">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="auto" />
                <ColumnDefinition Width="3*" />
                <ColumnDefinition Width="auto" />
            </Grid.ColumnDefinitions>
            <Grid.RowDefinitions>
                <RowDefinition Height="*" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>
            <Border Grid.Column="0" Grid.Row="0" BorderBrush="Black" BorderThickness="1">
                <Grid x:Name="gridUpperMenuButtons" Width="180" Height="50" >
                    <Grid.ColumnDefinitions>
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="*" />
                        <ColumnDefinition Width="*" />
                    </Grid.ColumnDefinitions>
                    <Grid.RowDefinitions>
                        <RowDefinition Height="*" />
                    </Grid.RowDefinitions>
                    <Button Command="ctrlSupport:Commands.Save" Grid.Column="0" Width="50" Background="Transparent">
                        <Image Stretch="Uniform" Source="pack://siteoforigin:,,,/Resources/save.png"/>
                    </Button>
                    <Button Command="ctrlSupport:Commands.Load" Grid.Column="1" Width="50" Background="Transparent">
                        <Image Stretch="Uniform" Source="pack://siteoforigin:,,,/Resources/open.png"/>
                    </Button>
                </Grid>
            </Border>


            <ScrollViewer Grid.Column="1" Grid.ColumnSpan="2" Grid.Row="0" Background="{StaticResource ColorPanelBackground}" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Hidden">
                <StackPanel Orientation="Horizontal">
                    <Border BorderBrush="Black" BorderThickness="1">
                        <RadioButton GroupName="nodeType" x:Name="togDataSources" VerticalContentAlignment="Center">
                                <RadioButton.Template>
                                    <ControlTemplate>
                                        <ToggleButton IsChecked="{Binding IsChecked, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"
                          Content="{Binding Content, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}" Background="Transparent"/>
                                    </ControlTemplate>
                                </RadioButton.Template>
                                <WrapPanel>
                                    <Image Width="75" Source="pack://siteoforigin:,,,/Resources/0v1_blue.png"/>
                                </WrapPanel>
                            </RadioButton>
                    </Border>
                    <Border BorderBrush="Black" BorderThickness="1">
                        <RadioButton GroupName="nodeType" x:Name="togConversions" VerticalContentAlignment="Center">
                            <RadioButton.Template>
                                <ControlTemplate>
                                    <ToggleButton IsChecked="{Binding IsChecked, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"
                          Content="{Binding Content, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}" Background="Transparent"/>
                                </ControlTemplate>
                            </RadioButton.Template>
                            <WrapPanel>
                                <Image Width="75" Source="pack://siteoforigin:,,,/Resources/1v1_blue.png"/>
                            </WrapPanel>
                        </RadioButton>
                    </Border>
                    <Border BorderBrush="Black" BorderThickness="1">
                        <RadioButton GroupName="nodeType" x:Name="togTransformations" VerticalContentAlignment="Center">
                            <RadioButton.Template>
                                <ControlTemplate>
                                    <ToggleButton IsChecked="{Binding IsChecked, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}"
                          Content="{Binding Content, RelativeSource={RelativeSource TemplatedParent}, Mode=TwoWay}" Background="Transparent"/>
                                </ControlTemplate>
                            </RadioButton.Template>
                            <WrapPanel>
                                <Image Width="75" Source="pack://siteoforigin:,,,/Resources/2v1_blue.png"/>
                            </WrapPanel>
                        </RadioButton>
                    </Border>
                </StackPanel>
            </ScrollViewer>

            <Grid Grid.Column="0" Grid.Row="1" Width="{Binding ElementName=gridUpperMenuButtons, Path=ActualWidth}">
                <Border BorderBrush="Black" BorderThickness="1"></Border>
            </Grid>

            <Border Grid.Column="1" Grid.Row="1" BorderBrush="Black" BorderThickness="1">
                <ScrollViewer  HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Hidden" Background="{StaticResource ColorPanelTitel}">
                    <StackPanel x:Name="spnNodeClasses" Orientation="Horizontal">
                        <DockPanel Visibility="{Binding ElementName=togDataSources, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}">
                            <ItemsControl x:Name="icDefaultDS" DockPanel.Dock="Right" Visibility="{Binding ElementName=tglDefaultTF, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}" ItemsSource="{Binding Path=BaseDataSources}" ItemTemplateSelector="{StaticResource NodeListTemplateSelector}" >
                                <ItemsControl.ItemsPanel>
                                    <ItemsPanelTemplate>
                                        <WrapPanel />
                                    </ItemsPanelTemplate>
                                </ItemsControl.ItemsPanel>
                            </ItemsControl>
                            <ItemsControl x:Name="icCustomDS" DockPanel.Dock="Left" Visibility="{Binding ElementName=tglCustomTF, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}" ItemsSource="{Binding Path=CustomDataSources}" ItemTemplateSelector="{StaticResource NodeListTemplateSelector}" >
                                <ItemsControl.ItemsPanel>
                                    <ItemsPanelTemplate>
                                        <WrapPanel />
                                    </ItemsPanelTemplate>
                                </ItemsControl.ItemsPanel>
                            </ItemsControl>
                            <ItemsControl x:Name="icCombinedDS" Visibility="{Binding ElementName=tglCombinedTF, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}" ItemsSource="{Binding Path=CombinedDataSources}" ItemTemplateSelector="{StaticResource NodeListTemplateSelector}" >
                                <ItemsControl.ItemsPanel>
                                    <ItemsPanelTemplate>
                                        <WrapPanel />
                                    </ItemsPanelTemplate>
                                </ItemsControl.ItemsPanel>
                            </ItemsControl>
                        </DockPanel>
                        <DockPanel Visibility="{Binding ElementName=togConversions, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}">
                            <ItemsControl x:Name="icDefaultCV" DockPanel.Dock="Right" Visibility="{Binding ElementName=tglDefaultTF, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}" ItemsSource="{Binding Path=BaseConversions}" ItemTemplateSelector="{StaticResource NodeListTemplateSelector}" >
                                <ItemsControl.ItemsPanel>
                                    <ItemsPanelTemplate>
                                        <WrapPanel />
                                    </ItemsPanelTemplate>
                                </ItemsControl.ItemsPanel>
                            </ItemsControl>
                            <ItemsControl x:Name="icCustomCV" DockPanel.Dock="Left" Visibility="{Binding ElementName=tglCustomTF, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}" ItemsSource="{Binding Path=CustomConversions}" ItemTemplateSelector="{StaticResource NodeListTemplateSelector}" >
                                <ItemsControl.ItemsPanel>
                                    <ItemsPanelTemplate>
                                        <WrapPanel />
                                    </ItemsPanelTemplate>
                                </ItemsControl.ItemsPanel>
                            </ItemsControl>
                            <ItemsControl x:Name="icCombinedCV" Visibility="{Binding ElementName=tglCombinedTF, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}" ItemsSource="{Binding Path=CombinedConversions}" ItemTemplateSelector="{StaticResource NodeListTemplateSelector}" >
                                <ItemsControl.ItemsPanel>
                                    <ItemsPanelTemplate>
                                        <WrapPanel />
                                    </ItemsPanelTemplate>
                                </ItemsControl.ItemsPanel>
                            </ItemsControl>
                        </DockPanel>
                        <DockPanel Visibility="{Binding ElementName=togTransformations, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}">
                            <ItemsControl x:Name="icDefaultTF" DockPanel.Dock="Right" Visibility="{Binding ElementName=tglDefaultTF, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}" ItemsSource="{Binding Path=BaseTransformations}" ItemTemplateSelector="{StaticResource NodeListTemplateSelector}" >
                                <ItemsControl.ItemsPanel>
                                    <ItemsPanelTemplate>
                                        <WrapPanel />
                                    </ItemsPanelTemplate>
                                </ItemsControl.ItemsPanel>
                            </ItemsControl>
                            <ItemsControl x:Name="icCustomTF" DockPanel.Dock="Left" Visibility="{Binding ElementName=tglCustomTF, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}" ItemsSource="{Binding Path=CustomTransformations}" ItemTemplateSelector="{StaticResource NodeListTemplateSelector}" >
                                <ItemsControl.ItemsPanel>
                                    <ItemsPanelTemplate>
                                        <WrapPanel />
                                    </ItemsPanelTemplate>
                                </ItemsControl.ItemsPanel>
                            </ItemsControl>
                            <ItemsControl x:Name="icCombinedTF" Visibility="{Binding ElementName=tglCombinedTF, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}}" ItemsSource="{Binding Path=CombinedTransformations}" ItemTemplateSelector="{StaticResource NodeListTemplateSelector}" >
                                <ItemsControl.ItemsPanel>
                                    <ItemsPanelTemplate>
                                        <WrapPanel />
                                    </ItemsPanelTemplate>
                                </ItemsControl.ItemsPanel>
                            </ItemsControl>
                        </DockPanel>
                    </StackPanel>
            </ScrollViewer>
            </Border>
            <StackPanel Grid.Column="1" Grid.Row="1" Orientation="Horizontal" Height="{Binding ElementName=spnNodeClasses, Path=ActualHeight}" Margin="0,-10,0,10">
                <Image Width="{Binding ElementName=togDataSources, Path=ActualWidth}" Height="10" Visibility="{Binding ElementName=togDataSources, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}, ConverterParameter={x:Static wpfConverters:VisibilityAsBooleanConverterOptions.UseHidden}}" VerticalAlignment="Top" Source="pack://siteoforigin:,,,/Resources/1v1_blue.png" />
                <Image Width="{Binding ElementName=togDataSources, Path=ActualWidth}" Height="10" Visibility="{Binding ElementName=togConversions, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}, ConverterParameter={x:Static wpfConverters:VisibilityAsBooleanConverterOptions.UseHidden}}"  VerticalAlignment="Top" Source="pack://siteoforigin:,,,/Resources/1v1_blue.png" />
                <Image Width="{Binding ElementName=togDataSources, Path=ActualWidth}" Height="10" Visibility="{Binding ElementName=togTransformations, Path=IsChecked, Converter={StaticResource VisibilityAsBooleanConverter}, ConverterParameter={x:Static wpfConverters:VisibilityAsBooleanConverterOptions.UseHidden}}" VerticalAlignment="Top" Source="pack://siteoforigin:,,,/Resources/1v1_blue.png" />
            </StackPanel>
            <Grid Width="70" Grid.Column="2" Grid.Row="1">
                <Border BorderBrush="Black" BorderThickness="1"></Border>
            </Grid>
        </Grid>

        <ctrl:UcTreeDesigner x:Name="tdTreeDesigner" Grid.Column="0" Grid.Row="4" />

        
        <GridSplitter Grid.Column="1" Grid.Row="4" Width="5" VerticalAlignment="Stretch" HorizontalAlignment="Stretch" />

        
        <Grid Grid.Column="2" Grid.Row="4">
            <Grid.RowDefinitions>
                <RowDefinition Height="*" />
                <RowDefinition Height="5" />
                <RowDefinition Height="*" />
            </Grid.RowDefinitions>

            <DockPanel>
                <Border BorderThickness="1" BorderBrush="Black" DockPanel.Dock="Top">
                    <TextBlock Text="Properties" Style="{StaticResource TextBlockStyle}" Background="{StaticResource ColorPanelTitel}" TextAlignment="Center" HorizontalAlignment="Stretch" VerticalAlignment="Center"/>
                </Border>
                <ScrollViewer>
            <StackPanel x:Name="spnProperties" Background="{StaticResource ColorPanelBackground}">
                <StackPanel.Resources>
                    <logic:ConverterInputTypeName x:Key="InputTypeNameConverter" />
                   <!-- <Style TargetType="TextBlock">
                        <Setter Property="FontSize" Value="15" />
                    </Style>-->
                    <Style TargetType="TextBlock" BasedOn="{StaticResource TextBlockStyle}"/>
                    <Style TargetType="TextBox" BasedOn="{StaticResource TextBoxtyle}"/>
                </StackPanel.Resources>
                <WrapPanel>
                    <TextBlock Text="Name: " HorizontalAlignment="Left" VerticalAlignment="Center"/>
                    <TextBox  HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap" Text="{Binding Path=NodeName ,UpdateSourceTrigger=PropertyChanged}" />
                </WrapPanel>
                <WrapPanel>
                    <TextBlock Text="Class: " HorizontalAlignment="Left" VerticalAlignment="Center"/>
                    <TextBlock  HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap" Text="{Binding Path=NodeClass ,UpdateSourceTrigger=PropertyChanged}" />
                </WrapPanel>
                <TextBlock Text="Input: " HorizontalAlignment="Left" VerticalAlignment="Center"/>
                <WrapPanel>
                            <ItemsControl x:Name="icNodeClassInputTypes" ItemsSource="{Binding Path=NodeInputIOData, UpdateSourceTrigger=PropertyChanged}" >
                        <ItemsControl.ItemTemplate>
                            <DataTemplate>
                                <DataTemplate.Resources>
                                    <Style TargetType="TextBlock" BasedOn="{StaticResource TextBlockStyle}"/>
                                    <Style TargetType="TextBox" BasedOn="{StaticResource TextBoxtyle}"/>
                                </DataTemplate.Resources>
                                <StackPanel Orientation="Vertical" >
                                    <WrapPanel>
                                        <TextBlock Text="{Binding Path=Type.Name, Converter={StaticResource InputTypeNameConverter}, UpdateSourceTrigger=PropertyChanged}"  TextWrapping="Wrap"/>
                                        <TextBlock Text=": " TextWrapping="Wrap"/>
                                        <TextBox Text="{Binding Path=Value, UpdateSourceTrigger=PropertyChanged}"  TextWrapping="Wrap" MinWidth="50"/>
                                    </WrapPanel>
                                </StackPanel>
                            </DataTemplate>
                        </ItemsControl.ItemTemplate>
                    </ItemsControl>
                </WrapPanel>
                <WrapPanel>
                    <TextBlock Text="Output: " HorizontalAlignment="Left" VerticalAlignment="Center"/>
                    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap" Text="{Binding Path=NodeClassOutput ,UpdateSourceTrigger=PropertyChanged}" />
                </WrapPanel>
                <WrapPanel>
                    <TextBlock Text="X: " HorizontalAlignment="Left" VerticalAlignment="Center"/>
                    <TextBox HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap" Text="{Binding Path=NodePositionX ,UpdateSourceTrigger=PropertyChanged}" />
                </WrapPanel>
                <WrapPanel>
                    <TextBlock Text="Y: " HorizontalAlignment="Left" VerticalAlignment="Center"/>
                    <TextBox HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap" Text="{Binding Path=NodePositionY ,UpdateSourceTrigger=PropertyChanged}" />
                </WrapPanel>
                <WrapPanel>
                    <TextBlock Text="Description: " HorizontalAlignment="Left" VerticalAlignment="Center"/>
                    <TextBlock HorizontalAlignment="Center" VerticalAlignment="Center" TextWrapping="Wrap" Text="{Binding Path=NodeClassDescription ,UpdateSourceTrigger=PropertyChanged}" />
                </WrapPanel>
            </StackPanel>
            </ScrollViewer>
            </DockPanel>
            <GridSplitter Grid.Row="1" Height="5" HorizontalAlignment="Stretch" />

            <DockPanel Grid.Row="2">
                <Border DockPanel.Dock="Top" BorderThickness="1" BorderBrush="Black">
                    <TextBlock Text="Library" Style="{StaticResource TextBlockStyle}" FontSize="15" Background="{StaticResource ColorPanelTitel}" TextAlignment="Center" HorizontalAlignment="Stretch" VerticalAlignment="Center"/>
                </Border>
                <ScrollViewer >
            <StackPanel x:Name="spnLibrary" Background="{StaticResource ColorPanelBackground}" AllowDrop="True" Drop="spnLibrary_Drop" DragEnter="spnLibrary_DragEnter" >
                    <StackPanel.Resources>
                        <Style TargetType="TextBlock" BasedOn="{StaticResource TextBlockStyle}"/>
                        <Style TargetType="TextBox" BasedOn="{StaticResource TextBoxtyle}"/>
                    </StackPanel.Resources>
                    <ItemsControl Name="icLibraryNodeList" ItemsSource="{Binding Path=LibraryNodeViewerList}">
                        <ItemsControl.ItemsPanel>
                            <ItemsPanelTemplate>
                                <StackPanel>
                                </StackPanel>
                            </ItemsPanelTemplate>
                        </ItemsControl.ItemsPanel>
                    </ItemsControl>
                </StackPanel>
            </ScrollViewer>
            </DockPanel>
        </Grid>
	</Grid>
</Window>

{'fraction_non_alphanumeric': 0.10865240074277124, 'fraction_numerical': 0.004487576266690246, 'mean_word_length': 2.2008066227977077, 'pattern_counts': {'":': 2, '<': 574, '<?xml version=': 0, '>': 574, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 19}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 47, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '6740977', 'n_tokens_mistral': 11033, 'n_tokens_neox': 10147, 'n_words': 1577}