Renaming our clients.
1.1 --- a/Clients/Idle/FormIdleClient.Designer.cs Wed Feb 03 13:02:48 2016 +0100
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,47 +0,0 @@
1.4 -namespace SharpDisplayIdleClient
1.5 -{
1.6 - partial class FormIdleClient
1.7 - {
1.8 - /// <summary>
1.9 - /// Required designer variable.
1.10 - /// </summary>
1.11 - private System.ComponentModel.IContainer components = null;
1.12 -
1.13 - /// <summary>
1.14 - /// Clean up any resources being used.
1.15 - /// </summary>
1.16 - /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
1.17 - protected override void Dispose(bool disposing)
1.18 - {
1.19 - if (disposing && (components != null))
1.20 - {
1.21 - components.Dispose();
1.22 - }
1.23 - base.Dispose(disposing);
1.24 - }
1.25 -
1.26 - #region Windows Form Designer generated code
1.27 -
1.28 - /// <summary>
1.29 - /// Required method for Designer support - do not modify
1.30 - /// the contents of this method with the code editor.
1.31 - /// </summary>
1.32 - private void InitializeComponent()
1.33 - {
1.34 - this.SuspendLayout();
1.35 - //
1.36 - // FormIdleClient
1.37 - //
1.38 - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
1.39 - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
1.40 - this.ClientSize = new System.Drawing.Size(531, 303);
1.41 - this.Name = "FormIdleClient";
1.42 - this.Text = "Sharp Display Idle Client";
1.43 - this.ResumeLayout(false);
1.44 -
1.45 - }
1.46 -
1.47 - #endregion
1.48 - }
1.49 -}
1.50 -
2.1 --- a/Clients/Idle/FormIdleClient.cs Wed Feb 03 13:02:48 2016 +0100
2.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
2.3 @@ -1,22 +0,0 @@
2.4 -using System;
2.5 -using System.Collections.Generic;
2.6 -using System.ComponentModel;
2.7 -using System.Data;
2.8 -using System.Drawing;
2.9 -using System.Linq;
2.10 -using System.Text;
2.11 -using System.Threading.Tasks;
2.12 -using System.Windows.Forms;
2.13 -
2.14 -namespace SharpDisplayIdleClient
2.15 -{
2.16 - public partial class FormIdleClient : Form
2.17 - {
2.18 - public StartParams Params { get; set; }
2.19 -
2.20 - public FormIdleClient()
2.21 - {
2.22 - InitializeComponent();
2.23 - }
2.24 - }
2.25 -}
3.1 --- a/Clients/Idle/FormIdleClient.resx Wed Feb 03 13:02:48 2016 +0100
3.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
3.3 @@ -1,120 +0,0 @@
3.4 -<?xml version="1.0" encoding="utf-8"?>
3.5 -<root>
3.6 - <!--
3.7 - Microsoft ResX Schema
3.8 -
3.9 - Version 2.0
3.10 -
3.11 - The primary goals of this format is to allow a simple XML format
3.12 - that is mostly human readable. The generation and parsing of the
3.13 - various data types are done through the TypeConverter classes
3.14 - associated with the data types.
3.15 -
3.16 - Example:
3.17 -
3.18 - ... ado.net/XML headers & schema ...
3.19 - <resheader name="resmimetype">text/microsoft-resx</resheader>
3.20 - <resheader name="version">2.0</resheader>
3.21 - <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
3.22 - <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
3.23 - <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
3.24 - <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
3.25 - <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
3.26 - <value>[base64 mime encoded serialized .NET Framework object]</value>
3.27 - </data>
3.28 - <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
3.29 - <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
3.30 - <comment>This is a comment</comment>
3.31 - </data>
3.32 -
3.33 - There are any number of "resheader" rows that contain simple
3.34 - name/value pairs.
3.35 -
3.36 - Each data row contains a name, and value. The row also contains a
3.37 - type or mimetype. Type corresponds to a .NET class that support
3.38 - text/value conversion through the TypeConverter architecture.
3.39 - Classes that don't support this are serialized and stored with the
3.40 - mimetype set.
3.41 -
3.42 - The mimetype is used for serialized objects, and tells the
3.43 - ResXResourceReader how to depersist the object. This is currently not
3.44 - extensible. For a given mimetype the value must be set accordingly:
3.45 -
3.46 - Note - application/x-microsoft.net.object.binary.base64 is the format
3.47 - that the ResXResourceWriter will generate, however the reader can
3.48 - read any of the formats listed below.
3.49 -
3.50 - mimetype: application/x-microsoft.net.object.binary.base64
3.51 - value : The object must be serialized with
3.52 - : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
3.53 - : and then encoded with base64 encoding.
3.54 -
3.55 - mimetype: application/x-microsoft.net.object.soap.base64
3.56 - value : The object must be serialized with
3.57 - : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
3.58 - : and then encoded with base64 encoding.
3.59 -
3.60 - mimetype: application/x-microsoft.net.object.bytearray.base64
3.61 - value : The object must be serialized into a byte array
3.62 - : using a System.ComponentModel.TypeConverter
3.63 - : and then encoded with base64 encoding.
3.64 - -->
3.65 - <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
3.66 - <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
3.67 - <xsd:element name="root" msdata:IsDataSet="true">
3.68 - <xsd:complexType>
3.69 - <xsd:choice maxOccurs="unbounded">
3.70 - <xsd:element name="metadata">
3.71 - <xsd:complexType>
3.72 - <xsd:sequence>
3.73 - <xsd:element name="value" type="xsd:string" minOccurs="0" />
3.74 - </xsd:sequence>
3.75 - <xsd:attribute name="name" use="required" type="xsd:string" />
3.76 - <xsd:attribute name="type" type="xsd:string" />
3.77 - <xsd:attribute name="mimetype" type="xsd:string" />
3.78 - <xsd:attribute ref="xml:space" />
3.79 - </xsd:complexType>
3.80 - </xsd:element>
3.81 - <xsd:element name="assembly">
3.82 - <xsd:complexType>
3.83 - <xsd:attribute name="alias" type="xsd:string" />
3.84 - <xsd:attribute name="name" type="xsd:string" />
3.85 - </xsd:complexType>
3.86 - </xsd:element>
3.87 - <xsd:element name="data">
3.88 - <xsd:complexType>
3.89 - <xsd:sequence>
3.90 - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
3.91 - <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
3.92 - </xsd:sequence>
3.93 - <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
3.94 - <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
3.95 - <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
3.96 - <xsd:attribute ref="xml:space" />
3.97 - </xsd:complexType>
3.98 - </xsd:element>
3.99 - <xsd:element name="resheader">
3.100 - <xsd:complexType>
3.101 - <xsd:sequence>
3.102 - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
3.103 - </xsd:sequence>
3.104 - <xsd:attribute name="name" type="xsd:string" use="required" />
3.105 - </xsd:complexType>
3.106 - </xsd:element>
3.107 - </xsd:choice>
3.108 - </xsd:complexType>
3.109 - </xsd:element>
3.110 - </xsd:schema>
3.111 - <resheader name="resmimetype">
3.112 - <value>text/microsoft-resx</value>
3.113 - </resheader>
3.114 - <resheader name="version">
3.115 - <value>2.0</value>
3.116 - </resheader>
3.117 - <resheader name="reader">
3.118 - <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
3.119 - </resheader>
3.120 - <resheader name="writer">
3.121 - <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
3.122 - </resheader>
3.123 -</root>
3.124 \ No newline at end of file
4.1 --- a/Clients/Idle/Program.cs Wed Feb 03 13:02:48 2016 +0100
4.2 +++ b/Clients/Idle/Program.cs Wed Feb 03 13:20:16 2016 +0100
4.3 @@ -39,7 +39,7 @@
4.4
4.5 Application.EnableVisualStyles();
4.6 Application.SetCompatibleTextRenderingDefault(false);
4.7 - Application.Run(new FormIdleClient());
4.8 + Application.Run(new FormClientIdle());
4.9 }
4.10
4.11 [STAThread]
4.12 @@ -50,7 +50,7 @@
4.13
4.14 Application.EnableVisualStyles();
4.15 Application.SetCompatibleTextRenderingDefault(false);
4.16 - FormIdleClient form = new FormIdleClient();
4.17 + FormClientIdle form = new FormClientIdle();
4.18 form.Params = (StartParams)aParams;
4.19 Application.Run(form);
4.20 }
5.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
5.2 +++ b/Clients/Idle/SharpDisplayClientIdle.csproj Wed Feb 03 13:20:16 2016 +0100
5.3 @@ -0,0 +1,95 @@
5.4 +<?xml version="1.0" encoding="utf-8"?>
5.5 +<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
5.6 + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
5.7 + <PropertyGroup>
5.8 + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
5.9 + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
5.10 + <ProjectGuid>{A76579E5-AA8D-45A3-99E1-239A5C030A78}</ProjectGuid>
5.11 + <OutputType>WinExe</OutputType>
5.12 + <AppDesignerFolder>Properties</AppDesignerFolder>
5.13 + <RootNamespace>SharpDisplayIdleClient</RootNamespace>
5.14 + <AssemblyName>SharpDisplayIdleClient</AssemblyName>
5.15 + <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
5.16 + <FileAlignment>512</FileAlignment>
5.17 + <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
5.18 + </PropertyGroup>
5.19 + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
5.20 + <PlatformTarget>AnyCPU</PlatformTarget>
5.21 + <DebugSymbols>true</DebugSymbols>
5.22 + <DebugType>full</DebugType>
5.23 + <Optimize>false</Optimize>
5.24 + <OutputPath>bin\Debug\</OutputPath>
5.25 + <DefineConstants>DEBUG;TRACE</DefineConstants>
5.26 + <ErrorReport>prompt</ErrorReport>
5.27 + <WarningLevel>4</WarningLevel>
5.28 + </PropertyGroup>
5.29 + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
5.30 + <PlatformTarget>AnyCPU</PlatformTarget>
5.31 + <DebugType>pdbonly</DebugType>
5.32 + <Optimize>true</Optimize>
5.33 + <OutputPath>bin\Release\</OutputPath>
5.34 + <DefineConstants>TRACE</DefineConstants>
5.35 + <ErrorReport>prompt</ErrorReport>
5.36 + <WarningLevel>4</WarningLevel>
5.37 + </PropertyGroup>
5.38 + <ItemGroup>
5.39 + <Reference Include="SharpLibDisplay, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
5.40 + <HintPath>..\..\packages\SharpLibDisplay.0.2.5\lib\net40\SharpLibDisplay.dll</HintPath>
5.41 + <Private>True</Private>
5.42 + </Reference>
5.43 + <Reference Include="System" />
5.44 + <Reference Include="System.Core" />
5.45 + <Reference Include="System.Xml.Linq" />
5.46 + <Reference Include="System.Data.DataSetExtensions" />
5.47 + <Reference Include="Microsoft.CSharp" />
5.48 + <Reference Include="System.Data" />
5.49 + <Reference Include="System.Deployment" />
5.50 + <Reference Include="System.Drawing" />
5.51 + <Reference Include="System.Net.Http" />
5.52 + <Reference Include="System.Windows.Forms" />
5.53 + <Reference Include="System.Xml" />
5.54 + </ItemGroup>
5.55 + <ItemGroup>
5.56 + <Compile Include="FormClientIdle.cs">
5.57 + <SubType>Form</SubType>
5.58 + </Compile>
5.59 + <Compile Include="FormClientIdle.Designer.cs">
5.60 + <DependentUpon>FormClientIdle.cs</DependentUpon>
5.61 + </Compile>
5.62 + <Compile Include="Program.cs" />
5.63 + <Compile Include="Properties\AssemblyInfo.cs" />
5.64 + <EmbeddedResource Include="FormClientIdle.resx">
5.65 + <DependentUpon>FormClientIdle.cs</DependentUpon>
5.66 + </EmbeddedResource>
5.67 + <EmbeddedResource Include="Properties\Resources.resx">
5.68 + <Generator>ResXFileCodeGenerator</Generator>
5.69 + <LastGenOutput>Resources.Designer.cs</LastGenOutput>
5.70 + <SubType>Designer</SubType>
5.71 + </EmbeddedResource>
5.72 + <Compile Include="Properties\Resources.Designer.cs">
5.73 + <AutoGen>True</AutoGen>
5.74 + <DependentUpon>Resources.resx</DependentUpon>
5.75 + </Compile>
5.76 + <None Include="packages.config" />
5.77 + <None Include="Properties\Settings.settings">
5.78 + <Generator>SettingsSingleFileGenerator</Generator>
5.79 + <LastGenOutput>Settings.Designer.cs</LastGenOutput>
5.80 + </None>
5.81 + <Compile Include="Properties\Settings.Designer.cs">
5.82 + <AutoGen>True</AutoGen>
5.83 + <DependentUpon>Settings.settings</DependentUpon>
5.84 + <DesignTimeSharedInput>True</DesignTimeSharedInput>
5.85 + </Compile>
5.86 + </ItemGroup>
5.87 + <ItemGroup>
5.88 + <None Include="App.config" />
5.89 + </ItemGroup>
5.90 + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
5.91 + <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
5.92 + Other similar extension points exist, see Microsoft.Common.targets.
5.93 + <Target Name="BeforeBuild">
5.94 + </Target>
5.95 + <Target Name="AfterBuild">
5.96 + </Target>
5.97 + -->
5.98 +</Project>
5.99 \ No newline at end of file
6.1 --- a/Clients/Idle/SharpDisplayIdleClient.csproj Wed Feb 03 13:02:48 2016 +0100
6.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
6.3 @@ -1,90 +0,0 @@
6.4 -<?xml version="1.0" encoding="utf-8"?>
6.5 -<Project ToolsVersion="14.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
6.6 - <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
6.7 - <PropertyGroup>
6.8 - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
6.9 - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
6.10 - <ProjectGuid>{A76579E5-AA8D-45A3-99E1-239A5C030A78}</ProjectGuid>
6.11 - <OutputType>WinExe</OutputType>
6.12 - <AppDesignerFolder>Properties</AppDesignerFolder>
6.13 - <RootNamespace>SharpDisplayIdleClient</RootNamespace>
6.14 - <AssemblyName>SharpDisplayIdleClient</AssemblyName>
6.15 - <TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
6.16 - <FileAlignment>512</FileAlignment>
6.17 - <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
6.18 - </PropertyGroup>
6.19 - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
6.20 - <PlatformTarget>AnyCPU</PlatformTarget>
6.21 - <DebugSymbols>true</DebugSymbols>
6.22 - <DebugType>full</DebugType>
6.23 - <Optimize>false</Optimize>
6.24 - <OutputPath>bin\Debug\</OutputPath>
6.25 - <DefineConstants>DEBUG;TRACE</DefineConstants>
6.26 - <ErrorReport>prompt</ErrorReport>
6.27 - <WarningLevel>4</WarningLevel>
6.28 - </PropertyGroup>
6.29 - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
6.30 - <PlatformTarget>AnyCPU</PlatformTarget>
6.31 - <DebugType>pdbonly</DebugType>
6.32 - <Optimize>true</Optimize>
6.33 - <OutputPath>bin\Release\</OutputPath>
6.34 - <DefineConstants>TRACE</DefineConstants>
6.35 - <ErrorReport>prompt</ErrorReport>
6.36 - <WarningLevel>4</WarningLevel>
6.37 - </PropertyGroup>
6.38 - <ItemGroup>
6.39 - <Reference Include="System" />
6.40 - <Reference Include="System.Core" />
6.41 - <Reference Include="System.Xml.Linq" />
6.42 - <Reference Include="System.Data.DataSetExtensions" />
6.43 - <Reference Include="Microsoft.CSharp" />
6.44 - <Reference Include="System.Data" />
6.45 - <Reference Include="System.Deployment" />
6.46 - <Reference Include="System.Drawing" />
6.47 - <Reference Include="System.Net.Http" />
6.48 - <Reference Include="System.Windows.Forms" />
6.49 - <Reference Include="System.Xml" />
6.50 - </ItemGroup>
6.51 - <ItemGroup>
6.52 - <Compile Include="FormIdleClient.cs">
6.53 - <SubType>Form</SubType>
6.54 - </Compile>
6.55 - <Compile Include="FormIdleClient.Designer.cs">
6.56 - <DependentUpon>FormIdleClient.cs</DependentUpon>
6.57 - </Compile>
6.58 - <Compile Include="Program.cs" />
6.59 - <Compile Include="Properties\AssemblyInfo.cs" />
6.60 - <EmbeddedResource Include="FormIdleClient.resx">
6.61 - <DependentUpon>FormIdleClient.cs</DependentUpon>
6.62 - </EmbeddedResource>
6.63 - <EmbeddedResource Include="Properties\Resources.resx">
6.64 - <Generator>ResXFileCodeGenerator</Generator>
6.65 - <LastGenOutput>Resources.Designer.cs</LastGenOutput>
6.66 - <SubType>Designer</SubType>
6.67 - </EmbeddedResource>
6.68 - <Compile Include="Properties\Resources.Designer.cs">
6.69 - <AutoGen>True</AutoGen>
6.70 - <DependentUpon>Resources.resx</DependentUpon>
6.71 - </Compile>
6.72 - <None Include="Properties\Settings.settings">
6.73 - <Generator>SettingsSingleFileGenerator</Generator>
6.74 - <LastGenOutput>Settings.Designer.cs</LastGenOutput>
6.75 - </None>
6.76 - <Compile Include="Properties\Settings.Designer.cs">
6.77 - <AutoGen>True</AutoGen>
6.78 - <DependentUpon>Settings.settings</DependentUpon>
6.79 - <DesignTimeSharedInput>True</DesignTimeSharedInput>
6.80 - </Compile>
6.81 - </ItemGroup>
6.82 - <ItemGroup>
6.83 - <None Include="App.config" />
6.84 - </ItemGroup>
6.85 - <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
6.86 - <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
6.87 - Other similar extension points exist, see Microsoft.Common.targets.
6.88 - <Target Name="BeforeBuild">
6.89 - </Target>
6.90 - <Target Name="AfterBuild">
6.91 - </Target>
6.92 - -->
6.93 -</Project>
6.94 \ No newline at end of file
7.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
7.2 +++ b/Clients/Idle/packages.config Wed Feb 03 13:20:16 2016 +0100
7.3 @@ -0,0 +1,4 @@
7.4 +<?xml version="1.0" encoding="utf-8"?>
7.5 +<packages>
7.6 + <package id="SharpLibDisplay" version="0.2.5" targetFramework="net452" />
7.7 +</packages>
7.8 \ No newline at end of file
8.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
8.2 +++ b/Clients/Test/FormClientTest.Designer.cs Wed Feb 03 13:20:16 2016 +0100
8.3 @@ -0,0 +1,254 @@
8.4 +namespace SharpDisplayClient
8.5 +{
8.6 + partial class FormClientTest
8.7 + {
8.8 + /// <summary>
8.9 + /// Required designer variable.
8.10 + /// </summary>
8.11 + private System.ComponentModel.IContainer components = null;
8.12 +
8.13 + /// <summary>
8.14 + /// Clean up any resources being used.
8.15 + /// </summary>
8.16 + /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
8.17 + protected override void Dispose(bool disposing)
8.18 + {
8.19 + if (disposing && (components != null))
8.20 + {
8.21 + components.Dispose();
8.22 + }
8.23 + base.Dispose(disposing);
8.24 + }
8.25 +
8.26 + #region Windows Form Designer generated code
8.27 +
8.28 + /// <summary>
8.29 + /// Required method for Designer support - do not modify
8.30 + /// the contents of this method with the code editor.
8.31 + /// </summary>
8.32 + private void InitializeComponent()
8.33 + {
8.34 + this.buttonSetText = new System.Windows.Forms.Button();
8.35 + this.textBoxTop = new System.Windows.Forms.TextBox();
8.36 + this.textBoxBottom = new System.Windows.Forms.TextBox();
8.37 + this.buttonAlignRight = new System.Windows.Forms.Button();
8.38 + this.buttonAlignCenter = new System.Windows.Forms.Button();
8.39 + this.buttonAlignLeft = new System.Windows.Forms.Button();
8.40 + this.buttonSetTopText = new System.Windows.Forms.Button();
8.41 + this.buttonLayoutUpdate = new System.Windows.Forms.Button();
8.42 + this.buttonSetBitmap = new System.Windows.Forms.Button();
8.43 + this.buttonBitmapLayout = new System.Windows.Forms.Button();
8.44 + this.buttonIndicatorsLayout = new System.Windows.Forms.Button();
8.45 + this.buttonUpdateTexts = new System.Windows.Forms.Button();
8.46 + this.buttonLayoutOneTextField = new System.Windows.Forms.Button();
8.47 + this.numericUpDownPriority = new System.Windows.Forms.NumericUpDown();
8.48 + this.labelPriority = new System.Windows.Forms.Label();
8.49 + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownPriority)).BeginInit();
8.50 + this.SuspendLayout();
8.51 + //
8.52 + // buttonSetText
8.53 + //
8.54 + this.buttonSetText.Location = new System.Drawing.Point(13, 132);
8.55 + this.buttonSetText.Name = "buttonSetText";
8.56 + this.buttonSetText.Size = new System.Drawing.Size(75, 23);
8.57 + this.buttonSetText.TabIndex = 0;
8.58 + this.buttonSetText.Text = "Set Text";
8.59 + this.buttonSetText.UseVisualStyleBackColor = true;
8.60 + this.buttonSetText.Click += new System.EventHandler(this.buttonSetText_Click);
8.61 + //
8.62 + // textBoxTop
8.63 + //
8.64 + this.textBoxTop.Location = new System.Drawing.Point(12, 31);
8.65 + this.textBoxTop.Name = "textBoxTop";
8.66 + this.textBoxTop.Size = new System.Drawing.Size(419, 20);
8.67 + this.textBoxTop.TabIndex = 1;
8.68 + //
8.69 + // textBoxBottom
8.70 + //
8.71 + this.textBoxBottom.Location = new System.Drawing.Point(12, 57);
8.72 + this.textBoxBottom.Name = "textBoxBottom";
8.73 + this.textBoxBottom.Size = new System.Drawing.Size(419, 20);
8.74 + this.textBoxBottom.TabIndex = 2;
8.75 + //
8.76 + // buttonAlignRight
8.77 + //
8.78 + this.buttonAlignRight.Location = new System.Drawing.Point(176, 160);
8.79 + this.buttonAlignRight.Name = "buttonAlignRight";
8.80 + this.buttonAlignRight.Size = new System.Drawing.Size(75, 23);
8.81 + this.buttonAlignRight.TabIndex = 23;
8.82 + this.buttonAlignRight.Text = "Align Right";
8.83 + this.buttonAlignRight.UseVisualStyleBackColor = true;
8.84 + this.buttonAlignRight.Click += new System.EventHandler(this.buttonAlignRight_Click);
8.85 + //
8.86 + // buttonAlignCenter
8.87 + //
8.88 + this.buttonAlignCenter.Location = new System.Drawing.Point(94, 161);
8.89 + this.buttonAlignCenter.Name = "buttonAlignCenter";
8.90 + this.buttonAlignCenter.Size = new System.Drawing.Size(75, 23);
8.91 + this.buttonAlignCenter.TabIndex = 22;
8.92 + this.buttonAlignCenter.Text = "Align Center";
8.93 + this.buttonAlignCenter.UseVisualStyleBackColor = true;
8.94 + this.buttonAlignCenter.Click += new System.EventHandler(this.buttonAlignCenter_Click);
8.95 + //
8.96 + // buttonAlignLeft
8.97 + //
8.98 + this.buttonAlignLeft.Location = new System.Drawing.Point(12, 161);
8.99 + this.buttonAlignLeft.Name = "buttonAlignLeft";
8.100 + this.buttonAlignLeft.Size = new System.Drawing.Size(75, 23);
8.101 + this.buttonAlignLeft.TabIndex = 21;
8.102 + this.buttonAlignLeft.Text = "Align Left";
8.103 + this.buttonAlignLeft.UseVisualStyleBackColor = true;
8.104 + this.buttonAlignLeft.Click += new System.EventHandler(this.buttonAlignLeft_Click);
8.105 + //
8.106 + // buttonSetTopText
8.107 + //
8.108 + this.buttonSetTopText.Location = new System.Drawing.Point(94, 132);
8.109 + this.buttonSetTopText.Name = "buttonSetTopText";
8.110 + this.buttonSetTopText.Size = new System.Drawing.Size(75, 23);
8.111 + this.buttonSetTopText.TabIndex = 24;
8.112 + this.buttonSetTopText.Text = "Set Top Text";
8.113 + this.buttonSetTopText.UseVisualStyleBackColor = true;
8.114 + this.buttonSetTopText.Click += new System.EventHandler(this.buttonSetTopText_Click);
8.115 + //
8.116 + // buttonLayoutUpdate
8.117 + //
8.118 + this.buttonLayoutUpdate.Location = new System.Drawing.Point(176, 131);
8.119 + this.buttonLayoutUpdate.Name = "buttonLayoutUpdate";
8.120 + this.buttonLayoutUpdate.Size = new System.Drawing.Size(156, 23);
8.121 + this.buttonLayoutUpdate.TabIndex = 25;
8.122 + this.buttonLayoutUpdate.Text = "Layout 2x2 and Recording";
8.123 + this.buttonLayoutUpdate.UseVisualStyleBackColor = true;
8.124 + this.buttonLayoutUpdate.Click += new System.EventHandler(this.buttonLayoutUpdate_Click);
8.125 + //
8.126 + // buttonSetBitmap
8.127 + //
8.128 + this.buttonSetBitmap.Location = new System.Drawing.Point(12, 190);
8.129 + this.buttonSetBitmap.Name = "buttonSetBitmap";
8.130 + this.buttonSetBitmap.Size = new System.Drawing.Size(75, 23);
8.131 + this.buttonSetBitmap.TabIndex = 26;
8.132 + this.buttonSetBitmap.Text = "Set Bitmap";
8.133 + this.buttonSetBitmap.UseVisualStyleBackColor = true;
8.134 + this.buttonSetBitmap.Click += new System.EventHandler(this.buttonSetBitmap_Click);
8.135 + //
8.136 + // buttonBitmapLayout
8.137 + //
8.138 + this.buttonBitmapLayout.Location = new System.Drawing.Point(176, 189);
8.139 + this.buttonBitmapLayout.Name = "buttonBitmapLayout";
8.140 + this.buttonBitmapLayout.Size = new System.Drawing.Size(75, 35);
8.141 + this.buttonBitmapLayout.TabIndex = 27;
8.142 + this.buttonBitmapLayout.Text = "Bitmap Layout";
8.143 + this.buttonBitmapLayout.UseVisualStyleBackColor = true;
8.144 + this.buttonBitmapLayout.Click += new System.EventHandler(this.buttonBitmapLayout_Click);
8.145 + //
8.146 + // buttonIndicatorsLayout
8.147 + //
8.148 + this.buttonIndicatorsLayout.Location = new System.Drawing.Point(94, 189);
8.149 + this.buttonIndicatorsLayout.Name = "buttonIndicatorsLayout";
8.150 + this.buttonIndicatorsLayout.Size = new System.Drawing.Size(75, 35);
8.151 + this.buttonIndicatorsLayout.TabIndex = 28;
8.152 + this.buttonIndicatorsLayout.Text = "Indicators Layout ";
8.153 + this.buttonIndicatorsLayout.UseVisualStyleBackColor = true;
8.154 + this.buttonIndicatorsLayout.Click += new System.EventHandler(this.buttonIndicatorsLayout_Click);
8.155 + //
8.156 + // buttonUpdateTexts
8.157 + //
8.158 + this.buttonUpdateTexts.Location = new System.Drawing.Point(257, 189);
8.159 + this.buttonUpdateTexts.Name = "buttonUpdateTexts";
8.160 + this.buttonUpdateTexts.Size = new System.Drawing.Size(75, 35);
8.161 + this.buttonUpdateTexts.TabIndex = 29;
8.162 + this.buttonUpdateTexts.Text = "Update Texts";
8.163 + this.buttonUpdateTexts.UseVisualStyleBackColor = true;
8.164 + this.buttonUpdateTexts.Click += new System.EventHandler(this.buttonUpdateTexts_Click);
8.165 + //
8.166 + // buttonLayoutOneTextField
8.167 + //
8.168 + this.buttonLayoutOneTextField.Location = new System.Drawing.Point(257, 160);
8.169 + this.buttonLayoutOneTextField.Name = "buttonLayoutOneTextField";
8.170 + this.buttonLayoutOneTextField.Size = new System.Drawing.Size(75, 23);
8.171 + this.buttonLayoutOneTextField.TabIndex = 30;
8.172 + this.buttonLayoutOneTextField.Text = "Layout 1x1";
8.173 + this.buttonLayoutOneTextField.UseVisualStyleBackColor = true;
8.174 + this.buttonLayoutOneTextField.Click += new System.EventHandler(this.buttonLayoutOneTextField_Click);
8.175 + //
8.176 + // numericUpDownPriority
8.177 + //
8.178 + this.numericUpDownPriority.Increment = new decimal(new int[] {
8.179 + 10,
8.180 + 0,
8.181 + 0,
8.182 + 0});
8.183 + this.numericUpDownPriority.Location = new System.Drawing.Point(57, 83);
8.184 + this.numericUpDownPriority.Maximum = new decimal(new int[] {
8.185 + 1000,
8.186 + 0,
8.187 + 0,
8.188 + 0});
8.189 + this.numericUpDownPriority.Name = "numericUpDownPriority";
8.190 + this.numericUpDownPriority.Size = new System.Drawing.Size(60, 20);
8.191 + this.numericUpDownPriority.TabIndex = 31;
8.192 + this.numericUpDownPriority.Value = new decimal(new int[] {
8.193 + 500,
8.194 + 0,
8.195 + 0,
8.196 + 0});
8.197 + this.numericUpDownPriority.ValueChanged += new System.EventHandler(this.numericUpDownPriority_ValueChanged);
8.198 + //
8.199 + // labelPriority
8.200 + //
8.201 + this.labelPriority.AutoSize = true;
8.202 + this.labelPriority.Location = new System.Drawing.Point(12, 85);
8.203 + this.labelPriority.Name = "labelPriority";
8.204 + this.labelPriority.Size = new System.Drawing.Size(41, 13);
8.205 + this.labelPriority.TabIndex = 32;
8.206 + this.labelPriority.Text = "Priority:";
8.207 + //
8.208 + // MainForm
8.209 + //
8.210 + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
8.211 + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
8.212 + this.ClientSize = new System.Drawing.Size(443, 252);
8.213 + this.Controls.Add(this.labelPriority);
8.214 + this.Controls.Add(this.numericUpDownPriority);
8.215 + this.Controls.Add(this.buttonLayoutOneTextField);
8.216 + this.Controls.Add(this.buttonUpdateTexts);
8.217 + this.Controls.Add(this.buttonIndicatorsLayout);
8.218 + this.Controls.Add(this.buttonBitmapLayout);
8.219 + this.Controls.Add(this.buttonSetBitmap);
8.220 + this.Controls.Add(this.buttonLayoutUpdate);
8.221 + this.Controls.Add(this.buttonSetTopText);
8.222 + this.Controls.Add(this.buttonAlignRight);
8.223 + this.Controls.Add(this.buttonAlignCenter);
8.224 + this.Controls.Add(this.buttonAlignLeft);
8.225 + this.Controls.Add(this.textBoxBottom);
8.226 + this.Controls.Add(this.textBoxTop);
8.227 + this.Controls.Add(this.buttonSetText);
8.228 + this.Name = "MainForm";
8.229 + this.Text = "Client";
8.230 + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
8.231 + this.Load += new System.EventHandler(this.MainForm_Load);
8.232 + ((System.ComponentModel.ISupportInitialize)(this.numericUpDownPriority)).EndInit();
8.233 + this.ResumeLayout(false);
8.234 + this.PerformLayout();
8.235 +
8.236 + }
8.237 +
8.238 + #endregion
8.239 +
8.240 + private System.Windows.Forms.Button buttonSetText;
8.241 + private System.Windows.Forms.TextBox textBoxTop;
8.242 + private System.Windows.Forms.TextBox textBoxBottom;
8.243 + private System.Windows.Forms.Button buttonAlignRight;
8.244 + private System.Windows.Forms.Button buttonAlignCenter;
8.245 + private System.Windows.Forms.Button buttonAlignLeft;
8.246 + private System.Windows.Forms.Button buttonSetTopText;
8.247 + private System.Windows.Forms.Button buttonLayoutUpdate;
8.248 + private System.Windows.Forms.Button buttonSetBitmap;
8.249 + private System.Windows.Forms.Button buttonBitmapLayout;
8.250 + private System.Windows.Forms.Button buttonIndicatorsLayout;
8.251 + private System.Windows.Forms.Button buttonUpdateTexts;
8.252 + private System.Windows.Forms.Button buttonLayoutOneTextField;
8.253 + private System.Windows.Forms.NumericUpDown numericUpDownPriority;
8.254 + private System.Windows.Forms.Label labelPriority;
8.255 + }
8.256 +}
8.257 +
9.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
9.2 +++ b/Clients/Test/FormClientTest.cs Wed Feb 03 13:20:16 2016 +0100
9.3 @@ -0,0 +1,404 @@
9.4 +//
9.5 +// Copyright (C) 2014-2015 Stéphane Lenclud.
9.6 +//
9.7 +// This file is part of SharpDisplayManager.
9.8 +//
9.9 +// SharpDisplayManager is free software: you can redistribute it and/or modify
9.10 +// it under the terms of the GNU General Public License as published by
9.11 +// the Free Software Foundation, either version 3 of the License, or
9.12 +// (at your option) any later version.
9.13 +//
9.14 +// SharpDisplayManager is distributed in the hope that it will be useful,
9.15 +// but WITHOUT ANY WARRANTY; without even the implied warranty of
9.16 +// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
9.17 +// GNU General Public License for more details.
9.18 +//
9.19 +// You should have received a copy of the GNU General Public License
9.20 +// along with SharpDisplayManager. If not, see <http://www.gnu.org/licenses/>.
9.21 +//
9.22 +
9.23 +using System;
9.24 +using System.Collections.Generic;
9.25 +using System.ComponentModel;
9.26 +using System.Data;
9.27 +using System.Drawing;
9.28 +using System.Linq;
9.29 +using System.Text;
9.30 +using System.Threading.Tasks;
9.31 +using System.Windows.Forms;
9.32 +using System.ServiceModel;
9.33 +using System.ServiceModel.Channels;
9.34 +using System.Diagnostics;
9.35 +using SharpLib.Display;
9.36 +
9.37 +
9.38 +namespace SharpDisplayClient
9.39 +{
9.40 + public partial class FormClientTest : Form
9.41 + {
9.42 + public StartParams Params { get; set; }
9.43 +
9.44 + //
9.45 + Client iClient;
9.46 + //
9.47 + ContentAlignment Alignment;
9.48 + TextField iTextFieldTop;
9.49 +
9.50 +
9.51 + /// <summary>
9.52 + /// Constructor
9.53 + /// </summary>
9.54 + public FormClientTest()
9.55 + {
9.56 + InitializeComponent();
9.57 + Alignment = ContentAlignment.MiddleLeft;
9.58 + iTextFieldTop = new TextField();
9.59 + }
9.60 +
9.61 + public void OnCloseOrder()
9.62 + {
9.63 + CloseThreadSafe();
9.64 + }
9.65 +
9.66 + /// <summary>
9.67 + ///
9.68 + /// </summary>
9.69 + /// <param name="sender"></param>
9.70 + /// <param name="e"></param>
9.71 + private void MainForm_Load(object sender, EventArgs e)
9.72 + {
9.73 + iClient = new Client();
9.74 + iClient.CloseOrderEvent += OnCloseOrder;
9.75 + iClient.Open();
9.76 +
9.77 + //Connect using unique name
9.78 + //string name = DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff tt");
9.79 + string name = "Client-" + (iClient.ClientCount() - 1);
9.80 + iClient.SetName(name);
9.81 + //Text = Text + ": " + name;
9.82 + Text = "[[" + name + "]] " + iClient.SessionId;
9.83 +
9.84 + //
9.85 + textBoxTop.Text = iClient.Name;
9.86 + textBoxBottom.Text = iClient.SessionId;
9.87 +
9.88 + if (Params != null)
9.89 + {
9.90 + //Parameters where specified use them
9.91 + if (Params.TopText != "")
9.92 + {
9.93 + textBoxTop.Text = Params.TopText;
9.94 + }
9.95 +
9.96 + if (Params.BottomText != "")
9.97 + {
9.98 + textBoxBottom.Text = Params.BottomText;
9.99 + }
9.100 +
9.101 + Location = Params.Location;
9.102 + //
9.103 + SetBasicLayoutAndText();
9.104 + }
9.105 +
9.106 + }
9.107 +
9.108 +
9.109 +
9.110 + public delegate void CloseConnectionDelegate();
9.111 + public delegate void CloseDelegate();
9.112 +
9.113 + /// <summary>
9.114 + ///
9.115 + /// </summary>
9.116 + public void CloseConnectionThreadSafe()
9.117 + {
9.118 + if (this.InvokeRequired)
9.119 + {
9.120 + //Not in the proper thread, invoke ourselves
9.121 + CloseConnectionDelegate d = new CloseConnectionDelegate(CloseConnectionThreadSafe);
9.122 + this.Invoke(d, new object[] { });
9.123 + }
9.124 + else
9.125 + {
9.126 + //We are in the proper thread
9.127 + if (IsClientReady())
9.128 + {
9.129 + string sessionId = iClient.SessionId;
9.130 + Trace.TraceInformation("Closing client: " + sessionId);
9.131 + iClient.Close();
9.132 + Trace.TraceInformation("Closed client: " + sessionId);
9.133 + }
9.134 +
9.135 + iClient = null;
9.136 + }
9.137 + }
9.138 +
9.139 + /// <summary>
9.140 + ///
9.141 + /// </summary>
9.142 + public void CloseThreadSafe()
9.143 + {
9.144 + if (this.InvokeRequired)
9.145 + {
9.146 + //Not in the proper thread, invoke ourselves
9.147 + CloseDelegate d = new CloseDelegate(CloseThreadSafe);
9.148 + this.Invoke(d, new object[] { });
9.149 + }
9.150 + else
9.151 + {
9.152 + //We are in the proper thread
9.153 + Close();
9.154 + }
9.155 + }
9.156 +
9.157 +
9.158 + private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
9.159 + {
9.160 + CloseConnectionThreadSafe();
9.161 + }
9.162 +
9.163 + public bool IsClientReady()
9.164 + {
9.165 + return (iClient != null && iClient.IsReady());
9.166 + }
9.167 +
9.168 + private void buttonAlignLeft_Click(object sender, EventArgs e)
9.169 + {
9.170 + Alignment = ContentAlignment.MiddleLeft;
9.171 + textBoxTop.TextAlign = HorizontalAlignment.Left;
9.172 + textBoxBottom.TextAlign = HorizontalAlignment.Left;
9.173 + }
9.174 +
9.175 + private void buttonAlignCenter_Click(object sender, EventArgs e)
9.176 + {
9.177 + Alignment = ContentAlignment.MiddleCenter;
9.178 + textBoxTop.TextAlign = HorizontalAlignment.Center;
9.179 + textBoxBottom.TextAlign = HorizontalAlignment.Center;
9.180 + }
9.181 +
9.182 + private void buttonAlignRight_Click(object sender, EventArgs e)
9.183 + {
9.184 + Alignment = ContentAlignment.MiddleRight;
9.185 + textBoxTop.TextAlign = HorizontalAlignment.Right;
9.186 + textBoxBottom.TextAlign = HorizontalAlignment.Right;
9.187 + }
9.188 +
9.189 + private void buttonSetTopText_Click(object sender, EventArgs e)
9.190 + {
9.191 + //TextField top = new TextField(0, textBoxTop.Text, ContentAlignment.MiddleLeft);
9.192 + iTextFieldTop.Text = textBoxTop.Text;
9.193 + iTextFieldTop.Alignment = Alignment;
9.194 + bool res = iClient.SetField(iTextFieldTop);
9.195 +
9.196 + if (!res)
9.197 + {
9.198 + MessageBox.Show("Create you fields first", "Field update error", MessageBoxButtons.OK, MessageBoxIcon.Error);
9.199 + }
9.200 +
9.201 +
9.202 + }
9.203 +
9.204 + private void buttonSetText_Click(object sender, EventArgs e)
9.205 + {
9.206 + SetBasicLayoutAndText();
9.207 + }
9.208 +
9.209 + void SetBasicLayoutAndText()
9.210 + {
9.211 + //Set one column two lines layout
9.212 + TableLayout layout = new TableLayout(1, 2);
9.213 + iClient.SetLayout(layout);
9.214 +
9.215 + //Set our fields
9.216 + iClient.CreateFields(new DataField[]
9.217 + {
9.218 + new TextField(textBoxTop.Text, Alignment, 0, 0),
9.219 + new TextField(textBoxBottom.Text, Alignment, 0, 1)
9.220 + });
9.221 +
9.222 + }
9.223 +
9.224 + private void buttonLayoutUpdate_Click(object sender, EventArgs e)
9.225 + {
9.226 + //Define a 2 by 2 layout
9.227 + TableLayout layout = new TableLayout(2,2);
9.228 + //Second column only takes up 25%
9.229 + layout.Columns[1].Width = 25F;
9.230 + //Send layout to server
9.231 + iClient.SetLayout(layout);
9.232 +
9.233 + //
9.234 + RecordingField recording = new RecordingField();
9.235 + recording.IsActive = true;
9.236 + recording.Text = "Recording Tame of Gone until 22:05";
9.237 + //Set texts
9.238 + iClient.CreateFields(new DataField[]
9.239 + {
9.240 + new TextField(textBoxTop.Text, Alignment, 0, 0),
9.241 + new TextField(textBoxBottom.Text, Alignment, 0, 1),
9.242 + new TextField("Third text field", Alignment, 1, 0),
9.243 + new TextField("Forth text field", Alignment, 1, 1),
9.244 + recording
9.245 + });
9.246 +
9.247 + }
9.248 +
9.249 + private void buttonSetBitmap_Click(object sender, EventArgs e)
9.250 + {
9.251 + int x1 = 0;
9.252 + int y1 = 0;
9.253 + int x2 = 256;
9.254 + int y2 = 32;
9.255 +
9.256 + Bitmap bitmap = new Bitmap(x2,y2);
9.257 + Pen blackPen = new Pen(Color.Black, 3);
9.258 +
9.259 + // Draw line to screen.
9.260 + using (var graphics = Graphics.FromImage(bitmap))
9.261 + {
9.262 + graphics.DrawLine(blackPen, x1, y1, x2, y2);
9.263 + graphics.DrawLine(blackPen, x1, y2, x2, y1);
9.264 + }
9.265 +
9.266 + DataField field = new BitmapField(bitmap);
9.267 + //field.ColumnSpan = 2;
9.268 + iClient.SetField(field);
9.269 + }
9.270 +
9.271 + private void buttonBitmapLayout_Click(object sender, EventArgs e)
9.272 + {
9.273 + SetLayoutWithBitmap();
9.274 + }
9.275 +
9.276 + /// <summary>
9.277 + /// Define a layout with a bitmap field on the left and two lines of text on the right.
9.278 + /// </summary>
9.279 + private void SetLayoutWithBitmap()
9.280 + {
9.281 + //Define a 2 by 2 layout
9.282 + TableLayout layout = new TableLayout(2, 2);
9.283 + //First column only takes 25%
9.284 + layout.Columns[0].Width = 25F;
9.285 + //Second column takes up 75%
9.286 + layout.Columns[1].Width = 75F;
9.287 + //Send layout to server
9.288 + iClient.SetLayout(layout);
9.289 +
9.290 + //Set a bitmap for our first field
9.291 + int x1 = 0;
9.292 + int y1 = 0;
9.293 + int x2 = 64;
9.294 + int y2 = 64;
9.295 +
9.296 + Bitmap bitmap = new Bitmap(x2, y2);
9.297 + Pen blackPen = new Pen(Color.Black, 3);
9.298 +
9.299 + // Draw line to screen.
9.300 + using (var graphics = Graphics.FromImage(bitmap))
9.301 + {
9.302 + graphics.DrawLine(blackPen, x1, y1, x2, y2);
9.303 + graphics.DrawLine(blackPen, x1, y2, x2, y1);
9.304 + }
9.305 +
9.306 + //Create a bitmap field from the bitmap we just created
9.307 + //We want our bitmap field to span across two rows
9.308 + BitmapField bitmapField = new BitmapField(bitmap, 0, 0, 1, 2);
9.309 +
9.310 + //Set texts
9.311 + iClient.CreateFields(new DataField[]
9.312 + {
9.313 + bitmapField,
9.314 + new TextField(textBoxTop.Text, Alignment, 1, 0),
9.315 + new TextField(textBoxBottom.Text, Alignment, 1, 1)
9.316 + });
9.317 +
9.318 + }
9.319 +
9.320 + private void buttonIndicatorsLayout_Click(object sender, EventArgs e)
9.321 + {
9.322 + //Define a 2 by 4 layout
9.323 + TableLayout layout = new TableLayout(2, 4);
9.324 + //First column
9.325 + layout.Columns[0].Width = 87.5F;
9.326 + //Second column
9.327 + layout.Columns[1].Width = 12.5F;
9.328 + //Send layout to server
9.329 + iClient.SetLayout(layout);
9.330 +
9.331 + //Create a bitmap for our indicators field
9.332 + int x1 = 0;
9.333 + int y1 = 0;
9.334 + int x2 = 32;
9.335 + int y2 = 16;
9.336 +
9.337 + Bitmap bitmap = new Bitmap(x2, y2);
9.338 + Pen blackPen = new Pen(Color.Black, 3);
9.339 +
9.340 + // Draw line to screen.
9.341 + using (var graphics = Graphics.FromImage(bitmap))
9.342 + {
9.343 + graphics.DrawLine(blackPen, x1, y1, x2, y2);
9.344 + graphics.DrawLine(blackPen, x1, y2, x2, y1);
9.345 + }
9.346 +
9.347 + //Create a bitmap field from the bitmap we just created
9.348 + DataField indicator1 = new BitmapField(bitmap, 1, 0);
9.349 + //Create a bitmap field from the bitmap we just created
9.350 + DataField indicator2 = new BitmapField(bitmap, 1, 1);
9.351 + //Create a bitmap field from the bitmap we just created
9.352 + DataField indicator3 = new BitmapField(bitmap, 1, 2);
9.353 + //Create a bitmap field from the bitmap we just created
9.354 + DataField indicator4 = new BitmapField(bitmap, 1, 3);
9.355 +
9.356 + //
9.357 + TextField textFieldTop = new TextField(textBoxTop.Text, Alignment, 0, 0, 1, 2);
9.358 + TextField textFieldBottom = new TextField(textBoxBottom.Text, Alignment, 0, 2, 1, 2);
9.359 +
9.360 + //Set texts
9.361 + iClient.CreateFields(new DataField[]
9.362 + {
9.363 + textFieldTop,
9.364 + textFieldBottom,
9.365 + indicator1,
9.366 + indicator2,
9.367 + indicator3,
9.368 + indicator4
9.369 + });
9.370 +
9.371 + }
9.372 +
9.373 + private void buttonUpdateTexts_Click(object sender, EventArgs e)
9.374 + {
9.375 +
9.376 + bool res = iClient.SetFields(new DataField[]
9.377 + {
9.378 + new TextField(textBoxTop.Text, Alignment,0,0),
9.379 + new TextField(textBoxBottom.Text, Alignment,0,1)
9.380 + });
9.381 +
9.382 + if (!res)
9.383 + {
9.384 + MessageBox.Show("Create you fields first", "Field update error", MessageBoxButtons.OK, MessageBoxIcon.Error);
9.385 + }
9.386 +
9.387 + }
9.388 +
9.389 + private void buttonLayoutOneTextField_Click(object sender, EventArgs e)
9.390 + {
9.391 + //Set one column one line layout
9.392 + TableLayout layout = new TableLayout(1, 1);
9.393 + iClient.SetLayout(layout);
9.394 +
9.395 + //Set our fields
9.396 + iClient.CreateFields(new DataField[]
9.397 + {
9.398 + new TextField(textBoxTop.Text, Alignment)
9.399 + });
9.400 + }
9.401 +
9.402 + private void numericUpDownPriority_ValueChanged(object sender, EventArgs e)
9.403 + {
9.404 + iClient.SetPriority((uint)numericUpDownPriority.Value);
9.405 + }
9.406 + }
9.407 +}
10.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
10.2 +++ b/Clients/Test/FormClientTest.resx Wed Feb 03 13:20:16 2016 +0100
10.3 @@ -0,0 +1,120 @@
10.4 +<?xml version="1.0" encoding="utf-8"?>
10.5 +<root>
10.6 + <!--
10.7 + Microsoft ResX Schema
10.8 +
10.9 + Version 2.0
10.10 +
10.11 + The primary goals of this format is to allow a simple XML format
10.12 + that is mostly human readable. The generation and parsing of the
10.13 + various data types are done through the TypeConverter classes
10.14 + associated with the data types.
10.15 +
10.16 + Example:
10.17 +
10.18 + ... ado.net/XML headers & schema ...
10.19 + <resheader name="resmimetype">text/microsoft-resx</resheader>
10.20 + <resheader name="version">2.0</resheader>
10.21 + <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
10.22 + <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
10.23 + <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
10.24 + <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
10.25 + <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
10.26 + <value>[base64 mime encoded serialized .NET Framework object]</value>
10.27 + </data>
10.28 + <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
10.29 + <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
10.30 + <comment>This is a comment</comment>
10.31 + </data>
10.32 +
10.33 + There are any number of "resheader" rows that contain simple
10.34 + name/value pairs.
10.35 +
10.36 + Each data row contains a name, and value. The row also contains a
10.37 + type or mimetype. Type corresponds to a .NET class that support
10.38 + text/value conversion through the TypeConverter architecture.
10.39 + Classes that don't support this are serialized and stored with the
10.40 + mimetype set.
10.41 +
10.42 + The mimetype is used for serialized objects, and tells the
10.43 + ResXResourceReader how to depersist the object. This is currently not
10.44 + extensible. For a given mimetype the value must be set accordingly:
10.45 +
10.46 + Note - application/x-microsoft.net.object.binary.base64 is the format
10.47 + that the ResXResourceWriter will generate, however the reader can
10.48 + read any of the formats listed below.
10.49 +
10.50 + mimetype: application/x-microsoft.net.object.binary.base64
10.51 + value : The object must be serialized with
10.52 + : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
10.53 + : and then encoded with base64 encoding.
10.54 +
10.55 + mimetype: application/x-microsoft.net.object.soap.base64
10.56 + value : The object must be serialized with
10.57 + : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
10.58 + : and then encoded with base64 encoding.
10.59 +
10.60 + mimetype: application/x-microsoft.net.object.bytearray.base64
10.61 + value : The object must be serialized into a byte array
10.62 + : using a System.ComponentModel.TypeConverter
10.63 + : and then encoded with base64 encoding.
10.64 + -->
10.65 + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
10.66 + <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
10.67 + <xsd:element name="root" msdata:IsDataSet="true">
10.68 + <xsd:complexType>
10.69 + <xsd:choice maxOccurs="unbounded">
10.70 + <xsd:element name="metadata">
10.71 + <xsd:complexType>
10.72 + <xsd:sequence>
10.73 + <xsd:element name="value" type="xsd:string" minOccurs="0" />
10.74 + </xsd:sequence>
10.75 + <xsd:attribute name="name" use="required" type="xsd:string" />
10.76 + <xsd:attribute name="type" type="xsd:string" />
10.77 + <xsd:attribute name="mimetype" type="xsd:string" />
10.78 + <xsd:attribute ref="xml:space" />
10.79 + </xsd:complexType>
10.80 + </xsd:element>
10.81 + <xsd:element name="assembly">
10.82 + <xsd:complexType>
10.83 + <xsd:attribute name="alias" type="xsd:string" />
10.84 + <xsd:attribute name="name" type="xsd:string" />
10.85 + </xsd:complexType>
10.86 + </xsd:element>
10.87 + <xsd:element name="data">
10.88 + <xsd:complexType>
10.89 + <xsd:sequence>
10.90 + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
10.91 + <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
10.92 + </xsd:sequence>
10.93 + <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
10.94 + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
10.95 + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
10.96 + <xsd:attribute ref="xml:space" />
10.97 + </xsd:complexType>
10.98 + </xsd:element>
10.99 + <xsd:element name="resheader">
10.100 + <xsd:complexType>
10.101 + <xsd:sequence>
10.102 + <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
10.103 + </xsd:sequence>
10.104 + <xsd:attribute name="name" type="xsd:string" use="required" />
10.105 + </xsd:complexType>
10.106 + </xsd:element>
10.107 + </xsd:choice>
10.108 + </xsd:complexType>
10.109 + </xsd:element>
10.110 + </xsd:schema>
10.111 + <resheader name="resmimetype">
10.112 + <value>text/microsoft-resx</value>
10.113 + </resheader>
10.114 + <resheader name="version">
10.115 + <value>2.0</value>
10.116 + </resheader>
10.117 + <resheader name="reader">
10.118 + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
10.119 + </resheader>
10.120 + <resheader name="writer">
10.121 + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
10.122 + </resheader>
10.123 +</root>
10.124 \ No newline at end of file
11.1 --- a/Clients/Test/MainForm.Designer.cs Wed Feb 03 13:02:48 2016 +0100
11.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
11.3 @@ -1,254 +0,0 @@
11.4 -namespace SharpDisplayClient
11.5 -{
11.6 - partial class MainForm
11.7 - {
11.8 - /// <summary>
11.9 - /// Required designer variable.
11.10 - /// </summary>
11.11 - private System.ComponentModel.IContainer components = null;
11.12 -
11.13 - /// <summary>
11.14 - /// Clean up any resources being used.
11.15 - /// </summary>
11.16 - /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
11.17 - protected override void Dispose(bool disposing)
11.18 - {
11.19 - if (disposing && (components != null))
11.20 - {
11.21 - components.Dispose();
11.22 - }
11.23 - base.Dispose(disposing);
11.24 - }
11.25 -
11.26 - #region Windows Form Designer generated code
11.27 -
11.28 - /// <summary>
11.29 - /// Required method for Designer support - do not modify
11.30 - /// the contents of this method with the code editor.
11.31 - /// </summary>
11.32 - private void InitializeComponent()
11.33 - {
11.34 - this.buttonSetText = new System.Windows.Forms.Button();
11.35 - this.textBoxTop = new System.Windows.Forms.TextBox();
11.36 - this.textBoxBottom = new System.Windows.Forms.TextBox();
11.37 - this.buttonAlignRight = new System.Windows.Forms.Button();
11.38 - this.buttonAlignCenter = new System.Windows.Forms.Button();
11.39 - this.buttonAlignLeft = new System.Windows.Forms.Button();
11.40 - this.buttonSetTopText = new System.Windows.Forms.Button();
11.41 - this.buttonLayoutUpdate = new System.Windows.Forms.Button();
11.42 - this.buttonSetBitmap = new System.Windows.Forms.Button();
11.43 - this.buttonBitmapLayout = new System.Windows.Forms.Button();
11.44 - this.buttonIndicatorsLayout = new System.Windows.Forms.Button();
11.45 - this.buttonUpdateTexts = new System.Windows.Forms.Button();
11.46 - this.buttonLayoutOneTextField = new System.Windows.Forms.Button();
11.47 - this.numericUpDownPriority = new System.Windows.Forms.NumericUpDown();
11.48 - this.labelPriority = new System.Windows.Forms.Label();
11.49 - ((System.ComponentModel.ISupportInitialize)(this.numericUpDownPriority)).BeginInit();
11.50 - this.SuspendLayout();
11.51 - //
11.52 - // buttonSetText
11.53 - //
11.54 - this.buttonSetText.Location = new System.Drawing.Point(13, 132);
11.55 - this.buttonSetText.Name = "buttonSetText";
11.56 - this.buttonSetText.Size = new System.Drawing.Size(75, 23);
11.57 - this.buttonSetText.TabIndex = 0;
11.58 - this.buttonSetText.Text = "Set Text";
11.59 - this.buttonSetText.UseVisualStyleBackColor = true;
11.60 - this.buttonSetText.Click += new System.EventHandler(this.buttonSetText_Click);
11.61 - //
11.62 - // textBoxTop
11.63 - //
11.64 - this.textBoxTop.Location = new System.Drawing.Point(12, 31);
11.65 - this.textBoxTop.Name = "textBoxTop";
11.66 - this.textBoxTop.Size = new System.Drawing.Size(419, 20);
11.67 - this.textBoxTop.TabIndex = 1;
11.68 - //
11.69 - // textBoxBottom
11.70 - //
11.71 - this.textBoxBottom.Location = new System.Drawing.Point(12, 57);
11.72 - this.textBoxBottom.Name = "textBoxBottom";
11.73 - this.textBoxBottom.Size = new System.Drawing.Size(419, 20);
11.74 - this.textBoxBottom.TabIndex = 2;
11.75 - //
11.76 - // buttonAlignRight
11.77 - //
11.78 - this.buttonAlignRight.Location = new System.Drawing.Point(176, 160);
11.79 - this.buttonAlignRight.Name = "buttonAlignRight";
11.80 - this.buttonAlignRight.Size = new System.Drawing.Size(75, 23);
11.81 - this.buttonAlignRight.TabIndex = 23;
11.82 - this.buttonAlignRight.Text = "Align Right";
11.83 - this.buttonAlignRight.UseVisualStyleBackColor = true;
11.84 - this.buttonAlignRight.Click += new System.EventHandler(this.buttonAlignRight_Click);
11.85 - //
11.86 - // buttonAlignCenter
11.87 - //
11.88 - this.buttonAlignCenter.Location = new System.Drawing.Point(94, 161);
11.89 - this.buttonAlignCenter.Name = "buttonAlignCenter";
11.90 - this.buttonAlignCenter.Size = new System.Drawing.Size(75, 23);
11.91 - this.buttonAlignCenter.TabIndex = 22;
11.92 - this.buttonAlignCenter.Text = "Align Center";
11.93 - this.buttonAlignCenter.UseVisualStyleBackColor = true;
11.94 - this.buttonAlignCenter.Click += new System.EventHandler(this.buttonAlignCenter_Click);
11.95 - //
11.96 - // buttonAlignLeft
11.97 - //
11.98 - this.buttonAlignLeft.Location = new System.Drawing.Point(12, 161);
11.99 - this.buttonAlignLeft.Name = "buttonAlignLeft";
11.100 - this.buttonAlignLeft.Size = new System.Drawing.Size(75, 23);
11.101 - this.buttonAlignLeft.TabIndex = 21;
11.102 - this.buttonAlignLeft.Text = "Align Left";
11.103 - this.buttonAlignLeft.UseVisualStyleBackColor = true;
11.104 - this.buttonAlignLeft.Click += new System.EventHandler(this.buttonAlignLeft_Click);
11.105 - //
11.106 - // buttonSetTopText
11.107 - //
11.108 - this.buttonSetTopText.Location = new System.Drawing.Point(94, 132);
11.109 - this.buttonSetTopText.Name = "buttonSetTopText";
11.110 - this.buttonSetTopText.Size = new System.Drawing.Size(75, 23);
11.111 - this.buttonSetTopText.TabIndex = 24;
11.112 - this.buttonSetTopText.Text = "Set Top Text";
11.113 - this.buttonSetTopText.UseVisualStyleBackColor = true;
11.114 - this.buttonSetTopText.Click += new System.EventHandler(this.buttonSetTopText_Click);
11.115 - //
11.116 - // buttonLayoutUpdate
11.117 - //
11.118 - this.buttonLayoutUpdate.Location = new System.Drawing.Point(176, 131);
11.119 - this.buttonLayoutUpdate.Name = "buttonLayoutUpdate";
11.120 - this.buttonLayoutUpdate.Size = new System.Drawing.Size(156, 23);
11.121 - this.buttonLayoutUpdate.TabIndex = 25;
11.122 - this.buttonLayoutUpdate.Text = "Layout 2x2 and Recording";
11.123 - this.buttonLayoutUpdate.UseVisualStyleBackColor = true;
11.124 - this.buttonLayoutUpdate.Click += new System.EventHandler(this.buttonLayoutUpdate_Click);
11.125 - //
11.126 - // buttonSetBitmap
11.127 - //
11.128 - this.buttonSetBitmap.Location = new System.Drawing.Point(12, 190);
11.129 - this.buttonSetBitmap.Name = "buttonSetBitmap";
11.130 - this.buttonSetBitmap.Size = new System.Drawing.Size(75, 23);
11.131 - this.buttonSetBitmap.TabIndex = 26;
11.132 - this.buttonSetBitmap.Text = "Set Bitmap";
11.133 - this.buttonSetBitmap.UseVisualStyleBackColor = true;
11.134 - this.buttonSetBitmap.Click += new System.EventHandler(this.buttonSetBitmap_Click);
11.135 - //
11.136 - // buttonBitmapLayout
11.137 - //
11.138 - this.buttonBitmapLayout.Location = new System.Drawing.Point(176, 189);
11.139 - this.buttonBitmapLayout.Name = "buttonBitmapLayout";
11.140 - this.buttonBitmapLayout.Size = new System.Drawing.Size(75, 35);
11.141 - this.buttonBitmapLayout.TabIndex = 27;
11.142 - this.buttonBitmapLayout.Text = "Bitmap Layout";
11.143 - this.buttonBitmapLayout.UseVisualStyleBackColor = true;
11.144 - this.buttonBitmapLayout.Click += new System.EventHandler(this.buttonBitmapLayout_Click);
11.145 - //
11.146 - // buttonIndicatorsLayout
11.147 - //
11.148 - this.buttonIndicatorsLayout.Location = new System.Drawing.Point(94, 189);
11.149 - this.buttonIndicatorsLayout.Name = "buttonIndicatorsLayout";
11.150 - this.buttonIndicatorsLayout.Size = new System.Drawing.Size(75, 35);
11.151 - this.buttonIndicatorsLayout.TabIndex = 28;
11.152 - this.buttonIndicatorsLayout.Text = "Indicators Layout ";
11.153 - this.buttonIndicatorsLayout.UseVisualStyleBackColor = true;
11.154 - this.buttonIndicatorsLayout.Click += new System.EventHandler(this.buttonIndicatorsLayout_Click);
11.155 - //
11.156 - // buttonUpdateTexts
11.157 - //
11.158 - this.buttonUpdateTexts.Location = new System.Drawing.Point(257, 189);
11.159 - this.buttonUpdateTexts.Name = "buttonUpdateTexts";
11.160 - this.buttonUpdateTexts.Size = new System.Drawing.Size(75, 35);
11.161 - this.buttonUpdateTexts.TabIndex = 29;
11.162 - this.buttonUpdateTexts.Text = "Update Texts";
11.163 - this.buttonUpdateTexts.UseVisualStyleBackColor = true;
11.164 - this.buttonUpdateTexts.Click += new System.EventHandler(this.buttonUpdateTexts_Click);
11.165 - //
11.166 - // buttonLayoutOneTextField
11.167 - //
11.168 - this.buttonLayoutOneTextField.Location = new System.Drawing.Point(257, 160);
11.169 - this.buttonLayoutOneTextField.Name = "buttonLayoutOneTextField";
11.170 - this.buttonLayoutOneTextField.Size = new System.Drawing.Size(75, 23);
11.171 - this.buttonLayoutOneTextField.TabIndex = 30;
11.172 - this.buttonLayoutOneTextField.Text = "Layout 1x1";
11.173 - this.buttonLayoutOneTextField.UseVisualStyleBackColor = true;
11.174 - this.buttonLayoutOneTextField.Click += new System.EventHandler(this.buttonLayoutOneTextField_Click);
11.175 - //
11.176 - // numericUpDownPriority
11.177 - //
11.178 - this.numericUpDownPriority.Increment = new decimal(new int[] {
11.179 - 10,
11.180 - 0,
11.181 - 0,
11.182 - 0});
11.183 - this.numericUpDownPriority.Location = new System.Drawing.Point(57, 83);
11.184 - this.numericUpDownPriority.Maximum = new decimal(new int[] {
11.185 - 1000,
11.186 - 0,
11.187 - 0,
11.188 - 0});
11.189 - this.numericUpDownPriority.Name = "numericUpDownPriority";
11.190 - this.numericUpDownPriority.Size = new System.Drawing.Size(60, 20);
11.191 - this.numericUpDownPriority.TabIndex = 31;
11.192 - this.numericUpDownPriority.Value = new decimal(new int[] {
11.193 - 500,
11.194 - 0,
11.195 - 0,
11.196 - 0});
11.197 - this.numericUpDownPriority.ValueChanged += new System.EventHandler(this.numericUpDownPriority_ValueChanged);
11.198 - //
11.199 - // labelPriority
11.200 - //
11.201 - this.labelPriority.AutoSize = true;
11.202 - this.labelPriority.Location = new System.Drawing.Point(12, 85);
11.203 - this.labelPriority.Name = "labelPriority";
11.204 - this.labelPriority.Size = new System.Drawing.Size(41, 13);
11.205 - this.labelPriority.TabIndex = 32;
11.206 - this.labelPriority.Text = "Priority:";
11.207 - //
11.208 - // MainForm
11.209 - //
11.210 - this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
11.211 - this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
11.212 - this.ClientSize = new System.Drawing.Size(443, 252);
11.213 - this.Controls.Add(this.labelPriority);
11.214 - this.Controls.Add(this.numericUpDownPriority);
11.215 - this.Controls.Add(this.buttonLayoutOneTextField);
11.216 - this.Controls.Add(this.buttonUpdateTexts);
11.217 - this.Controls.Add(this.buttonIndicatorsLayout);
11.218 - this.Controls.Add(this.buttonBitmapLayout);
11.219 - this.Controls.Add(this.buttonSetBitmap);
11.220 - this.Controls.Add(this.buttonLayoutUpdate);
11.221 - this.Controls.Add(this.buttonSetTopText);
11.222 - this.Controls.Add(this.buttonAlignRight);
11.223 - this.Controls.Add(this.buttonAlignCenter);
11.224 - this.Controls.Add(this.buttonAlignLeft);
11.225 - this.Controls.Add(this.textBoxBottom);
11.226 - this.Controls.Add(this.textBoxTop);
11.227 - this.Controls.Add(this.buttonSetText);
11.228 - this.Name = "MainForm";
11.229 - this.Text = "Client";
11.230 - this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.MainForm_FormClosing);
11.231 - this.Load += new System.EventHandler(this.MainForm_Load);
11.232 - ((System.ComponentModel.ISupportInitialize)(this.numericUpDownPriority)).EndInit();
11.233 - this.ResumeLayout(false);
11.234 - this.PerformLayout();
11.235 -
11.236 - }
11.237 -
11.238 - #endregion
11.239 -
11.240 - private System.Windows.Forms.Button buttonSetText;
11.241 - private System.Windows.Forms.TextBox textBoxTop;
11.242 - private System.Windows.Forms.TextBox textBoxBottom;
11.243 - private System.Windows.Forms.Button buttonAlignRight;
11.244 - private System.Windows.Forms.Button buttonAlignCenter;
11.245 - private System.Windows.Forms.Button buttonAlignLeft;
11.246 - private System.Windows.Forms.Button buttonSetTopText;
11.247 - private System.Windows.Forms.Button buttonLayoutUpdate;
11.248 - private System.Windows.Forms.Button buttonSetBitmap;
11.249 - private System.Windows.Forms.Button buttonBitmapLayout;
11.250 - private System.Windows.Forms.Button buttonIndicatorsLayout;
11.251 - private System.Windows.Forms.Button buttonUpdateTexts;
11.252 - private System.Windows.Forms.Button buttonLayoutOneTextField;
11.253 - private System.Windows.Forms.NumericUpDown numericUpDownPriority;
11.254 - private System.Windows.Forms.Label labelPriority;
11.255 - }
11.256 -}
11.257 -
12.1 --- a/Clients/Test/MainForm.cs Wed Feb 03 13:02:48 2016 +0100
12.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
12.3 @@ -1,404 +0,0 @@
12.4 -//
12.5 -// Copyright (C) 2014-2015 Stéphane Lenclud.
12.6 -//
12.7 -// This file is part of SharpDisplayManager.
12.8 -//
12.9 -// SharpDisplayManager is free software: you can redistribute it and/or modify
12.10 -// it under the terms of the GNU General Public License as published by
12.11 -// the Free Software Foundation, either version 3 of the License, or
12.12 -// (at your option) any later version.
12.13 -//
12.14 -// SharpDisplayManager is distributed in the hope that it will be useful,
12.15 -// but WITHOUT ANY WARRANTY; without even the implied warranty of
12.16 -// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12.17 -// GNU General Public License for more details.
12.18 -//
12.19 -// You should have received a copy of the GNU General Public License
12.20 -// along with SharpDisplayManager. If not, see <http://www.gnu.org/licenses/>.
12.21 -//
12.22 -
12.23 -using System;
12.24 -using System.Collections.Generic;
12.25 -using System.ComponentModel;
12.26 -using System.Data;
12.27 -using System.Drawing;
12.28 -using System.Linq;
12.29 -using System.Text;
12.30 -using System.Threading.Tasks;
12.31 -using System.Windows.Forms;
12.32 -using System.ServiceModel;
12.33 -using System.ServiceModel.Channels;
12.34 -using System.Diagnostics;
12.35 -using SharpLib.Display;
12.36 -
12.37 -
12.38 -namespace SharpDisplayClient
12.39 -{
12.40 - public partial class MainForm : Form
12.41 - {
12.42 - public StartParams Params { get; set; }
12.43 -
12.44 - //
12.45 - Client iClient;
12.46 - //
12.47 - ContentAlignment Alignment;
12.48 - TextField iTextFieldTop;
12.49 -
12.50 -
12.51 - /// <summary>
12.52 - /// Constructor
12.53 - /// </summary>
12.54 - public MainForm()
12.55 - {
12.56 - InitializeComponent();
12.57 - Alignment = ContentAlignment.MiddleLeft;
12.58 - iTextFieldTop = new TextField();
12.59 - }
12.60 -
12.61 - public void OnCloseOrder()
12.62 - {
12.63 - CloseThreadSafe();
12.64 - }
12.65 -
12.66 - /// <summary>
12.67 - ///
12.68 - /// </summary>
12.69 - /// <param name="sender"></param>
12.70 - /// <param name="e"></param>
12.71 - private void MainForm_Load(object sender, EventArgs e)
12.72 - {
12.73 - iClient = new Client();
12.74 - iClient.CloseOrderEvent += OnCloseOrder;
12.75 - iClient.Open();
12.76 -
12.77 - //Connect using unique name
12.78 - //string name = DateTime.Now.ToString("MM/dd/yyyy hh:mm:ss.fff tt");
12.79 - string name = "Client-" + (iClient.ClientCount() - 1);
12.80 - iClient.SetName(name);
12.81 - //Text = Text + ": " + name;
12.82 - Text = "[[" + name + "]] " + iClient.SessionId;
12.83 -
12.84 - //
12.85 - textBoxTop.Text = iClient.Name;
12.86 - textBoxBottom.Text = iClient.SessionId;
12.87 -
12.88 - if (Params != null)
12.89 - {
12.90 - //Parameters where specified use them
12.91 - if (Params.TopText != "")
12.92 - {
12.93 - textBoxTop.Text = Params.TopText;
12.94 - }
12.95 -
12.96 - if (Params.BottomText != "")
12.97 - {
12.98 - textBoxBottom.Text = Params.BottomText;
12.99 - }
12.100 -
12.101 - Location = Params.Location;
12.102 - //
12.103 - SetBasicLayoutAndText();
12.104 - }
12.105 -
12.106 - }
12.107 -
12.108 -
12.109 -
12.110 - public delegate void CloseConnectionDelegate();
12.111 - public delegate void CloseDelegate();
12.112 -
12.113 - /// <summary>
12.114 - ///
12.115 - /// </summary>
12.116 - public void CloseConnectionThreadSafe()
12.117 - {
12.118 - if (this.InvokeRequired)
12.119 - {
12.120 - //Not in the proper thread, invoke ourselves
12.121 - CloseConnectionDelegate d = new CloseConnectionDelegate(CloseConnectionThreadSafe);
12.122 - this.Invoke(d, new object[] { });
12.123 - }
12.124 - else
12.125 - {
12.126 - //We are in the proper thread
12.127 - if (IsClientReady())
12.128 - {
12.129 - string sessionId = iClient.SessionId;
12.130 - Trace.TraceInformation("Closing client: " + sessionId);
12.131 - iClient.Close();
12.132 - Trace.TraceInformation("Closed client: " + sessionId);
12.133 - }
12.134 -
12.135 - iClient = null;
12.136 - }
12.137 - }
12.138 -
12.139 - /// <summary>
12.140 - ///
12.141 - /// </summary>
12.142 - public void CloseThreadSafe()
12.143 - {
12.144 - if (this.InvokeRequired)
12.145 - {
12.146 - //Not in the proper thread, invoke ourselves
12.147 - CloseDelegate d = new CloseDelegate(CloseThreadSafe);
12.148 - this.Invoke(d, new object[] { });
12.149 - }
12.150 - else
12.151 - {
12.152 - //We are in the proper thread
12.153 - Close();
12.154 - }
12.155 - }
12.156 -
12.157 -
12.158 - private void MainForm_FormClosing(object sender, FormClosingEventArgs e)
12.159 - {
12.160 - CloseConnectionThreadSafe();
12.161 - }
12.162 -
12.163 - public bool IsClientReady()
12.164 - {
12.165 - return (iClient != null && iClient.IsReady());
12.166 - }
12.167 -
12.168 - private void buttonAlignLeft_Click(object sender, EventArgs e)
12.169 - {
12.170 - Alignment = ContentAlignment.MiddleLeft;
12.171 - textBoxTop.TextAlign = HorizontalAlignment.Left;
12.172 - textBoxBottom.TextAlign = HorizontalAlignment.Left;
12.173 - }
12.174 -
12.175 - private void buttonAlignCenter_Click(object sender, EventArgs e)
12.176 - {
12.177 - Alignment = ContentAlignment.MiddleCenter;
12.178 - textBoxTop.TextAlign = HorizontalAlignment.Center;
12.179 - textBoxBottom.TextAlign = HorizontalAlignment.Center;
12.180 - }
12.181 -
12.182 - private void buttonAlignRight_Click(object sender, EventArgs e)
12.183 - {
12.184 - Alignment = ContentAlignment.MiddleRight;
12.185 - textBoxTop.TextAlign = HorizontalAlignment.Right;
12.186 - textBoxBottom.TextAlign = HorizontalAlignment.Right;
12.187 - }
12.188 -
12.189 - private void buttonSetTopText_Click(object sender, EventArgs e)
12.190 - {
12.191 - //TextField top = new TextField(0, textBoxTop.Text, ContentAlignment.MiddleLeft);
12.192 - iTextFieldTop.Text = textBoxTop.Text;
12.193 - iTextFieldTop.Alignment = Alignment;
12.194 - bool res = iClient.SetField(iTextFieldTop);
12.195 -
12.196 - if (!res)
12.197 - {
12.198 - MessageBox.Show("Create you fields first", "Field update error", MessageBoxButtons.OK, MessageBoxIcon.Error);
12.199 - }
12.200 -
12.201 -
12.202 - }
12.203 -
12.204 - private void buttonSetText_Click(object sender, EventArgs e)
12.205 - {
12.206 - SetBasicLayoutAndText();
12.207 - }
12.208 -
12.209 - void SetBasicLayoutAndText()
12.210 - {
12.211 - //Set one column two lines layout
12.212 - TableLayout layout = new TableLayout(1, 2);
12.213 - iClient.SetLayout(layout);
12.214 -
12.215 - //Set our fields
12.216 - iClient.CreateFields(new DataField[]
12.217 - {
12.218 - new TextField(textBoxTop.Text, Alignment, 0, 0),
12.219 - new TextField(textBoxBottom.Text, Alignment, 0, 1)
12.220 - });
12.221 -
12.222 - }
12.223 -
12.224 - private void buttonLayoutUpdate_Click(object sender, EventArgs e)
12.225 - {
12.226 - //Define a 2 by 2 layout
12.227 - TableLayout layout = new TableLayout(2,2);
12.228 - //Second column only takes up 25%
12.229 - layout.Columns[1].Width = 25F;
12.230 - //Send layout to server
12.231 - iClient.SetLayout(layout);
12.232 -
12.233 - //
12.234 - RecordingField recording = new RecordingField();
12.235 - recording.IsActive = true;
12.236 - recording.Text = "Recording Tame of Gone until 22:05";
12.237 - //Set texts
12.238 - iClient.CreateFields(new DataField[]
12.239 - {
12.240 - new TextField(textBoxTop.Text, Alignment, 0, 0),
12.241 - new TextField(textBoxBottom.Text, Alignment, 0, 1),
12.242 - new TextField("Third text field", Alignment, 1, 0),
12.243 - new TextField("Forth text field", Alignment, 1, 1),
12.244 - recording
12.245 - });
12.246 -
12.247 - }
12.248 -
12.249 - private void buttonSetBitmap_Click(object sender, EventArgs e)
12.250 - {
12.251 - int x1 = 0;
12.252 - int y1 = 0;
12.253 - int x2 = 256;
12.254 - int y2 = 32;
12.255 -
12.256 - Bitmap bitmap = new Bitmap(x2,y2);
12.257 - Pen blackPen = new Pen(Color.Black, 3);
12.258 -
12.259 - // Draw line to screen.
12.260 - using (var graphics = Graphics.FromImage(bitmap))
12.261 - {
12.262 - graphics.DrawLine(blackPen, x1, y1, x2, y2);
12.263 - graphics.DrawLine(blackPen, x1, y2, x2, y1);
12.264 - }
12.265 -
12.266 - DataField field = new BitmapField(bitmap);
12.267 - //field.ColumnSpan = 2;
12.268 - iClient.SetField(field);
12.269 - }
12.270 -
12.271 - private void buttonBitmapLayout_Click(object sender, EventArgs e)
12.272 - {
12.273 - SetLayoutWithBitmap();
12.274 - }
12.275 -
12.276 - /// <summary>
12.277 - /// Define a layout with a bitmap field on the left and two lines of text on the right.
12.278 - /// </summary>
12.279 - private void SetLayoutWithBitmap()
12.280 - {
12.281 - //Define a 2 by 2 layout
12.282 - TableLayout layout = new TableLayout(2, 2);
12.283 - //First column only takes 25%
12.284 - layout.Columns[0].Width = 25F;
12.285 - //Second column takes up 75%
12.286 - layout.Columns[1].Width = 75F;
12.287 - //Send layout to server
12.288 - iClient.SetLayout(layout);
12.289 -
12.290 - //Set a bitmap for our first field
12.291 - int x1 = 0;
12.292 - int y1 = 0;
12.293 - int x2 = 64;
12.294 - int y2 = 64;
12.295 -
12.296 - Bitmap bitmap = new Bitmap(x2, y2);
12.297 - Pen blackPen = new Pen(Color.Black, 3);
12.298 -
12.299 - // Draw line to screen.
12.300 - using (var graphics = Graphics.FromImage(bitmap))
12.301 - {
12.302 - graphics.DrawLine(blackPen, x1, y1, x2, y2);
12.303 - graphics.DrawLine(blackPen, x1, y2, x2, y1);
12.304 - }
12.305 -
12.306 - //Create a bitmap field from the bitmap we just created
12.307 - //We want our bitmap field to span across two rows
12.308 - BitmapField bitmapField = new BitmapField(bitmap, 0, 0, 1, 2);
12.309 -
12.310 - //Set texts
12.311 - iClient.CreateFields(new DataField[]
12.312 - {
12.313 - bitmapField,
12.314 - new TextField(textBoxTop.Text, Alignment, 1, 0),
12.315 - new TextField(textBoxBottom.Text, Alignment, 1, 1)
12.316 - });
12.317 -
12.318 - }
12.319 -
12.320 - private void buttonIndicatorsLayout_Click(object sender, EventArgs e)
12.321 - {
12.322 - //Define a 2 by 4 layout
12.323 - TableLayout layout = new TableLayout(2, 4);
12.324 - //First column
12.325 - layout.Columns[0].Width = 87.5F;
12.326 - //Second column
12.327 - layout.Columns[1].Width = 12.5F;
12.328 - //Send layout to server
12.329 - iClient.SetLayout(layout);
12.330 -
12.331 - //Create a bitmap for our indicators field
12.332 - int x1 = 0;
12.333 - int y1 = 0;
12.334 - int x2 = 32;
12.335 - int y2 = 16;
12.336 -
12.337 - Bitmap bitmap = new Bitmap(x2, y2);
12.338 - Pen blackPen = new Pen(Color.Black, 3);
12.339 -
12.340 - // Draw line to screen.
12.341 - using (var graphics = Graphics.FromImage(bitmap))
12.342 - {
12.343 - graphics.DrawLine(blackPen, x1, y1, x2, y2);
12.344 - graphics.DrawLine(blackPen, x1, y2, x2, y1);
12.345 - }
12.346 -
12.347 - //Create a bitmap field from the bitmap we just created
12.348 - DataField indicator1 = new BitmapField(bitmap, 1, 0);
12.349 - //Create a bitmap field from the bitmap we just created
12.350 - DataField indicator2 = new BitmapField(bitmap, 1, 1);
12.351 - //Create a bitmap field from the bitmap we just created
12.352 - DataField indicator3 = new BitmapField(bitmap, 1, 2);
12.353 - //Create a bitmap field from the bitmap we just created
12.354 - DataField indicator4 = new BitmapField(bitmap, 1, 3);
12.355 -
12.356 - //
12.357 - TextField textFieldTop = new TextField(textBoxTop.Text, Alignment, 0, 0, 1, 2);
12.358 - TextField textFieldBottom = new TextField(textBoxBottom.Text, Alignment, 0, 2, 1, 2);
12.359 -
12.360 - //Set texts
12.361 - iClient.CreateFields(new DataField[]
12.362 - {
12.363 - textFieldTop,
12.364 - textFieldBottom,
12.365 - indicator1,
12.366 - indicator2,
12.367 - indicator3,
12.368 - indicator4
12.369 - });
12.370 -
12.371 - }
12.372 -
12.373 - private void buttonUpdateTexts_Click(object sender, EventArgs e)
12.374 - {
12.375 -
12.376 - bool res = iClient.SetFields(new DataField[]
12.377 - {
12.378 - new TextField(textBoxTop.Text, Alignment,0,0),
12.379 - new TextField(textBoxBottom.Text, Alignment,0,1)
12.380 - });
12.381 -
12.382 - if (!res)
12.383 - {
12.384 - MessageBox.Show("Create you fields first", "Field update error", MessageBoxButtons.OK, MessageBoxIcon.Error);
12.385 - }
12.386 -
12.387 - }
12.388 -
12.389 - private void buttonLayoutOneTextField_Click(object sender, EventArgs e)
12.390 - {
12.391 - //Set one column one line layout
12.392 - TableLayout layout = new TableLayout(1, 1);
12.393 - iClient.SetLayout(layout);
12.394 -
12.395 - //Set our fields
12.396 - iClient.CreateFields(new DataField[]
12.397 - {
12.398 - new TextField(textBoxTop.Text, Alignment)
12.399 - });
12.400 - }
12.401 -
12.402 - private void numericUpDownPriority_ValueChanged(object sender, EventArgs e)
12.403 - {
12.404 - iClient.SetPriority((uint)numericUpDownPriority.Value);
12.405 - }
12.406 - }
12.407 -}
13.1 --- a/Clients/Test/MainForm.resx Wed Feb 03 13:02:48 2016 +0100
13.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
13.3 @@ -1,120 +0,0 @@
13.4 -<?xml version="1.0" encoding="utf-8"?>
13.5 -<root>
13.6 - <!--
13.7 - Microsoft ResX Schema
13.8 -
13.9 - Version 2.0
13.10 -
13.11 - The primary goals of this format is to allow a simple XML format
13.12 - that is mostly human readable. The generation and parsing of the
13.13 - various data types are done through the TypeConverter classes
13.14 - associated with the data types.
13.15 -
13.16 - Example:
13.17 -
13.18 - ... ado.net/XML headers & schema ...
13.19 - <resheader name="resmimetype">text/microsoft-resx</resheader>
13.20 - <resheader name="version">2.0</resheader>
13.21 - <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
13.22 - <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
13.23 - <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
13.24 - <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
13.25 - <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
13.26 - <value>[base64 mime encoded serialized .NET Framework object]</value>
13.27 - </data>
13.28 - <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
13.29 - <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
13.30 - <comment>This is a comment</comment>
13.31 - </data>
13.32 -
13.33 - There are any number of "resheader" rows that contain simple
13.34 - name/value pairs.
13.35 -
13.36 - Each data row contains a name, and value. The row also contains a
13.37 - type or mimetype. Type corresponds to a .NET class that support
13.38 - text/value conversion through the TypeConverter architecture.
13.39 - Classes that don't support this are serialized and stored with the
13.40 - mimetype set.
13.41 -
13.42 - The mimetype is used for serialized objects, and tells the
13.43 - ResXResourceReader how to depersist the object. This is currently not
13.44 - extensible. For a given mimetype the value must be set accordingly:
13.45 -
13.46 - Note - application/x-microsoft.net.object.binary.base64 is the format
13.47 - that the ResXResourceWriter will generate, however the reader can
13.48 - read any of the formats listed below.
13.49 -
13.50 - mimetype: application/x-microsoft.net.object.binary.base64
13.51 - value : The object must be serialized with
13.52 - : System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
13.53 - : and then encoded with base64 encoding.
13.54 -
13.55 - mimetype: application/x-microsoft.net.object.soap.base64
13.56 - value : The object must be serialized with
13.57 - : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
13.58 - : and then encoded with base64 encoding.
13.59 -
13.60 - mimetype: application/x-microsoft.net.object.bytearray.base64
13.61 - value : The object must be serialized into a byte array
13.62 - : using a System.ComponentModel.TypeConverter
13.63 - : and then encoded with base64 encoding.
13.64 - -->
13.65 - <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
13.66 - <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
13.67 - <xsd:element name="root" msdata:IsDataSet="true">
13.68 - <xsd:complexType>
13.69 - <xsd:choice maxOccurs="unbounded">
13.70 - <xsd:element name="metadata">
13.71 - <xsd:complexType>
13.72 - <xsd:sequence>
13.73 - <xsd:element name="value" type="xsd:string" minOccurs="0" />
13.74 - </xsd:sequence>
13.75 - <xsd:attribute name="name" use="required" type="xsd:string" />
13.76 - <xsd:attribute name="type" type="xsd:string" />
13.77 - <xsd:attribute name="mimetype" type="xsd:string" />
13.78 - <xsd:attribute ref="xml:space" />
13.79 - </xsd:complexType>
13.80 - </xsd:element>
13.81 - <xsd:element name="assembly">
13.82 - <xsd:complexType>
13.83 - <xsd:attribute name="alias" type="xsd:string" />
13.84 - <xsd:attribute name="name" type="xsd:string" />
13.85 - </xsd:complexType>
13.86 - </xsd:element>
13.87 - <xsd:element name="data">
13.88 - <xsd:complexType>
13.89 - <xsd:sequence>
13.90 - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
13.91 - <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
13.92 - </xsd:sequence>
13.93 - <xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
13.94 - <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
13.95 - <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
13.96 - <xsd:attribute ref="xml:space" />
13.97 - </xsd:complexType>
13.98 - </xsd:element>
13.99 - <xsd:element name="resheader">
13.100 - <xsd:complexType>
13.101 - <xsd:sequence>
13.102 - <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
13.103 - </xsd:sequence>
13.104 - <xsd:attribute name="name" type="xsd:string" use="required" />
13.105 - </xsd:complexType>
13.106 - </xsd:element>
13.107 - </xsd:choice>
13.108 - </xsd:complexType>
13.109 - </xsd:element>
13.110 - </xsd:schema>
13.111 - <resheader name="resmimetype">
13.112 - <value>text/microsoft-resx</value>
13.113 - </resheader>
13.114 - <resheader name="version">
13.115 - <value>2.0</value>
13.116 - </resheader>
13.117 - <resheader name="reader">
13.118 - <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
13.119 - </resheader>
13.120 - <resheader name="writer">
13.121 - <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
13.122 - </resheader>
13.123 -</root>
13.124 \ No newline at end of file
14.1 --- a/Clients/Test/Program.cs Wed Feb 03 13:02:48 2016 +0100
14.2 +++ b/Clients/Test/Program.cs Wed Feb 03 13:20:16 2016 +0100
14.3 @@ -39,7 +39,7 @@
14.4
14.5 Application.EnableVisualStyles();
14.6 Application.SetCompatibleTextRenderingDefault(false);
14.7 - Application.Run(new MainForm());
14.8 + Application.Run(new FormClientTest());
14.9 }
14.10
14.11 [STAThread]
14.12 @@ -50,7 +50,7 @@
14.13
14.14 Application.EnableVisualStyles();
14.15 Application.SetCompatibleTextRenderingDefault(false);
14.16 - MainForm mainForm = new MainForm();
14.17 + FormClientTest mainForm = new FormClientTest();
14.18 mainForm.Params = (StartParams)aParams;
14.19 Application.Run(mainForm);
14.20 }
15.1 --- a/Clients/Test/SharpDisplayClient.csproj Wed Feb 03 13:02:48 2016 +0100
15.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
15.3 @@ -1,164 +0,0 @@
15.4 -<?xml version="1.0" encoding="utf-8"?>
15.5 -<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
15.6 - <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
15.7 - <PropertyGroup>
15.8 - <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
15.9 - <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
15.10 - <ProjectGuid>{7EE64074-8CDB-4448-B40C-81B75D6B31CD}</ProjectGuid>
15.11 - <OutputType>WinExe</OutputType>
15.12 - <AppDesignerFolder>Properties</AppDesignerFolder>
15.13 - <RootNamespace>SharpDisplayClient</RootNamespace>
15.14 - <AssemblyName>SharpDisplayClient</AssemblyName>
15.15 - <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
15.16 - <FileAlignment>512</FileAlignment>
15.17 - <TargetFrameworkProfile />
15.18 - <PublishUrl>publish\</PublishUrl>
15.19 - <Install>true</Install>
15.20 - <InstallFrom>Disk</InstallFrom>
15.21 - <UpdateEnabled>false</UpdateEnabled>
15.22 - <UpdateMode>Foreground</UpdateMode>
15.23 - <UpdateInterval>7</UpdateInterval>
15.24 - <UpdateIntervalUnits>Days</UpdateIntervalUnits>
15.25 - <UpdatePeriodically>false</UpdatePeriodically>
15.26 - <UpdateRequired>false</UpdateRequired>
15.27 - <MapFileExtensions>true</MapFileExtensions>
15.28 - <ApplicationRevision>0</ApplicationRevision>
15.29 - <ApplicationVersion>0.1.0.%2a</ApplicationVersion>
15.30 - <IsWebBootstrapper>false</IsWebBootstrapper>
15.31 - <UseApplicationTrust>false</UseApplicationTrust>
15.32 - <BootstrapperEnabled>true</BootstrapperEnabled>
15.33 - </PropertyGroup>
15.34 - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
15.35 - <PlatformTarget>AnyCPU</PlatformTarget>
15.36 - <DebugSymbols>true</DebugSymbols>
15.37 - <DebugType>full</DebugType>
15.38 - <Optimize>false</Optimize>
15.39 - <OutputPath>bin\Debug\</OutputPath>
15.40 - <DefineConstants>DEBUG;TRACE</DefineConstants>
15.41 - <ErrorReport>prompt</ErrorReport>
15.42 - <WarningLevel>4</WarningLevel>
15.43 - <Prefer32Bit>false</Prefer32Bit>
15.44 - </PropertyGroup>
15.45 - <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
15.46 - <PlatformTarget>AnyCPU</PlatformTarget>
15.47 - <DebugType>pdbonly</DebugType>
15.48 - <Optimize>true</Optimize>
15.49 - <OutputPath>bin\Release\</OutputPath>
15.50 - <DefineConstants>TRACE</DefineConstants>
15.51 - <ErrorReport>prompt</ErrorReport>
15.52 - <WarningLevel>4</WarningLevel>
15.53 - <Prefer32Bit>false</Prefer32Bit>
15.54 - </PropertyGroup>
15.55 - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
15.56 - <DebugSymbols>true</DebugSymbols>
15.57 - <OutputPath>..\bin\x86\Debug\</OutputPath>
15.58 - <BaseIntermediateOutputPath>..\bin\x86\Debug\obj</BaseIntermediateOutputPath>
15.59 - <DefineConstants>DEBUG;TRACE</DefineConstants>
15.60 - <DebugType>full</DebugType>
15.61 - <PlatformTarget>x86</PlatformTarget>
15.62 - <ErrorReport>prompt</ErrorReport>
15.63 - <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
15.64 - <Prefer32Bit>false</Prefer32Bit>
15.65 - </PropertyGroup>
15.66 - <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
15.67 - <OutputPath>..\bin\x86\Release\</OutputPath>
15.68 - <BaseIntermediateOutputPath>..\bin\x86\Release\obj</BaseIntermediateOutputPath>
15.69 - <DefineConstants>TRACE</DefineConstants>
15.70 - <Optimize>true</Optimize>
15.71 - <DebugType>pdbonly</DebugType>
15.72 - <PlatformTarget>x86</PlatformTarget>
15.73 - <ErrorReport>prompt</ErrorReport>
15.74 - <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
15.75 - <Prefer32Bit>false</Prefer32Bit>
15.76 - </PropertyGroup>
15.77 - <PropertyGroup>
15.78 - <SignManifests>true</SignManifests>
15.79 - </PropertyGroup>
15.80 - <PropertyGroup>
15.81 - <ManifestCertificateThumbprint>70A149AB9F89E507D9411D109553BE22455895D6</ManifestCertificateThumbprint>
15.82 - </PropertyGroup>
15.83 - <PropertyGroup>
15.84 - <ManifestKeyFile>SharpDisplayManager_TemporaryKey.pfx</ManifestKeyFile>
15.85 - </PropertyGroup>
15.86 - <PropertyGroup>
15.87 - <NoWin32Manifest>true</NoWin32Manifest>
15.88 - </PropertyGroup>
15.89 - <ItemGroup>
15.90 - <Reference Include="SharpLibDisplay, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
15.91 - <HintPath>..\..\packages\SharpLibDisplay.0.2.5\lib\net40\SharpLibDisplay.dll</HintPath>
15.92 - <Private>True</Private>
15.93 - </Reference>
15.94 - <Reference Include="System" />
15.95 - <Reference Include="System.Core" />
15.96 - <Reference Include="System.ServiceModel" />
15.97 - <Reference Include="System.Xml.Linq" />
15.98 - <Reference Include="System.Data.DataSetExtensions" />
15.99 - <Reference Include="Microsoft.CSharp" />
15.100 - <Reference Include="System.Data" />
15.101 - <Reference Include="System.Deployment" />
15.102 - <Reference Include="System.Drawing" />
15.103 - <Reference Include="System.Windows.Forms" />
15.104 - <Reference Include="System.Xml" />
15.105 - </ItemGroup>
15.106 - <ItemGroup>
15.107 - <Compile Include="MainForm.cs">
15.108 - <SubType>Form</SubType>
15.109 - </Compile>
15.110 - <Compile Include="MainForm.Designer.cs">
15.111 - <DependentUpon>MainForm.cs</DependentUpon>
15.112 - </Compile>
15.113 - <Compile Include="Program.cs" />
15.114 - <Compile Include="Properties\AssemblyInfo.cs" />
15.115 - <EmbeddedResource Include="MainForm.resx">
15.116 - <DependentUpon>MainForm.cs</DependentUpon>
15.117 - </EmbeddedResource>
15.118 - <EmbeddedResource Include="Properties\Resources.resx">
15.119 - <Generator>ResXFileCodeGenerator</Generator>
15.120 - <LastGenOutput>Resources.Designer.cs</LastGenOutput>
15.121 - <SubType>Designer</SubType>
15.122 - </EmbeddedResource>
15.123 - <Compile Include="Properties\Resources.Designer.cs">
15.124 - <AutoGen>True</AutoGen>
15.125 - <DependentUpon>Resources.resx</DependentUpon>
15.126 - <DesignTime>True</DesignTime>
15.127 - </Compile>
15.128 - <None Include="packages.config" />
15.129 - <None Include="Properties\Settings.settings">
15.130 - <Generator>SettingsSingleFileGenerator</Generator>
15.131 - <LastGenOutput>Settings.Designer.cs</LastGenOutput>
15.132 - </None>
15.133 - <Compile Include="Properties\Settings.Designer.cs">
15.134 - <AutoGen>True</AutoGen>
15.135 - <DependentUpon>Settings.settings</DependentUpon>
15.136 - <DesignTimeSharedInput>True</DesignTimeSharedInput>
15.137 - </Compile>
15.138 - </ItemGroup>
15.139 - <ItemGroup>
15.140 - <None Include="App.config" />
15.141 - </ItemGroup>
15.142 - <ItemGroup>
15.143 - <BootstrapperPackage Include=".NETFramework,Version=v4.5">
15.144 - <Visible>False</Visible>
15.145 - <ProductName>Microsoft .NET Framework 4.5 %28x86 and x64%29</ProductName>
15.146 - <Install>true</Install>
15.147 - </BootstrapperPackage>
15.148 - <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
15.149 - <Visible>False</Visible>
15.150 - <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
15.151 - <Install>false</Install>
15.152 - </BootstrapperPackage>
15.153 - <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
15.154 - <Visible>False</Visible>
15.155 - <ProductName>.NET Framework 3.5 SP1</ProductName>
15.156 - <Install>false</Install>
15.157 - </BootstrapperPackage>
15.158 - </ItemGroup>
15.159 - <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
15.160 - <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
15.161 - Other similar extension points exist, see Microsoft.Common.targets.
15.162 - <Target Name="BeforeBuild">
15.163 - </Target>
15.164 - <Target Name="AfterBuild">
15.165 - </Target>
15.166 - -->
15.167 -</Project>
15.168 \ No newline at end of file
16.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
16.2 +++ b/Clients/Test/SharpDisplayClientTest.csproj Wed Feb 03 13:20:16 2016 +0100
16.3 @@ -0,0 +1,164 @@
16.4 +<?xml version="1.0" encoding="utf-8"?>
16.5 +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
16.6 + <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
16.7 + <PropertyGroup>
16.8 + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
16.9 + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
16.10 + <ProjectGuid>{7EE64074-8CDB-4448-B40C-81B75D6B31CD}</ProjectGuid>
16.11 + <OutputType>WinExe</OutputType>
16.12 + <AppDesignerFolder>Properties</AppDesignerFolder>
16.13 + <RootNamespace>SharpDisplayClient</RootNamespace>
16.14 + <AssemblyName>SharpDisplayClient</AssemblyName>
16.15 + <TargetFrameworkVersion>v4.6</TargetFrameworkVersion>
16.16 + <FileAlignment>512</FileAlignment>
16.17 + <TargetFrameworkProfile />
16.18 + <PublishUrl>publish\</PublishUrl>
16.19 + <Install>true</Install>
16.20 + <InstallFrom>Disk</InstallFrom>
16.21 + <UpdateEnabled>false</UpdateEnabled>
16.22 + <UpdateMode>Foreground</UpdateMode>
16.23 + <UpdateInterval>7</UpdateInterval>
16.24 + <UpdateIntervalUnits>Days</UpdateIntervalUnits>
16.25 + <UpdatePeriodically>false</UpdatePeriodically>
16.26 + <UpdateRequired>false</UpdateRequired>
16.27 + <MapFileExtensions>true</MapFileExtensions>
16.28 + <ApplicationRevision>0</ApplicationRevision>
16.29 + <ApplicationVersion>0.1.0.%2a</ApplicationVersion>
16.30 + <IsWebBootstrapper>false</IsWebBootstrapper>
16.31 + <UseApplicationTrust>false</UseApplicationTrust>
16.32 + <BootstrapperEnabled>true</BootstrapperEnabled>
16.33 + </PropertyGroup>
16.34 + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
16.35 + <PlatformTarget>AnyCPU</PlatformTarget>
16.36 + <DebugSymbols>true</DebugSymbols>
16.37 + <DebugType>full</DebugType>
16.38 + <Optimize>false</Optimize>
16.39 + <OutputPath>bin\Debug\</OutputPath>
16.40 + <DefineConstants>DEBUG;TRACE</DefineConstants>
16.41 + <ErrorReport>prompt</ErrorReport>
16.42 + <WarningLevel>4</WarningLevel>
16.43 + <Prefer32Bit>false</Prefer32Bit>
16.44 + </PropertyGroup>
16.45 + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
16.46 + <PlatformTarget>AnyCPU</PlatformTarget>
16.47 + <DebugType>pdbonly</DebugType>
16.48 + <Optimize>true</Optimize>
16.49 + <OutputPath>bin\Release\</OutputPath>
16.50 + <DefineConstants>TRACE</DefineConstants>
16.51 + <ErrorReport>prompt</ErrorReport>
16.52 + <WarningLevel>4</WarningLevel>
16.53 + <Prefer32Bit>false</Prefer32Bit>
16.54 + </PropertyGroup>
16.55 + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
16.56 + <DebugSymbols>true</DebugSymbols>
16.57 + <OutputPath>..\bin\x86\Debug\</OutputPath>
16.58 + <BaseIntermediateOutputPath>..\bin\x86\Debug\obj</BaseIntermediateOutputPath>
16.59 + <DefineConstants>DEBUG;TRACE</DefineConstants>
16.60 + <DebugType>full</DebugType>
16.61 + <PlatformTarget>x86</PlatformTarget>
16.62 + <ErrorReport>prompt</ErrorReport>
16.63 + <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
16.64 + <Prefer32Bit>false</Prefer32Bit>
16.65 + </PropertyGroup>
16.66 + <PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
16.67 + <OutputPath>..\bin\x86\Release\</OutputPath>
16.68 + <BaseIntermediateOutputPath>..\bin\x86\Release\obj</BaseIntermediateOutputPath>
16.69 + <DefineConstants>TRACE</DefineConstants>
16.70 + <Optimize>true</Optimize>
16.71 + <DebugType>pdbonly</DebugType>
16.72 + <PlatformTarget>x86</PlatformTarget>
16.73 + <ErrorReport>prompt</ErrorReport>
16.74 + <CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
16.75 + <Prefer32Bit>false</Prefer32Bit>
16.76 + </PropertyGroup>
16.77 + <PropertyGroup>
16.78 + <SignManifests>true</SignManifests>
16.79 + </PropertyGroup>
16.80 + <PropertyGroup>
16.81 + <ManifestCertificateThumbprint>70A149AB9F89E507D9411D109553BE22455895D6</ManifestCertificateThumbprint>
16.82 + </PropertyGroup>
16.83 + <PropertyGroup>
16.84 + <ManifestKeyFile>SharpDisplayManager_TemporaryKey.pfx</ManifestKeyFile>
16.85 + </PropertyGroup>
16.86 + <PropertyGroup>
16.87 + <NoWin32Manifest>true</NoWin32Manifest>
16.88 + </PropertyGroup>
16.89 + <ItemGroup>
16.90 + <Reference Include="SharpLibDisplay, Version=1.0.0.0, Culture=neutral, processorArchitecture=MSIL">
16.91 + <HintPath>..\..\packages\SharpLibDisplay.0.2.5\lib\net40\SharpLibDisplay.dll</HintPath>
16.92 + <Private>True</Private>
16.93 + </Reference>
16.94 + <Reference Include="System" />
16.95 + <Reference Include="System.Core" />
16.96 + <Reference Include="System.ServiceModel" />
16.97 + <Reference Include="System.Xml.Linq" />
16.98 + <Reference Include="System.Data.DataSetExtensions" />
16.99 + <Reference Include="Microsoft.CSharp" />
16.100 + <Reference Include="System.Data" />
16.101 + <Reference Include="System.Deployment" />
16.102 + <Reference Include="System.Drawing" />
16.103 + <Reference Include="System.Windows.Forms" />
16.104 + <Reference Include="System.Xml" />
16.105 + </ItemGroup>
16.106 + <ItemGroup>
16.107 + <Compile Include="FormClientTest.cs">
16.108 + <SubType>Form</SubType>
16.109 + </Compile>
16.110 + <Compile Include="FormClientTest.Designer.cs">
16.111 + <DependentUpon>FormClientTest.cs</DependentUpon>
16.112 + </Compile>
16.113 + <Compile Include="Program.cs" />
16.114 + <Compile Include="Properties\AssemblyInfo.cs" />
16.115 + <EmbeddedResource Include="FormClientTest.resx">
16.116 + <DependentUpon>FormClientTest.cs</DependentUpon>
16.117 + </EmbeddedResource>
16.118 + <EmbeddedResource Include="Properties\Resources.resx">
16.119 + <Generator>ResXFileCodeGenerator</Generator>
16.120 + <LastGenOutput>Resources.Designer.cs</LastGenOutput>
16.121 + <SubType>Designer</SubType>
16.122 + </EmbeddedResource>
16.123 + <Compile Include="Properties\Resources.Designer.cs">
16.124 + <AutoGen>True</AutoGen>
16.125 + <DependentUpon>Resources.resx</DependentUpon>
16.126 + <DesignTime>True</DesignTime>
16.127 + </Compile>
16.128 + <None Include="packages.config" />
16.129 + <None Include="Properties\Settings.settings">
16.130 + <Generator>SettingsSingleFileGenerator</Generator>
16.131 + <LastGenOutput>Settings.Designer.cs</LastGenOutput>
16.132 + </None>
16.133 + <Compile Include="Properties\Settings.Designer.cs">
16.134 + <AutoGen>True</AutoGen>
16.135 + <DependentUpon>Settings.settings</DependentUpon>
16.136 + <DesignTimeSharedInput>True</DesignTimeSharedInput>
16.137 + </Compile>
16.138 + </ItemGroup>
16.139 + <ItemGroup>
16.140 + <None Include="App.config" />
16.141 + </ItemGroup>
16.142 + <ItemGroup>
16.143 + <BootstrapperPackage Include=".NETFramework,Version=v4.5">
16.144 + <Visible>False</Visible>
16.145 + <ProductName>Microsoft .NET Framework 4.5 %28x86 and x64%29</ProductName>
16.146 + <Install>true</Install>
16.147 + </BootstrapperPackage>
16.148 + <BootstrapperPackage Include="Microsoft.Net.Client.3.5">
16.149 + <Visible>False</Visible>
16.150 + <ProductName>.NET Framework 3.5 SP1 Client Profile</ProductName>
16.151 + <Install>false</Install>
16.152 + </BootstrapperPackage>
16.153 + <BootstrapperPackage Include="Microsoft.Net.Framework.3.5.SP1">
16.154 + <Visible>False</Visible>
16.155 + <ProductName>.NET Framework 3.5 SP1</ProductName>
16.156 + <Install>false</Install>
16.157 + </BootstrapperPackage>
16.158 + </ItemGroup>
16.159 + <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
16.160 + <!-- To modify your build process, add your task inside one of the targets below and uncomment it.
16.161 + Other similar extension points exist, see Microsoft.Common.targets.
16.162 + <Target Name="BeforeBuild">
16.163 + </Target>
16.164 + <Target Name="AfterBuild">
16.165 + </Target>
16.166 + -->
16.167 +</Project>
16.168 \ No newline at end of file
17.1 --- a/Server/SharpDisplayManager.csproj Wed Feb 03 13:02:48 2016 +0100
17.2 +++ b/Server/SharpDisplayManager.csproj Wed Feb 03 13:20:16 2016 +0100
17.3 @@ -218,13 +218,13 @@
17.4 <None Include="SharpDisplayManager_TemporaryKey.pfx" />
17.5 </ItemGroup>
17.6 <ItemGroup>
17.7 - <ProjectReference Include="..\Clients\Idle\SharpDisplayIdleClient.csproj">
17.8 + <ProjectReference Include="..\Clients\Idle\SharpDisplayClientIdle.csproj">
17.9 <Project>{a76579e5-aa8d-45a3-99e1-239a5c030a78}</Project>
17.10 - <Name>SharpDisplayIdleClient</Name>
17.11 + <Name>SharpDisplayClientIdle</Name>
17.12 </ProjectReference>
17.13 - <ProjectReference Include="..\Clients\Test\SharpDisplayClient.csproj">
17.14 + <ProjectReference Include="..\Clients\Test\SharpDisplayClientTest.csproj">
17.15 <Project>{7ee64074-8cdb-4448-b40c-81b75d6b31cd}</Project>
17.16 - <Name>SharpDisplayClient</Name>
17.17 + <Name>SharpDisplayClientTest</Name>
17.18 </ProjectReference>
17.19 <ProjectReference Include="..\PowerManager\PowerManager.vcxproj">
17.20 <Project>{c174f23d-3055-49bc-b6b0-563011af624d}</Project>
18.1 --- a/SharpDisplayManager.sln Wed Feb 03 13:02:48 2016 +0100
18.2 +++ b/SharpDisplayManager.sln Wed Feb 03 13:20:16 2016 +0100
18.3 @@ -9,9 +9,9 @@
18.4 EndProject
18.5 Project("{54435603-DBB4-11D2-8724-00A0C9A8B90C}") = "Setup", "Setup\Setup.vdproj", "{22C920A9-2352-4DC9-91E2-035EBD712866}"
18.6 EndProject
18.7 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpDisplayIdleClient", "Clients\Idle\SharpDisplayIdleClient.csproj", "{A76579E5-AA8D-45A3-99E1-239A5C030A78}"
18.8 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpDisplayClientIdle", "Clients\Idle\SharpDisplayClientIdle.csproj", "{A76579E5-AA8D-45A3-99E1-239A5C030A78}"
18.9 EndProject
18.10 -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpDisplayClient", "Clients\Test\SharpDisplayClient.csproj", "{7EE64074-8CDB-4448-B40C-81B75D6B31CD}"
18.11 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "SharpDisplayClientTest", "Clients\Test\SharpDisplayClientTest.csproj", "{7EE64074-8CDB-4448-B40C-81B75D6B31CD}"
18.12 EndProject
18.13 Global
18.14 GlobalSection(SolutionConfigurationPlatforms) = preSolution