Skip to content

Commit

Permalink
fixes in EntryView and ModbusPlugin;
Browse files Browse the repository at this point in the history
  • Loading branch information
noant committed Mar 23, 2019
1 parent 7e2fdcd commit 1311175
Show file tree
Hide file tree
Showing 47 changed files with 70 additions and 99 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:installLocation="auto" android:versionName="First" package="lazurite.lazurite" android:versionCode="355">
<manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:installLocation="auto" android:versionName="First" package="lazurite.lazurite" android:versionCode="358">
<uses-sdk android:minSdkVersion="18" android:targetSdkVersion="28" />
<application android:label="Lazurite" android:icon="@drawable/splashscreen"></application>
<receiver android:name=".StartLazuriteServiceReceiver" android:enabled="true" android:exported="true">
Expand Down
4 changes: 2 additions & 2 deletions Lazurite/LazuriteUI.Windows.Controls/App.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:LazuriteUI.Windows.Controls"
StartupUri="MainWindow.xaml">
StartupUri="WindowTest.xaml">
<Application.Resources>
<ResourceDictionary Source="/LazuriteUI.Windows.Controls;component/Styles/Styles.xaml"/>
<ResourceDictionary Source="/LazuriteUI.Windows.Controls;component/Styles/Styles.xaml" />
</Application.Resources>
</Application>
93 changes: 44 additions & 49 deletions Lazurite/LazuriteUI.Windows.Controls/EntryView.cs
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

