aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/SideChains/ICSharpCode.AvalonEdit/Search/DropDownButton.xaml
blob: 597f2fba4cb069b291e08fbc32439bd742ccece4 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
	xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
	xmlns:local="clr-namespace:ICSharpCode.AvalonEdit.Search"
>
	<!-- Colors for DropDownButton and SplitButton -->
	<SolidColorBrush x:Key="{ComponentResourceKey {x:Type local:DropDownButton}, ActiveBorder}" Color="#FF0A246A"/>
	<SolidColorBrush x:Key="{ComponentResourceKey {x:Type local:DropDownButton}, ActiveBackground}" Color="#FFB6BDD2"/>
	
	<!-- Style and Template for DropDownButton -->
	<Style TargetType="{x:Type local:DropDownButton}">
		<Setter Property="TextElement.Foreground" Value = "{DynamicResource {x:Static SystemColors.ControlTextBrushKey}}" />
		<Setter Property="Control.Padding" Value="2,2,2,2"/>
		<Setter Property="Border.BorderThickness" Value="1,1,1,1"/>
		<Setter Property="Panel.Background" Value="Transparent"/>
		<Setter Property="Border.BorderBrush" Value="Transparent"/>
		<Setter Property="FrameworkElement.HorizontalAlignment" Value="Center"/>
		<Setter Property="FrameworkElement.VerticalAlignment" Value="Center"/>
		<Setter Property="Control.HorizontalContentAlignment" Value="Center"/>
		<Setter Property="Control.VerticalContentAlignment" Value="Center"/>
		<Setter Property="Template">
			<Setter.Value>
				<ControlTemplate TargetType="local:DropDownButton"
				                 xmlns:s="clr-namespace:System;assembly=mscorlib">
					<Border
						BorderThickness="{TemplateBinding Border.BorderThickness}"
						BorderBrush="{TemplateBinding Border.BorderBrush}"
						Background="{TemplateBinding Panel.Background}"
						Name="OuterBorder"
						SnapsToDevicePixels="True"
					>
						<StackPanel Orientation="Horizontal">
							<ContentPresenter
								Margin="{TemplateBinding Control.Padding}"
								Content="{TemplateBinding ContentControl.Content}"
								ContentTemplate="{TemplateBinding ContentControl.ContentTemplate}"
								ContentStringFormat="{TemplateBinding ContentControl.ContentStringFormat}"
								HorizontalAlignment="{TemplateBinding Control.HorizontalContentAlignment}"
								VerticalAlignment="{TemplateBinding Control.VerticalContentAlignment}"
								SnapsToDevicePixels="{TemplateBinding UIElement.SnapsToDevicePixels}" />
							<Path Margin="0,2,2,2"
							      Data = "M0,0 L1,0 0.5,1 z"
							      Fill = "{TemplateBinding TextElement.Foreground}"
							      Width = "7"
							      Height = "3.5"
							      Stretch = "Fill"/>
						</StackPanel>
					</Border>
					<ControlTemplate.Triggers>
						<Trigger Property="UIElement.IsMouseOver" Value="True">
							<Setter Property="Border.BorderBrush" TargetName="OuterBorder" Value="{DynamicResource {ComponentResourceKey {x:Type local:DropDownButton}, ActiveBorder}}" />
							<Setter Property="Panel.Background" TargetName="OuterBorder" Value="{DynamicResource {ComponentResourceKey {x:Type local:DropDownButton}, ActiveBackground}}"/>
						</Trigger>
						<Trigger Property="UIElement.IsKeyboardFocused" Value="True">
							<Setter Property="Border.BorderBrush" TargetName="OuterBorder" Value="{DynamicResource {ComponentResourceKey {x:Type local:DropDownButton}, ActiveBorder}}"/>
							<Setter Property="Panel.Background" TargetName="OuterBorder" Value="{DynamicResource {ComponentResourceKey {x:Type local:DropDownButton}, ActiveBackground}}"/>
						</Trigger>
						<Trigger Property="UIElement.IsEnabled" Value="False">
							<Setter Property="TextElement.Foreground" Value="{DynamicResource {x:Static SystemColors.GrayTextBrushKey}}"/>
						</Trigger>
						<Trigger Property="local:DropDownButton.IsDropDownContentOpen" Value="True">
							<Setter Property="Border.BorderBrush" TargetName="OuterBorder" Value="{DynamicResource {x:Static SystemColors.ControlDarkBrushKey}}" />
							<Setter Property="Border.BorderThickness" TargetName="OuterBorder" Value="1,1,1,0" />
							<Setter Property="Border.Padding" TargetName="OuterBorder" Value="0,0,0,1" />
							<Setter Property="Panel.Background" TargetName="OuterBorder" Value="Transparent"/>
						</Trigger>
					</ControlTemplate.Triggers>
				</ControlTemplate>
			</Setter.Value>
		</Setter>
	</Style>
</ResourceDictionary>
span class="w"> value; RaisePropertyChangedAuto(); TechName = _techMonitor != null ? _techMonitor.Description : null; ItemGuid = value != null ? value.Guid : null; } } private double _value; /// <summary> /// Gets or sets the current value. /// </summary> [XmlIgnore] public double Value { get { return _value; } set { _value = value; RaisePropertyChanged(nameof(Value)); LastUpdateTime = DateTime.Now; } } private int _updateInterval; /// <summary> /// Gets or sets the minimum update interval. /// </summary> public int UpdateInterval { get { return _updateInterval; } set { _updateInterval = value; RaisePropertyChangedAuto(); } } private int _ledCount; /// <summary> /// Gets or sets the amount of LED's. /// </summary> public int LedCount { get { return _ledCount; } set { _ledCount = value; RaisePropertyChangedAuto(); } } private int _ticksCount; /// <summary> /// Gets or sets the amount of meter ticks. /// </summary> public int TicksCount { get { return _ticksCount; } set { _ticksCount = value; RaisePropertyChangedAuto(); } } private TickPlacement _tickPlacement; /// <summary> /// Gets or sets the ticks placement. /// </summary> public TickPlacement TickPlacement { get { return _tickPlacement; } set { _tickPlacement = value; RaisePropertyChangedAuto(); } } /// <summary> /// Gets or sets the last update time. /// </summary> [XmlIgnore] public DateTime LastUpdateTime { get; set; } /// <summary> /// Initializes a new instance of the <see cref="MeterItem"/> class. /// </summary> public MeterItem() : base() { Name = "VU Monitor"; Description = "VU Meter monitor"; Image = ResourceHelper.GetImageFromResources("Images/volume.png"); LastUpdateTime = DateTime.Now; UpdateInterval = 10; LedCount = 14; TicksCount = 14; TickPlacement = TickPlacement.BottomRight; Color = Colors.DimGray; } /// <summary> /// Initializes a new instance of the <see cref="MeterItem"/> class. /// </summary> /// <param name="techMonitor">The db tech monitor.</param> public MeterItem(TechMonitor techMonitor) : this() { TechMonitor = techMonitor; } /// <summary> /// Clones this instance. /// </summary> /// <returns></returns> public override TechItem Clone() { MeterItem cloned = base.Clone() as MeterItem; cloned.TechMonitor = TechMonitor; cloned.UpdateInterval = UpdateInterval; cloned.LedCount = LedCount; cloned.TicksCount = TicksCount; return cloned; } } }