diff options
| author | Jean-Philippe Bruyère <jp_bruyere@hotmail.com> | 2021-03-02 11:57:39 +0100 |
|---|---|---|
| committer | j-p <jp_bruyere@hotmail.com> | 2021-03-02 12:01:06 +0100 |
| commit | 25a2b0d668dfea62e53a1fcf50ed32b43cfc2c68 (patch) | |
| tree | bc77c325f93fb136b7a0ba977982d1262338ecf7 /Samples/common | |
| parent | 5b5150e5e7e1eca0aa99de8b8a7aa6f38b7310d8 (diff) | |
implement theme from directory
Diffstat (limited to 'Samples/common')
| -rw-r--r-- | Samples/common/SampleBase.cs | 495 | ||||
| -rw-r--r-- | Samples/common/ui/Interfaces/Divers/chess.crow | 19 |
2 files changed, 265 insertions, 249 deletions
diff --git a/Samples/common/SampleBase.cs b/Samples/common/SampleBase.cs index 8307faed..71fb65f1 100644 --- a/Samples/common/SampleBase.cs +++ b/Samples/common/SampleBase.cs @@ -1,19 +1,20 @@ -using System.Net.NetworkInformation; -using System.Runtime.InteropServices; +using Crow; +using Glfw; using System; using System.Collections.Generic; using System.IO; using System.Linq; +using System.Net.NetworkInformation; using System.Reflection; using System.Runtime.CompilerServices; +using System.Runtime.InteropServices; using System.Threading; -using Crow; -using Glfw; namespace Crow { - public class SampleBase : Interface { -#if NETCOREAPP + public class SampleBase : Interface + { +#if NETCOREAPP static IntPtr resolveUnmanaged (Assembly assembly, String libraryName) { switch (libraryName) @@ -31,270 +32,266 @@ namespace Crow System.Runtime.Loader.AssemblyLoadContext.Default.ResolvingUnmanagedDll+=resolveUnmanaged; } #endif - public Version CrowVersion => Assembly.GetAssembly (typeof (Widget)).GetName ().Version; + public Version CrowVersion => Assembly.GetAssembly (typeof (Widget)).GetName ().Version; - #region Test values for Binding - public List<Command> Commands; - public int intValue = 500; - VerticalAlignment currentVAlign; + #region Test values for Binding + public List<Command> Commands; + public int intValue = 500; + VerticalAlignment currentVAlign; - DirectoryInfo curDir = new DirectoryInfo (Path.GetDirectoryName (Assembly.GetEntryAssembly ().Location)); - public FileSystemInfo[] CurDirectory => curDir.GetFileSystemInfos (); - public string MultilineText = - $"Lorem ipsum dolor sit amet,\nconsectetur adipiscing elit. Sed non risus.\n\nSuspendisse lectus tortor,\nLorem ipsum dolor sit amet,\nconsectetur adipiscing elit. Sed non risus.\n\nSuspendisse lectus tortor,"; - //public string MultilineText = $"a\n"; - TextAlignment textAlignment = TextAlignment.Left; - public TextAlignment TextAlignment { - get => textAlignment; - set { - if (textAlignment == value) - return; - textAlignment = value; - NotifyValueChanged (textAlignment); - } - } + DirectoryInfo curDir = new DirectoryInfo (Path.GetDirectoryName (Assembly.GetEntryAssembly ().Location)); + public FileSystemInfo[] CurDirectory => curDir.GetFileSystemInfos (); + public string MultilineText = + $"Lorem ipsum dolor sit amet,\nconsectetur adipiscing elit. Sed non risus.\n\nSuspendisse lectus tortor,\nLorem ipsum dolor sit amet,\nconsectetur adipiscing elit. Sed non risus.\n\nSuspendisse lectus tortor,"; + //public string MultilineText = $"a\n"; + TextAlignment textAlignment = TextAlignment.Left; + public TextAlignment TextAlignment { + get => textAlignment; + set { + if (textAlignment == value) + return; + textAlignment = value; + NotifyValueChanged (textAlignment); + } + } - public int IntValue { - get => intValue; - set { - if (IntValue == value) - return; - intValue = value; - NotifyValueChanged ("IntValue", intValue); - } - } - public VerticalAlignment CurrentVAlign { - get => currentVAlign; - set { - if (currentVAlign == value) - return; - currentVAlign = value; - NotifyValueChanged ("CurrentVAlign", currentVAlign); - } - } - void onSpinnerValueChange (object sender, ValueChangeEventArgs e) { - if (e.MemberName != "Value") - return; - intValue = Convert.ToInt32 (e.NewValue); - } - void change_alignment (object sender, EventArgs e) { - RadioButton rb = sender as RadioButton; - if (rb == null) - return; - NotifyValueChanged ("alignment", Enum.Parse (typeof (Alignment), rb.Caption)); - } - public IEnumerable<String> List2 = new List<string> (new string[] - { - "string1", - "string2", - "string3", - "string4", - "string5", - "string6", - "string7", - "string8", - "string8", - "string8", - "string8", - "string8", - "string8", - "string9" - } - ); - public IEnumerable<String> TestList2 { - set { - List2 = value; - NotifyValueChanged ("TestList2", testList); - } - get { return List2; } - } - public class TestClass - { - public string Prop1 { get; set; } - public string Prop2 { get; set; } + public int IntValue { + get => intValue; + set { + if (IntValue == value) + return; + intValue = value; + NotifyValueChanged ("IntValue", intValue); + } + } + public VerticalAlignment CurrentVAlign { + get => currentVAlign; + set { + if (currentVAlign == value) + return; + currentVAlign = value; + NotifyValueChanged ("CurrentVAlign", currentVAlign); + } + } + void onSpinnerValueChange (object sender, ValueChangeEventArgs e) { + if (e.MemberName != "Value") + return; + intValue = Convert.ToInt32 (e.NewValue); + } + void change_alignment (object sender, EventArgs e) { + RadioButton rb = sender as RadioButton; + if (rb == null) + return; + NotifyValueChanged ("alignment", Enum.Parse (typeof (Alignment), rb.Caption)); + } + public IEnumerable<String> List2 = new List<string> (new string[] + { + "string1", + "string2", + "string3", + "string4", + "string5", + "string6", + "string7", + "string8", + "string8", + "string8", + "string8", + "string8", + "string8", + "string9" + } + ); + public IEnumerable<String> TestList2 { + set { + List2 = value; + NotifyValueChanged ("TestList2", testList); + } + get { return List2; } + } + public class TestClass + { + public string Prop1 { get; set; } + public string Prop2 { get; set; } - public override string ToString () - => $"{Prop1}, {Prop2}"; + public override string ToString () + => $"{Prop1}, {Prop2}"; - } - public class TestClassVC : IValueChange - { - public event EventHandler<ValueChangeEventArgs> ValueChanged; - public void NotifyValueChanged (object _value, [CallerMemberName] string caller = null) - => ValueChanged.Raise (this, new ValueChangeEventArgs (caller, _value)); - string prop1, prop2; - public string Prop1 { - get => prop1; - set { - if (prop1 == value) - return; - prop1 = value; - NotifyValueChanged (prop1); - } - } - public string Prop2 { - get => prop2; - set { - if (prop2 == value) - return; - prop2 = value; - NotifyValueChanged (prop2); - } + } + public class TestClassVC : IValueChange + { + public event EventHandler<ValueChangeEventArgs> ValueChanged; + public void NotifyValueChanged (object _value, [CallerMemberName] string caller = null) + => ValueChanged.Raise (this, new ValueChangeEventArgs (caller, _value)); + string prop1, prop2; + public string Prop1 { + get => prop1; + set { + if (prop1 == value) + return; + prop1 = value; + NotifyValueChanged (prop1); + } + } + public string Prop2 { + get => prop2; + set { + if (prop2 == value) + return; + prop2 = value; + NotifyValueChanged (prop2); + } - } + } - public override string ToString () - => $"{Prop1}, {Prop2}"; + public override string ToString () + => $"{Prop1}, {Prop2}"; - } - TestClass tcInstance;// = new TestClass () { Prop1 = "instance 0 prop1 value", Prop2 = "instance 0 prop2 value" }; - TestClassVC tcVCInstance;// = new TestClassVC () { Prop1 = "instance 0 prop1 value", Prop2 = "instance 0 prop2 value" }; - TestClass tcInstance1 = new TestClass () { Prop1 = "instance 1 prop1 value", Prop2 = "instance 1 prop2 value" }; - TestClassVC tcVCInstance1 = new TestClassVC () { Prop1 = "instance 1 prop1 value", Prop2 = "instance 1 prop2 value" }; - TestClass tcInstance2 = new TestClass () { Prop1 = "instance 2 prop1 value", Prop2 = "instance 2 prop2 value" }; - TestClassVC tcVCInstance2 = new TestClassVC () { Prop1 = "instance 2 prop1 value", Prop2 = "instance 2 prop2 value" }; + } + TestClass tcInstance;// = new TestClass () { Prop1 = "instance 0 prop1 value", Prop2 = "instance 0 prop2 value" }; + TestClassVC tcVCInstance;// = new TestClassVC () { Prop1 = "instance 0 prop1 value", Prop2 = "instance 0 prop2 value" }; + TestClass tcInstance1 = new TestClass () { Prop1 = "instance 1 prop1 value", Prop2 = "instance 1 prop2 value" }; + TestClassVC tcVCInstance1 = new TestClassVC () { Prop1 = "instance 1 prop1 value", Prop2 = "instance 1 prop2 value" }; + TestClass tcInstance2 = new TestClass () { Prop1 = "instance 2 prop1 value", Prop2 = "instance 2 prop2 value" }; + TestClassVC tcVCInstance2 = new TestClassVC () { Prop1 = "instance 2 prop1 value", Prop2 = "instance 2 prop2 value" }; - public TestClass TcInstance { - get => tcInstance; - set { - if (tcInstance == value) - return; - tcInstance = value; - NotifyValueChanged (tcInstance); - } - } - public TestClassVC TcVCInstance { - get => tcVCInstance; - set { - if (tcVCInstance == value) - return; - tcVCInstance = value; - NotifyValueChanged (tcVCInstance); - } - } + public TestClass TcInstance { + get => tcInstance; + set { + if (tcInstance == value) + return; + tcInstance = value; + NotifyValueChanged (tcInstance); + } + } + public TestClassVC TcVCInstance { + get => tcVCInstance; + set { + if (tcVCInstance == value) + return; + tcVCInstance = value; + NotifyValueChanged (tcVCInstance); + } + } - void tcInstance_ChangeProperties_MouseClick (object sender, MouseButtonEventArgs e) - { - } - public void tcInstance_ChangeInstance_MouseClick (object sender, MouseButtonEventArgs e) - { - if (TcInstance == tcInstance1) - TcInstance = tcInstance2; - else - TcInstance = tcInstance1; - } - void tcVCInstance_ChangeInstance_MouseClick (object sender, MouseButtonEventArgs e) - { - TcVCInstance = new TestClassVC () { Prop1 = "prop1 value changed", Prop2 = "prop2 value changed" }; - } + void tcInstance_ChangeProperties_MouseClick (object sender, MouseButtonEventArgs e) { + } + public void tcInstance_ChangeInstance_MouseClick (object sender, MouseButtonEventArgs e) { + if (TcInstance == tcInstance1) + TcInstance = tcInstance2; + else + TcInstance = tcInstance1; + } + void tcVCInstance_ChangeInstance_MouseClick (object sender, MouseButtonEventArgs e) { + TcVCInstance = new TestClassVC () { Prop1 = "prop1 value changed", Prop2 = "prop2 value changed" }; + } - public IEnumerable<TestClass> List3 = new List<TestClass> (new TestClass[] - { - new TestClass { Prop1 = "string1", Prop2="prop2-1" }, - new TestClass { Prop1 = "string2", Prop2="prop2-2" }, - new TestClass { Prop1 = "string3", Prop2="prop2-3" }, - } - ); - public IEnumerable<string> TestList3Props1 => List3.Select (sc => sc.Prop1).ToList (); - public IEnumerable<TestClass> TestList3 { - set { - List3 = value; - NotifyValueChanged ("TestList3", testList); - } - get { return List3; } - } - string prop1; - public string TestList3SelProp1 { - get => prop1; - set { - if (prop1 == value) - return; - prop1 = value; + public IEnumerable<TestClass> List3 = new List<TestClass> (new TestClass[] + { + new TestClass { Prop1 = "string1", Prop2="prop2-1" }, + new TestClass { Prop1 = "string2", Prop2="prop2-2" }, + new TestClass { Prop1 = "string3", Prop2="prop2-3" }, + } + ); + public IEnumerable<string> TestList3Props1 => List3.Select (sc => sc.Prop1).ToList (); + public IEnumerable<TestClass> TestList3 { + set { + List3 = value; + NotifyValueChanged ("TestList3", testList); + } + get { return List3; } + } + string prop1; + public string TestList3SelProp1 { + get => prop1; + set { + if (prop1 == value) + return; + prop1 = value; - NotifyValueChanged (prop1); - } - } + NotifyValueChanged (prop1); + } + } - string selString; - public string TestList2SelectedString { - get => selString; - set { - if (selString == value) - return; - selString = value; - NotifyValueChanged (selString); - } - } + string selString; + public string TestList2SelectedString { + get => selString; + set { + if (selString == value) + return; + selString = value; + NotifyValueChanged (selString); + } + } - IList<Colors> testList = (IList<Colors>)FastEnumUtility.FastEnum.GetValues<Colors> ().ToList ();//.ColorDic.Values//.OrderBy(c=>c.Hue) - //.ThenBy(c=>c.Value).ThenBy(c=>c.Saturation) - //.ToList (); - public IList<Colors> TestList { - set { - testList = value; - NotifyValueChanged ("TestList", testList); - } - get { return testList; } - } - void OnClear (object sender, MouseButtonEventArgs e) => TestList = null; - void OnLoadList (object sender, MouseButtonEventArgs e) => TestList = (IList<Colors>)FastEnumUtility.FastEnum.GetValues<Colors> ().ToList (); + IList<Colors> testList = (IList<Colors>)FastEnumUtility.FastEnum.GetValues<Colors> ().ToList ();//.ColorDic.Values//.OrderBy(c=>c.Hue) + //.ThenBy(c=>c.Value).ThenBy(c=>c.Saturation) + //.ToList (); + public IList<Colors> TestList { + set { + testList = value; + NotifyValueChanged ("TestList", testList); + } + get { return testList; } + } + void OnClear (object sender, MouseButtonEventArgs e) => TestList = null; + void OnLoadList (object sender, MouseButtonEventArgs e) => TestList = (IList<Colors>)FastEnumUtility.FastEnum.GetValues<Colors> ().ToList (); - string curSources = ""; - public string CurSources { - get { return curSources; } - set { - if (value == curSources) - return; - curSources = value; - NotifyValueChanged (curSources); - } - } - bool boolVal = true; - public bool BoolVal { - get { return boolVal; } - set { - if (boolVal == value) - return; - boolVal = value; - NotifyValueChanged (boolVal); - } - } + string curSources = ""; + public string CurSources { + get { return curSources; } + set { + if (value == curSources) + return; + curSources = value; + NotifyValueChanged (curSources); + } + } + bool boolVal = true; + public bool BoolVal { + get { return boolVal; } + set { + if (boolVal == value) + return; + boolVal = value; + NotifyValueChanged (boolVal); + } + } #endregion - protected override void OnInitialized () - { - Commands = new List<Command> { - new Command(() => MessageBox.ShowModal(this, MessageBox.Type.Information, "context menu 1 clicked")) { Caption = "Action 1" }, - new Command(() => MessageBox.ShowModal(this, MessageBox.Type.Information, "context menu 2 clicked")) { Caption = "Action 2" }, - new Command(() => MessageBox.ShowModal(this, MessageBox.Type.Information, "context menu 3 clicked")) { Caption = "Action 3" } - }; - base.OnInitialized (); - } + protected override void OnInitialized () { + Commands = new List<Command> { + new Command(() => MessageBox.ShowModal(this, MessageBox.Type.Information, "context menu 1 clicked")) { Caption = "Action 1" }, + new Command(() => MessageBox.ShowModal(this, MessageBox.Type.Information, "context menu 2 clicked")) { Caption = "Action 2" }, + new Command(() => MessageBox.ShowModal(this, MessageBox.Type.Information, "context menu 3 clicked")) { Caption = "Action 3" } + }; + base.OnInitialized (); + } - public override bool OnKeyDown (Key key) { - - switch (key) { - case Key.F5: - Load ("Interfaces/Divers/testFileDialog.crow").DataSource = this; - return true; - case Key.F6: - Load ("Interfaces/Divers/0.crow").DataSource = this; - return true; - case Key.F7: - Load ("Interfaces/Divers/perfMeasures.crow").DataSource = this; - return true; - case Key.F2: - if (IsKeyDown (Key.LeftShift)) - DbgLogger.Reset (); - DbgLogger.Save (this); - return true; - } - return base.OnKeyDown (key); - } - } + public override bool OnKeyDown (Key key) { + + switch (key) { + case Key.F5: + Load ("Interfaces/Divers/testFileDialog.crow").DataSource = this; + return true; + case Key.F6: + Load ("Interfaces/Divers/0.crow").DataSource = this; + return true; + case Key.F7: + Load ("Interfaces/Divers/perfMeasures.crow").DataSource = this; + return true; + case Key.F2: + if (IsKeyDown (Key.LeftShift)) + DbgLogger.Reset (); + DbgLogger.Save (this); + return true; + } + return base.OnKeyDown (key); + } + } }
\ No newline at end of file diff --git a/Samples/common/ui/Interfaces/Divers/chess.crow b/Samples/common/ui/Interfaces/Divers/chess.crow new file mode 100644 index 00000000..30b86d46 --- /dev/null +++ b/Samples/common/ui/Interfaces/Divers/chess.crow @@ -0,0 +1,19 @@ +<?xml version="1.0"?> +<HorizontalStack Height="Fit" Background="vgradient|0:Grey|0.3:Jet|0.7:Jet|1:Black" VerticalAlignment="Bottom" Margin="10"> + <CheckBox Caption="Hint" IsChecked="{²EnableHint}"/> + <Button Caption="Undo" MouseClick="onUndoClick"/> + <Button Caption="N" MouseClick="onNewGameClick"/> + <Button Caption="Options" MouseClick="onOptionsClick"/> + <Widget Width="Stretched" Height="1"/> + <Button Caption="Quit" MouseClick="onQuitClick"/> + <VerticalStack Style="hsStatus" > + <Label Style="labStatus" Text="State:"/> + <Label Style="labStatus2" Text="{CurrentState}" /> + </VerticalStack > + <VerticalStack Style="hsStatus" > + <Label Style="labStatus" Text="Hover:"/> + <Label Style="labStatus2" Text="{SelCell}"/> + </VerticalStack> + <Image Width="30" Height="20" Path="#Crow.Icons.IconAlerte.svg" Visible="{StockfishNotFound}"/> + <Label Text="Stockfish not found" Font="droid bold, 10" Visible="{StockfishNotFound}"/> +</HorizontalStack> |