This commit is contained in:
Frank Skare
2019-03-27 01:52:51 +01:00
parent 77ba7f105c
commit 1080d0afd7
19 changed files with 322 additions and 207 deletions

View File

@@ -46,6 +46,7 @@ namespace DynamicGUI
}
baseSetting.Name = setting["name"];
baseSetting.Filter = setting["filter"];
if (setting.HasKey("help")) baseSetting.Help = setting["help"];
if (setting.HasKey("helpurl")) baseSetting.HelpURL = setting["helpurl"];
if (setting.HasKey("alias")) baseSetting.Alias = setting["alias"];
@@ -62,6 +63,7 @@ namespace DynamicGUI
public string Alias { get; set; }
public string Help { get; set; }
public string HelpURL { get; set; }
public string Filter { get; set; }
public int Width { get; set; }
}

View File

@@ -1,7 +1,8 @@
namespace DynamicGUI
{
interface ISearch
interface ISettingControl
{
bool Contains(string searchString);
SettingBase SettingBase { get; }
}
}

View File

@@ -7,8 +7,8 @@
mc:Ignorable="d"
d:DesignHeight="450" d:DesignWidth="800">
<Grid Margin="20,0">
<WrapPanel Orientation="Vertical">
<TextBox x:Name="TitleTextBox" FontSize="24" Margin="0,10" BorderThickness="0" IsReadOnly="True"></TextBox>
<StackPanel>
<TextBox x:Name="TitleTextBox" FontSize="24" Margin="0,10" BorderThickness="0" IsReadOnly="True" Foreground="{x:Static SystemParameters.WindowGlassBrush}"></TextBox>
<ItemsControl x:Name="ItemsControl">
<ItemsControl.ItemTemplate>
<DataTemplate>
@@ -20,9 +20,9 @@
</ItemsControl.ItemTemplate>
</ItemsControl>
<TextBox x:Name="HelpTextBox" TextWrapping="WrapWithOverflow" BorderThickness="0" IsReadOnly="True" Margin="0,10,0,0"></TextBox>
<TextBlock Margin="0,10,0,0">
<TextBlock x:Name="LinkTextBlock" Margin="0,10">
<local:HyperlinkEx x:Name="Link"></local:HyperlinkEx>
</TextBlock>
</WrapPanel>
</StackPanel>
</Grid>
</UserControl>

View File

@@ -1,8 +1,9 @@
using System.Windows.Controls;
using System.Windows;
using System.Windows.Controls;
namespace DynamicGUI
{
public partial class OptionSettingControl : UserControl, ISearch
public partial class OptionSettingControl : UserControl, ISettingControl
{
private OptionSetting OptionSetting;
@@ -14,6 +15,9 @@ namespace DynamicGUI
HelpTextBox.Text = optionSetting.Help;
ItemsControl.ItemsSource = optionSetting.Options;
Link.SetURL(optionSetting.HelpURL);
if (string.IsNullOrEmpty(optionSetting.HelpURL))
LinkTextBlock.Visibility = Visibility.Collapsed;
}
private string _SearchableText;
@@ -31,6 +35,7 @@ namespace DynamicGUI
}
}
public SettingBase SettingBase => OptionSetting;
public bool Contains(string searchString) => SearchableText.Contains(searchString.ToLower());
}
}

View File

@@ -8,8 +8,8 @@
d:DesignHeight="450"
d:DesignWidth="800" >
<Grid Margin="20,0">
<WrapPanel Orientation="Vertical">
<TextBox x:Name="TitleTextBox" FontSize="24" Margin="0,0,0,10" BorderThickness="0" IsReadOnly="True"></TextBox>
<StackPanel>
<TextBox x:Name="TitleTextBox" FontSize="24" Margin="0,10" BorderThickness="0" IsReadOnly="True" Foreground="{x:Static SystemParameters.WindowGlassBrush}"></TextBox>
<Grid Margin="0,0,0,10">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
@@ -19,6 +19,9 @@
<Button x:Name="Button" Height="20" Grid.Column="1" Visibility="{Binding Path=Text, ElementName=StringSettingControl1}" Margin="5,0,0,0" Width="20" Click="Button_Click">...</Button>
</Grid>
<TextBox x:Name="HelpTextBox" TextWrapping="WrapWithOverflow" Margin="0,0,0,10" BorderThickness="0" IsReadOnly="True"></TextBox>
</WrapPanel>
<TextBlock x:Name="LinkTextBlock" Margin="0,10">
<local:HyperlinkEx x:Name="Link"></local:HyperlinkEx>
</TextBlock>
</StackPanel>
</Grid>
</UserControl>

View File

@@ -3,7 +3,7 @@ using System.Windows.Controls;
namespace DynamicGUI
{
public partial class StringSettingControl : UserControl, ISearch
public partial class StringSettingControl : UserControl, ISettingControl
{
private StringSetting StringSetting;
@@ -11,7 +11,6 @@ namespace DynamicGUI
{
StringSetting = stringSetting;
InitializeComponent();
TitleTextBox.Text = stringSetting.Name;
HelpTextBox.Text = stringSetting.Help;
ValueTextBox.Text = stringSetting.Value;
@@ -19,6 +18,10 @@ namespace DynamicGUI
ValueTextBox.Width = stringSetting.Width;
if (!StringSetting.IsFolder)
Button.Visibility = Visibility.Hidden;
Link.SetURL(StringSetting.HelpURL);
if (string.IsNullOrEmpty(stringSetting.HelpURL))
LinkTextBlock.Visibility = Visibility.Collapsed;
}
private string _SearchableText;
@@ -33,6 +36,7 @@ namespace DynamicGUI
}
public bool Contains(string searchString) => SearchableText.Contains(searchString.ToLower());
public SettingBase SettingBase => StringSetting;
public string Text
{