diff options
Diffstat (limited to 'Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes')
12 files changed, 1948 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/ButtonStyle.xaml b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/ButtonStyle.xaml new file mode 100644 index 000000000..f30adc85d --- /dev/null +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/ButtonStyle.xaml @@ -0,0 +1,81 @@ +<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="clr-namespace:Tango.Scripting.IDE.Themes"> + + <Style x:Key="FocusVisual"> + <Setter Property="Control.Template"> + <Setter.Value> + <ControlTemplate> + <Rectangle Margin="2" SnapsToDevicePixels="true" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + <Style x:Key="TangoButtonStyle" TargetType="{x:Type Button}"> + <Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}"/> + <Setter Property="Background" Value="{DynamicResource Button.Static.Background}"/> + <Setter Property="BorderBrush" Value="{DynamicResource Button.Static.Border}"/> + <Setter Property="Foreground" Value="{DynamicResource ControlForegroundKey}"/> + <Setter Property="BorderThickness" Value="1"/> + <Setter Property="HorizontalContentAlignment" Value="Center"/> + <Setter Property="VerticalContentAlignment" Value="Center"/> + <Setter Property="Padding" Value="1"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type Button}"> + <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="true"> + <ContentPresenter x:Name="contentPresenter" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> + </Border> + <ControlTemplate.Triggers> + <Trigger Property="IsDefaulted" Value="true"> + <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button.MouseOver.Border}"/> + </Trigger> + <Trigger Property="IsMouseOver" Value="true"> + <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button.MouseOver.Border}"/> + </Trigger> + <Trigger Property="IsPressed" Value="true"> + <Setter Property="Background" TargetName="border" Value="{DynamicResource Button.Pressed.Background}"/> + <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button.Pressed.Border}"/> + </Trigger> + <Trigger Property="IsEnabled" Value="false"> + <Setter Property="Background" TargetName="border" Value="{DynamicResource Button.Disabled.Background}"/> + <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button.Disabled.Border}"/> + <Setter Property="TextElement.Foreground" TargetName="contentPresenter" Value="{DynamicResource Button.Disabled.Foreground}"/> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + <Style x:Key="TangoToolBarButtonStyle" TargetType="{x:Type Button}"> + <Setter Property="Width" Value="26"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type Button}"> + <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="true"> + <Grid> + <Rectangle x:Name="background" Fill="Transparent" Opacity="1"/> + <ContentPresenter x:Name="contentPresenter" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> + </Grid> + </Border> + <ControlTemplate.Triggers> + <Trigger Property="IsDefaulted" Value="true"> + <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/> + </Trigger> + <Trigger Property="IsMouseOver" Value="true"> + <Setter Property="Fill" TargetName="background" Value="{DynamicResource Toolbar.Button.MaouseMove.Background}"/> + </Trigger> + <Trigger Property="IsPressed" Value="true"> + <Setter Property="Fill" TargetName="background" Value="{DynamicResource ControlBrushColorKey}"/> + </Trigger> + <Trigger Property="IsEnabled" Value="false"> + <Setter Property="Background" TargetName="border" Value="{DynamicResource Button.Disabled.Background}"/> + <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button.Disabled.Border}"/> + <Setter Property="TextElement.Foreground" TargetName="contentPresenter" Value="{DynamicResource Button.Disabled.Foreground}"/> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> +</ResourceDictionary>
\ No newline at end of file diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/ComboboxStyle.xaml b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/ComboboxStyle.xaml new file mode 100644 index 000000000..503f8c20c --- /dev/null +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/ComboboxStyle.xaml @@ -0,0 +1,200 @@ +<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="clr-namespace:Tango.Scripting.IDE.Themes"> + <Style x:Key="ToolBarComboBoxTransparentButtonStyle" TargetType="{x:Type ToggleButton}"> + <Setter Property="MinWidth" Value="0"/> + <Setter Property="MinHeight" Value="0"/> + <Setter Property="Width" Value="Auto"/> + <Setter Property="Background" Value="Transparent"/> + <Setter Property="Focusable" Value="false"/> + <Setter Property="ClickMode" Value="Press"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type ToggleButton}"> + <Grid Background="Transparent"> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="*"/> + <ColumnDefinition SharedSizeGroup="ComboBoxButton" Width="Auto"/> + </Grid.ColumnDefinitions> + <Border x:Name="Chrome" Width="13" SnapsToDevicePixels="true" Grid.Column="1" Background="{TemplateBinding Background}" BorderThickness="{TemplateBinding BorderThickness}" BorderBrush="{TemplateBinding BorderBrush}"> + <Path x:Name="ArrowDownPath" VerticalAlignment="Center" Fill="{DynamicResource ControlForegroundKey}" Data="M 2.5 0 L 8.5 0 L 5.5 3 Z"/> + </Border> + </Grid> + <ControlTemplate.Triggers> + <Trigger Property="IsEnabled" Value="false"> + <Setter Property="BorderBrush" TargetName="Chrome" Value="{x:Null}"/> + </Trigger> + <MultiTrigger> + <MultiTrigger.Conditions> + <Condition Property="IsMouseOver" Value="true"/> + <Condition Property="IsChecked" Value="false"/> + </MultiTrigger.Conditions> + <Setter Property="Background" TargetName="Chrome" Value="Transparent"/> + <Setter Property="Fill" TargetName="ArrowDownPath" Value="{DynamicResource ToolBarButtonPressedBorder}"/> + + </MultiTrigger> + <Trigger Property="IsChecked" Value="true"> + <Setter Property="BorderBrush" TargetName="Chrome" Value="{DynamicResource ToolBarButtonPressedBorder}"/> + <Setter Property="Background" TargetName="Chrome" Value="{DynamicResource ToolBarButtonPressedBorder}"/> + </Trigger> + <Trigger Property="IsPressed" Value="true"> + <Setter Property="Background" TargetName="Chrome" Value="{DynamicResource ToolBarButtonPressed}"/> + </Trigger> + <Trigger Property="IsEnabled" Value="false"> + <Setter Property="Fill" TargetName="ArrowDownPath" Value="{DynamicResource ToolBarDisabledBorder}"/> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + <Style x:Key="ComboBoxEditableTextBox" TargetType="{x:Type TextBox}"> + <Setter Property="OverridesDefaultStyle" Value="true"/> + <Setter Property="AllowDrop" Value="true"/> + <Setter Property="MinWidth" Value="0"/> + <Setter Property="MinHeight" Value="0"/> + <Setter Property="FocusVisualStyle" Value="{x:Null}"/> + <Setter Property="ScrollViewer.PanningMode" Value="VerticalFirst"/> + <Setter Property="Stylus.IsFlicksEnabled" Value="False"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type TextBox}"> + <ScrollViewer x:Name="PART_ContentHost" VerticalScrollBarVisibility="Hidden" HorizontalScrollBarVisibility="Hidden" Focusable="false" Background="Transparent"/> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + <Style x:Key="TangoComboboxStyle" TargetType="{x:Type ComboBox}"> + <Setter Property="FocusVisualStyle" Value="{x:Null}"/> + <Setter Property="Foreground" Value="{DynamicResource ControlForegroundKey}"/> + <Setter Property="Background" Value="Transparent"/> + <Setter Property="BorderBrush" Value="{DynamicResource Inactive.Selection}"/> + <Setter Property="BorderThickness" Value="1"/> + <Setter Property="Margin" Value="1,0"/> + <Setter Property="Padding" Value="0"/> + <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/> + <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/> + <Setter Property="ScrollViewer.CanContentScroll" Value="true"/> + <Setter Property="ScrollViewer.PanningMode" Value="Both"/> + <Setter Property="Stylus.IsFlicksEnabled" Value="False"/> + <Setter Property="HorizontalAlignment" Value="Center"/> + <Setter Property="VerticalAlignment" Value="Center"/> + <Setter Property="MinHeight" Value="18"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type ComboBox}"> + <Grid SnapsToDevicePixels="true"> + <Grid Grid.IsSharedSizeScope="true"> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="*"/> + <ColumnDefinition SharedSizeGroup="ComboBoxButton" Width="Auto"/> + </Grid.ColumnDefinitions> + <Border x:Name="Background" Background="{TemplateBinding Background}"/> + <Border x:Name="SelectedContentBorder" Margin="2,2,1,2"> + <ContentPresenter x:Name="ContentSite" ContentTemplate="{TemplateBinding SelectionBoxItemTemplate}" ContentTemplateSelector="{TemplateBinding ItemTemplateSelector}" Content="{TemplateBinding SelectionBoxItem}" Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="Center"/> + </Border> + <Border x:Name="Border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Grid.ColumnSpan="2"/> + <ToggleButton x:Name="DropDownButton" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" Grid.ColumnSpan="2" IsChecked="{Binding IsDropDownOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ToolBarComboBoxTransparentButtonStyle}"/> + <TextBox x:Name="PART_EditableTextBox" IsReadOnly="{Binding IsReadOnly, RelativeSource={RelativeSource TemplatedParent}}" Margin="1,1,0,1" MinHeight="18" Padding="{TemplateBinding Padding}" Style="{StaticResource ComboBoxEditableTextBox}" Visibility="Collapsed" VerticalAlignment="Center"/> + </Grid> + <Popup x:Name="PART_Popup" AllowsTransparency="true" Focusable="false" IsOpen="{Binding IsDropDownOpen, RelativeSource={RelativeSource TemplatedParent}}" PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}" Placement="Bottom"> + <Border x:Name="DropDownBorder" BorderBrush="{DynamicResource ComboboxDropDownBorder}" BorderThickness="1" Background="{DynamicResource ComboboxDropDownBackground}" MinWidth="{TemplateBinding ActualWidth}" MaxHeight="{TemplateBinding MaxDropDownHeight}" Margin="2,0,0,0"> + <ScrollViewer x:Name="DropDownScrollViewer"> + <Grid RenderOptions.ClearTypeHint="Enabled"> + <Canvas HorizontalAlignment="Left" Height="0" VerticalAlignment="Top" Width="0"> + <Rectangle x:Name="OpaqueRect" Fill="{Binding Background, ElementName=DropDownBorder}" Height="{Binding ActualHeight, ElementName=DropDownBorder}" Width="{Binding ActualWidth, ElementName=DropDownBorder}"/> + </Canvas> + <ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Contained"/> + </Grid> + </ScrollViewer> + </Border> + </Popup> + </Grid> + <ControlTemplate.Triggers> + <Trigger Property="IsEnabled" Value="false"> + <Setter Property="Foreground" Value="{DynamicResource Menu.Disable.Foreground}"/> + <Setter Property="Background" TargetName="Background" Value="{DynamicResource ToolBarDisabledFill}"/> + <Setter Property="Grid.ColumnSpan" TargetName="Background" Value="2"/> + <Setter Property="BorderBrush" TargetName="Border" Value="{DynamicResource ToolBarDisabledBorder}"/> + </Trigger> + <MultiTrigger> + <MultiTrigger.Conditions> + <Condition Property="IsKeyboardFocusWithin" Value="true"/> + <Condition Property="IsDropDownOpen" Value="false"/> + <Condition Property="IsEditable" Value="false"/> + </MultiTrigger.Conditions> + <Setter Property="Background" TargetName="SelectedContentBorder" Value="{DynamicResource ListBorder}"/> + <Setter Property="Foreground" Value="{DynamicResource ControlForegroundKey}"/> + </MultiTrigger> + <Trigger Property="IsEditable" Value="true"> + <Setter Property="Background" TargetName="DropDownButton" Value="{x:Null}"/> + <Setter Property="Visibility" TargetName="ContentSite" Value="Collapsed"/> + <Setter Property="Visibility" TargetName="PART_EditableTextBox" Value="Visible"/> + </Trigger> + <Trigger Property="IsMouseOver" Value="true"> + <Setter Property="BorderBrush" TargetName="DropDownButton" Value="{DynamicResource ToolBarButtonHoverBorder}"/> + <Setter Property="Background" TargetName="DropDownButton" Value="{DynamicResource DropDownButtonHover}"/> + <Setter Property="BorderBrush" TargetName="Border" Value="{DynamicResource ToolBarButtonHoverBorder}"/> + </Trigger> + <Trigger Property="IsKeyboardFocusWithin" Value="true"> + <Setter Property="BorderBrush" TargetName="DropDownButton" Value="{DynamicResource ToolBarButtonHoverBorder}"/> + <Setter Property="Background" TargetName="DropDownButton" Value="{DynamicResource DropDownButtonHover}"/> + <Setter Property="BorderBrush" TargetName="Border" Value="{DynamicResource ToolBarButtonHoverBorder}"/> + </Trigger> + <Trigger Property="HasItems" Value="false"> + <Setter Property="MinHeight" TargetName="DropDownBorder" Value="95"/> + </Trigger> + <MultiTrigger> + <MultiTrigger.Conditions> + <Condition Property="IsGrouping" Value="true"/> + <Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping" Value="false"/> + </MultiTrigger.Conditions> + <Setter Property="ScrollViewer.CanContentScroll" Value="false"/> + </MultiTrigger> + <MultiTrigger> + <MultiTrigger.Conditions> + <Condition Property="IsKeyboardFocusWithin" Value="true"/> + <Condition Property="IsDropDownOpen" Value="false"/> + <Condition Property="IsEditable" Value="false"/> + </MultiTrigger.Conditions> + <Setter Property="Foreground" Value="{DynamicResource ControlForegroundKey}"/> + </MultiTrigger> + <Trigger Property="IsEditable" Value="true"> + <Setter Property="Padding" Value="2"/> + <Setter Property="IsTabStop" Value="false"/> + </Trigger> + <Trigger Property="ScrollViewer.CanContentScroll" SourceName="DropDownScrollViewer" Value="false"> + <Setter Property="Canvas.Top" TargetName="OpaqueRect" Value="{Binding VerticalOffset, ElementName=DropDownScrollViewer}"/> + <Setter Property="Canvas.Left" TargetName="OpaqueRect" Value="{Binding HorizontalOffset, ElementName=DropDownScrollViewer}"/> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + <Style.Resources> + <Style TargetType="{x:Type ComboBoxItem}"> + <Setter Property="FrameworkElement.OverridesDefaultStyle" Value="True" /> + <Setter Property="Control.Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type ComboBoxItem}"> + <Border x:Name="ItemBorder" Background="{DynamicResource ComboboxItemBackground}" BorderBrush="Transparent" BorderThickness="1"> + <ContentPresenter /> + </Border> + <ControlTemplate.Triggers> + <Trigger Property="IsMouseOver" Value="true"> + <Setter Property="Background" TargetName="ItemBorder" Value="{DynamicResource ComboboxItemMouseOverBackground}"/> + </Trigger> + + <Trigger Property="IsKeyboardFocusWithin" Value="true"> + <Setter Property="Background" TargetName="ItemBorder" Value="{DynamicResource ComboboxItemMouseOverBackground}"/> + </Trigger> + + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + </Style.Resources> + </Style> + +</ResourceDictionary>
\ No newline at end of file diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/DarkThemesColors.xaml b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/DarkThemesColors.xaml new file mode 100644 index 000000000..caab88ef1 --- /dev/null +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/DarkThemesColors.xaml @@ -0,0 +1,100 @@ +<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="clr-namespace:Tango.Scripting.IDE.Themes"> + + <SolidColorBrush x:Key="Menu.Background" Color="#FF2D2D30"/> + <SolidColorBrush x:Key="Menu.Foreground" Color="#FFF1F1F1"/> + <SolidColorBrush x:Key="Menu.MouseOverColor" Color="#FF464646"/> + <SolidColorBrush x:Key="Menu.Disable.Foreground" Color="#FF888888"/> + <SolidColorBrush x:Key="Menu.Submenu.Background" Color="#FF1B1B1C"/> + <SolidColorBrush x:Key="Menu.Submenu.MouseOverColor" Color="#FF3E3E40"/> + <SolidColorBrush x:Key="Grip.Submenu.Background.Static" Color="#FF3F3F46"/> + <SolidColorBrush x:Key="Grip.Submenu.Background.Selected" Color="#FF007ACC"/> + + <SolidColorBrush x:Key="Window.Background" Color="#FF1F1F20"/> + <SolidColorBrush x:Key="Control.Border.Static" Color="#FF555555"/> + <SolidColorBrush x:Key="Background.Static" Color="#FF2D2D30"/> + + <SolidColorBrush x:Key="ControlTextBrush" Color="#FFF0F0F0"/> + <SolidColorBrush x:Key="ControlBrushColorKey" Color="#FF007ACC"/> + <SolidColorBrush x:Key="ControlForegroundKey" Color="#FFF1F1F1"/> + <SolidColorBrush x:Key="HighlightTextBrushKey" Color="#FFF0F0F0"/> + <SolidColorBrush x:Key="ListBorder" Color="#FF3F3F46"/> + <SolidColorBrush x:Key="Inactive.Selection" Color="#FF444444"/> + <SolidColorBrush x:Key="ContextMenu.MouseOverColor" Color="#FF333334"/> + + + <SolidColorBrush x:Key="TabItem.Selected.Background" Color="#FF007ACC"/> + <SolidColorBrush x:Key="TabItem.Selected.Border" Color="#FF007ACC"/> + <SolidColorBrush x:Key="TabItem.MouseOver.Border" Color="#FF007ACC"/> + <SolidColorBrush x:Key="TabItem.MouseOver.Background" Color="#FF007ACC"/> + <SolidColorBrush x:Key="TabItem.Disabled.Border" Color="#FF444444"/> + <SolidColorBrush x:Key="TabItem.Content.Static" Color="#FF1E1E1E"/> + <SolidColorBrush x:Key="TabItem.Static.Background" Color="Transparent" /> + <SolidColorBrush x:Key="TabItem.Static.Border" Color="Transparent"/> + <SolidColorBrush x:Key="TabItem.Disabled.Background" Color="#FF444444"/> + <SolidColorBrush x:Key="TabItem.MouseOver.Bottom.Background" Color="#19FFFFFF"/> + + <SolidColorBrush x:Key="ToolBarHorizontalBackground" Color="#FF2D2D30"/> + <SolidColorBrush x:Key="ToolBarToggleButtonVerticalBackground" Color="#FF2D2D30"/> + <SolidColorBrush x:Key="ToolBarButtonHover" Color="#42595959"/> + <SolidColorBrush x:Key="ToolBarGripper" Color="#FF3F3F46"/> + <SolidColorBrush x:Key="ToolBarVerticalBackground" Color="#FF2D2D30"/> + <SolidColorBrush x:Key="ToolBarToggleButtonHorizontalBackground" Color="#FF2D2D30"/> + <SolidColorBrush x:Key="ToolBarMenuBorder" Color="#FF2D2D30"/> + <SolidColorBrush x:Key="ToolBarSubMenuBackground" Color="#FF2D2D30"/> + + <SolidColorBrush x:Key="TreeBackgroundColor" Color="#FF252526"/> + <SolidColorBrush x:Key="TreeViewItem.TreeArrow.Static.Checked.Fill" Color="#FFF0F0F0"/> + <SolidColorBrush x:Key="TreeViewItem.TreeArrow.Static.Checked.Stroke" Color="#FFF0F0F0"/> + <SolidColorBrush x:Key="TreeViewItem.TreeArrow.MouseOver.Stroke" Color="#FF007ACC"/> + <SolidColorBrush x:Key="TreeViewItem.TreeArrow.MouseOver.Fill" Color="#FF007ACC"/> + <SolidColorBrush x:Key="TreeViewItem.TreeArrow.MouseOver.Checked.Stroke" Color="#FF007ACC"/> + <SolidColorBrush x:Key="TreeViewItem.TreeArrow.MouseOver.Checked.Fill" Color="#FF007ACC"/> + <SolidColorBrush x:Key="TreeViewItem.TreeArrow.Static.Fill" Color="#FFF0F0F0"/> + <SolidColorBrush x:Key="TreeViewItem.TreeArrow.Static.Stroke" Color="#FFF0F0F0"/> + + <SolidColorBrush x:Key="ToolBarDisabledFill" Color="#FF444444"/> + <SolidColorBrush x:Key="ToolBarDisabledBorder" Color="#FF2D2D2E"/> + <SolidColorBrush x:Key="ToolBarButtonHoverBorder" Color="#FF007ACC"/> + <SolidColorBrush x:Key="ToolBarButtonPressedBorder" Color="#FF007ACC"/> + <SolidColorBrush x:Key="ToolBarButtonPressed" Color="Transparent"/> + <SolidColorBrush x:Key="DropDownButtonHover" Color="#FF1F1F20"/> + <SolidColorBrush x:Key="ComboboxDropDownBorder" Color="#FF444444"/> + <SolidColorBrush x:Key="ComboboxDropDownBackground" Color="#FF1F1F20"/> + <SolidColorBrush x:Key="ComboboxItemBackground" Color="#FF1F1F20"/> + <SolidColorBrush x:Key="ComboboxItemMouseOverBackground" Color="#FF3F3F46"/> + + <SolidColorBrush x:Key="DataGrid.MouseOver" Color="#FF3E3E40"/> + <SolidColorBrush x:Key="DataGrid.Border" Color="#FF3E3E40"/> + <SolidColorBrush x:Key="DataGrid.Row.Selection" Color="#FF007ACC"/> + + <SolidColorBrush x:Key="ScrollBar.Static.Background" Color="#FF3E3E42"/> + <SolidColorBrush x:Key="ScrollBar.Static.Border" Color="#FF3E3E42"/> + <SolidColorBrush x:Key="ScrollBar.Pressed.Glyph" Color="#FF1C97EA"/> + <SolidColorBrush x:Key="ScrollBar.MouseOver.Glyph" Color="#FF1C97EA"/> + <SolidColorBrush x:Key="ScrollBar.Disabled.Glyph" Color="#FF636363"/> + <SolidColorBrush x:Key="ScrollBar.Static.Glyph" Color="#FF9E9E9E"/> + <SolidColorBrush x:Key="ScrollBar.MouseOver.Background" Color="Transparent"/> + <SolidColorBrush x:Key="ScrollBar.MouseOver.Border" Color="Transparent"/> + <SolidColorBrush x:Key="ScrollBar.Pressed.Background" Color="Transparent"/> + <SolidColorBrush x:Key="ScrollBar.Pressed.Border" Color="Transparent"/> + <SolidColorBrush x:Key="ScrollBar.Disabled.Background" Color="#FF646464"/> + <SolidColorBrush x:Key="ScrollBar.Disabled.Border" Color="#F0F0F0"/> + <SolidColorBrush x:Key="ScrollBar.MouseOver.Thumb" Color="#FF7F7F7F"/> + <SolidColorBrush x:Key="ScrollBar.Pressed.Thumb" Color="#FF999999"/> + <SolidColorBrush x:Key="ScrollBar.Static.Thumb" Color="#FF555555"/> + + <SolidColorBrush x:Key="Button.Static.Background" Color="#FF3F3F46"/> + <SolidColorBrush x:Key="Button.Static.Border" Color="#FF555555"/> + <SolidColorBrush x:Key="Button.MouseOver.Background" Color="Transparent"/> + <SolidColorBrush x:Key="Button.MouseOver.Border" Color="#FF0097FB"/> + <SolidColorBrush x:Key="Button.Pressed.Background" Color="#FF007ACC"/> + <SolidColorBrush x:Key="Button.Pressed.Border" Color="#FF007ACC"/> + <SolidColorBrush x:Key="Button.Disabled.Background" Color="#FF252526"/> + <SolidColorBrush x:Key="Button.Disabled.Border" Color="#FF434346"/> + <SolidColorBrush x:Key="Button.Disabled.Foreground" Color="#FF434346"/> + <SolidColorBrush x:Key="Toolbar.Button.MaouseMove.Background" Color="#FF3E3E40"/> + <SolidColorBrush x:Key="ToggleButton.Checked.Foreground" Color="#FF4E4E50"/> + +</ResourceDictionary>
\ No newline at end of file diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/DataGridStyle.xaml b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/DataGridStyle.xaml new file mode 100644 index 000000000..5ec4c7ff4 --- /dev/null +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/DataGridStyle.xaml @@ -0,0 +1,248 @@ +<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:Themes="clr-namespace:Microsoft.Windows.Themes;assembly=PresentationFramework.Aero2" + xmlns:local="clr-namespace:Tango.Scripting.IDE.Themes"> + <Style x:Key="TangoDataGridStyle" TargetType="{x:Type DataGrid}"> + <Setter Property="Background" Value="{DynamicResource Menu.Background}"/> + <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"/> + <Setter Property="BorderBrush" Value="{DynamicResource DataGrid.Border}"/> + <Setter Property="BorderThickness" Value="0"/> + <Setter Property="RowDetailsVisibilityMode" Value="VisibleWhenSelected"/> + <Setter Property="ScrollViewer.CanContentScroll" Value="true"/> + <Setter Property="ScrollViewer.PanningMode" Value="Both"/> + <Setter Property="Stylus.IsFlicksEnabled" Value="False"/> + <Setter Property="GridLinesVisibility" Value="None"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type DataGrid}"> + <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="True"> + <ScrollViewer x:Name="DG_ScrollViewer" Focusable="false"> + <ScrollViewer.Template> + <ControlTemplate TargetType="{x:Type ScrollViewer}"> + <Grid > + <Grid.ColumnDefinitions> + <ColumnDefinition Width="Auto"/> + <ColumnDefinition Width="*"/> + <ColumnDefinition Width="Auto"/> + </Grid.ColumnDefinitions> + <Grid.RowDefinitions> + <RowDefinition Height="Auto"/> + <RowDefinition Height="*"/> + <RowDefinition Height="Auto"/> + </Grid.RowDefinitions> + <!--<Button Background="Transparent" Command="{x:Static DataGrid.SelectAllCommand}" Focusable="false" Style="{DynamicResource {ComponentResourceKey ResourceId=DataGridSelectAllButtonStyle, TypeInTargetAssembly={x:Type DataGrid}}}" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.All}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" Width="{Binding CellsPanelHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>--> + <DataGridColumnHeadersPresenter x:Name="PART_ColumnHeadersPresenter" Grid.Column="1" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.Column}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/> + <ScrollContentPresenter x:Name="PART_ScrollContentPresenter" CanContentScroll="{TemplateBinding CanContentScroll}" Grid.ColumnSpan="2" Grid.Row="1"/> + <ScrollBar x:Name="PART_VerticalScrollBar" Grid.Column="2" Maximum="{TemplateBinding ScrollableHeight}" Orientation="Vertical" Grid.Row="1" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}"/> + <Grid Grid.Column="1" Grid.Row="2"> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="{Binding NonFrozenColumnsViewportHorizontalOffset, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/> + <ColumnDefinition Width="*"/> + </Grid.ColumnDefinitions> + <ScrollBar x:Name="PART_HorizontalScrollBar" Grid.Column="1" Maximum="{TemplateBinding ScrollableWidth}" Orientation="Horizontal" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"/> + </Grid> + </Grid> + </ControlTemplate> + </ScrollViewer.Template> + <ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> + </ScrollViewer> + </Border> + </ControlTemplate> + </Setter.Value> + </Setter> + <Style.Triggers> + <MultiTrigger> + <MultiTrigger.Conditions> + <Condition Property="IsGrouping" Value="true"/> + <Condition Property="VirtualizingPanel.IsVirtualizingWhenGrouping" Value="false"/> + </MultiTrigger.Conditions> + <Setter Property="ScrollViewer.CanContentScroll" Value="false"/> + </MultiTrigger> + </Style.Triggers> + <Style.Resources> + <Style TargetType="{x:Type DataGridRow}"> + <Setter Property="Background" Value="Transparent"/> + <Setter Property="BorderBrush" Value="Transparent"/> + <Setter Property="BorderThickness" Value="0,0,0,0" /> + <Setter Property="SnapsToDevicePixels" Value="true"/> + <Setter Property="Validation.ErrorTemplate" Value="{x:Null}"/> + <Setter Property="ValidationErrorTemplate"> + <Setter.Value> + <ControlTemplate> + <TextBlock Foreground="Red" Margin="2,0,0,0" Text="!" VerticalAlignment="Center"/> + </ControlTemplate> + </Setter.Value> + </Setter> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type DataGridRow}"> + <Border x:Name="DGR_Border" BorderBrush="{TemplateBinding BorderBrush}" + BorderThickness="0" Background="{TemplateBinding Background}" + SnapsToDevicePixels="True"> + <SelectiveScrollingGrid> + <SelectiveScrollingGrid.ColumnDefinitions> + <ColumnDefinition Width="Auto"/> + <ColumnDefinition Width="*"/> + </SelectiveScrollingGrid.ColumnDefinitions> + <SelectiveScrollingGrid.RowDefinitions> + <RowDefinition Height="*"/> + <RowDefinition Height="Auto"/> + </SelectiveScrollingGrid.RowDefinitions> + <DataGridCellsPresenter Grid.Column="1" ItemsPanel="{TemplateBinding ItemsPanel}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> + <DataGridDetailsPresenter Grid.Column="1" Grid.Row="1" SelectiveScrollingGrid.SelectiveScrollingOrientation="{Binding AreRowDetailsFrozen, ConverterParameter={x:Static SelectiveScrollingOrientation.Vertical}, Converter={x:Static DataGrid.RowDetailsScrollingConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" Visibility="{TemplateBinding DetailsVisibility}"/> + <!--<DataGridRowHeader Grid.RowSpan="2" SelectiveScrollingGrid.SelectiveScrollingOrientation="Vertical" Visibility="{Binding HeadersVisibility, ConverterParameter={x:Static DataGridHeadersVisibility.Row}, Converter={x:Static DataGrid.HeadersVisibilityConverter}, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/>--> + </SelectiveScrollingGrid> + </Border> + <ControlTemplate.Triggers> + + <Trigger Property="IsMouseOver" Value="True"> + <Setter TargetName="DGR_Border" Property="Background" Value="{DynamicResource DataGrid.Row.Selection}" /> + </Trigger> + <Trigger Property="IsSelected" Value="True"> + <Setter TargetName="DGR_Border" Property="BorderBrush" Value="{DynamicResource DataGrid.Row.Selection}" /> + <Setter TargetName="DGR_Border" Property="Background" Value="{DynamicResource DataGrid.Row.Selection}" /> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + <Style.Triggers> + <Trigger Property="IsNewItem" Value="True"> + <Setter Property="Margin" Value="{Binding NewItemMargin, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}"/> + </Trigger> + </Style.Triggers> + </Style> + <Style TargetType="{x:Type DataGridCell}"> + <Setter Property="Background" Value="Transparent"/> + <Setter Property="BorderBrush" Value="Transparent"/> + <Setter Property="BorderThickness" Value="0"/> + <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type DataGridCell}"> + <!--<Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0" Background="Transparent" SnapsToDevicePixels="True">--> + <ContentPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> + <!--</Border>--> + </ControlTemplate> + </Setter.Value> + </Setter> + <Style.Triggers> + <Trigger Property="IsSelected" Value="True"> + <Setter Property="Background" Value="Blue"/> + <Setter Property="BorderBrush" Value="{DynamicResource DataGrid.MouseOver}"/> + </Trigger> + <Trigger Property="IsKeyboardFocusWithin" Value="True"> + <Setter Property="BorderBrush" Value="{DynamicResource DataGrid.MouseOver}"/> + </Trigger> + <MultiTrigger> + <MultiTrigger.Conditions> + <Condition Property="IsSelected" Value="true"/> + <Condition Property="Selector.IsSelectionActive" Value="false"/> + </MultiTrigger.Conditions> + <Setter Property="Background" Value="{DynamicResource DataGrid.MouseOver}"/> + <Setter Property="BorderBrush" Value="{DynamicResource DataGrid.MouseOver}"/> + <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"/> + </MultiTrigger> + <Trigger Property="IsEnabled" Value="false"> + <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"/> + </Trigger> + </Style.Triggers> + </Style> + <Style TargetType="{x:Type TextBlock}" > + <Setter Property="TextTrimming" Value="CharacterEllipsis"/> + <Setter Property="TextWrapping" Value="NoWrap"/> + <Setter Property="ToolTip" Value="{Binding RelativeSource={RelativeSource Self}, Path=Text }" /> + </Style> + </Style.Resources> + </Style> + <Style x:Key="ColumnHeaderGripperStyle" TargetType="{x:Type Thumb}"> + <Setter Property="Width" Value="8"/> + <Setter Property="Background" Value="Transparent"/> + <Setter Property="Cursor" Value="SizeWE"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type Thumb}"> + <Border Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}"/> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + <Style x:Key="TangoDataGridColumnHeaderStyle" TargetType="{x:Type DataGridColumnHeader}"> + <Setter Property="VerticalContentAlignment" Value="Center"/> + <Setter Property="ContentTemplate"> + <Setter.Value> + <DataTemplate> + <TextBlock TextTrimming="CharacterEllipsis" Text="{Binding}" TextAlignment="Right" TextWrapping="NoWrap"/> + </DataTemplate> + </Setter.Value> + </Setter> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type DataGridColumnHeader}"> + <Grid> + <Themes:DataGridHeaderBorder x:Name="hBorder" BorderBrush="{DynamicResource DataGrid.Border}" + BorderThickness="0,1,1,1" + Background="Transparent" + IsClickable="{TemplateBinding CanUserSort}" + IsPressed="{TemplateBinding IsPressed}" + IsHovered="{TemplateBinding IsMouseOver}" + Padding="{TemplateBinding Padding}" + SortDirection="{TemplateBinding SortDirection}" + SeparatorBrush="{TemplateBinding SeparatorBrush}" + SeparatorVisibility="{TemplateBinding SeparatorVisibility}"> + <Grid> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="Auto"/> + <ColumnDefinition Width="*"/> + </Grid.ColumnDefinitions> + <ContentPresenter Grid.Column="0" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}" Margin="6,2,4,2"/> + <Path x:Name="SortArrow" + Grid.Column="1" + HorizontalAlignment="Right" VerticalAlignment="Center" + Width="8" Height="6" Margin="2,0,5,0" + Stretch="Fill" Opacity="0.5" Fill="{DynamicResource ControlTextBrush}" + RenderTransformOrigin="0.5,0.4" + Visibility="Collapsed" + Data="M0,0 L1,0 0.5,1 z" /> + </Grid> + </Themes:DataGridHeaderBorder> + <Thumb x:Name="PART_LeftHeaderGripper" HorizontalAlignment="Left" Style="{StaticResource ColumnHeaderGripperStyle}"/> + <Thumb x:Name="PART_RightHeaderGripper" HorizontalAlignment="Right" Style="{StaticResource ColumnHeaderGripperStyle}"/> + </Grid> + + <ControlTemplate.Triggers> + <Trigger Property="SortDirection" Value="Ascending"> + <Setter TargetName="SortArrow" Property="Visibility" Value="Visible" /> + <Setter TargetName="SortArrow" Property="RenderTransform"> + <Setter.Value> + <RotateTransform Angle="180" /> + </Setter.Value> + </Setter> + </Trigger> + <Trigger Property="SortDirection" Value="Descending"> + <Setter TargetName="SortArrow" Property="Visibility" Value="Visible" /> + </Trigger> + + <Trigger Property='IsMouseOver' Value='True'> + <Setter TargetName="hBorder" Property="Background" Value="{DynamicResource DataGrid.MouseOver}"></Setter> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + + </Style> + + <Style x:Key="RowHeaderGripperStyle" TargetType="{x:Type Thumb}"> + <Setter Property="Height" Value="8"/> + <Setter Property="Background" Value="Transparent"/> + <Setter Property="Cursor" Value="SizeNS"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type Thumb}"> + <Border Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}"/> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> +</ResourceDictionary>
\ No newline at end of file diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/Generic.xaml b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/Generic.xaml new file mode 100644 index 000000000..6c016ae84 --- /dev/null +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/Generic.xaml @@ -0,0 +1,36 @@ +<ResourceDictionary + xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:controls="clr-namespace:Tango.Scripting.IDE.Controls" + xmlns:local="clr-namespace:Tango.Scripting.IDE"> + + <Style TargetType="{x:Type controls:SolutionItemControl}"> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type controls:SolutionItemControl}"> + <Border Background="{TemplateBinding Background}" + BorderBrush="{TemplateBinding BorderBrush}" + BorderThickness="{TemplateBinding BorderThickness}"> + <StackPanel Orientation="Horizontal" Background="Transparent"> + <Image VerticalAlignment="Center" Width="16" Height="16" Source="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=SolutionItem.Image}" /> + <TextBlock Margin="5 0 0 0" VerticalAlignment="Center" Text="{Binding RelativeSource={RelativeSource Mode=TemplatedParent},Path=SolutionItem.Name}"></TextBlock> + </StackPanel> + </Border> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + + <Style TargetType="{x:Type controls:TabConrolClose}"> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type controls:TabConrolClose}"> + <Border Background="{TemplateBinding Background}" + BorderBrush="{TemplateBinding BorderBrush}" + BorderThickness="{TemplateBinding BorderThickness}"> + </Border> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> +</ResourceDictionary> diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/LightThemesColors.xaml b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/LightThemesColors.xaml new file mode 100644 index 000000000..da65cc9b7 --- /dev/null +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/LightThemesColors.xaml @@ -0,0 +1,15 @@ +<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="clr-namespace:Tango.Scripting.IDE.Themes"> + + + <SolidColorBrush x:Key="Menu.Background" Color="#FF2D2D30"/> + <SolidColorBrush x:Key="Menu.Foreground" Color="#FFF1F1F1"/> + <SolidColorBrush x:Key="Menu.MouseOverColor" Color="#FF333334"/> + <SolidColorBrush x:Key="Menu.Disable.Foreground" Color="#FF888888"/> + <SolidColorBrush x:Key="Menu.Submenu.Background" Color="#FF1B1B1C"/> + <SolidColorBrush x:Key="Menu.Submenu.MouseOverColor" Color="#FF3E3E40"/> + <SolidColorBrush x:Key="Grip.Submenu.Background.Static" Color="#FF3F3F46"/> + <SolidColorBrush x:Key="Grip.Submenu.Background.Selected" Color="#FF007ACC"/> + +</ResourceDictionary>
\ No newline at end of file diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/MenuDict.xaml b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/MenuDict.xaml new file mode 100644 index 000000000..f51a50b50 --- /dev/null +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/MenuDict.xaml @@ -0,0 +1,229 @@ +<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="clr-namespace:Tango.Scripting.IDE.Themes"> + + + <Style x:Key="TangoMenuStyle" TargetType="{x:Type Menu}"> + <Setter Property="OverridesDefaultStyle" Value="True" /> + <Setter Property="Background" Value="{DynamicResource Menu.Background}"/> + <Setter Property="FontFamily" Value="{DynamicResource {x:Static SystemFonts.MenuFontFamilyKey}}"/> + <Setter Property="FontSize" Value="{DynamicResource {x:Static SystemFonts.MenuFontSizeKey}}"/> + <Setter Property="FontStyle" Value="{DynamicResource {x:Static SystemFonts.MenuFontStyleKey}}"/> + <Setter Property="FontWeight" Value="{DynamicResource {x:Static SystemFonts.MenuFontWeightKey}}"/> + <Setter Property="Foreground" Value="{DynamicResource Menu.Foreground}"/> + <Setter Property="VerticalContentAlignment" Value="Center"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type Menu}"> + <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true"> + <ItemsPresenter SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" /> + </Border> + </ControlTemplate> + </Setter.Value> + </Setter> + <Style.Resources> + <Style TargetType="{x:Type MenuItem}"> + <Setter Property="OverridesDefaultStyle" Value="True" /> + <Style.Triggers> + <Trigger Property="Role" Value="TopLevelHeader"> + <Setter Property="Template" Value="{DynamicResource {x:Static MenuItem.TopLevelHeaderTemplateKey}}" /> + <Setter Property="Grid.IsSharedSizeScope" Value="true" /> + </Trigger> + <Trigger Property="Role" Value="TopLevelItem"> + <Setter Property="Template" Value="{DynamicResource {x:Static MenuItem.TopLevelItemTemplateKey}}" /> + </Trigger> + <Trigger Property="Role" Value="SubmenuHeader"> + <Setter Property="Template" Value="{DynamicResource {x:Static MenuItem.SubmenuHeaderTemplateKey}}" /> + </Trigger> + <Trigger Property="Role" Value="SubmenuItem"> + <Setter Property="Template" Value="{DynamicResource {x:Static MenuItem.SubmenuItemTemplateKey}}" /> + </Trigger> + </Style.Triggers> + </Style> + <Style TargetType="TextBlock"> + <Setter Property="TextWrapping" Value="Wrap"></Setter> + </Style> + </Style.Resources> + </Style> + <Geometry x:Key="Checkmark">M 0,5.1 L 1.7,5.2 L 3.4,7.1 L 8,0.4 L 9.2,0 L 3.3,10.8 Z</Geometry> + <!-- TopLevelHeader --> + <ControlTemplate x:Key="{x:Static MenuItem.TopLevelHeaderTemplateKey}" TargetType="{x:Type MenuItem}"> + <Grid x:Name="Border" Background="Transparent" Margin="0,2,0,2"> + + <Rectangle x:Name="Bg" Fill="Transparent" /> + <Rectangle x:Name="Inner_Border" Margin="4" Fill="Transparent"/> + <ContentPresenter Margin="8,2,8,2" ContentSource="Header" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> + <Popup x:Name="Popup" Placement="Bottom" IsOpen="{TemplateBinding IsSubmenuOpen}" AllowsTransparency="True" Focusable="False" PopupAnimation="Fade" HorizontalOffset="2"> + <Border x:Name="SubmenuBorder" BorderBrush="{DynamicResource MenuItemHighlightedBackground}" BorderThickness="1" Background="{DynamicResource Menu.Background}" Padding="2" Margin="0,0,8,8"> + <Border.Effect> + <DropShadowEffect BlurRadius="6" Opacity="0.5" ShadowDepth="4" Direction="330"/> + </Border.Effect> + <Grid RenderOptions.ClearTypeHint="Enabled" Background="Transparent"> + <ItemsPresenter x:Name="ItemsPresenter" KeyboardNavigation.DirectionalNavigation="Cycle" Grid.IsSharedSizeScope="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" KeyboardNavigation.TabNavigation="Cycle"/> + </Grid> + </Border> + </Popup> + </Grid> + <ControlTemplate.Triggers> + <Trigger Property="IsSuspendingPopupAnimation" Value="true"> + <Setter TargetName="Popup" Property="PopupAnimation" Value="None" /> + </Trigger> + <Trigger Property="IsHighlighted" Value="true"> + <Setter Property="Fill" TargetName="Bg" Value="{DynamicResource Menu.Submenu.MouseOverColor}"/> + </Trigger> + <Trigger SourceName="Popup" Property="AllowsTransparency" Value="True"> + <Setter TargetName="SubmenuBorder" Property="CornerRadius" Value="0,0,0,0" /> + <Setter TargetName="SubmenuBorder" Property="Padding" Value="0,0,0,3" /> + </Trigger> + <Trigger Property="IsEnabled" Value="False"> + <Setter Property="Foreground" Value="{DynamicResource Menu.Disable.Foreground}"/> + </Trigger> + <Trigger Property="IsSubmenuOpen" Value="true"> + <Setter Property="Background" TargetName="Border" Value="{DynamicResource Menu.Submenu.Background}"/> + <Setter Property="Fill" TargetName="Bg" Value="{DynamicResource Menu.Submenu.Background}"/> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + + <!-- TopLevelItem --> + <ControlTemplate x:Key="{x:Static MenuItem.TopLevelItemTemplateKey}" TargetType="{x:Type MenuItem}" > + <Grid SnapsToDevicePixels="true" Background="Transparent" Margin="0,2,0,2"> + <Rectangle x:Name="Bg" Fill="Transparent" /> + <Rectangle x:Name="InnerBorder" Margin="4" Fill="Transparent"/> + <!--<DockPanel> + <ContentPresenter x:Name="Icon" ContentSource="Icon" Margin="4,0,6,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="Center"/> + <Path x:Name="GlyphPanel" Data="{StaticResource Checkmark}" Fill="{TemplateBinding Foreground}" FlowDirection="LeftToRight" Margin="7,0,0,0" Visibility="Collapsed" VerticalAlignment="Center"/>--> + <ContentPresenter ContentSource="Header" Margin="8,2,8,2" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> + <!--</DockPanel>--> + </Grid> + <ControlTemplate.Triggers> + <Trigger Property="IsHighlighted" Value="true"> + <Setter Property="Fill" TargetName="Bg" Value="{DynamicResource Menu.Submenu.MouseOverColor}"/> + </Trigger> + <Trigger Property="IsEnabled" Value="False"> + <Setter Property="Foreground" Value="{DynamicResource Menu.Disable.Foreground}"/> + </Trigger> + <Trigger Property="IsKeyboardFocused" Value="true"> + <Setter Property="Fill" TargetName="Bg" Value="{DynamicResource Menu.Submenu.MouseOverColor}"/> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + <ControlTemplate x:Key="{x:Static MenuItem.SubmenuHeaderTemplateKey}" TargetType="MenuItem"> + <Grid SnapsToDevicePixels="true" Background="{DynamicResource Menu.Submenu.Background}" x:Name="_grid" MinHeight="22"> + <Rectangle x:Name="Bg" Fill="Transparent" /> + <Rectangle x:Name="Inner_Border" Margin="4" Fill="Transparent"/> + <Grid> + <Grid.ColumnDefinitions> + <ColumnDefinition SharedSizeGroup="Icon" Width="Auto" MinWidth="20"/> + <ColumnDefinition Width="*" MinWidth="60"/> + <ColumnDefinition SharedSizeGroup="MenuItemIGTColumnGroup" Width="Auto" MinWidth="60"/> + <ColumnDefinition Width="13" /> + </Grid.ColumnDefinitions> + <ContentPresenter x:Name="Iconh" ContentSource="Icon" Margin="3" VerticalAlignment="Center" Grid.Column="0"/> + <ContentPresenter x:Name="HeaderHost" Margin="3,0,3,0" Grid.Column="1" VerticalAlignment="Center" ContentSource="Header" RecognizesAccessKey="True" TextOptions.TextFormattingMode="Display" /> + <TextBlock Grid.Column="2" Margin="10,0,0,0" Text="{TemplateBinding InputGestureText}" VerticalAlignment="Center"/> + <Path x:Name="RightArrow" Grid.Column="3" HorizontalAlignment="Center" VerticalAlignment="Center" Data="M 0 0 L 0 7 L 4 3.5 Z" Fill="{DynamicResource Grip.Submenu.Background.Static}" Margin="8,0,0,0"/> + <Popup x:Name="popup" PlacementTarget="{Binding ElementName=_grid}" Placement="Right" HorizontalOffset="0" AllowsTransparency="True" Focusable="False" PopupAnimation="Fade"> + <Border x:Name="SubmenuBorder" SnapsToDevicePixels="True" Background="{DynamicResource Menu.Submenu.Background}" BorderThickness="1" BorderBrush="{DynamicResource MenuItemHighlightedBackground}" Margin="0,0,10,10"> + <Border.Effect> + <DropShadowEffect BlurRadius="6" Opacity="0.5" ShadowDepth="4" Direction="330" /> + </Border.Effect> + <ItemsPresenter x:Name="_items" /> + </Border> + </Popup> + </Grid> + </Grid> + <!--</Border>--> + <ControlTemplate.Triggers> + <Trigger Property="IsHighlighted" Value="True" > + <Setter Property="Visibility" Value="Visible" TargetName="_items" /> + <Setter Property="IsOpen" Value="True" TargetName="popup" /> + <Setter Property="Fill" TargetName="Bg" Value="{DynamicResource Menu.Submenu.MouseOverColor}"/> + <Setter Property="Fill" TargetName="Inner_Border" Value="{DynamicResource Menu.Submenu.MouseOverColor}"/> + <Setter TargetName="RightArrow" Property="Fill" Value="{DynamicResource Grip.Submenu.Background.Selected}"/> + + </Trigger> + <Trigger Property="IsEnabled" Value="False"> + <Setter Property="Foreground" Value="{DynamicResource Menu.Disable.Foreground}"/> + </Trigger> + <Trigger Property="IsSubmenuOpen" Value="true"> + <Setter Property="Fill" TargetName="Bg" Value="{DynamicResource Menu.Submenu.MouseOverColor}"/> + <Setter Property="Fill" TargetName="Inner_Border" Value="{DynamicResource Menu.Submenu.MouseOverColor}"/> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + <ControlTemplate x:Key="{x:Static MenuItem.SubmenuItemTemplateKey}" TargetType="MenuItem"> + <Grid SnapsToDevicePixels="true" Background="{DynamicResource Menu.Submenu.Background}" MinHeight="22"> + <Rectangle x:Name="Bg" Fill="Transparent" /> + <Rectangle x:Name="InnerBorder" Margin="4"/> + <Grid> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="Auto" MinWidth="24" SharedSizeGroup="IconGroup"/> + <ColumnDefinition Width="Auto" MinWidth="60" /> + <ColumnDefinition SharedSizeGroup="MenuItemIGTColumnGroup" Width="Auto" MinWidth="60"/> + <ColumnDefinition Width="20" /> + </Grid.ColumnDefinitions> + <ContentPresenter x:Name="Icon" ContentSource="Icon" Margin="{TemplateBinding Padding}" /> + <ContentPresenter Grid.Column="1" VerticalAlignment="Center" ContentSource="Header" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> + <TextBlock Grid.Column="2" Margin="10,0,0,0" Text="{TemplateBinding InputGestureText}" VerticalAlignment="Center"/> + </Grid> + </Grid> + <ControlTemplate.Triggers> + <Trigger Property="IsHighlighted" Value="True"> + <Setter Property="Fill" TargetName="Bg" Value="{DynamicResource Menu.Submenu.MouseOverColor}"/> + </Trigger> + <Trigger Property="Icon" Value="{x:Null}"> + <Setter TargetName="Icon" Property="Visibility" Value="Collapsed" /> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + + <Style x:Key="{x:Static MenuItem.SeparatorStyleKey}" TargetType="{x:Type Separator}"> + <Setter Property="Height" Value="1" /> + <Setter Property="Margin" Value="20,0,2,0" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type Separator}"> + <Border BorderThickness="1" BorderBrush="{DynamicResource Submenu.MouseOverColor}" /> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + + <Style TargetType="{x:Type ContextMenu}"> + <Setter Property="SnapsToDevicePixels" Value="True" /> + <Setter Property="OverridesDefaultStyle" Value="True" /> + <Setter Property="Grid.IsSharedSizeScope" Value="true" /> + <Setter Property="HasDropShadow" Value="True" /> + <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"></Setter> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type ContextMenu}"> + <Border x:Name="Border" Background="{DynamicResource Background.Static}" BorderThickness="1" BorderBrush="{DynamicResource Inactive.Selection}"> + <Border.Effect> + <DropShadowEffect Color="Black" Direction="135" Opacity="0.8" ShadowDepth="2"/> + </Border.Effect> + <StackPanel IsItemsHost="True" KeyboardNavigation.DirectionalNavigation="Cycle"/> + </Border> + <ControlTemplate.Triggers> + <Trigger Property="IsMouseOver" Value="true"> + <Setter TargetName="Border" Property="Background" Value="{DynamicResource Menu.Submenu.Background}" /> + <Setter TargetName="Border" Property="BorderBrush" Value="{DynamicResource ContextMenu.MouseOverColor}" /> + </Trigger> + <Trigger Property="HasDropShadow" Value="true"> + <Setter TargetName="Border" Property="Padding" Value="0,3,0,3" /> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + <Style.Resources> + <Style TargetType="{x:Type MenuItem}"> + <Setter Property="Background" Value="{DynamicResource Menu.Submenu.Background}"></Setter> + <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"></Setter> + <Setter Property="Margin" Value="1,0,1,0"></Setter> + </Style> + </Style.Resources> + </Style> + +</ResourceDictionary>
\ No newline at end of file diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/ScrollViewerStyle.xaml b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/ScrollViewerStyle.xaml new file mode 100644 index 000000000..56c047424 --- /dev/null +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/ScrollViewerStyle.xaml @@ -0,0 +1,258 @@ +<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="clr-namespace:Tango.Scripting.IDE.Themes"> + + <ControlTemplate x:Key="ScrollViewerControlTemplate1" TargetType="{x:Type ScrollViewer}"> + <Grid x:Name="Grid" Background="{DynamicResource ScrollBar.Static.Background}"> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="*"/> + <ColumnDefinition Width="Auto"/> + </Grid.ColumnDefinitions> + <Grid.RowDefinitions> + <RowDefinition Height="*"/> + <RowDefinition Height="Auto"/> + </Grid.RowDefinitions> + <Rectangle x:Name="Corner" Grid.Column="1" Fill="{DynamicResource ScrollBar.Static.Background}" Grid.Row="1"/> + <ScrollContentPresenter x:Name="PART_ScrollContentPresenter" CanContentScroll="{TemplateBinding CanContentScroll}" CanHorizontallyScroll="False" CanVerticallyScroll="False" ContentTemplate="{TemplateBinding ContentTemplate}" Content="{TemplateBinding Content}" Grid.Column="0" Margin="{TemplateBinding Padding}" Grid.Row="0"/> + <ScrollBar x:Name="PART_VerticalScrollBar" AutomationProperties.AutomationId="VerticalScrollBar" Cursor="Arrow" Grid.Column="1" Maximum="{TemplateBinding ScrollableHeight}" Minimum="0" Grid.Row="0" Visibility="{TemplateBinding ComputedVerticalScrollBarVisibility}" Value="{Binding VerticalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportHeight}"/> + <ScrollBar x:Name="PART_HorizontalScrollBar" AutomationProperties.AutomationId="HorizontalScrollBar" Cursor="Arrow" Grid.Column="0" Maximum="{TemplateBinding ScrollableWidth}" Minimum="0" Orientation="Horizontal" Grid.Row="1" Visibility="{TemplateBinding ComputedHorizontalScrollBarVisibility}" Value="{Binding HorizontalOffset, Mode=OneWay, RelativeSource={RelativeSource TemplatedParent}}" ViewportSize="{TemplateBinding ViewportWidth}"/> + </Grid> + </ControlTemplate> + <Style x:Key="FocusVisual"> + <Setter Property="Control.Template"> + <Setter.Value> + <ControlTemplate> + <Rectangle Margin="2" SnapsToDevicePixels="true" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + <Style x:Key="ScrollBarButton" TargetType="{x:Type RepeatButton}"> + <Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}"/> + <Setter Property="BorderThickness" Value="0"/> + <Setter Property="HorizontalContentAlignment" Value="Center"/> + <Setter Property="VerticalContentAlignment" Value="Center"/> + <Setter Property="Padding" Value="1"/> + <Setter Property="Focusable" Value="false"/> + <Setter Property="IsTabStop" Value="false"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type RepeatButton}"> + <Border x:Name="border" BorderBrush="Transparent" BorderThickness="0" Background="{DynamicResource ScrollBar.Static.Background}" SnapsToDevicePixels="true"> + <ContentPresenter x:Name="contentPresenter" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> + </Border> + <ControlTemplate.Triggers> + <Trigger Property="IsEnabled" Value="false"> + <Setter Property="Opacity" TargetName="contentPresenter" Value="0.56"/> + <!--<Setter Property="Background" TargetName="border" Value="{StaticResource ScrollBar.Disabled.Background}"/> + <Setter Property="BorderBrush" TargetName="border" Value="{StaticResource ScrollBar.Disabled.Border}"/>--> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + <Style x:Key="RepeatButtonTransparent" TargetType="{x:Type RepeatButton}"> + <Setter Property="OverridesDefaultStyle" Value="true"/> + <Setter Property="Background" Value="Transparent"/> + <Setter Property="Focusable" Value="false"/> + <Setter Property="IsTabStop" Value="false"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type RepeatButton}"> + <Rectangle Fill="{TemplateBinding Background}" Height="{TemplateBinding Height}" Width="{TemplateBinding Width}"/> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + <Style x:Key="ScrollBarThumbVertical" TargetType="{x:Type Thumb}"> + <Setter Property="OverridesDefaultStyle" Value="true"/> + <Setter Property="IsTabStop" Value="false"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type Thumb}"> + <Rectangle x:Name="rectangle" Fill="{DynamicResource ScrollBar.Static.Thumb}" Height="{TemplateBinding Height}" SnapsToDevicePixels="True" Width="{TemplateBinding Width}" Margin="4,0,4,0"/> + <ControlTemplate.Triggers> + <Trigger Property="IsMouseOver" Value="true"> + <Setter Property="Fill" TargetName="rectangle" Value="{DynamicResource ScrollBar.MouseOver.Thumb}"/> + </Trigger> + <Trigger Property="IsDragging" Value="true"> + <Setter Property="Fill" TargetName="rectangle" Value="{DynamicResource ScrollBar.Pressed.Thumb}"/> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + <Style x:Key="ScrollBarThumbHorizontal" TargetType="{x:Type Thumb}"> + <Setter Property="OverridesDefaultStyle" Value="true"/> + <Setter Property="IsTabStop" Value="false"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type Thumb}" > + <Rectangle x:Name="rectangle" Fill="{DynamicResource ScrollBar.Static.Thumb}" Height="{TemplateBinding Height}" + SnapsToDevicePixels="True" Width="{TemplateBinding Width}" Margin="0,4,0,4"/> + <ControlTemplate.Triggers> + <Trigger Property="IsMouseOver" Value="true"> + <Setter Property="Fill" TargetName="rectangle" Value="{DynamicResource ScrollBar.MouseOver.Thumb}"/> + </Trigger> + <Trigger Property="IsDragging" Value="true"> + <Setter Property="Fill" TargetName="rectangle" Value="{DynamicResource ScrollBar.Pressed.Thumb}"/> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + <Style TargetType="{x:Type ScrollBar}"> + <Setter Property="Stylus.IsPressAndHoldEnabled" Value="false"/> + <Setter Property="Stylus.IsFlicksEnabled" Value="false"/> + <Setter Property="Background" Value="{DynamicResource ScrollBar.Static.Background}"/> + <Setter Property="BorderBrush" Value="{DynamicResource ScrollBar.Static.Border}"/> + <Setter Property="Foreground" Value="{DynamicResource ControlForegroundKey}"/> + <Setter Property="BorderThickness" Value="1,0"/> + <Setter Property="Width" Value="18"/> + <Setter Property="MinWidth" Value="18"/> + <Setter Property="OverridesDefaultStyle" Value="True"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type ScrollBar}"> + <Grid x:Name="Bg" SnapsToDevicePixels="true"> + <Grid.RowDefinitions> + <RowDefinition MaxHeight="{DynamicResource {x:Static SystemParameters.VerticalScrollBarButtonHeightKey}}"/> + <RowDefinition Height="0.00001*"/> + <RowDefinition MaxHeight="{DynamicResource {x:Static SystemParameters.VerticalScrollBarButtonHeightKey}}"/> + </Grid.RowDefinitions> + <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0" Background="{TemplateBinding Background}" Grid.Row="1"/> + <RepeatButton x:Name="PART_LineUpButton" Command="{x:Static ScrollBar.LineUpCommand}" IsEnabled="{TemplateBinding IsMouseOver}" Style="{StaticResource ScrollBarButton}"> + <Path x:Name="ArrowTop" Data="M 0 10 L 20 10 L 10 0 Z" Fill="{DynamicResource ScrollBar.Static.Glyph}" Margin="2,2,2,1" Stretch="Uniform"/> + </RepeatButton> + <Track x:Name="PART_Track" IsDirectionReversed="true" IsEnabled="{TemplateBinding IsMouseOver}" Grid.Row="1"> + <Track.DecreaseRepeatButton> + <RepeatButton Command="{x:Static ScrollBar.PageUpCommand}" Style="{StaticResource RepeatButtonTransparent}"/> + </Track.DecreaseRepeatButton> + <Track.IncreaseRepeatButton> + <RepeatButton Command="{x:Static ScrollBar.PageDownCommand}" Style="{StaticResource RepeatButtonTransparent}"/> + </Track.IncreaseRepeatButton> + <Track.Thumb> + <Thumb Style="{StaticResource ScrollBarThumbVertical}"/> + </Track.Thumb> + </Track> + <RepeatButton x:Name="PART_LineDownButton" Command="{x:Static ScrollBar.LineDownCommand}" IsEnabled="{TemplateBinding IsMouseOver}" Grid.Row="2" Style="{StaticResource ScrollBarButton}"> + <Path x:Name="ArrowBottom" Data="M 0 0 L 10 10 L 20 0 Z" Fill="{DynamicResource ScrollBar.Static.Glyph}" Margin="2,1,2,2" Stretch="Uniform"/> + </RepeatButton> + </Grid> + <ControlTemplate.Triggers> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsMouseOver, ElementName=PART_LineDownButton}" Value="true"/> + <Condition Binding="{Binding IsPressed, ElementName=PART_LineDownButton}" Value="true"/> + </MultiDataTrigger.Conditions> + <Setter Property="Fill" TargetName="ArrowBottom" Value="{DynamicResource ScrollBar.Pressed.Glyph}"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsMouseOver, ElementName=PART_LineUpButton}" Value="true"/> + <Condition Binding="{Binding IsPressed, ElementName=PART_LineUpButton}" Value="true"/> + </MultiDataTrigger.Conditions> + <Setter Property="Fill" TargetName="ArrowTop" Value="{DynamicResource ScrollBar.Pressed.Glyph}"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsMouseOver, ElementName=PART_LineDownButton}" Value="true"/> + <Condition Binding="{Binding IsPressed, ElementName=PART_LineDownButton}" Value="false"/> + </MultiDataTrigger.Conditions> + <Setter Property="Fill" TargetName="ArrowBottom" Value="{DynamicResource ScrollBar.MouseOver.Glyph}"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsMouseOver, ElementName=PART_LineUpButton}" Value="true"/> + <Condition Binding="{Binding IsPressed, ElementName=PART_LineUpButton}" Value="false"/> + </MultiDataTrigger.Conditions> + <Setter Property="Fill" TargetName="ArrowTop" Value="{DynamicResource ScrollBar.MouseOver.Glyph}"/> + </MultiDataTrigger> + <Trigger Property="IsEnabled" Value="false"> + <Setter Property="Fill" TargetName="ArrowTop" Value="{DynamicResource ScrollBar.Disabled.Glyph}"/> + <Setter Property="Fill" TargetName="ArrowBottom" Value="{DynamicResource ScrollBar.Disabled.Glyph}"/> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + <Style.Triggers> + <Trigger Property="Orientation" Value="Horizontal"> + <Setter Property="Width" Value="Auto"/> + <Setter Property="MinWidth" Value="0"/> + <Setter Property="Height" Value="18"/> + <Setter Property="MinHeight" Value="18"/> + <Setter Property="BorderThickness" Value="0,1"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type ScrollBar}"> + <Grid x:Name="Bg" SnapsToDevicePixels="true"> + <Grid.ColumnDefinitions> + <ColumnDefinition MaxWidth="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarButtonWidthKey}}"/> + <ColumnDefinition Width="0.00001*"/> + <ColumnDefinition MaxWidth="{DynamicResource {x:Static SystemParameters.HorizontalScrollBarButtonWidthKey}}"/> + </Grid.ColumnDefinitions> + <Border BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Grid.Column="1"/> + <RepeatButton x:Name="PART_LineLeftButton" Command="{x:Static ScrollBar.LineLeftCommand}" IsEnabled="{TemplateBinding IsMouseOver}" Style="{StaticResource ScrollBarButton}"> + <Path x:Name="ArrowLeft" Data="M 0 10 L 10 0 L 10 20 Z" Fill="{DynamicResource ScrollBar.Static.Glyph}" Margin="2,2,1,2" Stretch="Uniform"/> + </RepeatButton> + <Track x:Name="PART_Track" Grid.Column="1" IsEnabled="{TemplateBinding IsMouseOver}"> + <Track.DecreaseRepeatButton> + <RepeatButton Command="{x:Static ScrollBar.PageLeftCommand}" Style="{StaticResource RepeatButtonTransparent}"/> + </Track.DecreaseRepeatButton> + <Track.IncreaseRepeatButton> + <RepeatButton Command="{x:Static ScrollBar.PageRightCommand}" Style="{StaticResource RepeatButtonTransparent}"/> + </Track.IncreaseRepeatButton> + <Track.Thumb> + <Thumb Style="{StaticResource ScrollBarThumbHorizontal}"/> + </Track.Thumb> + </Track> + <RepeatButton x:Name="PART_LineRightButton" Grid.Column="2" Command="{x:Static ScrollBar.LineRightCommand}" IsEnabled="{TemplateBinding IsMouseOver}" Style="{StaticResource ScrollBarButton}"> + <Path x:Name="ArrowRight" Data="M 0 0 L 10 10 L 0 20 Z" Fill="{DynamicResource ScrollBar.Static.Glyph}" Margin="1,2,2,2" Stretch="Uniform"/> + </RepeatButton> + </Grid> + <ControlTemplate.Triggers> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsMouseOver, ElementName=PART_LineRightButton}" Value="true"/> + <Condition Binding="{Binding IsPressed, ElementName=PART_LineRightButton}" Value="true"/> + </MultiDataTrigger.Conditions> + <Setter Property="Fill" TargetName="ArrowRight" Value="{DynamicResource ScrollBar.Pressed.Glyph}"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsMouseOver, ElementName=PART_LineLeftButton}" Value="true"/> + <Condition Binding="{Binding IsPressed, ElementName=PART_LineLeftButton}" Value="true"/> + </MultiDataTrigger.Conditions> + <Setter Property="Fill" TargetName="ArrowLeft" Value="{DynamicResource ScrollBar.Pressed.Glyph}"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsMouseOver, ElementName=PART_LineRightButton}" Value="true"/> + <Condition Binding="{Binding IsPressed, ElementName=PART_LineRightButton}" Value="false"/> + </MultiDataTrigger.Conditions> + <Setter Property="Fill" TargetName="ArrowRight" Value="{DynamicResource ScrollBar.MouseOver.Glyph}"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsMouseOver, ElementName=PART_LineLeftButton}" Value="true"/> + <Condition Binding="{Binding IsPressed, ElementName=PART_LineLeftButton}" Value="false"/> + </MultiDataTrigger.Conditions> + <Setter Property="Fill" TargetName="ArrowLeft" Value="{DynamicResource ScrollBar.MouseOver.Glyph}"/> + </MultiDataTrigger> + <Trigger Property="IsEnabled" Value="false"> + <Setter Property="Fill" TargetName="ArrowLeft" Value="{DynamicResource ScrollBar.Disabled.Glyph}"/> + <Setter Property="Fill" TargetName="ArrowRight" Value="{DynamicResource ScrollBar.Disabled.Glyph}"/> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + </Trigger> + </Style.Triggers> + </Style> + +</ResourceDictionary>
\ No newline at end of file diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/Shared.xaml b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/Shared.xaml new file mode 100644 index 000000000..9b196411b --- /dev/null +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/Shared.xaml @@ -0,0 +1,14 @@ +<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="clr-namespace:Tango.Scripting.IDE.Themes"> + <ResourceDictionary.MergedDictionaries> + <ResourceDictionary Source="MenuDict.xaml"/> + <ResourceDictionary Source="TabConrolStyle.xaml"/> + <ResourceDictionary Source="ToolbarStyle.xaml"/> + <ResourceDictionary Source="TreeViewItem.xaml"/> + <ResourceDictionary Source="ComboboxStyle.xaml"/> + <ResourceDictionary Source="DataGridStyle.xaml"/> + <ResourceDictionary Source="ScrollViewerStyle.xaml"/> + <ResourceDictionary Source="ButtonStyle.xaml"/> + </ResourceDictionary.MergedDictionaries> +</ResourceDictionary>
\ No newline at end of file diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/TabConrolStyle.xaml b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/TabConrolStyle.xaml new file mode 100644 index 000000000..81b4463f6 --- /dev/null +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/TabConrolStyle.xaml @@ -0,0 +1,354 @@ +<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="clr-namespace:Tango.Scripting.IDE.Themes"> + <Style x:Key="TangoTabControlStyle" TargetType="{x:Type TabControl}"> + <Setter Property="Padding" Value="2"/> + <Setter Property="HorizontalContentAlignment" Value="Center"/> + <Setter Property="VerticalContentAlignment" Value="Center"/> + <Setter Property="Background" Value="Transparent"/> + <Setter Property="BorderBrush" Value="Transparent"/> + <Setter Property="BorderThickness" Value="1"/> + <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type TabControl}"> + <Grid x:Name="templateRoot" ClipToBounds="true" SnapsToDevicePixels="true" KeyboardNavigation.TabNavigation="Local"> + <Grid.ColumnDefinitions> + <ColumnDefinition x:Name="ColumnDefinition0"/> + <ColumnDefinition x:Name="ColumnDefinition1" Width="0"/> + </Grid.ColumnDefinitions> + <Grid.RowDefinitions> + <RowDefinition x:Name="RowDefinition0" Height="Auto"/> + <RowDefinition x:Name="RowDefinition1" Height="*"/> + </Grid.RowDefinitions> + <TabPanel x:Name="headerPanel" Background="Transparent" Grid.Column="0" IsItemsHost="true" Margin="2,1,2,0" Grid.Row="0" KeyboardNavigation.TabIndex="1" Panel.ZIndex="1"/> + <Border x:Name="contentPanel" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="0,1,0,0" Background="{DynamicResource TabItem.Content.Static}" Grid.Column="0" KeyboardNavigation.DirectionalNavigation="Contained" Grid.Row="1" KeyboardNavigation.TabIndex="2" KeyboardNavigation.TabNavigation="Local"> + <ContentPresenter x:Name="PART_SelectedContentHost" ContentSource="SelectedContent" Margin="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> + </Border> + </Grid> + <ControlTemplate.Triggers> + <Trigger Property="TabStripPlacement" Value="Bottom"> + <Setter Property="Grid.Row" TargetName="headerPanel" Value="1"/> + <Setter Property="Grid.Row" TargetName="contentPanel" Value="0"/> + <Setter Property="Height" TargetName="RowDefinition0" Value="*"/> + <Setter Property="Height" TargetName="RowDefinition1" Value="Auto"/> + <Setter Property="Margin" TargetName="headerPanel" Value="0,0,2,2"/> + </Trigger> + <Trigger Property="TabStripPlacement" Value="Left"> + <Setter Property="Grid.Row" TargetName="headerPanel" Value="0"/> + <Setter Property="Grid.Row" TargetName="contentPanel" Value="0"/> + <Setter Property="Grid.Column" TargetName="headerPanel" Value="0"/> + <Setter Property="Grid.Column" TargetName="contentPanel" Value="1"/> + <Setter Property="Width" TargetName="ColumnDefinition0" Value="Auto"/> + <Setter Property="Width" TargetName="ColumnDefinition1" Value="*"/> + <Setter Property="Height" TargetName="RowDefinition0" Value="*"/> + <Setter Property="Height" TargetName="RowDefinition1" Value="0"/> + <Setter Property="Margin" TargetName="headerPanel" Value="2,2,0,2"/> + </Trigger> + <Trigger Property="TabStripPlacement" Value="Right"> + <Setter Property="Grid.Row" TargetName="headerPanel" Value="0"/> + <Setter Property="Grid.Row" TargetName="contentPanel" Value="0"/> + <Setter Property="Grid.Column" TargetName="headerPanel" Value="1"/> + <Setter Property="Grid.Column" TargetName="contentPanel" Value="0"/> + <Setter Property="Width" TargetName="ColumnDefinition0" Value="*"/> + <Setter Property="Width" TargetName="ColumnDefinition1" Value="Auto"/> + <Setter Property="Height" TargetName="RowDefinition0" Value="*"/> + <Setter Property="Height" TargetName="RowDefinition1" Value="0"/> + <Setter Property="Margin" TargetName="headerPanel" Value="0,2,2,2"/> + </Trigger> + <Trigger Property="IsEnabled" Value="false"> + <Setter Property="TextElement.Foreground" TargetName="templateRoot" Value="{DynamicResource ControlTextBrush}"/> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + <Style.Resources> + <Style TargetType="{x:Type TabItem}"> + <Setter Property="FocusVisualStyle" Value="{StaticResource FocusVisual}"/> + <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"/> + <Setter Property="Background" Value="{DynamicResource TabItem.Static.Background}"/> + <Setter Property="BorderBrush" Value="{DynamicResource TabItem.Static.Border}"/> + <Setter Property="Margin" Value="0"/> + <Setter Property="Padding" Value="6,2,6,2"/> + <Setter Property="HorizontalContentAlignment" Value="Stretch"/> + <Setter Property="VerticalContentAlignment" Value="Stretch"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type TabItem}"> + <Grid x:Name="templateRoot" SnapsToDevicePixels="true"> + <Border x:Name="mainBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1,1,1,0" Background="{TemplateBinding Background}" Margin="0,-1,0,0"> + <Border x:Name="innerBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="1,1,1,0" Background="{TemplateBinding Background}" Margin="0" Opacity="0"/> + </Border> + <StackPanel Orientation="Horizontal" Margin="0" > + <ContentPresenter x:Name="contentPresenter" ContentSource="Header" Focusable="False" HorizontalAlignment="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/> + <Button x:Name="CloseButton" Width="18" Height="18" + Margin="6,0,2,0" Padding="0" HorizontalContentAlignment="Center" VerticalContentAlignment="Center" HorizontalAlignment="Center" + Command="{Binding DataContext.CloseProjectItemCommand, RelativeSource={RelativeSource AncestorType={x:Type UserControl}}}" + CommandParameter="{Binding RelativeSource={RelativeSource AncestorType={x:Type TabItem}}, Path=Content}" + VerticalAlignment="Center" Focusable="False" Visibility="Hidden"> + <Grid Margin="0" HorizontalAlignment="Stretch" VerticalAlignment="Stretch" > + <Line StrokeThickness="2" StrokeStartLineCap="Round" StrokeEndLineCap="Round" Stroke="{DynamicResource ControlTextBrush}" X1="1" Y1="1" X2="9" Y2="9" HorizontalAlignment="Center" VerticalAlignment="Center" /> + <Line StrokeThickness="2" StrokeStartLineCap="Round" StrokeEndLineCap="Round" Stroke="{DynamicResource ControlTextBrush}" X1="1" Y1="9" X2="9" Y2="1" HorizontalAlignment="Center" VerticalAlignment="Center" /> + </Grid> + <Button.Style> + <Style TargetType="{x:Type Button}"> + <Setter Property="Background" Value="Transparent"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type Button}"> + <Border Background="{TemplateBinding Background}"> + <Grid> + <Rectangle x:Name="background" Fill="{DynamicResource TabItem.Static.Background}" Opacity="1"/> + <ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/> + </Grid> + </Border> + <ControlTemplate.Triggers> + <Trigger Property="IsMouseOver" Value="True"> + <Setter TargetName="background" Property="Fill" Value="#E51C97EA"/> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + + </Style> + </Button.Style> + </Button> + </StackPanel> + </Grid> + <ControlTemplate.Triggers> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="true"/> + <Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Left"/> + </MultiDataTrigger.Conditions> + <Setter Property="Background" TargetName="mainBorder" Value="{DynamicResource TabItem.MouseOver.Background}"/> + <Setter Property="BorderBrush" TargetName="mainBorder" Value="{DynamicResource TabItem.MouseOver.Border}"/> + <Setter Property="BorderThickness" TargetName="innerBorder" Value="1,1,0,1"/> + <Setter Property="BorderThickness" TargetName="mainBorder" Value="1,1,0,1"/> + <Setter Property="Visibility" TargetName="CloseButton" Value="Visible"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="true"/> + <Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Bottom"/> + </MultiDataTrigger.Conditions> + <Setter Property="Opacity" TargetName="contentPresenter" Value="1.0"/> + <Setter Property="Margin" Value="-2,0,-2,0"/> + <Setter Property="BorderBrush" TargetName="mainBorder" Value="{DynamicResource TabItem.MouseOver.Bottom.Background}"/> + <Setter Property="Background" TargetName="mainBorder" Value="{DynamicResource TabItem.MouseOver.Bottom.Background}"/> + <Setter Property="BorderThickness" TargetName="innerBorder" Value="1,0,1,1"/> + <Setter Property="BorderThickness" TargetName="mainBorder" Value="1,0,1,1"/> + <Setter Property="TextElement.Foreground" TargetName="templateRoot" Value="{DynamicResource TabItem.Selected.Background}"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="true"/> + <Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Right"/> + </MultiDataTrigger.Conditions> + <Setter Property="Background" TargetName="mainBorder" Value="{DynamicResource TabItem.MouseOver.Background}"/> + <Setter Property="BorderBrush" TargetName="mainBorder" Value="{DynamicResource TabItem.MouseOver.Border}"/> + <Setter Property="BorderThickness" TargetName="innerBorder" Value="0,1,1,1"/> + <Setter Property="BorderThickness" TargetName="mainBorder" Value="0,1,1,1"/> + <Setter Property="Visibility" TargetName="CloseButton" Value="Visible"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsMouseOver, RelativeSource={RelativeSource Self}}" Value="true"/> + <Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Top"/> + </MultiDataTrigger.Conditions> + <Setter Property="Visibility" TargetName="CloseButton" Value="Visible"/> + <Setter Property="Background" TargetName="mainBorder" Value="{DynamicResource TabItem.MouseOver.Background}"/> + <Setter Property="BorderBrush" TargetName="mainBorder" Value="{DynamicResource TabItem.MouseOver.Border}"/> + <Setter Property="BorderThickness" TargetName="innerBorder" Value="1,1,1,0"/> + <Setter Property="BorderThickness" TargetName="mainBorder" Value="1,1,1,0"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}" Value="false"/> + <Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Left"/> + </MultiDataTrigger.Conditions> + <Setter Property="Opacity" TargetName="contentPresenter" Value="0.56"/> + <Setter Property="Background" TargetName="mainBorder" Value="{DynamicResource TabItem.Disabled.Background}"/> + <Setter Property="BorderBrush" TargetName="mainBorder" Value="{DynamicResource TabItem.Disabled.Border}"/> + <Setter Property="BorderThickness" TargetName="innerBorder" Value="1,1,0,1"/> + <Setter Property="BorderThickness" TargetName="mainBorder" Value="1,1,0,1"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}" Value="false"/> + <Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Bottom"/> + </MultiDataTrigger.Conditions> + <Setter Property="Opacity" TargetName="contentPresenter" Value="0.56"/> + <Setter Property="Background" TargetName="mainBorder" Value="Transparent"/> + <Setter Property="BorderBrush" TargetName="mainBorder" Value="Transparent"/> + <Setter Property="BorderThickness" TargetName="innerBorder" Value="1,0,1,1"/> + <Setter Property="BorderThickness" TargetName="mainBorder" Value="1,0,1,1"/> + <Setter Property="Visibility" TargetName="CloseButton" Value="Collapsed"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}" Value="false"/> + <Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Right"/> + </MultiDataTrigger.Conditions> + <Setter Property="Opacity" TargetName="contentPresenter" Value="0.56"/> + <Setter Property="Background" TargetName="mainBorder" Value="{DynamicResource TabItem.Disabled.Background}"/> + <Setter Property="BorderBrush" TargetName="mainBorder" Value="{DynamicResource TabItem.Disabled.Border}"/> + <Setter Property="BorderThickness" TargetName="innerBorder" Value="0,1,1,1"/> + <Setter Property="BorderThickness" TargetName="mainBorder" Value="0,1,1,1"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsEnabled, RelativeSource={RelativeSource Self}}" Value="false"/> + <Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Top"/> + </MultiDataTrigger.Conditions> + <Setter Property="Opacity" TargetName="contentPresenter" Value="0.56"/> + <Setter Property="Background" TargetName="mainBorder" Value="{DynamicResource TabItem.Disabled.Background}"/> + <Setter Property="BorderBrush" TargetName="mainBorder" Value="{DynamicResource TabItem.Disabled.Border}"/> + <Setter Property="BorderThickness" TargetName="innerBorder" Value="1,1,1,0"/> + <Setter Property="BorderThickness" TargetName="mainBorder" Value="1,1,1,0"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Self}}" Value="false"/> + <Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Left"/> + </MultiDataTrigger.Conditions> + <Setter Property="BorderThickness" TargetName="innerBorder" Value="1,1,0,1"/> + <Setter Property="BorderThickness" TargetName="mainBorder" Value="1,1,0,1"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Self}}" Value="true"/> + <Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Left"/> + </MultiDataTrigger.Conditions> + <Setter Property="Panel.ZIndex" Value="1"/> + <Setter Property="Margin" Value="-2,-2,0,-2"/> + <Setter Property="Opacity" TargetName="innerBorder" Value="1"/> + <Setter Property="BorderThickness" TargetName="innerBorder" Value="1,1,0,1"/> + <Setter Property="BorderThickness" TargetName="mainBorder" Value="1,1,0,1"/> + <Setter Property="Visibility" TargetName="CloseButton" Value="Visible"/> + <Setter Property="Background" TargetName="mainBorder" Value="{DynamicResource TabItem.MouseOver.Background}"/> + <Setter Property="BorderBrush" TargetName="mainBorder" Value="{DynamicResource TabItem.MouseOver.Background}"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Self}}" Value="false"/> + <Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Bottom"/> + </MultiDataTrigger.Conditions> + <Setter Property="BorderThickness" TargetName="innerBorder" Value="1,0,1,1"/> + <Setter Property="BorderThickness" TargetName="mainBorder" Value="1,0,1,1"/> + <Setter Property="Visibility" TargetName="CloseButton" Value="Collapsed"/> + <Setter Property="BorderBrush" TargetName="mainBorder" Value="Transparent"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Self}}" Value="true"/> + <Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Bottom"/> + </MultiDataTrigger.Conditions> + <Setter Property="Panel.ZIndex" Value="1"/> + <Setter Property="Margin" Value="-2,0,-2,0"/> + <Setter Property="Opacity" TargetName="innerBorder" Value="1"/> + <Setter Property="BorderThickness" TargetName="innerBorder" Value="1,0,1,1"/> + <Setter Property="BorderThickness" TargetName="mainBorder" Value="1,0,1,1"/> + <Setter Property="TextElement.Foreground" TargetName="templateRoot" Value="{DynamicResource TabItem.MouseOver.Background}"/> + <Setter Property="Visibility" TargetName="CloseButton" Value="Collapsed"/> + <Setter Property="Background" TargetName="mainBorder" Value="{DynamicResource TabItem.Content.Static}"/> + <Setter Property="BorderBrush" TargetName="mainBorder" Value="{DynamicResource TabItem.Disabled.Background}"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Self}}" Value="false"/> + <Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Right"/> + </MultiDataTrigger.Conditions> + <Setter Property="BorderThickness" TargetName="innerBorder" Value="0,1,1,1"/> + <Setter Property="BorderThickness" TargetName="mainBorder" Value="0,1,1,1"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Self}}" Value="true"/> + <Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Right"/> + </MultiDataTrigger.Conditions> + <Setter Property="Panel.ZIndex" Value="1"/> + <Setter Property="Margin" Value="0,-2,-2,-2"/> + <Setter Property="Opacity" TargetName="innerBorder" Value="1"/> + <Setter Property="BorderThickness" TargetName="innerBorder" Value="0,1,1,1"/> + <Setter Property="BorderThickness" TargetName="mainBorder" Value="0,1,1,1"/> + <Setter Property="Visibility" TargetName="CloseButton" Value="Visible"/> + <Setter Property="Background" TargetName="mainBorder" Value="{DynamicResource TabItem.MouseOver.Background}"/> + <Setter Property="BorderBrush" TargetName="mainBorder" Value="{DynamicResource TabItem.MouseOver.Background}"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Self}}" Value="false"/> + <Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Top"/> + </MultiDataTrigger.Conditions> + <Setter Property="BorderThickness" TargetName="innerBorder" Value="1,1,1,0"/> + <Setter Property="BorderThickness" TargetName="mainBorder" Value="1,1,1,0"/> + </MultiDataTrigger> + <MultiDataTrigger> + <MultiDataTrigger.Conditions> + <Condition Binding="{Binding IsSelected, RelativeSource={RelativeSource Self}}" Value="true"/> + <Condition Binding="{Binding TabStripPlacement, RelativeSource={RelativeSource AncestorType={x:Type TabControl}}}" Value="Top"/> + </MultiDataTrigger.Conditions> + <Setter Property="Panel.ZIndex" Value="1"/> + <Setter Property="Margin" Value="-2,-2,-2,0"/> + <Setter Property="Opacity" TargetName="innerBorder" Value="1"/> + <Setter Property="BorderThickness" TargetName="innerBorder" Value="1,1,1,0"/> + <Setter Property="BorderThickness" TargetName="mainBorder" Value="1,1,1,0"/> + <Setter Property="Background" TargetName="mainBorder" Value="{DynamicResource TabItem.MouseOver.Background}"/> + <Setter Property="BorderBrush" TargetName="mainBorder" Value="{DynamicResource TabItem.MouseOver.Background}"/> + <Setter Property="Visibility" TargetName="CloseButton" Value="Visible"/> + </MultiDataTrigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + </Style.Resources> + </Style> + <Style x:Key="FocusVisual"> + <Setter Property="Control.Template"> + <Setter.Value> + <ControlTemplate> + <Rectangle Margin="2" SnapsToDevicePixels="true" Stroke="{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" StrokeThickness="1" StrokeDashArray="1 2"/> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + + <Style x:Key="TangoGroupBoxStyle" TargetType="{x:Type GroupBox}"> + <Setter Property="BorderBrush" Value="Transparent"/> + <Setter Property="BorderThickness" Value="1"/> + <Setter Property="Background" Value="{DynamicResource Background.Static}"/> + <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type GroupBox}"> + <Grid SnapsToDevicePixels="true"> + <Grid.ColumnDefinitions> + <ColumnDefinition Width="Auto"/> + <ColumnDefinition Width="*"/> + </Grid.ColumnDefinitions> + <Grid.RowDefinitions> + <RowDefinition Height="Auto"/> + <RowDefinition Height="Auto"/> + <RowDefinition Height="*"/> + </Grid.RowDefinitions> + <Border BorderBrush="{DynamicResource ListBorder}" BorderThickness="{TemplateBinding BorderThickness}" + Background="{TemplateBinding Background}" + Grid.ColumnSpan="2" + Grid.Column="0" CornerRadius="0" + Grid.Row="0" + Grid.RowSpan="3"> + </Border> + <Border x:Name="Header" Grid.Column="0" Padding="3,1,3,0" Grid.Row="0" Grid.RowSpan="2" BorderBrush="Transparent" BorderThickness="1" Margin="1" Grid.ColumnSpan="2"> + <ContentPresenter ContentSource="Header" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> + </Border> + <ContentPresenter Grid.Row="2" Margin="0,1,0,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" Grid.ColumnSpan="2" /> + </Grid> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> +</ResourceDictionary>
\ No newline at end of file diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/ToolbarStyle.xaml b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/ToolbarStyle.xaml new file mode 100644 index 000000000..6223934b5 --- /dev/null +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/ToolbarStyle.xaml @@ -0,0 +1,236 @@ +<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + x:Class="ToolbarSttyle.MainWindow"> + <Style x:Key="ToolBarVerticalOverflowButtonStyle" TargetType="{x:Type ToggleButton}"> + <Setter Property="Background" Value="{DynamicResource ToolBarToggleButtonVerticalBackground}"/> + <Setter Property="MinHeight" Value="0"/> + <Setter Property="MinWidth" Value="0"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type ToggleButton}"> + <Border x:Name="Bd" SnapsToDevicePixels="true" CornerRadius="0,0,3,3" Background="{TemplateBinding Background}"> + <Canvas Width="7" VerticalAlignment="Bottom" SnapsToDevicePixels="true" Margin="2,7,2,2" Height="6" HorizontalAlignment="Right"> + <!--<Path x:Name="Path1" Data="M 1.5 1 L 1.5 6" Stroke="{DynamicResource ToolBarGripper}"/>--> + <Path x:Name="Path2" Data="M 0.5 0 L 0.5 5" Stroke="{DynamicResource ControlForegroundKey}"/> + <!--<Path x:Name="Path3" Data="M 3.5 0.5 L 7 3.5 L 4 6.5 Z" Fill="{DynamicResource ToolBarGripper}"/>--> + <Path x:Name="Path4" Data="M 3 -0.5 L 6 2.5 L 3 5.5 Z" Fill="{DynamicResource ControlForegroundKey}"/> + </Canvas> + </Border> + <ControlTemplate.Triggers> + <Trigger Property="IsMouseOver" Value="true"> + <Setter Property="Background" TargetName="Bd" Value="{DynamicResource ToolBarButtonHover}"/> + <Setter Property="Stroke" TargetName="Path2" Value="{DynamicResource Grip.Submenu.Background.Selected}"/> + <Setter Property="Fill" TargetName="Path4" Value="{DynamicResource Grip.Submenu.Background.Selected}"/> + </Trigger> + <Trigger Property="IsKeyboardFocused" Value="true"> + <Setter Property="Background" TargetName="Bd" Value="{DynamicResource ToolBarButtonHover}"/> + <Setter Property="Stroke" TargetName="Path2" Value="{DynamicResource Grip.Submenu.Background.Selected}"/> + <Setter Property="Fill" TargetName="Path4" Value="{DynamicResource Grip.Submenu.Background.Selected}"/> + </Trigger> + <Trigger Property="IsEnabled" Value="false"> + <Setter Property="Foreground" Value="{DynamicResource ToolBarGripper}"/> + </Trigger> + <Trigger Property="IsPressed" Value="True"> + <Setter Property="Stroke" TargetName="Path2" Value="{DynamicResource Grip.Submenu.Background.Selected}"/> + <Setter Property="Fill" TargetName="Path4" Value="{DynamicResource Grip.Submenu.Background.Selected}"/> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + <Style.Triggers> + <DataTrigger Binding="{Binding Source={x:Static SystemParameters.HighContrast}}" Value="true"> + <Setter Property="Background" Value="{DynamicResource ControlBrushColorKey}"/> + </DataTrigger> + </Style.Triggers> + </Style> + <Style x:Key="ToolBarHorizontalOverflowButtonStyle" TargetType="{x:Type ToggleButton}"> + <Setter Property="Background" Value="{DynamicResource ToolBarToggleButtonHorizontalBackground}"/> + <Setter Property="MinHeight" Value="0"/> + <Setter Property="MinWidth" Value="0"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type ToggleButton}"> + <Border x:Name="Bd" SnapsToDevicePixels="true" CornerRadius="0,3,3,0" Background="{TemplateBinding Background}"> + <Canvas Width="6" VerticalAlignment="Bottom" SnapsToDevicePixels="true" Margin="7,2,2,2" Height="7" HorizontalAlignment="Right"> + <!--<Path x:Name="Path1" Data="M 1 1.5 L 6 1.5" Stroke="{DynamicResource ControlForegroundKey}"/>--> + <Path x:Name="Path2" Data="M 0 0.5 L 5 0.5" Stroke="{DynamicResource ControlForegroundKey}"/> + <!--<Path x:Name="Path3" Data="M 0.5 4 L 6.5 4 L 3.5 7 Z" Fill="{DynamicResource ControlForegroundKey}"/>--> + <Path x:Name="Path4" Data="M -0.5 3 L 5.5 3 L 2.5 6 Z" Fill="{DynamicResource ControlForegroundKey}"/> + </Canvas> + </Border> + <ControlTemplate.Triggers> + <Trigger Property="IsMouseOver" Value="true"> + <Setter Property="Background" TargetName="Bd" Value="{DynamicResource ToolBarButtonHover}"/> + <Setter Property="Stroke" TargetName="Path2" Value="{DynamicResource Grip.Submenu.Background.Selected}"/> + <Setter Property="Fill" TargetName="Path4" Value="{DynamicResource Grip.Submenu.Background.Selected}"/> + </Trigger> + <Trigger Property="IsKeyboardFocused" Value="true"> + <Setter Property="Background" TargetName="Bd" Value="{DynamicResource ToolBarButtonHover}"/> + <Setter Property="Stroke" TargetName="Path2" Value="{DynamicResource Grip.Submenu.Background.Selected}"/> + <Setter Property="Fill" TargetName="Path4" Value="{DynamicResource Grip.Submenu.Background.Selected}"/> + </Trigger> + <Trigger Property="IsEnabled" Value="false"> + <Setter Property="Foreground" Value="{DynamicResource ToolBarGripper}"/> + </Trigger> + <Trigger Property="IsPressed" Value="True"> + <Setter Property="Stroke" TargetName="Path2" Value="{DynamicResource Grip.Submenu.Background.Selected}"/> + <Setter Property="Fill" TargetName="Path4" Value="{DynamicResource Grip.Submenu.Background.Selected}"/> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + <Style.Triggers> + <DataTrigger Binding="{Binding Source={x:Static SystemParameters.HighContrast}}" Value="true"> + <Setter Property="Background" Value="{DynamicResource ControlBrushColorKey}"/> + </DataTrigger> + </Style.Triggers> + </Style> + <Style x:Key="ToolBarThumbStyle" TargetType="{x:Type Thumb}"> + <Setter Property="OverridesDefaultStyle" Value="true" /> + <Setter Property="Cursor" Value="SizeAll" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type Thumb}"> + <Border Background="Transparent" SnapsToDevicePixels="True"> + <Rectangle Margin="0,2" > + <Rectangle.Fill> + <DrawingBrush Viewport="0,0,4,4" ViewportUnits="Absolute" Viewbox="0,0,8,8" ViewboxUnits="Absolute" TileMode="Tile"> + <DrawingBrush.Drawing> + <DrawingGroup> + <GeometryDrawing Brush="#FF46464A" + Geometry="M 4 4 L 4 8 L 8 8 L 8 4 z" /> + </DrawingGroup> + </DrawingBrush.Drawing> + </DrawingBrush> + </Rectangle.Fill> + </Rectangle> + </Border> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + <Style x:Key="ToolBarMainPanelBorderStyle" TargetType="{x:Type Border}"> + <Setter Property="Margin" Value="0,0,11,0"/> + <Setter Property="CornerRadius" Value="3,3,3,3"/> + <Style.Triggers> + <DataTrigger Binding="{Binding Source={x:Static SystemParameters.HighContrast}}" Value="true"> + <Setter Property="CornerRadius" Value="0,0,0,0"/> + </DataTrigger> + </Style.Triggers> + </Style> + <Style x:Key="TangoToolBarStyle" TargetType="{x:Type ToolBar}"> + <Setter Property="Background" Value="{DynamicResource ToolBarHorizontalBackground}"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type ToolBar}"> + <Grid x:Name="Grid" Margin="3,1,1,1" SnapsToDevicePixels="true"> + <Grid x:Name="OverflowGrid" HorizontalAlignment="Right"> + <ToggleButton x:Name="OverflowButton" ClickMode="Press" FocusVisualStyle="{x:Null}" IsChecked="{Binding IsOverflowOpen, Mode=TwoWay, RelativeSource={RelativeSource TemplatedParent}}" IsEnabled="{TemplateBinding HasOverflowItems}" Style="{DynamicResource ToolBarHorizontalOverflowButtonStyle}"/> + <Popup x:Name="OverflowPopup" AllowsTransparency="true" Focusable="false" IsOpen="{Binding IsOverflowOpen, RelativeSource={RelativeSource TemplatedParent}}" PopupAnimation="{DynamicResource {x:Static SystemParameters.ComboBoxPopupAnimationKey}}" Placement="Bottom" StaysOpen="false"> + <!--<AThemes:SystemDropShadowChrome x:Name="Shdw" Color="Transparent">--> + <Border x:Name="ToolBarSubMenuBorder" BorderBrush="{DynamicResource ToolBarMenuBorder}" BorderThickness="1" Background="{DynamicResource ToolBarSubMenuBackground}" RenderOptions.ClearTypeHint="Enabled"> + <ToolBarOverflowPanel x:Name="PART_ToolBarOverflowPanel" KeyboardNavigation.DirectionalNavigation="Cycle" FocusVisualStyle="{x:Null}" Focusable="true" Margin="2" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" KeyboardNavigation.TabNavigation="Cycle" WrapWidth="200"/> + </Border> + <!--</AThemes:SystemDropShadowChrome>--> + </Popup> + </Grid> + <Border x:Name="MainPanelBorder" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" Style="{DynamicResource ToolBarMainPanelBorderStyle}"> + <DockPanel KeyboardNavigation.TabIndex="1" KeyboardNavigation.TabNavigation="Local"> + <Thumb x:Name="ToolBarThumb" Margin="-3,-1,0,0" Padding="6,5,1,6" Style="{StaticResource ToolBarThumbStyle}" Width="10"/> + <ContentPresenter x:Name="ToolBarHeader" ContentSource="Header" HorizontalAlignment="Center" Margin="4,0,4,0" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="Center"/> + <ToolBarPanel x:Name="PART_ToolBarPanel" IsItemsHost="true" Margin="0,1,2,2" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> + </DockPanel> + </Border> + </Grid> + <ControlTemplate.Triggers> + <Trigger Property="IsOverflowOpen" Value="true"> + <Setter Property="IsEnabled" TargetName="ToolBarThumb" Value="false"/> + </Trigger> + <Trigger Property="Header" Value="{x:Null}"> + <Setter Property="Visibility" TargetName="ToolBarHeader" Value="Collapsed"/> + </Trigger> + <Trigger Property="ToolBarTray.IsLocked" Value="true"> + <Setter Property="Visibility" TargetName="ToolBarThumb" Value="Collapsed"/> + </Trigger> + <Trigger Property="HasDropShadow" SourceName="OverflowPopup" Value="true"> + <!--<Setter Property="Margin" TargetName="Shdw" Value="0,0,5,5"/> + <Setter Property="SnapsToDevicePixels" TargetName="Shdw" Value="true"/> + <Setter Property="Color" TargetName="Shdw" Value="#71000000"/>--> + </Trigger> + <Trigger Property="Orientation" Value="Vertical"> + <Setter Property="Margin" TargetName="Grid" Value="1,3,1,1"/> + <Setter Property="Style" TargetName="OverflowButton" Value="{StaticResource ToolBarVerticalOverflowButtonStyle}"/> + <Setter Property="Height" TargetName="ToolBarThumb" Value="10"/> + <Setter Property="Width" TargetName="ToolBarThumb" Value="Auto"/> + <Setter Property="Margin" TargetName="ToolBarThumb" Value="-1,-3,0,0"/> + <Setter Property="Padding" TargetName="ToolBarThumb" Value="5,6,6,1"/> + <Setter Property="Margin" TargetName="ToolBarHeader" Value="0,0,0,4"/> + <Setter Property="Margin" TargetName="PART_ToolBarPanel" Value="1,0,2,2"/> + <Setter Property="DockPanel.Dock" TargetName="ToolBarThumb" Value="Top"/> + <Setter Property="DockPanel.Dock" TargetName="ToolBarHeader" Value="Top"/> + <Setter Property="HorizontalAlignment" TargetName="OverflowGrid" Value="Stretch"/> + <Setter Property="VerticalAlignment" TargetName="OverflowGrid" Value="Bottom"/> + <Setter Property="Placement" TargetName="OverflowPopup" Value="Right"/> + <Setter Property="Margin" TargetName="MainPanelBorder" Value="0,0,0,11"/> + <Setter Property="Background" Value="{DynamicResource ToolBarVerticalBackground}"/> + </Trigger> + <Trigger Property="IsEnabled" Value="false"> + <Setter Property="Foreground" Value="{DynamicResource Menu.Disable.Foreground}"/> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + <Style.Triggers> + <DataTrigger Binding="{Binding Source={x:Static SystemParameters.HighContrast}}" Value="true"> + <Setter Property="Background" Value="{DynamicResource ControlBrushColorKey}"/> + </DataTrigger> + </Style.Triggers> + <Style.Resources> + <Style TargetType="{x:Type Button}"> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type Button}"> + <Border x:Name="border" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" SnapsToDevicePixels="true"> + <Grid> + <Rectangle x:Name="background" Fill="Transparent" Opacity="1"/> + <ContentPresenter x:Name="contentPresenter" Focusable="False" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" Margin="{TemplateBinding Padding}" RecognizesAccessKey="True" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalAlignment="{TemplateBinding VerticalContentAlignment}"/> + </Grid> + </Border> + <ControlTemplate.Triggers> + <Trigger Property="IsDefaulted" Value="true"> + <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource {x:Static SystemColors.HighlightBrushKey}}"/> + </Trigger> + <Trigger Property="IsMouseOver" Value="true"> + <Setter Property="Fill" TargetName="background" Value="{DynamicResource Toolbar.Button.MaouseMove.Background}"/> + </Trigger> + <Trigger Property="IsPressed" Value="true"> + <Setter Property="Fill" TargetName="background" Value="{DynamicResource ControlBrushColorKey}"/> + </Trigger> + <Trigger Property="IsEnabled" Value="false"> + <Setter Property="Background" TargetName="border" Value="{DynamicResource Button.Disabled.Background}"/> + <Setter Property="BorderBrush" TargetName="border" Value="{DynamicResource Button.Disabled.Border}"/> + <Setter Property="TextElement.Foreground" TargetName="contentPresenter" Value="{DynamicResource Button.Disabled.Foreground}"/> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + </Style.Resources> + </Style> + + <Style x:Key="{x:Static ToolBar.SeparatorStyleKey}" TargetType="{x:Type Separator}"> + <Setter Property="Width" Value="1" /> + <Setter Property="Margin" Value="10,2,10,2" /> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type Separator}"> + <Rectangle Fill="{DynamicResource Inactive.Selection}" VerticalAlignment="Stretch"/> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> +</ResourceDictionary>
\ No newline at end of file diff --git a/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/TreeViewItem.xaml b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/TreeViewItem.xaml new file mode 100644 index 000000000..f76c133d6 --- /dev/null +++ b/Software/Visual_Studio/Scripting/Tango.Scripting.IDE/Themes/TreeViewItem.xaml @@ -0,0 +1,177 @@ +<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" + xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" + xmlns:local="clr-namespace:Tango.Scripting.IDE.Themes" + xmlns:conv="clr-namespace:Tango.Scripting.IDE.Converters"> + <Style x:Key="TangoTreeViewStyle" TargetType="{x:Type TreeView}"> + <Setter Property="Background" Value="{DynamicResource TreeBackgroundColor}"/> + <Setter Property="BorderBrush" Value="{DynamicResource ListBorder}"/> + <Setter Property="BorderThickness" Value="1"/> + <Setter Property="Padding" Value="1"/> + <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"/> + <Setter Property="ScrollViewer.HorizontalScrollBarVisibility" Value="Auto"/> + <Setter Property="ScrollViewer.VerticalScrollBarVisibility" Value="Auto"/> + <Setter Property="ScrollViewer.PanningMode" Value="Both"/> + <Setter Property="Stylus.IsFlicksEnabled" Value="False"/> + <Setter Property="VerticalContentAlignment" Value="Center"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type TreeView}"> + <Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" SnapsToDevicePixels="true"> + <ScrollViewer x:Name="_tv_scrollviewer_" Background="{TemplateBinding Background}" CanContentScroll="false" Focusable="false" HorizontalScrollBarVisibility="{TemplateBinding ScrollViewer.HorizontalScrollBarVisibility}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}" VerticalScrollBarVisibility="{TemplateBinding ScrollViewer.VerticalScrollBarVisibility}"> + <ItemsPresenter /> + </ScrollViewer> + </Border> + <ControlTemplate.Triggers> + <Trigger Property="IsEnabled" Value="false"> + <Setter Property="Background" TargetName="Bd" Value="{DynamicResource ControlTextBrush}"/> + </Trigger> + <Trigger Property="VirtualizingPanel.IsVirtualizing" Value="true"> + <Setter Property="CanContentScroll" TargetName="_tv_scrollviewer_" Value="true"/> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + <Style.Triggers> + <Trigger Property="VirtualizingPanel.IsVirtualizing" Value="true"> + <Setter Property="ItemsPanel"> + <Setter.Value> + <ItemsPanelTemplate> + <VirtualizingStackPanel/> + </ItemsPanelTemplate> + </Setter.Value> + </Setter> + </Trigger> + </Style.Triggers> + </Style> + <Style x:Key="TreeViewItemFocusVisual"> + <Setter Property="Control.Template"> + <Setter.Value> + <ControlTemplate> + <Rectangle/> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + <StreamGeometry x:Key="TreeArrow" >M0,0L0,6 6,0z</StreamGeometry> + <Style x:Key="ExpandCollapseToggleStyle" TargetType="{x:Type ToggleButton}"> + <Setter Property="Focusable" Value="False"/> + <Setter Property="Width" Value="16"/> + <Setter Property="Height" Value="16"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type ToggleButton}"> + <Border Background="Transparent" Height="16" Padding="5" Width="16"> + <Path x:Name="ExpandPath" Data="{StaticResource TreeArrow}" Fill="Transparent" Stroke="{DynamicResource TreeViewItem.TreeArrow.Static.Stroke}" Margin="2.5,0,-4.268,-1.768" Stretch="Fill"> + <Path.RenderTransform> + <RotateTransform Angle="135" CenterY="3" CenterX="3"/> + </Path.RenderTransform> + </Path> + </Border> + <ControlTemplate.Triggers> + <Trigger Property="IsChecked" Value="True"> + <Setter Property="RenderTransform" TargetName="ExpandPath"> + <Setter.Value> + <RotateTransform Angle="180" CenterY="3" CenterX="3"/> + </Setter.Value> + </Setter> + <Setter Property="Fill" TargetName="ExpandPath" Value="{DynamicResource TreeViewItem.TreeArrow.Static.Checked.Fill}"/> + <Setter Property="Stroke" TargetName="ExpandPath" Value="{DynamicResource TreeViewItem.TreeArrow.Static.Checked.Stroke}"/> + </Trigger> + <Trigger Property="IsMouseOver" Value="True"> + <Setter Property="Stroke" TargetName="ExpandPath" Value="{DynamicResource TreeViewItem.TreeArrow.MouseOver.Stroke}"/> + <Setter Property="Fill" TargetName="ExpandPath" Value="{DynamicResource TreeViewItem.TreeArrow.MouseOver.Fill}"/> + </Trigger> + <MultiTrigger> + <MultiTrigger.Conditions> + <Condition Property="IsMouseOver" Value="True"/> + <Condition Property="IsChecked" Value="True"/> + </MultiTrigger.Conditions> + <Setter Property="Stroke" TargetName="ExpandPath" Value="{DynamicResource TreeViewItem.TreeArrow.MouseOver.Checked.Stroke}"/> + <Setter Property="Fill" TargetName="ExpandPath" Value="{DynamicResource TreeViewItem.TreeArrow.MouseOver.Checked.Fill}"/> + </MultiTrigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + </Style> + <Style TargetType="{x:Type TreeViewItem}"> + <Setter Property="Background" Value="Transparent"/> + <Setter Property="HorizontalContentAlignment" Value="{Binding HorizontalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/> + <Setter Property="VerticalContentAlignment" Value="{Binding VerticalContentAlignment, RelativeSource={RelativeSource AncestorType={x:Type ItemsControl}}}"/> + <Setter Property="Padding" Value="4,0,0,0"/> + <Setter Property="Foreground" Value="{DynamicResource ControlTextBrush}"/> + <Setter Property="FocusVisualStyle" Value="{StaticResource TreeViewItemFocusVisual}"/> + <Setter Property="Template"> + <Setter.Value> + <ControlTemplate TargetType="{x:Type TreeViewItem}"> + <ControlTemplate.Resources> + <conv:LeftMarginMultiplierConverter Length="19" x:Key="lengthConverter" /> + </ControlTemplate.Resources> + <StackPanel> + <Border x:Name="Bd" BorderBrush="{TemplateBinding BorderBrush}" BorderThickness="{TemplateBinding BorderThickness}" Background="{TemplateBinding Background}" Padding="{TemplateBinding Padding}" SnapsToDevicePixels="true"> + <Grid x:Name="GridTreeItem" Margin="{Binding Converter={StaticResource lengthConverter}, + RelativeSource={RelativeSource TemplatedParent}}"> + <Grid.ColumnDefinitions> + <ColumnDefinition MinWidth="19" Width="Auto"/> + <ColumnDefinition Width="*"/> + </Grid.ColumnDefinitions> + <ToggleButton x:Name="Expander" ClickMode="Press" IsChecked="{Binding IsExpanded, RelativeSource={RelativeSource TemplatedParent}}" Style="{StaticResource ExpandCollapseToggleStyle}"/> + <ContentPresenter x:Name="PART_Header" Grid.Column="1" ContentSource="Header" HorizontalAlignment="{TemplateBinding HorizontalContentAlignment}" SnapsToDevicePixels="{TemplateBinding SnapsToDevicePixels}"/> + </Grid> + </Border> + <ItemsPresenter x:Name="ItemsHost"/> + </StackPanel> + <ControlTemplate.Triggers> + <Trigger Property="IsExpanded" Value="false"> + <Setter Property="Visibility" TargetName="ItemsHost" Value="Collapsed"/> + </Trigger> + <Trigger Property="HasItems" Value="false"> + <Setter Property="Visibility" TargetName="Expander" Value="Hidden"/> + </Trigger> + <MultiTrigger> + <MultiTrigger.Conditions> + <Condition Property="HasHeader" Value="false"/> + <Condition Property="Width" Value="Auto"/> + </MultiTrigger.Conditions> + <Setter TargetName="PART_Header" Property="MinWidth" Value="75"/> + </MultiTrigger> + <MultiTrigger> + <MultiTrigger.Conditions> + <Condition Property="HasHeader" Value="false"/> + <Condition Property="Height" Value="Auto"/> + </MultiTrigger.Conditions> + <Setter TargetName="PART_Header" Property="MinHeight" Value="19"/> + </MultiTrigger> + <Trigger Property="IsSelected" Value="true"> + <Setter Property="Background" TargetName="Bd" Value="{DynamicResource ControlBrushColorKey}"/> + <Setter Property="Foreground" Value="{DynamicResource HighlightTextBrushKey}"/> + </Trigger> + <MultiTrigger> + <MultiTrigger.Conditions> + <Condition Property="IsSelected" Value="true"/> + <Condition Property="IsSelectionActive" Value="false"/> + </MultiTrigger.Conditions> + <Setter Property="Background" TargetName="GridTreeItem" Value="{DynamicResource ControlBrushColorKey}"/> + <Setter Property="Foreground" Value="{DynamicResource HighlightTextBrushKey}"/> + </MultiTrigger> + <Trigger Property="IsEnabled" Value="false"> + <Setter Property="Foreground" Value="{DynamicResource Inactive.Selection}"/> + </Trigger> + </ControlTemplate.Triggers> + </ControlTemplate> + </Setter.Value> + </Setter> + <Style.Triggers> + <Trigger Property="VirtualizingPanel.IsVirtualizing" Value="true"> + <Setter Property="ItemsPanel"> + <Setter.Value> + <ItemsPanelTemplate> + <VirtualizingStackPanel/> + </ItemsPanelTemplate> + </Setter.Value> + </Setter> + </Trigger> + </Style.Triggers> + </Style> +</ResourceDictionary>
\ No newline at end of file |