namespace LazuriteUI.Windows.Controls
{
public class EntryView: TextBox
public class EntryView : TextBox
{
public Action<EntryViewValidation> Validation;

Expand All @@ -29,7 +29,8 @@ public EntryView()
BorderBrush = new SolidColorBrush(Colors.SteelBlue);
CaretBrush = new SolidColorBrush(Colors.SteelBlue);
var ignoreTextChangedFlag = false;
base.TextChanged += (o, e) => {
base.TextChanged += (o, e) =>
{
if (ignoreTextChangedFlag)
return;
int caretIndex = CaretIndex;
Expand Down Expand Up @@ -96,7 +97,8 @@ public EntryViewValidation(EntryView view)

public static Action<EntryViewValidation> IntValidation(string fieldDescription = "", int min = int.MinValue, int max = int.MaxValue, bool roundToMargin = true)
{
return (v) => {
return (v) =>
{
if (v.InputString == string.Empty)
{
v.OutputString = min.ToString();
Expand All @@ -118,27 +120,23 @@ public static Action<EntryViewValidation> IntValidation(string fieldDescription
else
{
if (value > max)
v.ErrorMessage = "Значение поля [" + fieldDescription + "] должно быть меньше " + max;
v.ErrorMessage = $"Значение поля [{fieldDescription}] должно быть меньше {max}";
else if (value < min)
v.ErrorMessage = "Значение поля [" + fieldDescription + "] должно быть больше " + min;
v.ErrorMessage = $"Значение поля [{fieldDescription}] должно быть больше {min}";
}
v.OutputString = value.ToString();
};
}

public static Action<EntryViewValidation> UIntValidation(string fieldDescription = "", uint min = uint.MinValue, uint max = uint.MaxValue, bool roundToMargin = true)
{
return (v) => {
return (v) =>
{
if (v.InputString == string.Empty)
{
v.OutputString = min.ToString();
v.SelectAll = true;
}
if (v.InputString == "-")
{
v.InputString = "-1";
v.AfterValidation = (s) => v.EntryView.Select(1, 1);
}
var value = uint.Parse(v.InputString);
if (roundToMargin)
{
Expand All @@ -150,27 +148,23 @@ public static Action<EntryViewValidation> UIntValidation(string fieldDescription
else
{
if (value > max)
v.ErrorMessage = "Значение поля [" + fieldDescription + "] должно быть меньше " + max;
v.ErrorMessage = $"Значение поля [{fieldDescription}] должно быть меньше {max}";
else if (value < min)
v.ErrorMessage = "Значение поля [" + fieldDescription + "] должно быть больше " + min;
v.ErrorMessage = $"Значение поля [{fieldDescription}] должно быть больше {min}";
}
v.OutputString = value.ToString();
};
}

public static Action<EntryViewValidation> UShortValidation(string fieldDescription = "", ushort min = ushort.MinValue, ushort max = ushort.MaxValue, bool roundToMargin = true)
{
return (v) => {
return (v) =>
{
if (v.InputString == string.Empty)
{
v.OutputString = min.ToString();
v.SelectAll = true;
}
if (v.InputString == "-")
{
v.InputString = "-1";
v.AfterValidation = (s) => v.EntryView.Select(1, 1);
}
var value = ushort.Parse(v.InputString);
if (roundToMargin)
{
Expand All @@ -182,17 +176,18 @@ public static Action<EntryViewValidation> UShortValidation(string fieldDescripti
else
{
if (value > max)
v.ErrorMessage = "Значение поля [" + fieldDescription + "] должно быть меньше " + max;
v.ErrorMessage = $"Значение поля [{fieldDescription}] должно быть меньше {max}";
else if (value < min)
v.ErrorMessage = "Значение поля [" + fieldDescription + "] должно быть больше " + min;
v.ErrorMessage = $"Значение поля [{fieldDescription}] должно быть больше {min}";
}
v.OutputString = value.ToString();
};
}

public static Action<EntryViewValidation> ShortValidation(string fieldDescription = "", short min = short.MinValue, short max = short.MaxValue, bool roundToMargin = true)
{
return (v) => {
return (v) =>
{
if (v.InputString == string.Empty)
{
v.OutputString = min.ToString();
Expand All @@ -214,20 +209,21 @@ public static Action<EntryViewValidation> ShortValidation(string fieldDescriptio
else
{
if (value > max)
v.ErrorMessage = "Значение поля [" + fieldDescription + "] должно быть меньше " + max;
v.ErrorMessage = $"Значение поля [{fieldDescription}] должно быть меньше {max}";
else if (value < min)
v.ErrorMessage = "Значение поля [" + fieldDescription + "] должно быть больше " + min;
v.ErrorMessage = $"Значение поля [{fieldDescription}] должно быть больше {min}";
}
v.OutputString = value.ToString();
};
}

public static Action<EntryViewValidation> DoubleValidation(string fieldDescription = "", double min = double.MinValue, double max = double.MaxValue, bool roundToMargin = true)
{
return (v) => {
return (v) =>
{
if (v.InputString == string.Empty)
{
v.OutputString = min.ToString();
v.OutputString = min.ToString("R");
v.SelectAll = true;
}
if (v.InputString == "-")
Expand All @@ -246,20 +242,21 @@ public static Action<EntryViewValidation> DoubleValidation(string fieldDescripti
else
{
if (value > max)
v.ErrorMessage = "Значение поля [" + fieldDescription + "] должно быть меньше " + max;
v.ErrorMessage = $"Значение поля [{fieldDescription}] должно быть меньше {max}";
else if (value < min)
v.ErrorMessage = "Значение поля [" + fieldDescription + "] должно быть больше " + min;
v.ErrorMessage = $"Значение поля [{fieldDescription}] должно быть больше {min}";
}
v.OutputString = value.ToString();
v.OutputString = value.ToString("R");
};
}

public static Action<EntryViewValidation> FloatValidation(string fieldDescription = "", float min = float.MinValue, float max = float.MaxValue, bool roundToMargin = true)
{
return (v) => {
return (v) =>
{
if (v.InputString == string.Empty)
{
v.OutputString = min.ToString();
v.OutputString = min.ToString("R");
v.SelectAll = true;
}
if (v.InputString == "-")
Expand All @@ -278,17 +275,18 @@ public static Action<EntryViewValidation> FloatValidation(string fieldDescriptio
else
{
if (value > max)
v.ErrorMessage = "Значение поля [" + fieldDescription + "] должно быть меньше " + max;
v.ErrorMessage = $"Значение поля [{fieldDescription}] должно быть меньше {max}";
else if (value < min)
v.ErrorMessage = "Значение поля [" + fieldDescription + "] должно быть больше " + min;
v.ErrorMessage = $"Значение поля [{fieldDescription}] должно быть больше {min}";
}
v.OutputString = value.ToString();
v.OutputString = value.ToString("R");
};
}

public static Action<EntryViewValidation> LongValidation(string fieldDescription = "", long min = long.MinValue, long max = long.MaxValue, bool roundToMargin = true)
{
return (v) => {
return (v) =>
{
if (v.InputString == string.Empty)
{
v.OutputString = min.ToString();
Expand All @@ -310,27 +308,23 @@ public static Action<EntryViewValidation> LongValidation(string fieldDescription
else
{
if (value > max)
v.ErrorMessage = "Значение поля [" + fieldDescription + "] должно быть меньше " + max;
v.ErrorMessage = $"Значение поля [{fieldDescription}] должно быть меньше {max}";
else if (value < min)
v.ErrorMessage = "Значение поля [" + fieldDescription + "] должно быть больше " + min;
v.ErrorMessage = $"Значение поля [{fieldDescription}] должно быть больше {min}";
}
v.OutputString = value.ToString();
};
}

public static Action<EntryViewValidation> ULongValidation(string fieldDescription = "", ulong min = ulong.MinValue, ulong max = ulong.MaxValue, bool roundToMargin = true)
{
return (v) => {
return (v) =>
{
if (v.InputString == string.Empty)
{
v.OutputString = min.ToString();
v.SelectAll = true;
}
if (v.InputString == "-")
{
v.InputString = "-1";
v.AfterValidation = (s) => v.EntryView.Select(1, 1);
}
var value = ulong.Parse(v.InputString);
if (roundToMargin)
{
Expand All @@ -342,17 +336,18 @@ public static Action<EntryViewValidation> ULongValidation(string fieldDescriptio
else
{
if (value > max)
v.ErrorMessage = "Значение поля [" + fieldDescription + "] должно быть меньше " + max;
v.ErrorMessage = $"Значение поля [{fieldDescription}] должно быть меньше {max}";
else if (value < min)
v.ErrorMessage = "Значение поля [" + fieldDescription + "] должно быть больше " + min;
v.ErrorMessage = $"Значение поля [{fieldDescription}] должно быть больше {min}";
}
v.OutputString = value.ToString();
};
}

public static Action<EntryViewValidation> DecimalValidation(string fieldDescription = "", decimal min = decimal.MinValue, decimal max = decimal.MaxValue, bool roundToMargin = true)
{
return (v) => {
return (v) =>
{
if (v.InputString == string.Empty)
{
v.OutputString = min.ToString();
Expand All @@ -374,12 +369,12 @@ public static Action<EntryViewValidation> DecimalValidation(string fieldDescript
else
{
if (value > max)
v.ErrorMessage = "Значение поля [" + fieldDescription + "] должно быть меньше " + max;
v.ErrorMessage = $"Значение поля [{fieldDescription}] должно быть меньше {max}";
else if (value < min)
v.ErrorMessage = "Значение поля [" + fieldDescription + "] должно быть больше " + min;
v.ErrorMessage = $"Значение поля [{fieldDescription}] должно быть больше {min}";
}
v.OutputString = value.ToString();
};
}
}
}
}
6 changes: 3 additions & 3 deletions Lazurite/LazuriteUI.Windows.Controls/WindowTest.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:LazuriteUI.Windows.Controls"
mc:Ignorable="d"
Background="Black"
Title="WindowTest" Height="450" Width="800">
<Grid>
<local:ComboItemsView x:Name="combo" Width="500"></local:ComboItemsView>
<Grid x:Name="grid"></Grid>
<local:EntryView x:Name="entryView" Width="200" HorizontalAlignment="Center" VerticalAlignment="Center"></local:EntryView>
</Grid>
</Window>
</Window>
37 changes: 3 additions & 34 deletions Lazurite/LazuriteUI.Windows.Controls/WindowTest.xaml.cs
Original file line number Diff line number Diff line change
@@ -1,7 +1,4 @@
using LazuriteUI.Icons;
using System;
using System.Linq;
using System.Windows;
using System.Windows;

namespace LazuriteUI.Windows.Controls
{
Expand All @@ -13,36 +10,8 @@ public partial class WindowTest : Window
public WindowTest()
{
InitializeComponent();
var objs = new[] {
new TestClass("test1", Icons.Icon.AdobeDreamweaver),
new TestClass("test13"),
new TestClass("test144"),
new TestClass("test155", Icons.Icon.AlignJustify),
new TestClass("test16666", Icons.Icon.AdobeDreamweaver),
new TestClass("test17777"),
new TestClass("test18888", Icons.Icon.AdobeFireworks),
new TestClass("test18888 test18888 test18888 test18888 test18888 test18888 test18888 test18888 test18888 test18888 test18888 test18888 test18888 ", Icons.Icon.AdobePhotoshop),
};
combo.Info =
new ComboItemsViewInfo(ListViewItemsSelectionMode.Multiple,
objs,
(o) => (o as TestClass).Name,
(o) => (o as TestClass).Icon,
objs.Take(2).ToArray(),
"TESTTT",
grid);
}

private class TestClass
{
public TestClass(string name, Icon? icon = null)
{
Name = name ?? throw new ArgumentNullException(nameof(name));
Icon = icon ?? Icons.Icon._None;
}

public string Name { get; set; }
public Icon Icon { get; set; }
entryView.Validation = (s) => EntryViewValidation.UIntValidation().Invoke(s);
}
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -50,4 +50,4 @@
// используя "*", как показано ниже:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.1.*")]
[assembly: AssemblyFileVersion("1.1.60.0")]
[assembly: AssemblyFileVersion("1.1.64.0")]
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ public ValueTypeBase ValueType
{
get;
set;
} = new FloatValueType() { AcceptedValues = new[] { double.MinValue.ToString(), double.MaxValue.ToString() } };
} = new FloatValueType() { AcceptedValues = new[] { double.MinValue.ToString("R"), double.MaxValue.ToString("R") } };

public event ValueChangedEventHandler ValueChanged;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@
<Reference Include="LazuriteUI.Icons">
<HintPath>..\..\..\Releases\PluginsMaterial\LazuriteUI.Icons.dll</HintPath>
</Reference>
<Reference Include="LazuriteUI.Windows.Controls, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
<Reference Include="LazuriteUI.Windows.Controls, Version=1.0.0.0, Culture=neutral, processorArchitecture=x86">
<SpecificVersion>False</SpecificVersion>
<HintPath>..\..\..\Releases\PluginsMaterial\LazuriteUI.Windows.Controls.exe</HintPath>
</Reference>
Expand Down
Loading

0 comments on commit 1311175

Please sign in to comment.