Last-Modified: Mon, 22 Jun 2026 10:00:37 GMT Expires: Thu, 19 Jun 2036 10:00:37 GMT Tango - Twine softwares
aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Controls/ErrorData.cs
Commit message (Expand)AuthorAgeFilesLines
* MERGERoy Ben Shabat2019-04-091-0/+54
<UserControl x:Class="Tango.Scripting.IDE.ScriptIDEView2"
             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:local="clr-namespace:Tango.Scripting.IDE"
             xmlns:fa="http://schemas.fontawesome.io/icons/"
             xmlns:controls="clr-namespace:Tango.Scripting.IDE.Controls"
             xmlns:converters="clr-namespace:Tango.Scripting.IDE.Converters"
             mc:Ignorable="d" 
             d:DesignHeight="450" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=local:ScriptIDEViewVM, IsDesignTimeCreatable=False}" x:Name="control">
    <UserControl.Resources>
        <ResourceDictionary>
            <ResourceDictionary.MergedDictionaries>
                <ResourceDictionary Source="Themes/DarkThemesColors.xaml"/>
                <ResourceDictionary Source="Themes/Shared.xaml"/>
            </ResourceDictionary.MergedDictionaries>
            <BooleanToVisibilityConverter x:Key="BoolToVis" />
            <converters:BitmapSourceToImageConverter x:Key="BitmapSourceToImageConverter" />

            <Style x:Key="ContentMmenuItemStyle" TargetType="MenuItem">
                <Setter Property="Command" Value="{Binding}"/>
                <Setter Property="Header" Value="{Binding Name}"/>
                <Setter Property="ItemsSource" Value="{Binding Commands}"/>
                <Setter Property="Icon" Value="{Binding Image,Converter={StaticResource BitmapSourceToImageConverter}}"></Setter>
            </Style>
        </ResourceDictionary>
    </UserControl.Resources>
    <Grid Background="{DynamicResource Background.Static}">
        <Grid.RowDefinitions>
            <RowDefinition Height="Auto" ></RowDefinition>
            <RowDefinition Height="Auto"></RowDefinition>
            <RowDefinition Height="*"></RowDefinition>
        </Grid.RowDefinitions>
        <Menu Grid.Row="0" HorizontalAlignment="Stretch" Margin="2,0,0,0" Style="{DynamicResource TangoMenuStyle}" BorderBrush="Transparent">
            <MenuItem Header="File">
                <MenuItem Header="New">
                    <MenuItem Header="New Project..." Command="{Binding NewProjectCommand}">
                        <MenuItem.Icon>
                            <Image Source="/Tango.Scripting.IDE;component/Images/NewFileCollection_16x.png" Height="14"/>
                        </MenuItem.Icon>
                    </MenuItem>
                    <MenuItem Header="File"/>
                </MenuItem>
                <MenuItem Header="Open"/>
                <MenuItem Header="Start page"></MenuItem>
                <Separator/>
                <MenuItem Header="Add"></MenuItem>
                <Separator/>
                <MenuItem Header="Close"></MenuItem>
                <Separator/>
                <MenuItem Header="Save">
                    <MenuItem.Icon>
                        <Image Source="/Tango.Scripting.IDE;component/Images/Save_16x.png" Height="10"/>
                    </MenuItem.Icon>
                </MenuItem>
                <MenuItem Header="SaveAll">
                    <MenuItem.Icon>
                        <Image Source="/Tango.Scripting.IDE;component/Images/SaveAll_16x.png" Height="10"/>
                    </MenuItem.Icon>
                </MenuItem>
                <Separator/>
                <MenuItem Header="Exit"></MenuItem>
            </MenuItem>
            <MenuItem Header="Edit">
                <MenuItem Header="Cut"/>
                <MenuItem Header="Copy"/>
                <MenuItem Header="Paste"/>
            </MenuItem>
            <MenuItem Header="View"></MenuItem>
            <MenuItem Header="Project"></MenuItem>
            <MenuItem Header="Build"></MenuItem>
            <MenuItem Header="Debug"></MenuItem>
            <MenuItem Header="Tools"></MenuItem>
            <MenuItem Header="Theme"></MenuItem>
        </Menu>
        <ToolBarTray Grid.Row="1" Background="{DynamicResource Background.Static}"  Width="Auto" Orientation="Horizontal">
            <ToolBar  Style="{DynamicResource TangoToolBarStyle}"  Background="{DynamicResource Background.Static}" Height="30" HorizontalAlignment="Left"  Foreground="{DynamicResource ControlForegroundKey}" Margin="0,0,0,6">
                <ToolBar.Resources>
                    <Style  TargetType="{x:Type Button}">
                        <Setter Property="Width" Value="26"/>
                        <Style.Triggers>
                            <Trigger Property="IsMouseOver" Value="False">
                                <Setter Property="Background" Value="Transparent" />
                                <Setter Property="Opacity" Value="1.0" />
                            </Trigger>
                            <EventTrigger RoutedEvent="MouseLeave">
                                <BeginStoryboard>
                                    <Storyboard>
                                        <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.2" To="1"></DoubleAnimation>
                                    </Storyboard>
                                </BeginStoryboard>
                            </EventTrigger>
                            <EventTrigger RoutedEvent="MouseEnter">
                                <BeginStoryboard>
                                    <Storyboard>
                                        <DoubleAnimation Storyboard.TargetProperty="Opacity" From="0.2" To="0.2"></DoubleAnimation>
                                    </Storyboard>
                                </BeginStoryboard>
                            </EventTrigger>
                        </Style.Triggers>
                    </Style>
                </ToolBar.Resources>

                <Button Click="Button_Click" ToolTip="New Project" Style="{DynamicResource TangoToolBarButtonStyle}" >
                    <Image Source="/Tango.Scripting.IDE;component/Images/NewFileCollection_16x.png" Height="16" Width="16"/>
                    
                </Button>
                <Button  Click="Button_Click" ToolTip="Open File" Style="{DynamicResource TangoToolBarButtonStyle}">
                    <Image Source="/Tango.Scripting.IDE;component/Images/OpenFolder_16x.png" Height="16" Width="16"/>
                </Button>
                <Button  Click="Button_Click" ToolTip="Save File" Style="{DynamicResource TangoToolBarButtonStyle}">
                    <Image Source="/Tango.Scripting.IDE;component/Images/Save_16x.png" Height="16" Width="16"/>
                </Button>
                <Button  Click="Button_Click" ToolTip="Save All" Style="{DynamicResource TangoToolBarButtonStyle}">
                    <Image Source="/Tango.Scripting.IDE;component/Images/SaveAll_16x.png" Height="16" Width="16"/>
                </Button>
                <Separator ></Separator>
                <Button  Click="Button_Click" ToolTip="Undo" Style="{DynamicResource TangoToolBarButtonStyle}">
                    <Image Source="/Tango.Scripting.IDE;component/Images/Undo_16x.png" Height="16" Width="16"/>
                </Button>
                <Button  Click="Button_Click" ToolTip="Redo" Style="{DynamicResource TangoToolBarButtonStyle}">
                    <Image Source="/Tango.Scripting.IDE;component/Images/Redo_16x.png" Height="16" Width="16"/>
                </Button>
                <ComboBox Style="{DynamicResource TangoComboboxStyle}" Margin="2" x:Name="cmb2" SelectedIndex="0" HorizontalContentAlignment="Stretch" Width="100"   >
                    <ComboBoxItem IsSelected="True">Debug</ComboBoxItem>
                    <ComboBoxItem >Release</ComboBoxItem>
                    <ComboBoxItem>Configuration Manager...</ComboBoxItem>
                </ComboBox>
                <Separator ></Separator>
                <ToggleButton x:Name="Run_Button"  Command="{Binding RunProject}" IsChecked="{Binding IsRunProject, Mode=TwoWay}" ToolTip="Start">
                    <ToggleButton.Template>
                        <ControlTemplate TargetType="{x:Type ToggleButton}">
                            <Grid>
                                <Rectangle x:Name="background"  Fill="Transparent" Opacity="1"/>
                                <StackPanel Orientation="Horizontal" >
                                    <Path x:Name="RunArrow"
                                            HorizontalAlignment="Left" VerticalAlignment="Center"                                           
                                            Width="12" Height="10" Margin="2,0,0,0"
                                            Stretch="Fill"  Fill="#FF8DD28A"
                                            RenderTransformOrigin="0.6,0.4"
                                            Data="M0,0 L1,0 0.5,1 z" >
                                        <Path.RenderTransform>
                                            <TransformGroup>
                                                <ScaleTransform/>
                                                <SkewTransform/>
                                                <RotateTransform Angle="270"/>
                                                <TranslateTransform/>
                                            </TransformGroup>
                                        </Path.RenderTransform>
                                    </Path>
                                    <TextBlock x:Name="Run_Text" Margin="8,0,4,0" Text="Start" VerticalAlignment="Center"/>
                                </StackPanel>
                            </Grid>
                            <ControlTemplate.Triggers>
                                <Trigger Property="IsChecked" Value="True">
                                    <Setter Property="Foreground" TargetName="Run_Text" Value="{DynamicResource ToggleButton.Checked.Foreground}"/>
                                    <Setter Property="Fill" TargetName="RunArrow" Value="{DynamicResource ToggleButton.Checked.Foreground}"/>
                                    <Setter Property="Text" TargetName="Run_Text" Value="Continue"/>
                                    <Setter Property="ToggleButton.ToolTip" Value="Continue"/>
                                </Trigger>
                                <MultiTrigger>
                                    <MultiTrigger.Conditions>
                                        <Condition Property="IsChecked" Value="False" />
                                        <Condition Property="IsMouseOver" Value="True" />
                                    </MultiTrigger.Conditions>
                                    <Setter Property="Fill" TargetName="background" Value="{DynamicResource Toolbar.Button.MaouseMove.Background}"/>
                                </MultiTrigger>
                            </ControlTemplate.Triggers>
                        </ControlTemplate>
                    </ToggleButton.Template>
                </ToggleButton>
                <Button  Click="Button_Click" ToolTip="Pause" Visibility="{Binding IsChecked, ElementName=Run_Button, Converter={StaticResource BoolToVis}}" Style="{DynamicResource TangoToolBarButtonStyle}">
                    <Image Source="/Tango.Scripting.IDE;component/Images/Pause_16x.png" Height="16" Width="16"/>
                </Button>
                <Button  x:Name="StopButton" ToolTip="Stop" Command="{Binding StopProject}" Visibility="{Binding IsChecked, ElementName=Run_Button, Converter={StaticResource BoolToVis}}" Style="{DynamicResource TangoToolBarButtonStyle}">
                    <Image Source="/Tango.Scripting.IDE;component/Images/stop.png" Height="16" Width="16"/>
                </Button>
            </ToolBar>
        </ToolBarTray>
        <Grid Grid.Row="2">
            <Grid.ColumnDefinitions>
                <ColumnDefinition Width="15" />
                <ColumnDefinition Width="1*" MinWidth="100" />
                <ColumnDefinition Width="5"/>
                <ColumnDefinition Width="300" MinWidth="20" />
            </Grid.ColumnDefinitions>

            <Grid Grid.Column="1">
                <Grid.RowDefinitions>
                    <RowDefinition Height="1*" MinHeight="100" />
                    <RowDefinition Height="5"/>
                    <RowDefinition Height="100" MinHeight="20" />
                </Grid.RowDefinitions>

                <Grid>
                    <TabControl Foreground="{DynamicResource ControlForegroundKey}" ItemsSource="{Binding OpenProjectItems}" SelectedItem="{Binding SelectedProjectItem}" Style="{DynamicResource TangoTabControlStyle}">
                        <TabControl.ItemTemplate>
                            <DataTemplate>
                                <TextBlock Text="{Binding Name}" Foreground="Gainsboro" VerticalAlignment="Center"></TextBlock>
                            </DataTemplate>
                        </TabControl.ItemTemplate>
                        <TabControl.ContentTemplate>
                            <DataTemplate>
                                <ContentPresenter Content="{Binding View}" />
                            </DataTemplate>
                        </TabControl.ContentTemplate>
                    </TabControl>
                   
                </Grid>

                <GridSplitter HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Row="1" Background="{DynamicResource Background.Static}" />
                <Grid Grid.Row="2"  Background="{DynamicResource Background.Static}">
                    <!--<Border  BorderThickness="0" Margin="1,0,0,2">-->
                        <TabControl TabStripPlacement="Bottom" Style="{DynamicResource TangoTabControlStyle}">
                            <TabItem Header="Error list">
                                <GroupBox  Header="Error List" BorderThickness="1" Style="{DynamicResource TangoGroupBoxStyle}"  Margin="-1">
                                    <DataGrid Background="{DynamicResource TabItem.Content.Static}"  Style="{DynamicResource TangoDataGridStyle}" Padding="2,5,2,0" 
                                  ColumnHeaderStyle="{DynamicResource TangoDataGridColumnHeaderStyle}" ItemsSource="{Binding ErrorList}" 
                                  CanUserSortColumns="True" CanUserResizeColumns="True"   IsReadOnly="True"/>
                                </GroupBox>
                            </TabItem>
                            <TabItem Header="Output">
                                <GroupBox  Header="Output" BorderThickness="1" Style="{DynamicResource TangoGroupBoxStyle}" Margin="-1">
                                <TextBox TextWrapping="Wrap" VerticalScrollBarVisibility="Auto" AcceptsReturn="True" Name="OutputText" Background="{DynamicResource TabItem.Content.Static}" />
                            </GroupBox>
                            </TabItem>
                        </TabControl>
                    <!--</Border>-->
                </Grid>
            </Grid>

            <GridSplitter HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Grid.Column="2" Background="{DynamicResource Background.Static}" />

            <Grid Grid.Column="3">
                <Grid.RowDefinitions>
                    <RowDefinition Height="1*"  MinHeight="100"/>
                    <RowDefinition Height="5"/>
                    <RowDefinition Height="100" MinHeight="20"/>
                    <RowDefinition Height="4"/>
                </Grid.RowDefinitions>
                <GroupBox Grid.Row="0" Margin="0,0,5,0" Header="Solution Explorer" BorderThickness="1" Style="{DynamicResource TangoGroupBoxStyle}" >
                    <StackPanel Orientation="Vertical" VerticalAlignment="Stretch" Background="{DynamicResource TabItem.Content.Static}">
                        <TreeView  Style="{DynamicResource TangoTreeViewStyle}" x:Name="STree" DataContext="{Binding Solution}" Background="{DynamicResource TabItem.Content.Static}" Padding="0,0,2,0"  PreviewMouseRightButtonDown="SolutionTree_PreviewMouseRightButtonDown" BorderThickness="1,0,1,1" 
                                   PreviewMouseLeftButtonDown="SolutionTree_PreviewMouseLeftButtonDown">
                            <TreeViewItem >
                                <TreeViewItem.Header>
                                    <StackPanel Orientation="Horizontal" Margin="-12,0,0,0">
                                        <Image Source="/Tango.Scripting.IDE;component/Images/jigsaw.png" Height="14" />
                                        <TextBlock Text="{Binding Name}" Margin="5,0,0,0" Foreground="{DynamicResource ControlForegroundKey}"/>
                                    </StackPanel>
                                </TreeViewItem.Header>
                            </TreeViewItem>
                            <TreeView.ContextMenu>
                                <ContextMenu  StaysOpen="true" BorderBrush="{DynamicResource Background.Static}" Foreground="{DynamicResource ControlForegroundKey}"  
                                              ItemsSource="{Binding PlacementTarget.DataContext.Commands, RelativeSource={RelativeSource Self}}" 
                                              ItemContainerStyle="{StaticResource ContentMmenuItemStyle}">
                                </ContextMenu>
                            </TreeView.ContextMenu>
                        </TreeView>
                        <TreeView  Style="{DynamicResource TangoTreeViewStyle}" Margin="0,-1,0,0" x:Name="SolutionTree"  ItemsSource="{Binding Solution.Projects}" Background="{DynamicResource TabItem.Content.Static}" Padding="0,0,2,0" PreviewMouseRightButtonDown="SolutionTree_PreviewMouseRightButtonDown" BorderThickness="1,0,1,1" PreviewMouseLeftButtonDown="SolutionTree_PreviewMouseLeftButtonDown">
                            <TreeView.ItemTemplate>
                                <HierarchicalDataTemplate ItemsSource="{Binding Path=Items}" DataType="{x:Type local:IProject}">
                                    <controls:SolutionItemControl SolutionItem="{Binding}" OpenCommand="{Binding ElementName=control,Path=DataContext.OpenProjectItemCommand}"
                                                                  />
                                </HierarchicalDataTemplate>
                            </TreeView.ItemTemplate>
                            <TreeView.ContextMenu>
                                <ContextMenu  StaysOpen="true" BorderBrush="{DynamicResource Background.Static}" Foreground="{DynamicResource ControlForegroundKey}"  
                                              DataContext="{Binding PlacementTarget, RelativeSource={RelativeSource Self}}"
                                              ItemsSource="{Binding PlacementTarget.SelectedItem.Commands, RelativeSource={RelativeSource Self}}"
                                              ItemContainerStyle="{StaticResource ContentMmenuItemStyle}">
                                </ContextMenu>
                            </TreeView.ContextMenu>
                        </TreeView>
                    </StackPanel>
                </GroupBox>
                <GridSplitter Grid.Row="1"  HorizontalAlignment="Stretch" VerticalAlignment="Stretch" Background="{DynamicResource Background.Static}" />
                <GroupBox  Grid.Row="2" Margin="0,0,5,2" Header="Properties" BorderThickness="1" Style="{DynamicResource TangoGroupBoxStyle}" >
                    <!--<Border  BorderThickness="0" Margin="1,0,0,2">-->
                        <DataGrid Background="{DynamicResource TabItem.Content.Static}"  Style="{DynamicResource TangoDataGridStyle}" Padding="2,5,2,0" 
                              ColumnHeaderStyle="{DynamicResource TangoDataGridColumnHeaderStyle}" ItemsSource="{Binding ErrorList}" 
                              CanUserSortColumns="True"  CanUserResizeColumns="True"    IsReadOnly="True"/>
                    <!--</Border>-->
                </GroupBox>
            </Grid>
        </Grid>
    </Grid>
</UserControl>