Changed: purge

This commit is contained in:
Ray 2021-07-21 17:12:36 +01:00
parent a85699f751
commit c96adbd366
132 changed files with 0 additions and 16294 deletions

8
.gitignore vendored
View File

@ -1,8 +0,0 @@
/.vs
/bin
/obj
/packages
/Installer/Debug
/Installer/Release
/FizzyLauncher.UI/bin
/FizzyLauncher.UI/obj

View File

@ -1,272 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{D9A49347-583F-41B4-AFE1-63EC80BBDB38}</ProjectGuid>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>AppLauncher</RootNamespace>
<AssemblyName>fizzylauncher.ui</AssemblyName>
<TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<Deterministic>true</Deterministic>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup>
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
</PropertyGroup>
<ItemGroup>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Drawing" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources16.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources16.resx</DependentUpon>
</Compile>
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="RyzStudio\Drawing\Rectangoid.cs" />
<Compile Include="RyzStudio\Windows\Forms\TForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\Forms\TUserControl.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\Forms\TFlatButton.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\Forms\THorizontalSeparator.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\Forms\THorizontalSeparator.Designer.cs">
<DependentUpon>THorizontalSeparator.cs</DependentUpon>
</Compile>
<Compile Include="RyzStudio\Windows\Forms\ThreadControl.cs" />
<Compile Include="RyzStudio\Windows\Forms\TImageBox.cs">
<SubType>Component</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TButton.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TButton.designer.cs">
<DependentUpon>TButton.cs</DependentUpon>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TButtonTextBox.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TButtonTextBox.designer.cs">
<DependentUpon>TButtonTextBox.cs</DependentUpon>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TDialogForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TDialogForm.Designer.cs">
<DependentUpon>TDialogForm.cs</DependentUpon>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TFolderTextBox.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TListBox.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TListBox.designer.cs">
<DependentUpon>TListBox.cs</DependentUpon>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TOpenFileTextBox.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TPickerBox.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TPickerBox.designer.cs">
<DependentUpon>TPickerBox.cs</DependentUpon>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TTextBox.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TTextBox.designer.cs">
<DependentUpon>TTextBox.cs</DependentUpon>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TUserControl.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TUserControl.designer.cs">
<DependentUpon>TUserControl.cs</DependentUpon>
</Compile>
<Compile Include="RyzStudio\Windows\ThemedForms\TYesNoPickerBox.cs">
<SubType>UserControl</SubType>
</Compile>
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Properties\Resources16.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources16.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="RyzStudio\Windows\Forms\TForm.resx">
<DependentUpon>TForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="RyzStudio\Windows\ThemedForms\TButton.resx">
<DependentUpon>TButton.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="RyzStudio\Windows\ThemedForms\TButtonTextBox.resx">
<DependentUpon>TButtonTextBox.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="RyzStudio\Windows\ThemedForms\TDialogForm.resx">
<DependentUpon>TDialogForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="RyzStudio\Windows\ThemedForms\TListBox.resx">
<DependentUpon>TListBox.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="RyzStudio\Windows\ThemedForms\TPickerBox.resx">
<DependentUpon>TPickerBox.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="RyzStudio\Windows\ThemedForms\TTextBox.resx">
<DependentUpon>TTextBox.cs</DependentUpon>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\arrow_down.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\arrow_down2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\arrow_up.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\arrow_up2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\close.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\close2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\edit.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\edit2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\file.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\file2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\folder.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\folder2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\minus.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\minus2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\plus.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\16\plus2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_blank.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_blank2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_blank3.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_blank4.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_blank5.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_close.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_close2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_close3.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_close4.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_close5.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_maximise.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_maximise2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_maximise3.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_maximise4.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_maximise5.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_minimise.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_minimise2.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_minimise3.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_minimise4.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\titlebar_minimise5.png" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>

View File

@ -1,36 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("FizzyLauncher.UI")]
[assembly: AssemblyDescription("UI")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("")]
[assembly: AssemblyProduct("FizzyLauncher.UI")]
[assembly: AssemblyCopyright("Copyright © Ray Lam 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("d9a49347-583f-41b4-afe1-63ec80bbdb38")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("1.0.0.0")]

View File

@ -1,263 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace AppLauncher.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AppLauncher.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_blank {
get {
object obj = ResourceManager.GetObject("titlebar_blank", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_blank2 {
get {
object obj = ResourceManager.GetObject("titlebar_blank2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_blank3 {
get {
object obj = ResourceManager.GetObject("titlebar_blank3", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_blank4 {
get {
object obj = ResourceManager.GetObject("titlebar_blank4", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_blank5 {
get {
object obj = ResourceManager.GetObject("titlebar_blank5", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_close {
get {
object obj = ResourceManager.GetObject("titlebar_close", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_close2 {
get {
object obj = ResourceManager.GetObject("titlebar_close2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_close3 {
get {
object obj = ResourceManager.GetObject("titlebar_close3", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_close4 {
get {
object obj = ResourceManager.GetObject("titlebar_close4", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_close5 {
get {
object obj = ResourceManager.GetObject("titlebar_close5", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_maximise {
get {
object obj = ResourceManager.GetObject("titlebar_maximise", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_maximise2 {
get {
object obj = ResourceManager.GetObject("titlebar_maximise2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_maximise3 {
get {
object obj = ResourceManager.GetObject("titlebar_maximise3", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_maximise4 {
get {
object obj = ResourceManager.GetObject("titlebar_maximise4", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_maximise5 {
get {
object obj = ResourceManager.GetObject("titlebar_maximise5", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_minimise {
get {
object obj = ResourceManager.GetObject("titlebar_minimise", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_minimise2 {
get {
object obj = ResourceManager.GetObject("titlebar_minimise2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_minimise3 {
get {
object obj = ResourceManager.GetObject("titlebar_minimise3", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_minimise4 {
get {
object obj = ResourceManager.GetObject("titlebar_minimise4", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap titlebar_minimise5 {
get {
object obj = ResourceManager.GetObject("titlebar_minimise5", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View File

@ -1,181 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="titlebar_blank" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_blank.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_blank2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_blank2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_blank3" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_blank3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_blank4" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_blank4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_blank5" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_blank5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_close" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_close.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_close2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_close2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_close3" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_close3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_close4" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_close4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_close5" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_close5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_maximise" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_maximise.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_maximise2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_maximise2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_maximise3" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_maximise3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_maximise4" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_maximise4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_maximise5" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_maximise5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_minimise" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_minimise.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_minimise2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_minimise2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_minimise3" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_minimise3.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_minimise4" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_minimise4.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="titlebar_minimise5" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\titlebar_minimise5.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

View File

@ -1,223 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace AppLauncher.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources16 {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources16() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AppLauncher.Properties.Resources16", typeof(Resources16).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap arrow_down {
get {
object obj = ResourceManager.GetObject("arrow_down", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap arrow_down2 {
get {
object obj = ResourceManager.GetObject("arrow_down2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap arrow_up {
get {
object obj = ResourceManager.GetObject("arrow_up", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap arrow_up2 {
get {
object obj = ResourceManager.GetObject("arrow_up2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap close {
get {
object obj = ResourceManager.GetObject("close", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap close2 {
get {
object obj = ResourceManager.GetObject("close2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap edit {
get {
object obj = ResourceManager.GetObject("edit", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap edit2 {
get {
object obj = ResourceManager.GetObject("edit2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap file {
get {
object obj = ResourceManager.GetObject("file", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap file2 {
get {
object obj = ResourceManager.GetObject("file2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap folder {
get {
object obj = ResourceManager.GetObject("folder", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap folder2 {
get {
object obj = ResourceManager.GetObject("folder2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap minus {
get {
object obj = ResourceManager.GetObject("minus", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap minus2 {
get {
object obj = ResourceManager.GetObject("minus2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap plus {
get {
object obj = ResourceManager.GetObject("plus", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap plus2 {
get {
object obj = ResourceManager.GetObject("plus2", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

View File

@ -1,169 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
<data name="arrow_down" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\16\arrow_down.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="arrow_down2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\16\arrow_down2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="arrow_up" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\16\arrow_up.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="arrow_up2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\16\arrow_up2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="close" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\16\close.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="close2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\16\close2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="edit" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\16\edit.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="edit2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\16\edit2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="file" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\16\file.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="file2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\16\file2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="folder" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\16\folder.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="folder2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\16\folder2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="minus" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\16\minus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="minus2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\16\minus2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="plus" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\16\plus.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="plus2" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\16\plus2.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 601 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 417 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 590 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 410 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 367 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 468 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 612 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 419 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 372 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 323 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 352 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 288 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 532 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 380 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 559 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 398 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 255 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 259 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 261 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 429 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 478 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 473 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 441 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 478 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 302 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 308 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 311 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 303 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 307 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 309 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 313 B

View File

@ -1,444 +0,0 @@
using System;
using System.ComponentModel;
using System.Data;
using System.IO;
namespace RyzStudio.Data.SQLite
{
public class SQLiteDatabase
{
#region static methods
public static string escapeSQL(string query)
{
return query.Replace("'", "''").Trim();
}
public static string escapeValue(string text)
{
return text.Replace("\"", "\\\"").Replace("\t", "\\t").Replace("\r", " \\r").Replace("\n", "\\n");
}
public static string PrepareQuery(string query, params string[] arguments)
{
string rv = query;
if (string.IsNullOrEmpty(rv))
{
return string.Empty;
}
for (int i = 0; i < arguments.Length; i++)
{
rv = rv.Replace("[^" + (i + 1).ToString() + "]", escapeSQL(arguments[i]));
}
return rv;
}
#endregion
protected SQLiteWrapper.SQLiteBase database = null;
protected string databaseLocation = ":memory:";
protected string lastError = "";
protected string[] requiredTableList = new string[0];
protected const string tableNameConfig = "ryz_app_xxxx_config";
#region public properties
[Browsable(false)]
public SQLiteWrapper.SQLiteBase Database
{
get { return database; }
set { database = value; }
}
[Browsable(false)]
public string DatabaseLocation
{
get { return databaseLocation; }
set { databaseLocation = value; }
}
[Browsable(false)]
public string LastError
{
get { return lastError; }
}
[Browsable(false)]
public int LastInsertID
{
get
{
if (database == null)
{
return 0;
}
DataTable dt = this.DoQuery("SELECT last_insert_rowid() AS ccc;");
if (dt == null)
{
return 0;
}
if (dt.Rows.Count <= 0)
{
return 0;
}
return int.Parse(dt.Rows[0]["ccc"].ToString());
}
}
#endregion
#region public methods
public bool Create(bool use_memory = true)
{
lastError = string.Empty;
if (string.IsNullOrEmpty(databaseLocation))
{
return false;
}
try
{
if (database != null)
{
database.CloseDatabase();
}
database = new SQLiteWrapper.SQLiteBase(((use_memory) ? ":memory:" : databaseLocation));
}
catch (Exception exc)
{
lastError = exc.Message;
return false;
}
bool rv = Prepare();
if (!rv)
{
return false;
}
return CheckRequiredTables();
}
public bool Create(string filename, bool override_file = false)
{
lastError = string.Empty;
databaseLocation = filename;
if (string.IsNullOrEmpty(databaseLocation))
{
return false;
}
if (File.Exists(databaseLocation) && override_file)
{
try
{
File.Delete(databaseLocation);
}
catch (Exception xc)
{
lastError = xc.Message;
return false;
}
}
try
{
if (database != null)
{
database.CloseDatabase();
}
database = new SQLiteWrapper.SQLiteBase(databaseLocation);
}
catch (Exception exc)
{
lastError = exc.Message;
return false;
}
bool rv = CheckRequiredTables();
if (!rv)
{
Prepare();
}
return CheckRequiredTables();
}
public bool Load(string filename)
{
if (!File.Exists(filename))
{
return false;
}
lastError = string.Empty;
databaseLocation = filename;
try
{
if (database != null)
{
database.CloseDatabase();
}
database = new SQLiteWrapper.SQLiteBase(databaseLocation);
}
catch (Exception exc)
{
lastError = exc.Message;
return false;
}
return CheckRequiredTables();
}
public void Close()
{
if (database != null)
{
database.CloseDatabase();
}
}
public DataTable DoQuery(string query)
{
lastError = string.Empty;
if (database == null)
{
return null;
}
try
{
return database.ExecuteQuery(query);
}
catch (Exception exc)
{
lastError = exc.Message;
return null;
}
}
public DataTable DoQuery(string query, params string[] args)
{
string sql = SQLiteDatabase.PrepareQuery(query, args);
return DoQuery(sql);
}
public bool DoNonQuery(string query)
{
lastError = string.Empty;
if (database == null)
{
return false;
}
try
{
database.ExecuteNonQuery(query);
return true;
}
catch (Exception exc)
{
lastError = exc.Message;
return false;
}
}
public bool DoNonQuery(string query, params string[] args)
{
string sql = SQLiteDatabase.PrepareQuery(query, args);
return DoNonQuery(sql);
}
public string DoQuerySingle(string query)
{
lastError = string.Empty;
if (database == null)
{
return string.Empty;
}
DataTable tbl = DoQuery(query);
if (tbl == null)
{
return string.Empty;
}
if (tbl.Columns.Count <= 0)
{
return string.Empty;
}
if (tbl.Rows.Count <= 0)
{
return string.Empty;
}
return tbl.Rows[0][0].ToString();
}
public string DoQuerySingle(string query, params string[] args)
{
string sql = SQLiteDatabase.PrepareQuery(query, args);
return DoQuerySingle(sql);
}
public int DoQueryCount(string query)
{
if (database == null)
{
return -1;
}
DataTable tbl = DoQuery(query);
if (tbl == null)
{
return -1;
}
if (tbl.Rows.Count <= 0)
{
return 0;
}
return tbl.Rows.Count;
}
public int DoQueryCount(string query, params string[] args)
{
string sql = SQLiteDatabase.PrepareQuery(query, args);
return DoQueryCount(sql);
}
public bool DoQueryExist(string query)
{
int rv = DoQueryCount(query);
return (rv > 0);
}
public bool DoQueryExist(string query, params string[] args)
{
string sql = SQLiteDatabase.PrepareQuery(query, args);
return DoQueryExist(sql);
}
public bool HasTable(string table_name)
{
lastError = string.Empty;
if (database == null)
{
return false;
}
int rv = this.DoQueryCount("SELECT 1 FROM sqlite_master WHERE type='table' AND name='" + escapeSQL(table_name) + "'");
return (rv > 0);
}
public bool CheckRequiredTables()
{
bool rv = true;
foreach (string tbl in requiredTableList)
{
if (string.IsNullOrEmpty(tbl))
{
continue;
}
if (!this.HasTable(tbl))
{
rv = false;
break;
}
}
return rv;
}
protected bool PrepareConfig()
{
if (HasTable(tableNameConfig))
{
return true;
}
bool rv = this.DoNonQuery(@"
BEGIN TRANSACTION;
CREATE TABLE " + tableNameConfig + @" (cfg_name TEXT, cfg_value TEXT);
COMMIT;
");
return rv;
}
public bool SetConfig(string name, string value)
{
if (!PrepareConfig())
{
return false;
}
string sql = string.Empty;
int rv = this.DoQueryCount("SELECT 1 FROM " + tableNameConfig + " WHERE cfg_name='" + escapeSQL(name) + "'");
if (rv <= 0)
{
sql = "INSERT INTO " + tableNameConfig + " (cfg_name, cfg_value) VALUES ('[^1]', '[^2]');";
}
else
{
sql = "UPDATE " + tableNameConfig + " SET cfg_value='[^2]' WHERE cfg_name='[^1]';";
}
sql = PrepareQuery(sql, new string[] { name, value });
return this.DoNonQuery(sql);
}
public string GetConfig(string name, string default_value = "")
{
if (!PrepareConfig())
{
return default_value;
}
bool rv = this.DoQueryExist("SELECT 1 FROM " + tableNameConfig + " WHERE cfg_name='" + escapeSQL(name) + "'");
if (!rv)
{
return default_value;
}
return this.DoQuerySingle("SELECT cfg_value FROM " + tableNameConfig + " WHERE cfg_name='" + escapeSQL(name) + "'");
}
#endregion
protected virtual bool Prepare()
{
return true;
}
}
}

View File

@ -1,124 +0,0 @@
using System.Drawing;
using System.Drawing.Drawing2D;
namespace RyzStudio.Drawing
{
public struct Rectangoid
{
private int X;
private int Y;
private int Width;
private int Height;
private int Radius;
public Rectangoid(Rectangle rect, int radius)
{
X = rect.X;
Y = rect.Y;
Width = rect.Width;
Height = rect.Height;
Radius = radius;
}
public Rectangoid(Rectangle rect, int radius, int borderWidth)
{
rect.Inflate((-1 * borderWidth), (-1 * borderWidth));
X = rect.X;
Y = rect.Y;
Width = rect.Width;
Height = rect.Height;
Radius = radius;
}
public Rectangoid(int x, int y, int width, int height, int radius)
{
X = x;
Y = y;
Width = width;
Height = height;
Radius = radius;
}
public Rectangoid(int x, int y, int width, int height)
{
X = x;
Y = y;
Width = width;
Height = height;
Radius = 0;
}
public Rectangoid(int width, int height, int radius)
{
X = 0;
Y = 0;
Width = width;
Height = height;
Radius = radius;
}
public Rectangoid(int width, int height)
{
X = 0;
Y = 0;
Width = width;
Height = height;
Radius = 0;
}
public Rectangoid(int width)
{
X = 0;
Y = 0;
Width = width;
Height = width;
Radius = 0;
}
public GraphicsPath ToGraphicsPath()
{
GraphicsPath rv = new GraphicsPath();
rv.AddLine(X + this.Radius, Y, X + Width - (this.Radius * 2), Y);
if (this.Radius > 0)
{
rv.AddArc(X + Width - (this.Radius * 2), Y, this.Radius * 2, this.Radius * 2, 270, 90);
}
rv.AddLine(X + Width, Y + this.Radius, X + Width, Y + Height - (this.Radius * 2));
if (this.Radius > 0)
{
rv.AddArc(X + Width - (this.Radius * 2), Y + Height - (this.Radius * 2), this.Radius * 2, this.Radius * 2, 0, 90);
}
rv.AddLine(X + Width - (this.Radius * 2), Y + Height, X + this.Radius, Y + Height);
if (this.Radius > 0)
{
rv.AddArc(X, Y + Height - (this.Radius * 2), this.Radius * 2, this.Radius * 2, 90, 90);
}
rv.AddLine(X, Y + Height - (this.Radius * 2), X, Y + this.Radius);
if (this.Radius > 0)
{
rv.AddArc(X, Y, this.Radius * 2, this.Radius * 2, 180, 90);
}
rv.CloseFigure();
return rv;
}
public PointF GetOrigin()
{
PointF rv = new PointF();
rv.X = ((float)Width / 2) + X;
rv.Y = ((float)Height / 2) + Y;
return rv;
}
}
}

View File

@ -1,56 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace RyzStudio.IO
{
public class FileType
{
protected static readonly byte[] BMP = { 66, 77 };
protected static readonly byte[] GIF = { 71, 73, 70, 56 };
protected static readonly byte[] ICO = { 0, 0, 1, 0 };
protected static readonly byte[] JPG = { 255, 216, 255 };
protected static readonly byte[] PNG = { 137, 80, 78, 71, 13, 10, 26, 10, 0, 0, 0, 13, 73, 72, 68, 82 };
public static bool IsImage(byte[] byteArray)
{
if (byteArray == null)
{
return false;
}
if (byteArray.Length <= 0)
{
return false;
}
if (byteArray.Take(2).SequenceEqual(BMP))
{
return true;
}
if (byteArray.Take(4).SequenceEqual(GIF))
{
return true;
}
if (byteArray.Take(4).SequenceEqual(ICO))
{
return true;
}
if (byteArray.Take(3).SequenceEqual(JPG))
{
return true;
}
if (byteArray.Take(16).SequenceEqual(PNG))
{
return true;
}
return false;
}
}
}

View File

@ -1,290 +0,0 @@
using System;
using System.IO;
using System.Text;
using System.Xml;
using System.Windows.Forms;
using ICSharpCode.SharpZipLib.Zip;
namespace RyzStudio.IO
{
public abstract class SessionFileFormatBase
{
protected string CONST_KEYPASS = "";
protected string CONST_PRODUCT = "";
protected string CONST_STREAM_FILE_NAME = "";
protected bool enableErrorReporting = false;
protected string lastUsedFileName = "";
#region public properties
public string passkey
{
get { return CONST_KEYPASS; }
set { CONST_KEYPASS = value; }
}
/*public string LastFilename
{
get { return lastUsedFileName; }
set { lastUsedFileName = value; }
}*/
#endregion
#region public methods
/* public bool loadFromRyz()
{
return loadFromRyz(lastUsedFileName);
}*/
public bool loadFromRyz(string file_name)
{
lastUsedFileName = file_name;
if (!File.Exists(file_name))
{
return false;
}
bool rv = false;
try
{
ZipInputStream zipIn = new ZipInputStream(File.OpenRead(file_name));
zipIn.Password = CONST_KEYPASS;
ZipEntry theEntry = null;
while ((theEntry = zipIn.GetNextEntry()) != null)
{
string streamFileName = Path.GetFileName(theEntry.Name);
if (streamFileName.Equals(CONST_STREAM_FILE_NAME))
{
MemoryStream oxStream = new MemoryStream();
StreamWriter streamWriter = new StreamWriter(oxStream);
int size = 2048;
byte[] data = new byte[size];
while (true)
{
size = zipIn.Read(data, 0, data.Length);
if (size <= 0) break;
streamWriter.BaseStream.Write(data, 0, size);
}
oxStream.Position = 0;
StreamReader sr2 = new StreamReader(oxStream, Encoding.UTF8);
XmlDocument xDoc = new XmlDocument();
xDoc.LoadXml(sr2.ReadToEnd());
loadFromXmlDocument(ref xDoc);
}
}
zipIn.Close();
rv = true;
}
catch (Exception exc)
{
if (enableErrorReporting)
{
MessageBox.Show(exc.Message);
}
}
return rv;
}
public bool loadFromXml()
{
return loadFromXml(lastUsedFileName);
}
public bool loadFromXml(string file_name)
{
lastUsedFileName = file_name;
if (!File.Exists(file_name))
{
return false;
}
bool rv = false;
try
{
StreamReader sr2 = new StreamReader(file_name, Encoding.UTF8);
XmlDocument xDoc = new XmlDocument();
xDoc.LoadXml(sr2.ReadToEnd());
loadFromXmlDocument(ref xDoc);
sr2.Close();
rv = true;
}
catch (Exception exc)
{
if (enableErrorReporting)
{
MessageBox.Show(exc.Message);
}
}
return rv;
}
/* public bool saveToRyz()
{
return saveToRyz(lastUsedFileName);
}
*/
public bool saveToRyz(string file_name)
{
bool rv = false;
lastUsedFileName = file_name;
byte[] buffer = new byte[4096];
try
{
File.Delete(file_name);
FileInfo fileinfo1 = new FileInfo(file_name);
if (!Directory.Exists(fileinfo1.DirectoryName))
{
Directory.CreateDirectory(fileinfo1.DirectoryName);
}
}
catch (Exception exc)
{
if (enableErrorReporting)
{
MessageBox.Show(exc.Message);
}
}
try
{
ZipOutputStream zipOutStream1 = new ZipOutputStream(File.Create(file_name));
zipOutStream1.SetLevel(9);
zipOutStream1.Password = CONST_KEYPASS;
MemoryStream oxIndexStream = new MemoryStream();
XmlTextWriter oxTW = new XmlTextWriter(oxIndexStream, Encoding.UTF8);
saveToXmlTextWriter(ref oxTW);
oxTW.Flush();
// write to file
zipOutStream1.PutNextEntry(new ZipEntry(CONST_STREAM_FILE_NAME));
oxIndexStream.Position = 0;
StreamReader sr2 = new StreamReader(oxIndexStream, Encoding.UTF8);
int sourceBytes;
do
{
sourceBytes = sr2.BaseStream.Read(buffer, 0, buffer.Length);
zipOutStream1.Write(buffer, 0, sourceBytes);
}
while (sourceBytes > 0);
sr2.Close();
oxTW.Close();
zipOutStream1.Finish();
zipOutStream1.Close();
rv = true;
}
catch (Exception exc)
{
if (enableErrorReporting)
{
MessageBox.Show(exc.Message);
}
}
return rv;
}
public bool saveToXml()
{
return saveToXml(lastUsedFileName);
}
public bool saveToXml(string file_name)
{
bool rv = false;
lastUsedFileName = file_name;
try
{
File.Delete(file_name);
FileInfo fileinfo1 = new FileInfo(file_name);
if (!Directory.Exists(fileinfo1.DirectoryName))
{
Directory.CreateDirectory(fileinfo1.DirectoryName);
}
}
catch (Exception exc)
{
if (enableErrorReporting)
{
MessageBox.Show(exc.Message);
}
}
try
{
XmlTextWriter oxTW = new XmlTextWriter(file_name, Encoding.UTF8);
saveToXmlTextWriter(ref oxTW);
oxTW.Flush();
oxTW.Close();
rv = true;
}
catch (Exception exc)
{
if (enableErrorReporting)
{
MessageBox.Show(exc.Message);
}
}
return rv;
}
#endregion
protected virtual void loadFromXmlDocument(ref XmlDocument xml_doc) { }
protected virtual void saveToXmlTextWriter(ref XmlTextWriter writer) { }
#region public methods (conversions)
public int[] convIntArrayString(string s1, char c)
{
string[] sarr = s1.Split(c);
int[] iarr = new int[sarr.Length];
for (int i = 0; i < sarr.Length; i++)
{
iarr[i] = Int32.Parse(sarr[i]);
}
return iarr;
}
public string convStringIntArray(int[] r, char s)
{
string t = null;
for (int i = 0; i < r.Length; i++)
{
if (i != 0)
{
t += s.ToString();
}
t += r[i].ToString();
}
return t;
}
#endregion
}
}

View File

@ -1,76 +0,0 @@
using System;
using System.IO;
using ICSharpCode.SharpZipLib.Zip;
namespace RyzStudio.IO
{
public class SharpZipLib
{
/// <summary>
/// Is zip file encrypted
/// </summary>
/// <param name="fn">Filename</param>
/// <returns>Is encrypted</returns>
public static bool IsZipEncrypted(string fn)
{
bool ret_val = false;
try
{
ZipInputStream zipIn = new ZipInputStream(System.IO.File.OpenRead(fn));
ZipEntry theEntry = null;
while ((theEntry = zipIn.GetNextEntry()) != null)
{
if (theEntry.IsCrypted)
{
ret_val = true;
}
break;
}
zipIn.Close();
}
catch
{
// do nothing
}
return ret_val;
}
public static void AddFile(ZipOutputStream zipstream, string filename, string prefixpath = null)
{
byte[] buffer = new byte[4096];
string f1 = "";
if (prefixpath != null)
{
f1 = Path.GetDirectoryName(filename).TrimEnd('\\') + "\\";
f1 = f1.Replace(prefixpath, "").TrimEnd('\\') + "\\";
f1 = f1 + Path.GetFileName(filename);
f1 = f1.TrimStart('\\');
}
ZipEntry entry = new ZipEntry(f1);
entry.DateTime = DateTime.Now;
zipstream.PutNextEntry(entry);
FileStream fs = File.OpenRead(filename);
int sourceBytes;
do
{
sourceBytes = fs.Read(buffer, 0, buffer.Length);
zipstream.Write(buffer, 0, sourceBytes);
}
while (sourceBytes > 0);
}
public static void AddFolder(ZipOutputStream zipstream, string folderpath, string prefixpath = null)
{
foreach (string fn in Directory.GetFiles(folderpath, "*.*", System.IO.SearchOption.AllDirectories))
{
AddFile(zipstream, fn, prefixpath);
}
}
}
}

View File

@ -1,168 +0,0 @@
using System;
using System.IO;
using System.Net;
using System.Text;
using System.Windows.Forms;
namespace RyzStudio.Net
{
public class HttpWeb
{
public string defaultUserAgent = "Momozilla/5.0 (" + Environment.OSVersion.Platform.ToString() + " ; " + Environment.OSVersion.VersionString + "; " + Application.CurrentCulture.TwoLetterISOLanguageName + ")";
public int defaultTimeout = 6000;
public int defaultMaxRedirect = 8;
public bool defaultAllowRedirect = true;
public CookieContainer defaultCookierContainer = null;
public HttpWeb()
{
}
public HttpWebRequest CreateRequest(string url)
{
return this.CreateRequest(url, url);
}
public HttpWebRequest CreateRequest(string url, string referrerURL)
{
if (defaultCookierContainer == null)
{
defaultCookierContainer = new CookieContainer();
}
HttpWebRequest webRequest = (HttpWebRequest)WebRequest.Create(url);
webRequest.CachePolicy = new System.Net.Cache.RequestCachePolicy(System.Net.Cache.RequestCacheLevel.NoCacheNoStore);
webRequest.MaximumAutomaticRedirections = defaultMaxRedirect;
webRequest.CookieContainer = defaultCookierContainer;
webRequest.UserAgent = defaultUserAgent;
webRequest.AllowAutoRedirect = defaultAllowRedirect;
webRequest.Timeout = defaultTimeout;
return webRequest;
}
public int GetResponse(out string sourceCode, string url, string referrerURL = "")
{
HttpWebRequest webRequest = this.CreateRequest(url, referrerURL);
return GetResponse(out sourceCode, webRequest);
}
public int GetResponse(out string sourceCode, HttpWebRequest webRequest)
{
sourceCode = string.Empty;
int rv = 0;
try
{
HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();
rv = (int)webResponse.StatusCode;
StreamReader readContent = new StreamReader(webResponse.GetResponseStream());
sourceCode = readContent.ReadToEnd();
webResponse.Close();
webResponse = null;
}
catch (WebException xc)
{
if (xc.Response is HttpWebResponse)
{
HttpWebResponse rs = xc.Response as HttpWebResponse;
StreamReader readContent = new StreamReader(rs.GetResponseStream());
if (readContent != null)
{
sourceCode = readContent.ReadToEnd();
}
rv = (int)rs.StatusCode;
}
else
{
rv = (int)xc.Status;
sourceCode = xc.Message;
}
}
catch (Exception xc)
{
sourceCode = xc.Message;
}
return rv;
}
public static HttpWebRequest AddBasicAuthentication(HttpWebRequest webRequest, string username, string password)
{
webRequest.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes(string.Concat(username, ":", password)));
webRequest.PreAuthenticate = true;
return webRequest;
}
public int GetPOSTResponse(out string sourceCode, HttpWebRequest webRequest, string postData)
{
sourceCode = "";
int rv = 0;
byte[] buffer = Encoding.UTF8.GetBytes(postData);
webRequest.ContentLength = buffer.Length;
try
{
Stream dataStream = webRequest.GetRequestStream();
dataStream.Write(buffer, 0, buffer.Length);
dataStream.Close();
}
catch (Exception xc)
{
sourceCode = xc.Message;
return rv;
}
return this.GetResponse(out sourceCode, webRequest);
}
public int GetHeader(out WebHeaderCollection headerCollection, string url, string referrerURL = "")
{
headerCollection = null;
int rv = 0;
HttpWebRequest webRequest = this.CreateRequest(url, referrerURL);
webRequest.Method = "HEAD";
try
{
HttpWebResponse webResponse = (HttpWebResponse)webRequest.GetResponse();
headerCollection = webResponse.Headers;
rv = (int)webResponse.StatusCode;
webResponse.Close();
webResponse = null;
}
catch (WebException xc)
{
if (xc.Response is HttpWebResponse)
{
HttpWebResponse rs = xc.Response as HttpWebResponse;
rv = (int)rs.StatusCode;
}
else
{
rv = (int)xc.Status;
}
}
catch
{
// do nothing
}
return rv;
}
}
}

View File

@ -1,258 +0,0 @@
namespace RyzStudio.Windows.Forms
{
using System;
using System.Collections;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
[ToolboxItem(true)]
public class PanelBook : UserControl
{
public class PanelCollection : CollectionBase
{
protected PanelBook panelBook = null;
public PanelCollection(PanelBook parentPanelBook) : base()
{
panelBook = parentPanelBook;
}
public PanelBook Parent => panelBook;
public Panel this[int index] { get => (Panel)List[index]; set => List[index] = value; }
public int Add(Panel value) => List.Add(value);
public void AddRange(Panel[] pages) => Array.ForEach(pages, x => this.Add(x));
public bool Contains(Panel value) => List.Contains(value);
public int IndexOf(Panel value) => List.IndexOf(value);
public void Insert(int index, Panel value) => List.Insert(index, value);
public void Remove(Panel value) => List.Remove(value);
protected override void OnInsertComplete(int index, object value)
{
base.OnInsertComplete(index, value);
if (panelBook != null)
{
panelBook.PageIndex = index;
}
}
protected override void OnRemoveComplete(int index, object value)
{
base.OnRemoveComplete(index, value);
if (panelBook != null)
{
if (panelBook.PageIndex == index)
{
if (index < InnerList.Count)
{
panelBook.PageIndex = index;
}
else
{
panelBook.PageIndex = InnerList.Count - 1;
}
}
}
}
}
private System.ComponentModel.IContainer components = null;
protected PanelCollection panelCollection = null;
public PanelBook()
{
InitializeComponent();
panelCollection = new PanelCollection(this);
}
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
protected void InitializeComponent()
{
components = new System.ComponentModel.Container();
}
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public Panel ActivePanel { get; protected set; } = null;
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override bool AutoScroll { get => base.AutoScroll; set => base.AutoScroll = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Size AutoScrollMargin { get => base.AutoScrollMargin; set => base.AutoScrollMargin = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Size AutoScrollMinSize { get => base.AutoScrollMinSize; set => base.AutoScrollMinSize = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override Image BackgroundImage { get => base.BackgroundImage; set => base.BackgroundImage = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override ImageLayout BackgroundImageLayout { get => base.BackgroundImageLayout; set => base.BackgroundImageLayout = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new ImeMode ImeMode { get => base.ImeMode; set => base.ImeMode = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override RightToLeft RightToLeft { get => base.RightToLeft; set => base.RightToLeft = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new bool UseWaitCursor { get => base.UseWaitCursor; set => base.UseWaitCursor = value; }
[Category("Collection")]
[DesignerSerializationVisibility(DesignerSerializationVisibility.Content)]
public PanelCollection Pages => panelCollection;
[Category("Collection")]
public int SelectedIndex
{
get => (panelCollection.Count <= 0) ? -1 : panelCollection.IndexOf(this.ActivePanel);
set
{
if (panelCollection.Count <= 0) return;
if (value < 0) return;
if (value > (panelCollection.Count - 1)) return;
if (value == this.SelectedIndex) return;
ActivatePage(value);
}
}
protected internal int PageIndex
{
get => panelCollection.IndexOf(this.ActivePanel);
set
{
if (panelCollection.Count <= 0)
{
ActivatePage(-1);
return;
}
if ((value < -1) || (value >= panelCollection.Count))
{
throw new ArgumentOutOfRangeException("PageIndex", value, "The page index must be between 0 and " + Convert.ToString(panelCollection.Count - 1));
}
ActivatePage(value);
}
}
protected internal void ActivatePage(int index)
{
if ((panelCollection.Count == 0) && (index >= panelCollection.Count) && (index <= 0))
{
return;
}
Panel p = (Panel)panelCollection[index];
ActivatePage(p);
}
protected internal void ActivatePage(Panel page)
{
if (this.ActivePanel != null)
{
if (this.ActivePanel.InvokeRequired)
{
this.ActivePanel.Invoke(new MethodInvoker(() => {
this.ActivePanel.Visible = false;
}));
}
else
{
this.ActivePanel.Visible = false;
}
}
this.ActivePanel = page;
if (this.ActivePanel != null)
{
this.ActivePanel.Parent = this;
if (!this.Contains(this.ActivePanel))
{
this.Container.Add(this.ActivePanel);
}
if (this.ActivePanel.InvokeRequired)
{
this.ActivePanel.Invoke(new MethodInvoker(() => {
this.ActivePanel.Dock = DockStyle.Fill;
this.ActivePanel.Visible = true;
this.ActivePanel.BringToFront();
}));
}
else
{
this.ActivePanel.Dock = DockStyle.Fill;
this.ActivePanel.Visible = true;
this.ActivePanel.BringToFront();
}
}
if (this.ActivePanel != null)
{
if (this.ActivePanel.InvokeRequired)
{
this.ActivePanel.Invoke(new MethodInvoker(() => {
this.ActivePanel.Invalidate();
}));
}
else
{
this.ActivePanel.Invalidate();
}
}
else
{
this.Invalidate();
}
}
#if DEBUG
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
if (this.DesignMode)
{
this.Invalidate();
}
}
#endif
protected override void DestroyHandle()
{
base.DestroyHandle();
foreach (Panel p in panelCollection)
{
p.Dispose();
}
}
}
}

View File

@ -1,69 +0,0 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace RyzStudio.Windows.Forms
{
public class StackLayoutPanel : FlowLayoutPanel
{
public StackLayoutPanel() : base()
{
this.AutoScroll = true;
this.FlowDirection = FlowDirection.TopDown;
this.WrapContents = false;
}
protected override void OnResize(EventArgs eventargs)
{
base.OnResize(eventargs);
//int w = this.ClientRectangle.Width - SystemInformation.VerticalScrollBarWidth;
int w = this.ClientRectangle.Width - 1;
foreach (Control item in this.Controls)
{
if (item.Width != w)
{
item.Width = w;
}
}
}
protected override void OnControlAdded(ControlEventArgs e)
{
base.OnControlAdded(e);
OnResize(null);
}
protected override void OnControlRemoved(ControlEventArgs e)
{
base.OnControlRemoved(e);
OnResize(null);
}
public void AddControl(Control value)
{
if (this.InvokeRequired)
{
this.Invoke(new MethodInvoker(() =>
{
value.Margin = new Padding(0, 3, 0, 3);
this.Controls.Add(value);
}));
}
else
{
value.Margin = new Padding(0, 3, 0, 3);
this.Controls.Add(value);
}
}
}
}

View File

@ -1,115 +0,0 @@
using System.Drawing;
using System.Windows.Forms;
namespace RyzStudio.Windows.Forms
{
public class TFlatButton : Label
{
public class ButtonStyle
{
public Color BackColour { get; set; } = Color.Transparent;
public Color PenColour { get; set; } = Color.Transparent;
}
public enum FlatButtonState
{
Idle = 0,
Hover,
Down
}
protected FlatButtonState controlState = FlatButtonState.Idle;
public TFlatButton() : base()
{
this.AutoSize = false;
this.ImageAlign = ContentAlignment.MiddleCenter;
this.TextAlign = ContentAlignment.MiddleCenter;
// customise
this.StyleOver = new ButtonStyle()
{
BackColour = Color.FromArgb(51, 51, 51),
PenColour = Color.White
};
this.StyleDown = new ButtonStyle()
{
BackColour = Color.FromArgb(179, 179, 179),
PenColour = Color.Black
};
this.StyleDefault = new ButtonStyle()
{
BackColour = Color.White,
PenColour = Color.Black
};
this.VisualState = FlatButtonState.Idle;
this.Click += delegate { this.OnClick(null); };
this.MouseEnter += delegate { this.VisualState = FlatButtonState.Hover; };
this.MouseLeave += delegate { this.VisualState = FlatButtonState.Idle; };
this.MouseDown += delegate { this.VisualState = FlatButtonState.Down; };
this.MouseUp += delegate { this.VisualState = FlatButtonState.Idle; };
}
protected FlatButtonState VisualState
{
get { return controlState; }
set
{
switch (value)
{
case FlatButtonState.Idle:
if (this.VisualState == FlatButtonState.Down)
{
updateButton(StyleOver);
}
else
{
updateButton(StyleDefault);
}
break;
case FlatButtonState.Hover:
updateButton(StyleOver);
break;
case FlatButtonState.Down:
updateButton(StyleDown);
break;
default:
updateButton(StyleDefault);
break;
}
controlState = value;
}
}
protected void updateButton(ButtonStyle style)
{
this.ForeColor = style.PenColour;
this.BackColor = style.BackColour;
}
protected ButtonStyle StyleOver { get; set; } = new ButtonStyle();
protected ButtonStyle StyleDown { get; set; } = new ButtonStyle();
protected ButtonStyle StyleDefault { get; set; } = new ButtonStyle();
public void PerformClick()
{
if (this.InvokeRequired)
{
this.Invoke(new MethodInvoker(() => {
this.OnClick(null);
}));
}
else
{
this.OnClick(null);
}
}
}
}

View File

@ -1,433 +0,0 @@
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
using Resources = AppLauncher.Properties.Resources;
namespace RyzStudio.Windows.Forms
{
public class TForm : Form
{
protected readonly Color borderColour = Color.FromArgb(200, 200, 200);
protected readonly int borderWidth = 1;
protected readonly int resizeBorderWidth = 4;
protected readonly Color backColour = Color.FromArgb(250, 250, 250);
protected readonly Color titleBackColour = Color.FromArgb(235, 234, 233);
protected readonly Color titleBorderColour = Color.FromArgb(200, 198, 196);
protected readonly Color titleColour = Color.FromArgb(102, 102, 102);
protected readonly int titleBarHeight = 33;
protected readonly bool showTitleBarLine = true;
protected Font titleFont = null;
protected int titleFontTop = 0;
protected readonly Size titleBarIconSize = new Size(48, 32);
protected readonly int titleBarIconMargin = 0;
protected readonly int titleBarIconMarginRight = 0;
protected Image appIcon = null;
protected const int appIconLeft = 12;
protected const int appIconRight = 6;
protected int appIconTop = 0;
protected bool isDragging = false;
protected Point startPosition = new Point();
protected Point startWindowSize = new Point();
protected bool enableMinimise { get; set; } = true;
protected bool enableMaximise { get; set; } = true;
protected bool enableClose { get; set; } = true;
protected bool closeOnMinimise { get; set; } = false;
protected bool isBusy = false;
private IContainer components;
public TForm() : base()
{
InitializeComponent();
if (!this.DesignMode)
{
this.FormBorderStyle = FormBorderStyle.None;
this.StartPosition = FormStartPosition.Manual;
}
this.AutoScaleMode = AutoScaleMode.None;
this.BackColor = backColour;
this.Padding = new Padding(0);
this.DoubleBuffered = true;
this.MouseDown += new MouseEventHandler(form_MouseDown);
this.MouseMove += new MouseEventHandler(form_MouseMove);
this.MouseUp += new MouseEventHandler(form_MouseUp);
this.PreviewKeyDown += new PreviewKeyDownEventHandler(form_PreviewKeyDown);
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
this.Text = Application.ProductName;
initialiseLoadComponent();
if (appIcon != null) appIconTop = (int)Math.Floor((decimal)(titleBarHeight - appIcon.Height) / 2) + borderWidth;
titleFont = new Font(this.Font.FontFamily, 10F);
titleFontTop = (int)Math.Floor((decimal)(titleBarHeight - TextRenderer.MeasureText("#", titleFont).Height) / 2) + borderWidth;
}
protected override void OnMouseClick(MouseEventArgs e)
{
base.OnMouseClick(e);
bool isLabel = ((e.Location.X >= 0) && (e.Location.X <= this.Width) && (e.Location.Y >= 0) && (e.Location.Y <= titleBarHeight));
if (e.Button == MouseButtons.Left)
{
if (isLabel)
{
// do nothing
}
else
{
// do nothing
}
}
else if (e.Button == MouseButtons.Right)
{
if (isLabel)
{
if (this.TitleContextMenuStrip != null)
{
this.TitleContextMenuStrip.Show(this, e.Location);
}
}
else
{
// do nothing
}
}
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics g = e.Graphics;
Rectangle area = new Rectangle(this.DisplayRectangle.X, this.DisplayRectangle.Y, (this.DisplayRectangle.Width - borderWidth), (this.DisplayRectangle.Height - borderWidth));
// border
g.DrawRectangle(new Pen(borderColour, borderWidth), area);
area.Inflate((-1 * borderWidth), (-1 * borderWidth));
g.FillRectangle(new SolidBrush(titleBackColour), area.X, area.Y, (area.Width + area.X), titleBarHeight);
if (showTitleBarLine) g.DrawLine(new Pen(titleBorderColour, 1), area.X, titleBarHeight, (area.Width + area.X), titleBarHeight);
if (!DesignMode)
{
if (appIcon != null) g.DrawImageUnscaled(appIcon, appIconLeft, appIconTop);
int iconPosX = borderWidth + appIconLeft + appIconRight + ((appIcon == null) ? 0 : appIcon.Width);
TextRenderer.DrawText(g, this.Text, titleFont, new Point(iconPosX, titleFontTop), titleColour);
}
}
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
this.Invalidate();
}
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override Color BackColor { get => base.BackColor; set => base.BackColor = backColour; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new FormBorderStyle FormBorderStyle { get => base.FormBorderStyle; set => base.FormBorderStyle = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Padding Padding { get => base.Padding; set => base.Padding = value; }
[Category("Appearance")]
public ContextMenuStrip TitleContextMenuStrip { get; set; } = null;
//[Browsable(false)]
//public Image AppIcon { get; set; } = null;
//[Browsable(false)]
//public bool IsMaximiseEnabled { get; set; } = false;
//protected Point DefaultLocation
//{
// get
// {
// Point newPosition = new Point(Cursor.Position.X, Cursor.Position.Y);
// newPosition.X -= (this.Width / 2);
// newPosition.Y -= (this.Height / 2);
// newPosition.X = Math.Max(newPosition.X, Screen.PrimaryScreen.WorkingArea.Left);
// newPosition.Y = Math.Max(newPosition.Y, Screen.PrimaryScreen.WorkingArea.Top);
// return newPosition;
// }
//}
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(TForm));
this.SuspendLayout();
//
// AForm
//
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Name = "AForm";
this.ResumeLayout(false);
}
private void form_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
isDragging = true;
startPosition = e.Location;
startWindowSize = new Point(this.Width, this.Height);
}
}
private void form_MouseMove(object sender, MouseEventArgs e)
{
if (isDragging)
{
int x = (this.Location.X + (e.Location.X - startPosition.X));
int y = (this.Location.Y + (e.Location.Y - startPosition.Y));
//this.Location = validateFormLocation(x, y);
this.Location = new Point(x, y);
}
}
private void form_MouseUp(object sender, MouseEventArgs e)
{
isDragging = false;
}
private void form_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
if (e.KeyCode == Keys.Escape)
{
Application.Exit();
}
}
protected virtual void initialiseLoadComponent()
{
if (DesignMode) return;
// close
TImageBox closeBox = generateToolbarImageBox();
closeBox.Image = closeBox.ImageNormal = (enableClose) ? Resources.titlebar_close : Resources.titlebar_blank;
closeBox.ImageHover = (enableClose) ? Resources.titlebar_close3 : Resources.titlebar_blank;
closeBox.ImageSelected = Resources.titlebar_close3;
closeBox.MouseClick += delegate (object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
if (enableClose)
{
this.Close();
}
}
};
closeBox.Left = this.DisplayRectangle.Width - closeBox.Width - (titleBarIconMarginRight + borderWidth);
this.Controls.Add(closeBox);
// maximise
TImageBox maximiseBox = generateToolbarImageBox();
maximiseBox.Image = maximiseBox.ImageNormal = (enableMaximise) ? Resources.titlebar_maximise : Resources.titlebar_blank;
maximiseBox.ImageHover = (enableMaximise) ? Resources.titlebar_maximise5 : Resources.titlebar_blank;
maximiseBox.ImageSelected = Resources.titlebar_maximise3;
maximiseBox.MouseClick += delegate (object sender, MouseEventArgs e)
{
if (!(sender is TImageBox)) return;
TImageBox imageBox2 = (sender as TImageBox);
if (imageBox2 == null) return;
if (e.Button == MouseButtons.Left)
{
if (enableMaximise)
{
if (this.WindowState == FormWindowState.Maximized)
{
this.WindowState = FormWindowState.Normal;
imageBox2.Image = imageBox2.ImageNormal = Resources.titlebar_maximise;
}
else
{
this.WindowState = FormWindowState.Maximized;
imageBox2.Image = imageBox2.ImageNormal = Resources.titlebar_maximise5;
}
}
}
else if (e.Button == MouseButtons.Right)
{
this.TopMost = !this.TopMost;
if (this.TopMost)
{
imageBox2.Image = imageBox2.ImageNormal = Resources.titlebar_maximise3;
imageBox2.ImageHover = (enableMaximise) ? Resources.titlebar_maximise5 : Resources.titlebar_maximise3;
}
else
{
imageBox2.Image = imageBox2.ImageNormal = (enableMaximise) ? Resources.titlebar_maximise : Resources.titlebar_blank;
imageBox2.ImageHover = (enableMaximise) ? Resources.titlebar_maximise5 : Resources.titlebar_blank;
}
}
};
maximiseBox.Left = closeBox.Left - maximiseBox.Width - titleBarIconMargin;
this.Controls.Add(maximiseBox);
// minimise
TImageBox minimiseBox = generateToolbarImageBox();
minimiseBox.Image = minimiseBox.ImageNormal = (enableMinimise) ? Resources.titlebar_minimise : Resources.titlebar_blank;
minimiseBox.ImageHover = (enableMinimise) ? Resources.titlebar_minimise5 : Resources.titlebar_blank;
//minimiseBox.ImageSelected = null;
minimiseBox.MouseClick += delegate (object sender, MouseEventArgs e)
{
if (!enableMinimise) return;
if (e.Button != MouseButtons.Left) return;
if (closeOnMinimise)
{
this.Close();
}
else
{
this.WindowState = FormWindowState.Minimized;
}
};
minimiseBox.Left = maximiseBox.Left - minimiseBox.Width - titleBarIconMargin;
this.Controls.Add(minimiseBox);
// resize
UserControl uc1 = new UserControl()
{
Anchor = (AnchorStyles.Left | AnchorStyles.Bottom | AnchorStyles.Right),
Height = resizeBorderWidth,
Width = this.DisplayRectangle.Width - resizeBorderWidth,
Left = 0,
Top = this.DisplayRectangle.Height - resizeBorderWidth,
BackColor = Color.Transparent,
Cursor = Cursors.SizeNS
};
uc1.MouseDown += form_MouseDown;
uc1.MouseUp += form_MouseUp;
uc1.MouseMove += delegate (object sender, MouseEventArgs e)
{
if (isDragging)
{
this.Size = new Size(startWindowSize.X, e.Y - startPosition.Y + this.Height);
}
};
uc1.BringToFront();
this.Controls.Add(uc1);
UserControl uc2 = new UserControl()
{
Anchor = (AnchorStyles.Top | AnchorStyles.Right | AnchorStyles.Bottom),
Height = this.DisplayRectangle.Height - resizeBorderWidth,
Width = resizeBorderWidth,
Left = this.DisplayRectangle.Width - resizeBorderWidth,
Top = 0,
BackColor = Color.Transparent,
Cursor = Cursors.SizeWE
};
uc2.MouseDown += form_MouseDown;
uc2.MouseUp += form_MouseUp;
uc2.MouseMove += delegate (object sender, MouseEventArgs e)
{
if (isDragging)
{
this.Size = new Size(e.X - startPosition.X + this.Width, startWindowSize.Y);
}
};
uc2.BringToFront();
this.Controls.Add(uc2);
UserControl uc3 = new UserControl()
{
Anchor = (AnchorStyles.Bottom | AnchorStyles.Right),
Height = resizeBorderWidth,
Width = resizeBorderWidth,
Left = this.DisplayRectangle.Width - resizeBorderWidth,
Top = this.DisplayRectangle.Height - resizeBorderWidth,
BackColor = Color.Transparent,
Cursor = Cursors.SizeNWSE
};
uc3.MouseDown += form_MouseDown;
uc3.MouseUp += form_MouseUp;
uc3.MouseMove += delegate (object sender, MouseEventArgs e)
{
if (isDragging)
{
this.Size = new Size((e.X - startPosition.X + this.Width), (e.Y - startPosition.Y + this.Height));
}
};
uc3.BringToFront();
this.Controls.Add(uc3);
}
protected TImageBox generateToolbarImageBox()
{
TImageBox imageBox = new TImageBox();
//imageBox.BackColor = Color.Transparent;
imageBox.BackColorHover = imageBox.BackColorSelected = Color.FromArgb(220, 220, 220);
imageBox.BackgroundImageLayout = ImageLayout.Center;
imageBox.ErrorImage = null;
//imageBox.Image = Resources.close;
//imageBox.ImageHover = Resources.close2;
//imageBox.ImageNormal = Resources.close;
imageBox.ImageSelected = null;
imageBox.IsSelected = false;
//closeBox.Location = new System.Drawing.Point(169, 12);
imageBox.Size = titleBarIconSize;
imageBox.SizeMode = PictureBoxSizeMode.CenterImage;
//imageBox.MouseClick += new MouseEventHandler(closeBox_MouseClick);
//imageBox.Left = this.DisplayRectangle.Width - imageBox.Width - 17;
imageBox.Top = (int)Math.Floor((decimal) (titleBarHeight - titleBarIconSize.Height) / 2) + borderWidth;
imageBox.Anchor = (AnchorStyles.Top | AnchorStyles.Right);
imageBox.Padding = new Padding(0);
return imageBox;
}
//private void exitToolStripMenuItem_Click(object sender, EventArgs e) => this.Close();
//private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
//{
// if (e.Button == MouseButtons.Left)
// {
// this.Visible = !this.Visible;
// }
// //notifyIcon1.Visible = !this.Visible;
//}
}
}

View File

@ -1,424 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="notifyIcon1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>130, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="notifyIcon1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA
IABoBAAAHkAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGxc
VU5rW1Tna1tU22paU5BsXVVCgEBABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAaltTZWtbVPxrW1T/a1tU/2tbVP9rW1T/a1tU7mtbU6VrXFNWbVtbDgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABqWlR/a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU+Wta
VLprW1Nrb15VHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAVVVVA2tbVJhrW1T/a1tU/2tbVP+NgXz/2NPR/6+mov+Bc23/a1tU/2tb
VP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVc1sXFSAa1xSMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtSUkHa1xUqmtbVP9rW1T/a1tU/5iNiP/6+fn/////////
////////6+no/7+4tf+Sh4L/bV5X/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVOFrXFOZallTTW1J
SQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGlaWhFqW1TCa1tU/2tbVP9rW1T/o5mV//38
/P//////////////////////////////////////9PPy/8jDwP+cko3/c2Nd/2tbVP9rW1T/a1tU/2tb
VP9rW1T/a1tU/2tbVPVrW1SzalxUXmlaWhEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAalhYHWtbVNRrW1T/a1tU/2tb
VP+1rar/////////////////////////////////////////////////////////////////+vn5/9LN
y/+lm5f/eGpj/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVPtrWlS9bFxVb2xdVSEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrWVMra1tU42tb
VP9rW1T/bV1W/8S9u///////////////////////////////////////////////////////////////
/////////////////////////v7+/97a2f+xqKT/g3Zw/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tb
VP5qW1V4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGpZ
VTxrW1Tua1tU/2tbVP9wYVr/0czK////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////+ro5/+8tbL/j4N+/21d
Vv9rW1T/a1tU/2tbVP9rW1TpAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAbFxTUGtbVPZrW1T/a1tU/3VnYP/d2df/////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//////////////Tz8v/Iw8D/dmdh/2tbVP9rW1T/blpTJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABsXFRha1tU+2tbVP9rW1T/emxl/+Th4P//////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////m5CL/2tbVP9rW1T/a1tTXwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtaVHdrW1T/a1tU/2tbVP+DdnD/7uzs/////////////Pvw//z6
7v/8+u7//Pru//z67v/8+u7//Pru//z67v/9/PT///////////////////////z4+f/79fX/+/X1//v1
9f/79fX/+/X1//v19f/79fX//Pb2////////////////////////////vLWy/2tbVP9rW1T/a1xTmQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUDa1tUmGtbVP9rW1T/a1tU/4t/ev/08/L/////////
///cyT7/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/6Nt+////////////4bG1/8Rl
bP/EZWz/xGVs/8RlbP/EZWz/xGVs/8RlbP/EZWz/xGVs/9KKkP//////////////////////3tvZ/2tb
VP9rW1T/a1tU1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1JSQdrW1Sra1tU/2tbVP9rW1T/mY6J//r5
+f////////////389f/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/28Y1////
////////0IWL/8RlbP/EZWz/xGVs/8RlbP/EZWz/xGVs/8RlbP/EZWz/xGVs/8RlbP/9+fn/////////
/////////Pz8/3BhWv9rW1T/a1tU/nFVVRIAAAAAAAAAAAAAAAAAAAAAaVpaEWtcVMNrW1T/a1tU/2tb
VP+kmpb//fz8//////////////////389P/RtwD/0bcA/+TVbP/w56r/8Oeq//Dnqv/w56r/8Oeq/93K
Qv/RtwD/28Y1////////////0IWL/8RlbP/TjZL/68zO/+vMzv/rzM7/68zO/+vMzv/dpqr/xGVs/8Rl
bP/8+Pn//////////////////////46CfP9rW1T/a1tU/2xbVEkAAAAAAAAAAAAAAABsWFgaa1xU0Wtb
VP9rW1T/a1tU/7CopP////////////////////////////389P/RtwD/0bcA/+7lov//////////////
/////////////+PTY//RtwD/28Y1////////////0IWL/8RlbP/boaX/////////////////////////
///px8n/xGVs/8RlbP/8+Pn//////////////////////7CopP9rW1T/a1tU/2tbVIMAAAAAAAAAAAAA
AABqXFTOa1tU/2tbVP9tXlf/xr+9//////////////////////////////////389P/RtwD/0bcA/+7l
ov///////////////////////////+PTY//RtwD/28Y1////////////0IWL/8RlbP/boaX/////////
///////////////////px8n/xGVs/8RlbP/8+Pn//////////////////////9LNy/9rW1T/a1tU/2tb
VL8AAAAAAAAAAAAAAABrW1Tva1tU/2tbVP/KxML///////////////////////////////////////38
9P/RtwD/0bcA/+7lov///////////////////////////+PTY//RtwD/28Y1////////////0IWL/8Rl
bP/boaX////////////////////////////px8n/xGVs/8RlbP/8+Pn///////////////////////Py
8v9sXFX/a1tU/2tbVPRmZmYFAAAAAAAAAABrW1W4a1tU/2tbVP/Oycf/////////////////////////
//////////////389P/RtwD/0bcA/+7lov///////////////////////////+PTY//RtwD/28Y1////
////////0IWL/8RlbP/boaX////////////////////////////px8n/xGVs/8RlbP/8+Pn/////////
//////////////////+CdG7/a1tU/2tbVP9sXVM0AAAAAAAAAABqWlR/a1tU/2tbVP+tpKD/////////
//////////////////////////////389P/RtwD/0bcA/+7lov///////////////////////////+PT
Y//RtwD/28Y1////////////0IWL/8RlbP/boaX////////////////////////////px8n/xGVs/8Rl
bP/8+Pn///////////////////////////+jmZX/a1tU/2tbVP9rWlNuAAAAAAAAAABtWlNEa1tU/2tb
VP+Lfnn///////////////////////////////////////389P/RtwD/0bcA/93JQf/j1Gb/49Rm/+PU
Zv/j1Gb/49Rm/9jCJ//RtwD/28Y1////////////0IWL/8RlbP/NfYL/3KOn/9yjp//co6f/3KOn/9yj
p//TjJH/xGVs/8RlbP/8+Pn////////////////////////////Fv7z/a1tU/2tbVP9qW1OoAAAAAAAA
AABqVVUMa1tU+2tbVP9uXlf/+fn4//////////////////////////////////389P/RtwD/0bcA/9G3
AP/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/28c5////////////0IWL/8RlbP/EZWz/xGVs/8Rl
bP/EZWz/xGVs/8RlbP/EZWz/xGVs/8Rmbf/9+vr////////////////////////////n5eT/a1tU/2tb
VP9rW1TkAAAAAAAAAAAAAAAAa1tUz2tbVP9rW1T/3NjW//////////////////////////////////38
9v/axTP/2sUz/9rFM//axTP/2sUz/9rFM//axTP/2sUz/9rFM//bxzj/8Ois////////////2p2i/9CE
if/QhIn/0ISJ/9CEif/QhIn/0ISJ/9CEif/QhIn/0ISJ/+GwtP//////////////////////////////
///+/v7/dWdg/2tbVP9rW1T/alhYHQAAAAAAAAAAa1tUlGtbVP9rW1T/ubKv////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////l4uG/2tbVP9rW1T/a1pUWAAAAAAAAAAAbFtVWmtbVP9rW1T/mI2I////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////uLGt/2tbVP9rW1T/a1tUkgAAAAAAAAAAa1pSH2tb
VP9rW1T/dmdh//7+/v////////////////////////////////+rnPH/fGTp/3xk6f98ZOn/fGTp/3xk
6f98ZOn/fGTp/3xk6f9/aOr/ysD2////////////rOH9/zi4+v8ztvr/M7b6/zO2+v8ztvr/M7b6/zO2
+v8ztvr/M7b6/33R/P//////////////////////////////////////2tbV/2tbVP9rW1T/a1tVzQAA
AAAAAAAAAAAAAGtbVONrW1T/a1tU/+jm5f////////////////////////////r5/v9cPuT/Wz3k/1s9
5P9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s95P9bPeT/gGjq////////////Obj6/wCk+f8ApPn/AKT5/wCk
+f8ApPn/AKT5/wCk+f8ApPn/AKT5/wGk+f/3/P//////////////////////////////////+vn5/25f
WP9rW1T/a1tU/GpVVQwAAAAAAAAAAGtcVKprW1T/a1tU/8bAvf////////////////////////////j3
/v9bPeT/Wz3k/4Vu6/+di+//nYvv/52L7/+di+//nYvv/3Rb6P9bPeT/fWXq////////////Nbf6/wCk
+f8nsvr/Zsj7/2bI+/9myPv/Zsj7/2bI+/9Bu/v/AKT5/wCk+f/0+///////////////////////////
/////////////4p9eP9rW1T/a1tU/2xdVUIAAAAAAAAAAGtbVHBrW1T/a1tU/6Sblv//////////////
//////////////j3/v9bPeT/Wz3k/8O49f///////////////////////////5uI7v9bPeT/fWXq////
////////Nbf6/wCk+f9jx/v///////////////////////////+i3v3/AKT5/wCk+f/0+///////////
/////////////////////////////6yjn/9rW1T/a1tU/2pcVH0AAAAAAAAAAGxdUzRrW1T/a1tU/4J0
bv////////////////////////////j3/v9bPeT/Wz3k/8O49f///////////////////////////5uI
7v9bPeT/fWXq////////////Nbf6/wCk+f9jx/v///////////////////////////+i3v3/AKT5/wCk
+f/0+////////////////////////////////////////87Jx/9rW1T/a1tU/2tbVbgAAAAAAAAAAGZm
ZgVrW1T0a1tU/2xcVf/z8vL///////////////////////j3/v9bPeT/Wz3k/8O49f//////////////
/////////////5uI7v9bPeT/fWXq////////////Nbf6/wCk+f9jx/v/////////////////////////
//+i3v3/AKT5/wCk+f/0+////////////////////////////////////////8rEwv9rW1T/a1tU/2tb
VO8AAAAAAAAAAAAAAABrW1S/a1tU/2tbVP/Szcv///////////////////////j3/v9bPeT/Wz3k/8O4
9f///////////////////////////5uI7v9bPeT/fWXq////////////Nbf6/wCk+f9jx/v/////////
//////////////////+i3v3/AKT5/wCk+f/0+///////////////////////////////////xr+9/21e
V/9rW1T/a1tU/2pcVM4AAAAAAAAAAAAAAABrWlSFa1tU/2tbVP+xqaX///////////////////////j3
/v9bPeT/Wz3k/8O49f///////////////////////////5uI7v9bPeT/fWXq////////////Nbf6/wCk
+f9jx/v///////////////////////////+i3v3/AKT5/wCk+f/0+///////////////////////////
//+6sq//bFxV/2tbVP9rW1T/a1tT1m9eVR4AAAAAAAAAAAAAAABpXFVLa1tU/2tbVP+Pg37/////////
//////////////j3/v9bPeT/Wz3k/6CP7//Ivvb/yL72/8i+9v/Ivvb/yL72/4Vv6/9bPeT/fWXq////
////////Nbf6/wCk+f9CvPv/quH9/6rh/f+q4f3/quH9/6rh/f9sy/z/AKT5/wCk+f/0+///////////
/////////f39/6ifmv9rW1T/a1tU/2tbVP9rW1TIZllZFAAAAAAAAAAAAAAAAAAAAABpWloRa1tU/Wtb
VP9wYVr//Pv7//////////////////j3/v9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s9
5P9bPeT/fWXq////////////Nbf6/wCk+f8ApPn/AKT5/wCk+f8ApPn/AKT5/wCk+f8ApPn/AKT5/wCk
+f/1+//////////////7+vr/nZKO/2tbVP9rW1T/a1tU/2tcVbJmZk0KAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAa1tT1mtbVP9rW1T/4Nzb//////////////////j3/v9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s9
5P9bPeT/Wz3k/1s95P9bPeT/rJ3x////////////Nbf6/wCk+f8ApPn/AKT5/wCk+f8ApPn/AKT5/wCk
+f8ApPn/AKT5/z66+v////////////b19P+Pg37/a1tU/2tbVP9rW1T/a1tTn4BAQAQAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAa1pUm2tbVP9rW1T/vbaz//////////////////7+///08v3/9PL9//Ty
/f/08v3/9PL9//Ty/f/08v3/9PL9//Ty/f/49/7/////////////////8vr//+75///u+f//7vn//+75
///u+f//7vn//+75///u+f//8Pr/////////////8O/u/4Z5dP9rW1T/a1tU/2tbVP9rXFSIAAAAAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbFxUYWtbVP9rW1T/nJGM////////////////////
////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////n5eT/fG5o/2tbVP9rW1T/a1tU/Gta
VWkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAblpTJWtbVP9rW1T/dmdh/8jD
wP/08/L/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////93Z1/91Z2D/a1tU/2tb
VP9rW1T2bFxTUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWtb
VOlrW1T/a1tU/2tbVP9tXVb/j4N+/7y1sv/q6Of/////////////////////////////////////////
////////////////////////////////////////////////////////////////////////0czK/3Bh
Wv9rW1T/a1tU/2tbVO5qWVU8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAGpbVXhrW1T+a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/g3Zw/7GopP/e2tn//v7+////
////////////////////////////////////////////////////////////////////////////////
///Evbv/bV1W/2tbVP9rW1T/a1tU42tZUysAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsXVUhbFxVb2taVL1rW1T7a1tU/2tbVP9rW1T/a1tU/2tb
VP9rW1T/eGpj/6Wbl//Szcv/+vn5////////////////////////////////////////////////////
/////////////7Wtqv9rW1T/a1tU/2tbVP9rW1TUalhYHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpWloRbFpUVWtb
U6JrW1Twa1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/cGFa/5KHgv+/uLX/8O/u////////////////////
///////////////////9/f3/p56a/2tbVP9rW1T/a1tU/2pbVcdmWVkUAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABVVVUDallVPGtbVJFrW1Pia1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/bFxV/4l8
dv+1ran/4d7d//////////////////v6+v+cko3/a1tU/2tbVP9rW1T/a1tUsXFVVQkAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa1xSMmxcVIBrW1XNa1tU/2tb
VP9rW1T/a1tU/2tbVP9rW1T/a1tU/4Fzbf+vpqL/2NPR/42BfP9rW1T/a1tU/2tbVP9rW1SYVVVVAwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAb15VHmtbU2trWlS6a1tU+WtbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2pa
VH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbVtbDmtcU1ZrW1Ola1tU7mtbVP9rW1T/a1tU/2tb
VP9rW1T8altTZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgEBABGxd
VUJqWlOQa1tU22tbVOdsXFVOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//4H///+sEP//AD///6wQ//4AB///rBD/+AAA//+sEP/w
AAAP/6wQ/+AAAAH/rBD/wAAAAD+sEP+AAAAAH6wQ/wAAAAAPrBD+AAAAAA+sEPwAAAAAD6wQ+AAAAAAP
rBDgAAAAAA+sEMAAAAAAB6wQgAAAAAAHrBAAAAAAAAesEAAAAAAAB6wQAAAAAAADrBAAAAAAAAOsEAAA
AAAAA6wQAAAAAAADrBAAAAAAAAOsEIAAAAAAAawQgAAAAAABrBCAAAAAAAGsEIAAAAAAAawQwAAAAAAA
rBDAAAAAAACsEMAAAAAAAKwQwAAAAAAArBDAAAAAAACsEOAAAAAAAKwQ4AAAAAAArBDgAAAAAAGsEOAA
AAAAA6wQ8AAAAAAHrBDwAAAAAA+sEPAAAAAAP6wQ8AAAAAB/rBDwAAAAAP+sEPgAAAAB/6wQ/AAAAAP/
rBD/gAAAB/+sEP/wAAAP/6wQ//8AAB//rBD//+AAf/+sEP///AD//6wQ////gf//rBAoAAAAIAAAAEAA
AAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABsXFRha1tU7GtbVcFqW1RzalxVJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAbFtVe2tbVP5rW1T/a1tU/2tbVP9rW1T/a1tT1mtcVIhrWVU5gICAAgAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAVVVVA2xbVJVrW1T/bV5X/8K7uf/RzMr/pJqW/3hpY/9rW1T/a1tU/2tb
VP9rW1TpalxTnGxcVU5mZk0KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1JSQdrW1Spa1tU/29fWf/Oycf//////////////////v7+/+He
3f+1ran/iXx2/2tbVP9rW1T/a1tU/2tbVPZqW1W7bFxVb2xYWBoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwYFAQbFxUwGtbVP91ZmD+3trZ////////////////////
////////////////////////6efm/7y0sf+Ogn3/bV1W/2tbVP9rW1T/a1tU/WtbVMZrWlR3ZlVVDwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaF5VG2tbVNJrW1T/fW9p/+fl5P//////////////
///////////////////////////////////////////////////z8vL/x8G//5uQi/9xYlv/a1tU/2tb
VP9rW1SPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGpdVylrW1Tha1tU/4V4cv/w7u7/////////
//////////////////////////////////////////////////////////////////////////////r6
+v/Evbv/a1tU/2xbVMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrXVM3a1tU62tbVP+MgHr/9PPy////
////////////////////////////////////////////////////////////////////////////////
//////////////v6+v9vX1n/a1tU+2pVVQwAAAAAAAAAAAAAAAAAAAAAallTTWtbVPVrW1T/mY6K//r5
+f///v3/1r8d/9G3AP/RtwD/0bcA/9G3AP/RtwD/07oL//r34//57u//x2xy/8RlbP/EZWz/xGVs/8Rl
bP/EZWz/y3d9///+/v///////////4yAev9rW1T/alpSQQAAAAAAAAAAAAAAAGpaVWBrW1T7a1tU/6mg
nP/+/v7///////799//RtwD/2cMr/+PUZv/j1Gb/49Rm/9zIPP/RtwD/9vHM//Pg4v/EZWz/0omP/9yj
p//co6f/3KOn/85/hf/EZWz//fr6////////////rqai/2tbVP9sW1V7AAAAAAAAAABrW1R5a1tU/2xc
Vf+4sa3//////////////////v33/9G3AP/k1Wz/////////////////7OGW/9G3AP/28cz/8+Di/8Rl
bP/nwML/////////////////3aaq/8RlbP/9+vr////////////RzMn/a1tU/2pbVLYAAAAAAAAAAGtb
VO5rW1T/w726///////////////////////+/ff/0bcA/+TVbP/////////////////s4Zb/0bcA//bx
zP/z4OL/xGVs/+fAwv/////////////////dpqr/xGVs//36+v////////////Lw8P9rW1T/a1tU74CA
gAIAAAAAa1tUxWtbVP/Z1dP///////////////////////799//RtwD/5NVs/////////////////+zh
lv/RtwD/9vHM//Pg4v/EZWz/58DC/////////////////92mqv/EZWz//fr6/////////////////4By
bP9rW1T/aF1RLAAAAABqXFSLa1tU/7iwrf///////////////////////v33/9G3AP/dyUH/7eKZ/+3i
mf/t4pn/4dBa/9G3AP/28cz/8+Di/8RlbP/Zm6D/58HE/+fBxP/nwcT/04yR/8RlbP/9+vr/////////
////////opeT/2tbVP9qW1NlAAAAAGtbVVFrW1T/louG///////////////////////+/ff/0bcA/9G3
AP/RtwD/0bcA/9G3AP/RtwD/0bcB//n12//z4OL/xGVs/8RlbP/EZWz/xGVs/8RlbP/EZWz/x2xy//79
/f/////////////////Dvbr/a1tU/2tbU58AAAAAaF1RFmtbVP90ZV///v7+///////////////////+
/f/28cz/9vHM//bxzP/28cz/9vHM//bxzP/49dr///////35+f/z4OL/8+Di//Pg4v/z4OL/8+Di//Pg
4v/47e7//////////////////////+Xi4f9rW1T/altU2gAAAAAAAAAAa1xT3GtbVP/m4+L/////////
/////////////+zp/P/e2Pr/3tj6/97Y+v/e2Pr/3tj6/+fj+////////////9ry/v/M7f7/zO3+/8zt
/v/M7f7/zO3+/+L1/v///////////////////////v7+/3VmX/9rW1T+aF1RFgAAAABsWlSha1tU/8S+
u//////////////////8/P//YkXl/1s95P9bPeT/Wz3k/1s95P9bPeT/XD7k/+jk+//b8v7/AaT5/wCk
+f8ApPn/AKT5/wCk+f8ApPn/C6j5//v+////////////////////////lYmE/2tbVP9rWlRPAAAAAGpc
VGdrW1T/o5mU//////////////////r5/v9bPeT/hW7r/72x9P+9sfT/vbH0/5WB7v9bPeT/3tj6/8zt
/v8ApPn/WsT7/5nb/f+Z2/3/mdv9/0G7+/8ApPn/9/z///////////////////////+2r6v/a1tU/2pb
VIkAAAAAaF1RLGtbVP+Acmz/////////////////+vn+/1s95P+gj+//////////////////u6/0/1s9
5P/e2Pr/zO3+/wCk+f+W2v3/////////////////bMv8/wCk+f/3/P///////////////////////9nV
0/9rW1T/a1tUxQAAAACAgIACa1tU72tbVP/y8PD////////////6+f7/Wz3k/6CP7///////////////
//+7r/T/Wz3k/97Y+v/M7f7/AKT5/5ba/f////////////////9sy/z/AKT5//f8////////////////
////////w726/2tbVP9rW1TuAAAAAAAAAABqW1S2a1tU/9HMyf////////////r5/v9bPeT/oI/v////
/////////////7uv9P9bPeT/3tj6/8zt/v8ApPn/ltr9/////////////////2zL/P8ApPn/9/z/////
/////////////7ixrf9sXFX/a1tU/2tbVHkAAAAAAAAAAGpcVH1rW1T/r6ej////////////+vn+/1s9
5P93Xun/nYvv/52L7/+di+//gmvq/1s95P/e2Pr/zO3+/wCk+f88ufr/Zsj7/2bI+/9myPv/K7P6/wCk
+f/3/P////////7+/v+upaH/a1tU/2tbVPxqXFRnAAAAAAAAAAAAAAAAa1tUQ2tbVP+NgXz/////////
///6+f7/Wz3k/1s95P9bPeT/Wz3k/1s95P9bPeT/YkXl/+3q/P/M7f7/AKT5/wCk+f8ApPn/AKT5/wCk
+f8ApPn/Ha76//3+///7+vr/nZOO/2tbVP9rWlT4altVVAAAAAAAAAAAAAAAAAAAAAB0XV0La1tU+29f
Wf/7+vr/////////////////////////////////////////////////////////////////////////
////////////////////////9vX0/5CEfv9rW1T/bFxU72pZVTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AABsW1TMa1tU/8S9u//6+vr/////////////////////////////////////////////////////////
//////////////////////////////Du7v+FeHL/a1tU/2tbVOFqXVcpAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAGtbVI9rW1T/a1tU/3FiW/+bkIv/x8G///Py8v//////////////////////////////
///////////////////////////////////n5eT/fW9p/2tbVP9rW1TSaF5VGwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAZlVVD2taVHdrW1TGa1tU/WtbVP9rW1T/bV1W/46Cff+8tLH/6efm////
////////////////////////////////////////3trZ/3ZnYf9rW1T/bFxUwHBgUBAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmWVkUalxUXmtcVKprW1Tya1tU/2tb
VP9rW1T/f3Fr/6uinv/Y09H//fz8/////////////////9LNy/9xYVv/a1tU/2paVa9xVVUJAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGZm
TQpsXFVOalxTnGtbVOlrW1T/a1tU/2tbVP94aWP/pJqW/9HMyv/Cu7n/bV5X/2tbVP9sW1SVVVVVAwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAgICAAmtZVTlrXFSIa1tT1mtbVP9rW1T/a1tU/2tbVP9rW1T+bFtVewAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAalxVJGpbVHNrW1XBa1tU7Gxc
VGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/g////wA///wAB//4A
AD/8AAAH+AAAB/AAAAfgAAADwAAAA4AAAAMAAAADAAAAAQAAAAEAAAABAAAAAQAAAAGAAAAAgAAAAIAA
AACAAAAAgAAAAMAAAADAAAABwAAAA8AAAAfgAAAP4AAAH+AAAD/8AAB//4AA///wA////wf/KAAAABgA
AAAwAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAa1tTa2xcVfBsXFW1bFpVZmZcUhkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFrWlSFa1tU/4+Dfv+AcWv8a1tU/2tb
VP5tXlbMa1xUemxbVS0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAVVVVA2xbVJprW1T/qqCc//7+/v//////6+no/7+4tf+RhoH9bF1W/mtbVP9tXlbia1xTmWpZ
U02AVVUGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0XV0LbFxVtWxcVf+5sq//////////
////////////////////////8/Hx/8bAvf+Zjor/cGBa/WtbVP9tXVbxaltUo2heVRsAAAAAAAAAAAAA
AAAAAAAAAAAAAGZZWRRtXFbKbV1W/sjCv///////////////////////////////////////////////
////////+vn5/9LNy/+mnJj/bV1W/WtbVIMAAAAAAAAAAAAAAAAAAAAAaFhYIG1eV9pvYFn808/N////
////////////////////////////////////////////////////////////////////////in55/W1d
Vr4AAAAAAAAAAAAAAABoXVEsbV5X53NlXvzd2tj//v78/9S8EP/RtwD/0bcA/9G3AP/RtwD/8Oit/+zN
0P/EZWz/xGVs/8RlbP/EZWz/yG91//79/f//////raSg/2xcVfaAQEAEAAAAAGxcVEBtXVbzfG5n++jm
5f///////v35/9G3AP/v5qf/9vHM//bxzP/Ywij/7eKZ/+fBxP/NfYP/8+Di//Pg4v/rysz/xGVs//77
/P//////z8rH/2tbVP9rXFIyAAAAAG1dVe2CdW/98O/u/////////////v35/9G3AP/38tH/////////
///axTL/7eKZ/+fBxP/Qg4n////////////04+T/xGVs//77/P//////8fDv/2tbVP9sW1RtAAAAAG5e
Vs+ViYT+/////////////////v35/9G3AP/38tH////////////axTL/7eKZ/+fBxP/Qg4n/////////
///04+T/xGVs//77/P///////////31waftqW1OoAAAAAGxaU5NyY138/v7+/////////////v35/9G3
AP/Zwyr/2sUz/9rFM//Tugr/7eOb/+fBxP/Ga3L/0ISJ/9CEif/OfoT/xGVs//78/P///////////6CW
kv9tXlflAAAAAGpcU1lrW1T/5ePh//////////////79/+3imf/t4pn/7eKZ/+3imf/t4pr/+/nr//bm
5//nwcT/58HE/+fBxP/nwcT/7M3P/////////////////8K7uf9rW1T/alhYHW9eVR5rW1T/w726////
/////////////8rA9v+9sfT/vbH0/72x9P++svT/8vD9/+v4//+a2/3/mdv9/5nb/f+Z2/3/rOH9////
/////////////+Th4P9rW1T/bFtVVwAAAABtXlfnopeT/////////////Pv+/1s95P92Xej/fGTp/3xk
6f9hReX/v7P0/5vb/f8KqPn/M7b6/zO2+v8qs/r/AKT5//r9//////////////7+/v9yY1z8a1tUkQAA
AABqW1OofXBp+///////////+/r+/1s95P/h3Pr///////////97Y+n/vbH0/5nb/f8ytvr/////////
///R7/7/AKT5//n9//////////////////+ViYT+bl5WzwAAAABsW1Rta1tU//Hw7///////+/r+/1s9
5P/h3Pr///////////97Y+n/vbH0/5nb/f8ytvr////////////R7/7/AKT5//n9//////////////Dv
7v+CdW/9bV1V7QAAAABsXVM0a1tU/9DLyf//////+/r+/1s95P/GvPb/3tj6/97Y+v91W+j/vbH0/5nb
/f8osvr/zO3+/8zt/v+n4P3/AKT5//n9////////6+no/35wavxsXVX1altURgAAAACAQEAEbV1W9q6m
ov//////+/r+/1s95P9bPeT/Wz3k/1s95P9bPeT/ysH2/5nb/f8ApPn/AKT5/wCk+f8ApPn/EKr5//z+
///g3dv/dmdh/G1dVuptWFMxAAAAAAAAAAAAAAAAbFxVv4x/ev3/////////////////////////////
/////////////////////////////////////////////9jT0f9xYVv8bV5W32pcVSQAAAAAAAAAAAAA
AAAAAAAAa1tUg21dVv2mnJj/0s3L//r5+f//////////////////////////////////////////////
////////yMK//21dVv5tXFbKZllZFAAAAAAAAAAAAAAAAAAAAAAAAAAAaF5VG2pbVKNsXFXwa1tU/3Bg
Wv2Zjor+xsC9//Px8f////////////////////////////////+5sq//bFxV/2xcVbV0XV0LAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUDallVPGtcVIhtXVbba1tU/2tbVP6Ie3X9ta2p/+He
3f///////v7+/66mov9rW1T/bFpUoWZmZgUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAbFtVLWtcVHpsXVXLa1tU/mtbVP9/cWv7j4N+/2tbVP9rWlSFAAAAAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAZlxSGWxaVWZsXFW1bFxV8GtbU2sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8H
/0H8AP9B+AAPQfAAA0HgAANBwAADQYAAAUEAAAFBAAABQQAAAUEAAAFBAAAAQQAAAEGAAABBgAAAQYAA
AEGAAABBgAABQcAAA0HAAAdBwAAPQfAAH0H/AD9B/+D/QSgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJhW3tvYFn0dWZgsmxbVVdmVVUPAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAAnFiW5eCdG705OHg/8a/vf+UiYT0cWFa+Xdo
YcptXFVsb15VHgAAAAAAAAAAAAAAAAAAAAAAAAAAbUlJB3NkXbKMgHr09/b2//////////////////r5
+f/Szcv/oJeS9XNlXfZzZV7baVxVJwAAAAAAAAAAbVtbDnNjXciZj4n1+/r6////////////////////
///////////////////+/v7/pJqW+WxdVnYAAAAAamBVGHJkXdmnnpn2/f37/9S8E//axTP/2MIo/+XX
cP/eqa3/zX2D/9CEif/IcHf//v39/83Ixf92Z2C8AAAAAHJjXOC5sK36//////7++//bxjb///////Xw
yv/k1Gf/3KOn//Pf4P//////0IaL//79/f/w7u7/cWFb8gAAAAF0Zl/i4+Df///////+/vv/2cMr//bx
zP/u5aL/5NRn/9yjp//px8n/8+Di/85/hf/+/f3//////3hpYvNuWlMldGReo8K7uf////////79/+PU
Zv/j1Gb/49Rm//Dorv/qyMv/3KOn/9yjp//eqKz///7+//////+ajoryalxUXmpaVWCbkYzz//////7+
//+ikfD/nYvv/52L7//Lwfb/ruL9/2bI+/9myPv/b8z8//7/////////wbq3/3RlXqJuWlMleGli8///
///8/P//d17p/97Y+v/DuPX/nYvv/2fJ+/+i3v3/zO3+/yuz+v/7/v///////+Pg3/90Zl/iAAAAAXFh
W/Lw7u7//Pz//35m6v//////3df5/52L7/9nyfv/yuz+//////82t/r/+/7///////+5sK36cmNc4AAA
AAB2Z2G+zsnH//z8//9iReX/fGTp/3Vb6P+jkvD/Z8n7/yiy+v8ztvr/E6v5//v9/v+to5/4c2Nd3m1b
UhwAAAAAbF1WdqSalvn+/v7///////////////////////////////////////v6+v+Zj4r2c2ReyW1b
Ww4AAAAAAAAAAGlcVSdzZV7bc2Vd9qCXkvXSzcv/+vn5//////////////////f29v+MgHr0c2Rdsm1J
SQcAAAAAAAAAAAAAAAAAAAAAAAAAAG9eVR5rW1NrdGRexnBhWfiShoHvxr+9/uTh4P+CdG70c2RdmYCA
gAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmVVUPbFtVV3VmYLJvYFn0cmFbewAA
AAAAAAAAAAAAAAAAAAAAAAAA+D+sQeAHrEHAAaxBgAGsQQABrEEAAKxBAACsQQAArEEAAKxBAACsQQAA
rEGAAKxBgAGsQYADrEHgB6xB/B+sQQ==
</value>
</data>
</root>

View File

@ -1,37 +0,0 @@
namespace RyzStudio.Windows.Forms
{
partial class THorizontalSeparator
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
}
#endregion
}
}

View File

@ -1,26 +0,0 @@
using System.Drawing;
using System.Windows.Forms;
namespace RyzStudio.Windows.Forms
{
public partial class THorizontalSeparator : System.Windows.Forms.UserControl
{
public THorizontalSeparator()
{
InitializeComponent();
this.MaximumSize = new Size(SystemInformation.VirtualScreen.Width, 2);
}
protected override void OnPaintBackground(PaintEventArgs e)
{
base.OnPaintBackground(e);
Graphics g = e.Graphics;
g.FillRectangle(new SolidBrush(Color.FromArgb(213, 223, 229)), new Rectangle(this.DisplayRectangle.Left, 0, this.DisplayRectangle.Width, 1));
g.FillRectangle(new SolidBrush(Color.FromArgb(249, 251, 253)), new Rectangle(this.DisplayRectangle.Left, 1, this.DisplayRectangle.Width, 1));
}
}
}

View File

@ -1,84 +0,0 @@
using System;
using System.ComponentModel;
using System.Drawing;
namespace RyzStudio.Windows.Forms
{
public class TImageBox : System.Windows.Forms.PictureBox
{
public TImageBox() : base()
{
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.ErrorImage = null;
this.InitialImage = null;
this.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
}
protected override void OnCreateControl()
{
OnMouseLeave(null);
base.OnCreateControl();
}
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Color BackColor { get => base.BackColor; set => base.BackColor = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Image Image { get => base.Image; set => base.Image = value; }
[Category("Appearance"), Browsable(true)]
public Color BackColorNormal { get; set; } = Color.Transparent;
[Category("Appearance"), Browsable(true)]
public Color BackColorHover { get; set; } = Color.Transparent;
[Category("Appearance"), Browsable(true)]
public Color BackColorSelected { get; set; } = Color.Transparent;
[Category("Appearance"), Browsable(true)]
public Image ImageNormal { get; set; }
[Category("Appearance"), Browsable(true)]
public Image ImageHover { get; set; }
[Category("Appearance"), Browsable(true)]
public Image ImageSelected { get; set; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public Image NormalImage { get => this.ImageNormal; set => this.ImageNormal = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public Image HoverImage { get => this.ImageHover; set => this.ImageHover = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public Image SelectedImage { get => this.ImageSelected; set => this.ImageSelected = value; }
public bool IsSelected { get; set; } = false;
protected override void OnMouseEnter(EventArgs e)
{
this.Image = this.ImageHover;
this.BackColor = this.BackColorHover;
base.OnMouseEnter(e);
}
protected override void OnMouseLeave(EventArgs e)
{
this.Image = (this.IsSelected ? this.ImageSelected : this.ImageNormal);
this.BackColor = (this.IsSelected ? this.BackColorSelected : this.BackColorNormal);
base.OnMouseLeave(e);
}
protected override void OnLostFocus(EventArgs e)
{
this.Image = (this.IsSelected ? this.ImageSelected : this.ImageNormal);
this.BackColor = (this.IsSelected ? this.BackColorSelected : this.BackColorNormal);
base.OnLostFocus(e);
}
}
}

View File

@ -1,73 +0,0 @@
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
namespace RyzStudio.Windows.Forms
{
public class TUserControl : System.Windows.Forms.UserControl
{
public TUserControl() : base()
{
}
[Browsable(false)]
public override Image BackgroundImage { get => base.BackgroundImage; set => base.BackgroundImage = value; }
[Browsable(false)]
public override ImageLayout BackgroundImageLayout { get => base.BackgroundImageLayout; set => base.BackgroundImageLayout = value; }
[Browsable(false)]
public new BorderStyle BorderStyle { get => base.BorderStyle; set => base.BorderStyle = value; }
[Browsable(false)]
public override Cursor Cursor { get => base.Cursor; set => base.Cursor = value; }
[Browsable(false)]
public override Font Font { get => base.Font; set => base.Font = value; }
[Browsable(false)]
public override Color ForeColor { get => base.ForeColor; set => base.ForeColor = value; }
[Browsable(false)]
public override RightToLeft RightToLeft { get => base.RightToLeft; set => base.RightToLeft = value; }
[Browsable(false)]
public new bool UseWaitCursor { get => base.UseWaitCursor; set => base.UseWaitCursor = value; }
[Browsable(false)]
public override bool AllowDrop { get => base.AllowDrop; set => base.AllowDrop = value; }
[Browsable(false)]
public override AutoValidate AutoValidate { get => base.AutoValidate; set => base.AutoValidate = value; }
//[Browsable(false)]
//public override ContextMenuStrip ContextMenuStrip { get => base.ContextMenuStrip; set => base.ContextMenuStrip = value; }
[Browsable(false)]
public new ImeMode ImeMode { get => base.ImeMode; set => base.ImeMode = value; }
[Browsable(false)]
public override bool AutoScroll { get => base.AutoScroll; set => base.AutoScroll = value; }
[Browsable(false)]
public new Size AutoScrollMargin { get => base.AutoScrollMargin; set => base.AutoScrollMargin = value; }
[Browsable(false)]
public new Size AutoScrollMinSize { get => base.AutoScrollMinSize; set => base.AutoScrollMinSize = value; }
[Browsable(false)]
public override bool AutoSize { get => base.AutoSize; set => base.AutoSize = value; }
[Browsable(false)]
public new AutoSizeMode AutoSizeMode { get => base.AutoSizeMode; set => base.AutoSizeMode = value; }
[Browsable(false)]
public override Size MaximumSize { get => base.MaximumSize; set => base.MaximumSize = value; }
[Browsable(false)]
public override Size MinimumSize { get => base.MinimumSize; set => base.MinimumSize = value; }
}
}

View File

@ -1,526 +0,0 @@
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace RyzStudio.Windows.Forms
{
public class ThreadControl
{
public static void Add(Control control, Control value)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() =>
{
control.Controls.Add(value);
}));
}
else
{
control.Controls.Add(value);
}
}
public static void Add(ListBox control, string value)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() => {
control.Items.Add(value);
}));
}
else
{
control.Items.Add(value);
}
}
//public static void Add(FlowLayoutPanel control, Control value)
//{
// if (control.InvokeRequired)
// {
// control.Invoke(new MethodInvoker(() => {
// control.Controls.Add(value);
// }));
// }
// else
// {
// control.Controls.Add(value);
// }
//}
public static int Add(TreeView control, TreeNode value)
{
int n = -1;
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() => {
n = control.Nodes.Add(value);
}));
}
else
{
n = control.Nodes.Add(value);
}
return n;
}
public static int Add(TreeNode control, TreeNode value)
{
int n = -1;
if (control.TreeView.InvokeRequired)
{
control.TreeView.Invoke(new MethodInvoker(() => {
n = control.Nodes.Add(value);
}));
}
else
{
n = control.Nodes.Add(value);
}
return n;
}
public static int Add(DataGridView control, object[] value)
{
int n = -1;
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() => {
n = control.Rows.Add(value);
}));
}
else
{
n = control.Rows.Add(value);
}
return n;
}
public static int Add(DataGridView control, object[] value, object tag)
{
int n = -1;
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() => {
n = control.Rows.Add(value);
control.Rows[n].Tag = tag;
}));
}
else
{
n = control.Rows.Add(value);
control.Rows[n].Tag = tag;
}
return n;
}
public static TreeNode Add(TreeView control, string key, string text)
{
TreeNode rv = null;
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() => {
rv = control.Nodes.Add(key, text);
}));
}
else
{
rv = control.Nodes.Add(key, text);
}
return rv;
}
public static TreeNode Add(TreeNode control, string key, string text)
{
TreeNode rv = null;
if (control.TreeView.InvokeRequired)
{
control.TreeView.Invoke(new MethodInvoker(() => {
rv = control.Nodes.Add(key, text);
}));
}
else
{
rv = control.Nodes.Add(key, text);
}
return rv;
}
public static void AddLine(RichTextBox control, string text)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() =>
{
control.Text += text + Environment.NewLine;
}));
}
else
{
control.Text += text + Environment.NewLine;
}
}
public static void Clear(ListBox control)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() => {
control.Items.Clear();
}));
}
else
{
control.Items.Clear();
}
}
public static void Clear(FlowLayoutPanel control)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() => {
control.Controls.Clear();
}));
}
else
{
control.Controls.Clear();
}
}
public static void Clear(TreeView control)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() => {
control.Nodes.Clear();
}));
}
else
{
control.Nodes.Clear();
}
}
public static void Clear(Label control) => SetText(control, string.Empty);
public static void Clear(PictureBox control)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() =>
{
control.Image = null;
}));
}
else
{
control.Image = null;
}
}
public static void Clear(DataGridView control)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() =>
{
control.Rows.Clear();
}));
}
else
{
control.Rows.Clear();
}
}
public static List<T> FindChildControl<T>(Control control) where T : Control
{
List<T> rs = new List<T>();
foreach (Control item in control.Controls)
{
var ctr = item as T;
if (ctr == null)
{
rs.AddRange(FindChildControl<T>(item));
}
else
{
rs.Add(ctr);
}
}
return rs;
}
public static string GetText(Control control, bool doTrim = true)
{
string rv = string.Empty;
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() => {
rv = (doTrim ? control.Text?.Trim() : control.Text);
}));
}
else
{
rv = (doTrim ? control.Text?.Trim() : control.Text);
}
return rv;
}
public static void SetChecked(ToolStripMenuItem control, bool value)
{
if (control.GetCurrentParent().InvokeRequired)
{
control.GetCurrentParent().Invoke(new MethodInvoker(() =>
{
control.Checked = value;
}));
}
else
{
control.Checked = value;
}
}
public static void SetEnable(Control control, bool value)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() =>
{
control.Enabled = value;
}));
}
else
{
control.Enabled = value;
}
}
public static int GetValue(NumericUpDown sender)
{
int rv = 0;
if (sender.InvokeRequired)
{
sender.Invoke(new MethodInvoker(() => {
rv = (int)sender.Value;
}));
}
else
{
rv = (int)sender.Value;
}
return rv;
}
public static string GetSelectedValue(ListBox sender)
{
string rv = string.Empty;
if (sender.InvokeRequired)
{
sender.Invoke(new MethodInvoker(() => {
rv = (sender.SelectedItem == null) ? string.Empty : sender.SelectedItem.ToString();
}));
}
else
{
rv = (sender.SelectedItem == null) ? string.Empty : sender.SelectedItem.ToString();
}
return rv;
}
public static void SetHeight(Control control, int value)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() => {
control.Height = value;
}));
}
else
{
control.Height = value;
}
}
public static void SetLocation(Control control, Point value)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() => {
control.Location = value;
}));
}
else
{
control.Location = value;
}
}
public static void SetSize(Control control, int width, int height) => SetSize(control, new Size(width, height));
public static void SetSize(Control control, Size value)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() => {
control.Size = value;
}));
}
else
{
control.Size = value;
}
}
public static void SetText(Control control, string text)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() =>
{
control.Text = text;
}));
}
else
{
control.Text = text;
}
}
public static void SetTopMost(Form control, bool value)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() => {
control.TopMost = value;
}));
}
else
{
control.TopMost = value;
}
}
public static void SetValue(Control control, string value)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() => {
control.Text = value;
}));
}
else
{
control.Text = value;
}
}
public static void SetValue(PictureBox control, Image value)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() =>
{
control.Image = value;
}));
}
else
{
control.Image = value;
}
}
public static void SetVisible(Control control, bool value)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() => {
control.Visible = value;
}));
}
else
{
control.Visible = value;
}
}
public static void SetVisible(Form control, bool value)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() => {
if (value)
{
control.ShowInTaskbar = value;
control.Opacity = 100;
control.Visible = value;
}
else
{
control.Visible = value;
control.ShowInTaskbar = value;
control.Opacity = 0;
}
}));
}
else
{
if (value)
{
control.ShowInTaskbar = value;
control.Opacity = 100;
control.Visible = value;
}
else
{
control.Visible = value;
control.ShowInTaskbar = value;
control.Opacity = 0;
}
}
}
public static void SetWidth(Control control, int value)
{
if (control.InvokeRequired)
{
control.Invoke(new MethodInvoker(() => {
control.Width = value;
}));
}
else
{
control.Width = value;
}
}
}
}

View File

@ -1,191 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
partial class BorderlessForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(BorderlessForm));
this.label1 = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
this.area1 = new System.Windows.Forms.Panel();
this.pictureBox4 = new RyzStudio.Windows.Forms.ImageBox();
this.pictureBox2 = new RyzStudio.Windows.Forms.ImageBox();
this.pictureBox1 = new RyzStudio.Windows.Forms.ImageBox();
this.pictureBox3 = new RyzStudio.Windows.Forms.ImageBox();
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).BeginInit();
this.SuspendLayout();
//
// label1
//
this.label1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.label1.BackColor = System.Drawing.Color.Transparent;
this.label1.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.label1.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(241)))), ((int)(((byte)(241)))), ((int)(((byte)(241)))));
this.label1.Location = new System.Drawing.Point(1, 1);
this.label1.Name = "label1";
this.label1.Padding = new System.Windows.Forms.Padding(48, 0, 0, 0);
this.label1.Size = new System.Drawing.Size(454, 48);
this.label1.TabIndex = 148;
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.label1.DoubleClick += new System.EventHandler(this.label1_DoubleClick);
this.label1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.label1_MouseClick);
this.label1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.label1_MouseDown);
this.label1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.label1_MouseMove);
this.label1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.label1_MouseUp);
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.panel1.BackColor = System.Drawing.Color.Transparent;
this.panel1.Cursor = System.Windows.Forms.Cursors.SizeNWSE;
this.panel1.Location = new System.Drawing.Point(594, 674);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(6, 6);
this.panel1.TabIndex = 150;
this.panel1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseDown);
this.panel1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseMove);
this.panel1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseUp);
//
// area1
//
this.area1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.area1.BackColor = System.Drawing.Color.Transparent;
this.area1.Cursor = System.Windows.Forms.Cursors.SizeNS;
this.area1.Location = new System.Drawing.Point(1, 674);
this.area1.Name = "area1";
this.area1.Size = new System.Drawing.Size(592, 6);
this.area1.TabIndex = 152;
this.area1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.panel2_MouseDown);
this.area1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.panel2_MouseMove);
this.area1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.panel2_MouseUp);
//
// pictureBox4
//
this.pictureBox4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.pictureBox4.BackColor = System.Drawing.Color.Transparent;
this.pictureBox4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.pictureBox4.ErrorImage = null;
this.pictureBox4.HighlightImage = global::hiim.dply.Properties.Resources.form20_menu2;
this.pictureBox4.Image = global::hiim.dply.Properties.Resources.form20_menu;
this.pictureBox4.InitialImage = null;
this.pictureBox4.Location = new System.Drawing.Point(460, 11);
this.pictureBox4.Name = "pictureBox4";
this.pictureBox4.NormalImage = global::hiim.dply.Properties.Resources.form20_menu;
this.pictureBox4.Size = new System.Drawing.Size(28, 28);
this.pictureBox4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.pictureBox4.TabIndex = 149;
this.pictureBox4.TabStop = false;
//
// pictureBox2
//
this.pictureBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.pictureBox2.BackColor = System.Drawing.Color.Transparent;
this.pictureBox2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.pictureBox2.ErrorImage = null;
this.pictureBox2.HighlightImage = global::hiim.dply.Properties.Resources.form20_maximise2;
this.pictureBox2.Image = global::hiim.dply.Properties.Resources.form20_maximise;
this.pictureBox2.InitialImage = null;
this.pictureBox2.Location = new System.Drawing.Point(528, 11);
this.pictureBox2.Name = "pictureBox2";
this.pictureBox2.NormalImage = global::hiim.dply.Properties.Resources.form20_maximise;
this.pictureBox2.Size = new System.Drawing.Size(28, 28);
this.pictureBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.pictureBox2.TabIndex = 147;
this.pictureBox2.TabStop = false;
//
// pictureBox1
//
this.pictureBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.pictureBox1.BackColor = System.Drawing.Color.Transparent;
this.pictureBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.pictureBox1.ErrorImage = null;
this.pictureBox1.HighlightImage = global::hiim.dply.Properties.Resources.form20_minimise2;
this.pictureBox1.Image = global::hiim.dply.Properties.Resources.form20_minimise;
this.pictureBox1.InitialImage = null;
this.pictureBox1.Location = new System.Drawing.Point(494, 11);
this.pictureBox1.Name = "pictureBox1";
this.pictureBox1.NormalImage = global::hiim.dply.Properties.Resources.form20_minimise;
this.pictureBox1.Size = new System.Drawing.Size(28, 28);
this.pictureBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.pictureBox1.TabIndex = 146;
this.pictureBox1.TabStop = false;
//
// pictureBox3
//
this.pictureBox3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.pictureBox3.BackColor = System.Drawing.Color.Transparent;
this.pictureBox3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.pictureBox3.ErrorImage = null;
this.pictureBox3.HighlightImage = global::hiim.dply.Properties.Resources.form20_close2;
this.pictureBox3.Image = ((System.Drawing.Image)(resources.GetObject("pictureBox3.Image")));
this.pictureBox3.InitialImage = null;
this.pictureBox3.Location = new System.Drawing.Point(562, 11);
this.pictureBox3.Name = "pictureBox3";
this.pictureBox3.NormalImage = ((System.Drawing.Image)(resources.GetObject("pictureBox3.NormalImage")));
this.pictureBox3.Size = new System.Drawing.Size(28, 28);
this.pictureBox3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.pictureBox3.TabIndex = 145;
this.pictureBox3.TabStop = false;
//
// BorderlessForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.WhiteSmoke;
this.ClientSize = new System.Drawing.Size(600, 680);
this.Controls.Add(this.area1);
this.Controls.Add(this.panel1);
this.Controls.Add(this.pictureBox4);
this.Controls.Add(this.label1);
this.Controls.Add(this.pictureBox2);
this.Controls.Add(this.pictureBox1);
this.Controls.Add(this.pictureBox3);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.Name = "BorderlessForm";
((System.ComponentModel.ISupportInitialize)(this.pictureBox4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox1)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.pictureBox3)).EndInit();
this.ResumeLayout(false);
}
#endregion
protected internal Forms.ImageBox pictureBox2;
protected internal Forms.ImageBox pictureBox1;
protected internal Forms.ImageBox pictureBox3;
protected internal System.Windows.Forms.Label label1;
protected internal Forms.ImageBox pictureBox4;
protected internal System.Windows.Forms.Panel panel1;
protected internal System.Windows.Forms.Panel area1;
}
}

View File

@ -1,410 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
using System;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Design;
using System.Windows.Forms;
using Resources = hiim.dply.Properties.Resources;
public partial class BorderlessForm : System.Windows.Forms.Form
{
protected bool isBusy = false;
protected Color topFillColour = Color.FromArgb(15, 15, 15);
protected int topFillHeight = 48;
protected Color bottomFillColour = Color.FromArgb(15, 15, 15);
protected int bottomFillMargin = 19;
protected int bottomLeftMargin = 20;
protected int borderWidth = 1;
protected int menuFillWidth = 160;
protected Color menuFillColour = Color.FromArgb(179, 179, 179);
private bool windowDragging = false;
private Point windowOffset = new Point();
private Point windowSize = new Point();
public BorderlessForm() : base()
{
this.InitializeComponent();
this.BackColor = Color.FromArgb(247, 247, 247);
this.FormBorderStyle = FormBorderStyle.None;
this.Padding = new Padding(1);
this.topFillColour = Color.FromArgb(51, 51, 51);
this.topFillHeight = 48;
this.bottomFillColour = Color.FromArgb(0, 152, 167);
this.bottomFillMargin = 6;
pictureBox1.Click += pictureBox1_Click;
pictureBox2.Click += pictureBox2_Click;
pictureBox3.Click += pictureBox3_Click;
pictureBox4.Click += pictureBox4_Click;
updatePictureBox2Image();
}
protected override void OnClosing(CancelEventArgs e)
{
base.OnClosing(e);
if (this.IsBusy)
{
e.Cancel = true;
}
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics g = e.Graphics;
Rectangle areaTop = new Rectangle(this.DisplayRectangle.Left, this.Padding.Top, this.DisplayRectangle.Width, topFillHeight);
Rectangle areaBottom = new Rectangle(this.DisplayRectangle.Left, (this.DisplayRectangle.Height - bottomFillMargin + this.Padding.Top), this.DisplayRectangle.Width, bottomFillMargin);
Rectangle areaBorder = new Rectangle(this.ClientRectangle.X, this.ClientRectangle.Y, this.ClientRectangle.Width - borderWidth, this.ClientRectangle.Height - borderWidth);
Rectangle areaMenu = new Rectangle(this.DisplayRectangle.Left, this.DisplayRectangle.Top + topFillHeight, menuFillWidth, (this.DisplayRectangle.Height - bottomFillMargin - topFillHeight));
// draw header
if (topFillHeight > 0)
{
g.FillRectangle(new SolidBrush(topFillColour), areaTop);
}
// fill menu
g.FillRectangle(new SolidBrush(menuFillColour), areaMenu);
// draw footer
if (bottomFillMargin > 0)
{
g.FillRectangle(new SolidBrush(bottomFillColour), areaBottom);
}
// draw logo
if (this.TitleLogo != null)
{
g.DrawImageUnscaled(this.TitleLogo, this.Padding.Left, this.Padding.Top);
}
if (this.Banner != null)
{
g.DrawImageUnscaled(this.Banner, this.Padding.Left + bottomLeftMargin, (this.DisplayRectangle.Height - this.Banner.Height - bottomFillMargin + this.Padding.Top), (this.DisplayRectangle.Width - (this.Padding.Left + this.Padding.Right)), this.Banner.Height);
}
g.DrawRectangle(new Pen(Color.Black, borderWidth), areaBorder);
}
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
updatePictureBox2Image();
this.Invalidate();
}
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Color BackColor { get => base.BackColor; set => base.BackColor = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new FormBorderStyle FormBorderStyle { get => base.FormBorderStyle; set => base.FormBorderStyle = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Padding Padding { get => base.Padding; set => base.Padding = value; }
[Category("Appearance"), Browsable(true)]
public string Description
{
get
{
return label1.Text?.Replace("\n", "\\n");
}
set
{
label1.Text = value?.Replace("\\n", "\n");
}
}
[Category("Appearance"), Browsable(true)]
public Image TitleLogo { get; set; }
[Category("Appearance"), Browsable(true)]
public Image Banner { get; set; }
[Category("Appearance"), Browsable(true)]
public bool ShowMenuButton { get => pictureBox4.Visible; set => pictureBox4.Visible = value; }
protected virtual bool IsBusy { get => isBusy; set => isBusy = value; }
private void pictureBox4_Click(object sender, System.EventArgs e)
{
//this.WindowState = FormWindowState.Minimized;
}
private void pictureBox1_Click(object sender, System.EventArgs e)
{
MouseEventArgs mouseEvent = (MouseEventArgs)e;
if (mouseEvent != null)
{
if (mouseEvent.Button != MouseButtons.Left)
{
return;
}
}
this.WindowState = FormWindowState.Minimized;
}
private void pictureBox2_Click(object sender, System.EventArgs e)
{
MouseEventArgs mouseEvent = (MouseEventArgs)e;
if (mouseEvent != null)
{
if (mouseEvent.Button != MouseButtons.Left)
{
return;
}
}
if (this.WindowState == FormWindowState.Maximized)
{
this.WindowState = FormWindowState.Normal;
pictureBox2.NormalImage = Resources.form20_maximise;
pictureBox2.HighlightImage = Resources.form20_maximise2;
}
else
{
this.WindowState = FormWindowState.Maximized;
pictureBox2.NormalImage = Resources.form20_restore;
pictureBox2.HighlightImage = Resources.form20_restore2;
}
}
private void pictureBox3_Click(object sender, System.EventArgs e)
{
MouseEventArgs mouseEvent = (MouseEventArgs)e;
if (mouseEvent != null)
{
if (mouseEvent.Button != MouseButtons.Left)
{
return;
}
}
this.Close();
}
public void SetValue(Label sender, string value)
{
if (sender.InvokeRequired)
{
sender.Invoke(new MethodInvoker(() => { sender.Text = value; }));
}
else
{
sender.Text = value;
}
}
public void SetValue(GroupBox sender, string value)
{
if (sender.InvokeRequired)
{
sender.Invoke(new MethodInvoker(() => { sender.Text = value; }));
}
else
{
sender.Text = value;
}
}
public void AddValue(ListBox sender, string value)
{
if (sender.InvokeRequired)
{
sender.Invoke(new MethodInvoker(() => { sender.Items.Add(value); }));
}
else
{
sender.Items.Add(value);
}
}
public void AddControl(FlowLayoutPanel sender, Control value)
{
if (sender.InvokeRequired)
{
sender.Invoke(new MethodInvoker(() =>
{
sender.Controls.Add(value);
}));
}
else
{
sender.Controls.Add(value);
}
}
public void ClearValues(ListBox sender)
{
if (sender.InvokeRequired)
{
sender.Invoke(new MethodInvoker(() => { sender.Items.Clear(); }));
}
else
{
sender.Items.Clear();
}
}
public string GetValue(ListBox sender)
{
string rv = string.Empty;
if (sender.InvokeRequired)
{
sender.Invoke(new MethodInvoker(() => { rv = (sender.SelectedItem == null) ? string.Empty : sender.SelectedItem.ToString(); }));
}
else
{
rv = (sender.SelectedItem == null) ? string.Empty : sender.SelectedItem.ToString();
}
return rv;
}
public string GetValue(TextBox sender)
{
string rv = string.Empty;
if (sender.InvokeRequired)
{
sender.Invoke(new MethodInvoker(() => { rv = sender.Text.Trim(); }));
}
else
{
rv = sender.Text.Trim();
}
return rv;
}
public int GetValue(NumericUpDown sender)
{
int rv = 0;
if (sender.InvokeRequired)
{
sender.Invoke(new MethodInvoker(() => { rv = (int)sender.Value; }));
}
else
{
rv = (int)sender.Value;
}
return rv;
}
protected void updatePictureBox2Image()
{
if (this.WindowState == FormWindowState.Maximized)
{
pictureBox2.NormalImage = Resources.form20_restore;
pictureBox2.HighlightImage = Resources.form20_restore2;
}
else
{
pictureBox2.NormalImage = Resources.form20_maximise;
pictureBox2.HighlightImage = Resources.form20_maximise2;
}
}
private void label1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button != MouseButtons.Left)
{
return;
}
windowDragging = true;
windowOffset = e.Location;
}
private void label1_MouseUp(object sender, MouseEventArgs e)
{
windowDragging = false;
}
private void label1_MouseMove(object sender, MouseEventArgs e)
{
if (windowDragging)
{
Point currentScreenPos = PointToScreen(e.Location);
Location = new Point(currentScreenPos.X - windowOffset.X, currentScreenPos.Y - windowOffset.Y);
}
}
private void label1_DoubleClick(object sender, EventArgs e) => pictureBox2_Click(sender, e);
private void label1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Middle)
{
this.TopMost = !this.TopMost;
}
}
private void panel1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button != MouseButtons.Left)
{
return;
}
windowDragging = true;
windowOffset = e.Location;
windowSize = new Point(this.Width, this.Height);
}
private void panel1_MouseUp(object sender, MouseEventArgs e)
{
windowDragging = false;
}
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
if (windowDragging)
{
this.Size = new Size(e.X - windowOffset.X + this.Width, e.Y - windowOffset.Y + this.Height);
}
}
private void panel2_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button != MouseButtons.Left)
{
return;
}
windowDragging = true;
windowOffset = e.Location;
windowSize = new Point(this.Width, this.Height);
}
private void panel2_MouseUp(object sender, MouseEventArgs e)
{
windowDragging = false;
}
private void panel2_MouseMove(object sender, MouseEventArgs e)
{
if (windowDragging)
{
this.Size = new Size(windowSize.X, e.Y - windowOffset.Y + this.Height);
}
}
}
}

View File

@ -1,158 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="label1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="pictureBox4.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="pictureBox2.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="pictureBox1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="pictureBox3.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="pictureBox3.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAADnSURBVDhP1ZVB
DoIwEEW7whNo9Cri/QCv5Y4YEoTWxK71Gvqn+W2AgEkbNvxkYPgzfWkpKcpau9NaX/u+/yC+iSFjK3Ay
RdhcU0qUChc3s67rzipRGJ8T+JYHR2ctWYGzXSC8Gzbs3rbtgZaSXDyp0QoKnJBMBK8WH5vVCUhCcvbX
bAuivwxsmmaP2TxYfyE3zJ/Ij2wLYu3/OxQoah4kYedgIt8TDTTGnFgeyfcsAodLxn205Dlo4IRkInjr
bgq8dT+bWG0L6A/WnLVo4b1eyHDHV8WHNaJwvwAkJeI9KMSGjC201tkP+AimzgF8cMEAAAAASUVORK5C
YII=
</value>
</data>
<data name="pictureBox3.NormalImage" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABGdBTUEAALGPC/xhBQAAAAlwSFlzAAAO
xAAADsQBlSsOGwAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAADnSURBVDhP1ZVB
DoIwEEW7whNo9Cri/QCv5Y4YEoTWxK71Gvqn+W2AgEkbNvxkYPgzfWkpKcpau9NaX/u+/yC+iSFjK3Ay
RdhcU0qUChc3s67rzipRGJ8T+JYHR2ctWYGzXSC8Gzbs3rbtgZaSXDyp0QoKnJBMBK8WH5vVCUhCcvbX
bAuivwxsmmaP2TxYfyE3zJ/Ij2wLYu3/OxQoah4kYedgIt8TDTTGnFgeyfcsAodLxn205Dlo4IRkInjr
bgq8dT+bWG0L6A/WnLVo4b1eyHDHV8WHNaJwvwAkJeI9KMSGjC201tkP+AimzgF8cMEAAAAASUVORK5C
YII=
</value>
</data>
</root>

View File

@ -1,191 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
partial class BorderlessToolForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.lblDescription = new System.Windows.Forms.Label();
this.panel1 = new System.Windows.Forms.Panel();
this.imgbxMenu = new RyzStudio.Windows.Forms.ImageBox();
this.imgbxMaximise = new RyzStudio.Windows.Forms.ImageBox();
this.imgbxMinimise = new RyzStudio.Windows.Forms.ImageBox();
this.imgbxClose = new RyzStudio.Windows.Forms.ImageBox();
this.area1 = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.imgbxMenu)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.imgbxMaximise)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.imgbxMinimise)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.imgbxClose)).BeginInit();
this.SuspendLayout();
//
// lblDescription
//
this.lblDescription.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.lblDescription.BackColor = System.Drawing.Color.Transparent;
this.lblDescription.Font = new System.Drawing.Font("Segoe UI", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
this.lblDescription.ForeColor = System.Drawing.Color.FromArgb(((int)(((byte)(241)))), ((int)(((byte)(241)))), ((int)(((byte)(241)))));
this.lblDescription.Location = new System.Drawing.Point(1, 1);
this.lblDescription.Name = "lblDescription";
this.lblDescription.Padding = new System.Windows.Forms.Padding(10, 0, 0, 0);
this.lblDescription.Size = new System.Drawing.Size(194, 30);
this.lblDescription.TabIndex = 148;
this.lblDescription.TextAlign = System.Drawing.ContentAlignment.MiddleLeft;
this.lblDescription.DoubleClick += new System.EventHandler(this.label1_DoubleClick);
this.lblDescription.MouseClick += new System.Windows.Forms.MouseEventHandler(this.label1_MouseClick);
this.lblDescription.MouseDown += new System.Windows.Forms.MouseEventHandler(this.label1_MouseDown);
this.lblDescription.MouseMove += new System.Windows.Forms.MouseEventHandler(this.label1_MouseMove);
this.lblDescription.MouseUp += new System.Windows.Forms.MouseEventHandler(this.label1_MouseUp);
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.panel1.BackColor = System.Drawing.Color.Transparent;
this.panel1.Cursor = System.Windows.Forms.Cursors.SizeNWSE;
this.panel1.Location = new System.Drawing.Point(335, 595);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(5, 5);
this.panel1.TabIndex = 150;
this.panel1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseDown);
this.panel1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseMove);
this.panel1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.panel1_MouseUp);
//
// imgbxMenu
//
this.imgbxMenu.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.imgbxMenu.BackColor = System.Drawing.Color.Transparent;
this.imgbxMenu.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.imgbxMenu.ErrorImage = null;
this.imgbxMenu.HighlightImage = global::AppLauncher.Properties.Resources.form16_menu2;
this.imgbxMenu.Image = global::AppLauncher.Properties.Resources.form16_menu;
this.imgbxMenu.InitialImage = null;
this.imgbxMenu.Location = new System.Drawing.Point(224, 4);
this.imgbxMenu.Name = "imgbxMenu";
this.imgbxMenu.NormalImage = global::AppLauncher.Properties.Resources.form16_menu;
this.imgbxMenu.Size = new System.Drawing.Size(24, 24);
this.imgbxMenu.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.imgbxMenu.TabIndex = 149;
this.imgbxMenu.TabStop = false;
//
// imgbxMaximise
//
this.imgbxMaximise.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.imgbxMaximise.BackColor = System.Drawing.Color.Transparent;
this.imgbxMaximise.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.imgbxMaximise.ErrorImage = null;
this.imgbxMaximise.HighlightImage = global::AppLauncher.Properties.Resources.form16_maximise2;
this.imgbxMaximise.Image = global::AppLauncher.Properties.Resources.form16_maximise;
this.imgbxMaximise.InitialImage = null;
this.imgbxMaximise.Location = new System.Drawing.Point(280, 4);
this.imgbxMaximise.Name = "imgbxMaximise";
this.imgbxMaximise.NormalImage = global::AppLauncher.Properties.Resources.form16_maximise;
this.imgbxMaximise.Size = new System.Drawing.Size(24, 24);
this.imgbxMaximise.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.imgbxMaximise.TabIndex = 147;
this.imgbxMaximise.TabStop = false;
//
// imgbxMinimise
//
this.imgbxMinimise.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.imgbxMinimise.BackColor = System.Drawing.Color.Transparent;
this.imgbxMinimise.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.imgbxMinimise.ErrorImage = null;
this.imgbxMinimise.HighlightImage = global::AppLauncher.Properties.Resources.form16_minimise2;
this.imgbxMinimise.Image = global::AppLauncher.Properties.Resources.form16_minimise;
this.imgbxMinimise.InitialImage = null;
this.imgbxMinimise.Location = new System.Drawing.Point(252, 4);
this.imgbxMinimise.Name = "imgbxMinimise";
this.imgbxMinimise.NormalImage = global::AppLauncher.Properties.Resources.form16_minimise;
this.imgbxMinimise.Size = new System.Drawing.Size(24, 24);
this.imgbxMinimise.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.imgbxMinimise.TabIndex = 146;
this.imgbxMinimise.TabStop = false;
//
// imgbxClose
//
this.imgbxClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.imgbxClose.BackColor = System.Drawing.Color.Transparent;
this.imgbxClose.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.imgbxClose.ErrorImage = null;
this.imgbxClose.HighlightImage = global::AppLauncher.Properties.Resources.form16_close2;
this.imgbxClose.Image = global::AppLauncher.Properties.Resources.form16_close;
this.imgbxClose.InitialImage = null;
this.imgbxClose.Location = new System.Drawing.Point(308, 4);
this.imgbxClose.Name = "imgbxClose";
this.imgbxClose.NormalImage = global::AppLauncher.Properties.Resources.form16_close;
this.imgbxClose.Size = new System.Drawing.Size(24, 24);
this.imgbxClose.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.imgbxClose.TabIndex = 145;
this.imgbxClose.TabStop = false;
//
// area1
//
this.area1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.area1.BackColor = System.Drawing.Color.Transparent;
this.area1.Cursor = System.Windows.Forms.Cursors.SizeNS;
this.area1.Location = new System.Drawing.Point(0, 595);
this.area1.Name = "area1";
this.area1.Size = new System.Drawing.Size(334, 5);
this.area1.TabIndex = 151;
this.area1.MouseDown += new System.Windows.Forms.MouseEventHandler(this.panel2_MouseDown);
this.area1.MouseMove += new System.Windows.Forms.MouseEventHandler(this.panel2_MouseMove);
this.area1.MouseUp += new System.Windows.Forms.MouseEventHandler(this.panel2_MouseUp);
//
// BorderlessToolForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.WhiteSmoke;
this.ClientSize = new System.Drawing.Size(340, 600);
this.Controls.Add(this.area1);
this.Controls.Add(this.panel1);
this.Controls.Add(this.imgbxMenu);
this.Controls.Add(this.lblDescription);
this.Controls.Add(this.imgbxMaximise);
this.Controls.Add(this.imgbxMinimise);
this.Controls.Add(this.imgbxClose);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.MinimumSize = new System.Drawing.Size(40, 0);
this.Name = "BorderlessToolForm";
((System.ComponentModel.ISupportInitialize)(this.imgbxMenu)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.imgbxMaximise)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.imgbxMinimise)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.imgbxClose)).EndInit();
this.ResumeLayout(false);
}
#endregion
protected internal Forms.ImageBox imgbxMaximise;
protected internal Forms.ImageBox imgbxMinimise;
protected internal Forms.ImageBox imgbxClose;
protected internal System.Windows.Forms.Label lblDescription;
protected internal Forms.ImageBox imgbxMenu;
protected internal System.Windows.Forms.Panel panel1;
protected internal System.Windows.Forms.Panel area1;
}
}

View File

@ -1,394 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
using System;
using System.ComponentModel;
using System.Drawing;
using System.Drawing.Design;
using System.Windows.Forms;
using Resources = AppLauncher.Properties.Resources;
public partial class BorderlessToolForm : System.Windows.Forms.Form
{
protected bool isBusy = false;
protected Color topFillColour = Color.FromArgb(15, 15, 15);
protected int topFillHeight = 32;
protected int borderWidth = 1;
private bool windowDragging = false;
private Point windowOffset = new Point();
private Point windowSize = new Point();
public BorderlessToolForm() : base()
{
this.InitializeComponent();
this.BackColor = Color.FromArgb(246, 246, 246);
this.Padding = new Padding(1);
this.topFillColour = Color.FromArgb(51, 51, 51);
this.topFillHeight = 32;
this.BackColor = Color.FromArgb(179, 179, 179);
this.FormBorderStyle = FormBorderStyle.None;
imgbxMinimise.Click += pictureBox1_Click;
imgbxMaximise.Click += pictureBox2_Click;
imgbxClose.Click += pictureBox3_Click;
imgbxMenu.Click += pictureBox4_Click;
updatePictureBox2Image();
}
protected override void OnClosing(CancelEventArgs e)
{
base.OnClosing(e);
if (this.IsBusy)
{
e.Cancel = true;
}
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics g = e.Graphics;
Rectangle areaTop = new Rectangle(this.DisplayRectangle.Left, this.Padding.Top, this.DisplayRectangle.Width, topFillHeight);
Rectangle areaBorder = new Rectangle(this.ClientRectangle.X, this.ClientRectangle.Y, this.ClientRectangle.Width - borderWidth, this.ClientRectangle.Height - borderWidth);
// draw header
if (topFillHeight > 0)
{
g.FillRectangle(new SolidBrush(topFillColour), areaTop);
}
// draw logo
//if (this.TitleLogo != null)
//{
// g.DrawImageUnscaled(this.TitleLogo, this.Padding.Left, this.Padding.Top);
//}
g.DrawRectangle(new Pen(Color.Black, borderWidth), areaBorder);
}
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
updatePictureBox2Image();
this.Invalidate();
}
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Color BackColor { get => base.BackColor; set => base.BackColor = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new FormBorderStyle FormBorderStyle { get => base.FormBorderStyle; set => base.FormBorderStyle = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Padding Padding { get => base.Padding; set => base.Padding = value; }
[Category("Appearance"), Browsable(true)]
public string Description
{
get
{
return lblDescription.Text?.Replace("\n", "\\n");
}
set
{
lblDescription.Text = value?.Replace("\\n", "\n");
}
}
//[Category("Appearance"), Browsable(true)]
//public Image TitleLogo { get; set; }
[Category("Appearance"), Browsable(true)]
public Image Banner { get; set; }
[Category("Appearance"), Browsable(true)]
public bool ShowMenuButton { get => imgbxMenu.Visible; set => imgbxMenu.Visible = value; }
[Category("Appearance"), Browsable(true)]
public bool ShowMinimiseButton { get => imgbxMinimise.Visible; set => imgbxMinimise.Visible = value; }
[Category("Appearance"), Browsable(true)]
public bool ShowMaximiseButton { get => imgbxMaximise.Visible; set => imgbxMaximise.Visible = value; }
protected virtual bool IsBusy { get => isBusy; set => isBusy = value; }
private void pictureBox4_Click(object sender, System.EventArgs e)
{
//this.WindowState = FormWindowState.Minimized;
}
private void pictureBox1_Click(object sender, System.EventArgs e)
{
MouseEventArgs mouseEvent = (MouseEventArgs)e;
if (mouseEvent != null)
{
if (mouseEvent.Button != MouseButtons.Left)
{
return;
}
}
this.WindowState = FormWindowState.Minimized;
}
private void pictureBox2_Click(object sender, System.EventArgs e)
{
MouseEventArgs mouseEvent = (MouseEventArgs)e;
if (mouseEvent != null)
{
if (mouseEvent.Button != MouseButtons.Left)
{
return;
}
}
if (this.WindowState == FormWindowState.Maximized)
{
this.WindowState = FormWindowState.Normal;
imgbxMaximise.NormalImage = Resources.form16_maximise;
imgbxMaximise.HighlightImage = Resources.form16_maximise2;
}
else
{
this.WindowState = FormWindowState.Maximized;
imgbxMaximise.NormalImage = Resources.form16_restore;
imgbxMaximise.HighlightImage = Resources.form16_restore2;
}
}
private void pictureBox3_Click(object sender, System.EventArgs e)
{
MouseEventArgs mouseEvent = (MouseEventArgs)e;
if (mouseEvent != null)
{
if (mouseEvent.Button != MouseButtons.Left)
{
return;
}
}
this.Close();
}
public void SetValue(Label sender, string value)
{
if (sender.InvokeRequired)
{
sender.Invoke(new MethodInvoker(() => { sender.Text = value; }));
}
else
{
sender.Text = value;
}
}
public void SetValue(GroupBox sender, string value)
{
if (sender.InvokeRequired)
{
sender.Invoke(new MethodInvoker(() => { sender.Text = value; }));
}
else
{
sender.Text = value;
}
}
public void AddValue(ListBox sender, string value)
{
if (sender.InvokeRequired)
{
sender.Invoke(new MethodInvoker(() => { sender.Items.Add(value); }));
}
else
{
sender.Items.Add(value);
}
}
public void AddControl(FlowLayoutPanel sender, Control value)
{
if (sender.InvokeRequired)
{
sender.Invoke(new MethodInvoker(() =>
{
sender.Controls.Add(value);
}));
}
else
{
sender.Controls.Add(value);
}
}
public void ClearValues(ListBox sender)
{
if (sender.InvokeRequired)
{
sender.Invoke(new MethodInvoker(() => { sender.Items.Clear(); }));
}
else
{
sender.Items.Clear();
}
}
public string GetValue(ListBox sender)
{
string rv = string.Empty;
if (sender.InvokeRequired)
{
sender.Invoke(new MethodInvoker(() => { rv = (sender.SelectedItem == null) ? string.Empty : sender.SelectedItem.ToString(); }));
}
else
{
rv = (sender.SelectedItem == null) ? string.Empty : sender.SelectedItem.ToString();
}
return rv;
}
public string GetValue(TTextBox sender)
{
string rv = string.Empty;
if (sender.InvokeRequired)
{
sender.Invoke(new MethodInvoker(() => { rv = sender.Text.Trim(); }));
}
else
{
rv = sender.Text.Trim();
}
return rv;
}
public int GetValue(NumericUpDown sender)
{
int rv = 0;
if (sender.InvokeRequired)
{
sender.Invoke(new MethodInvoker(() => { rv = (int)sender.Value; }));
}
else
{
rv = (int)sender.Value;
}
return rv;
}
protected void updatePictureBox2Image()
{
if (this.WindowState == FormWindowState.Maximized)
{
imgbxMaximise.NormalImage = Resources.form16_restore;
imgbxMaximise.HighlightImage = Resources.form16_restore2;
}
else
{
imgbxMaximise.NormalImage = Resources.form16_maximise;
imgbxMaximise.HighlightImage = Resources.form16_maximise2;
}
}
private void label1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button != MouseButtons.Left)
{
return;
}
windowDragging = true;
windowOffset = e.Location;
}
private void label1_MouseUp(object sender, MouseEventArgs e)
{
windowDragging = false;
}
private void label1_MouseMove(object sender, MouseEventArgs e)
{
if (windowDragging)
{
Point currentScreenPos = PointToScreen(e.Location);
Location = new Point(currentScreenPos.X - windowOffset.X, currentScreenPos.Y - windowOffset.Y);
}
}
private void label1_DoubleClick(object sender, EventArgs e) => pictureBox2_Click(sender, e);
private void label1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Middle)
{
this.TopMost = !this.TopMost;
}
}
private void panel1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button != MouseButtons.Left)
{
return;
}
windowDragging = true;
windowOffset = e.Location;
windowSize = new Point(this.Width, this.Height);
}
private void panel1_MouseUp(object sender, MouseEventArgs e)
{
windowDragging = false;
}
private void panel1_MouseMove(object sender, MouseEventArgs e)
{
if (windowDragging)
{
this.Size = new Size(e.X - windowOffset.X + this.Width, e.Y - windowOffset.Y + this.Height);
}
}
private void panel2_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button != MouseButtons.Left)
{
return;
}
windowDragging = true;
windowOffset = e.Location;
windowSize = new Point(this.Width, this.Height);
}
private void panel2_MouseUp(object sender, MouseEventArgs e)
{
windowDragging = false;
}
private void panel2_MouseMove(object sender, MouseEventArgs e)
{
if (windowDragging)
{
this.Size = new Size(windowSize.X, e.Y - windowOffset.Y + this.Height);
}
}
}
}

View File

@ -1,138 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="lblDescription.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="panel1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="imgbxMenu.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="imgbxMaximise.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="imgbxMinimise.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="imgbxClose.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

View File

@ -1,140 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
using System;
using System.ComponentModel;
using System.Drawing;
public partial class TButton : RyzStudio.Windows.ThemedForms.TUserControl
{
public class ButtonStyle
{
public Color BackColour { get; set; } = Color.Transparent;
public Color PenColour { get; set; } = Color.Transparent;
public Image ForeImage { get; set; } = null;
}
public enum ButtonState
{
Idle = 0,
Hover,
Down
}
protected ButtonState controlState = ButtonState.Idle;
protected bool isSelected = false;
public TButton() : base()
{
InitializeComponent();
label1.ImageAlign = ContentAlignment.MiddleCenter;
this.StyleDefault = new ButtonStyle() { BackColour = Color.White, PenColour = Color.Black, ForeImage = this.DefaultImage };
this.StyleDown = new ButtonStyle() { BackColour = Color.FromArgb(0, 183, 209), PenColour = Color.Black, ForeImage = this.DownImage };
this.StyleOver = new ButtonStyle() { BackColour = Color.FromArgb(108, 101, 196), PenColour = Color.White, ForeImage = this.OverImage };
this.StyleSelected = new ButtonStyle() { BackColour = Color.FromArgb(51, 51, 51), PenColour = Color.White, ForeImage = this.OverImage };
label1.Click += delegate { this.OnClick(null); };
label1.MouseEnter += delegate { this.VisualState = ButtonState.Hover; };
label1.MouseLeave += delegate { this.VisualState = ButtonState.Idle; };
label1.MouseDown += delegate { this.VisualState = ButtonState.Down; };
label1.MouseUp += delegate { this.VisualState = ButtonState.Idle; };
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
this.VisualState = ButtonState.Idle;
}
protected ButtonState VisualState
{
get { return controlState; }
set
{
switch (value)
{
case ButtonState.Idle:
if (this.VisualState == ButtonState.Down)
{
updateButton(StyleOver);
}
else
{
if (this.IsSelected)
{
updateButton(StyleSelected);
}
else
{
updateButton(StyleDefault);
}
}
break;
case ButtonState.Hover:
updateButton(StyleOver);
break;
case ButtonState.Down:
updateButton(StyleDown);
break;
default:
if (this.IsSelected)
{
updateButton(StyleSelected);
}
else
{
updateButton(StyleDefault);
}
break;
}
controlState = value;
}
}
protected void updateButton(ButtonStyle style)
{
label1.ForeColor = style.PenColour;
label1.BackColor = style.BackColour;
label1.Image = style.ForeImage;
}
[Browsable(true)]
[Category("Appearance")]
public string LabelText { get => label1.Text; set => label1.Text = value; }
[Browsable(true)]
[Category("Appearance")]
public Image OverImage { get; set; } = null;
[Browsable(true)]
[Category("Appearance")]
public Image DownImage { get; set; } = null;
[Browsable(true)]
[Category("Appearance")]
public Image DefaultImage { get; set; } = null;
public bool IsSelected
{
get => isSelected;
set
{
isSelected = value;
this.VisualState = this.VisualState;
}
}
protected ButtonStyle StyleOver { get; set; } = new ButtonStyle();
protected ButtonStyle StyleDown { get; set; } = new ButtonStyle();
protected ButtonStyle StyleDefault { get; set; } = new ButtonStyle();
protected ButtonStyle StyleSelected { get; set; } = new ButtonStyle();
public void PerformClick() => this.OnClick(null);
}
}

View File

@ -1,61 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
partial class TButton
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.label1 = new System.Windows.Forms.Label();
this.SuspendLayout();
//
// label1
//
this.label1.Dock = System.Windows.Forms.DockStyle.Fill;
this.label1.Location = new System.Drawing.Point(4, 4);
this.label1.Margin = new System.Windows.Forms.Padding(0);
this.label1.Name = "label1";
this.label1.Size = new System.Drawing.Size(121, 25);
this.label1.TabIndex = 0;
this.label1.Text = "label1";
this.label1.TextAlign = System.Drawing.ContentAlignment.MiddleCenter;
//
// Button
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.Controls.Add(this.label1);
this.Name = "Button";
this.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3);
this.Size = new System.Drawing.Size(128, 32);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.Label label1;
}
}

View File

@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -1,127 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
using RyzStudio.Drawing;
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
public partial class TButtonTextBox : RyzStudio.Windows.ThemedForms.TUserControl
{
protected readonly Padding textboxPadding = new Padding(6, 6, 6, 6);
public TButtonTextBox() : base()
{
InitializeComponent();
//this.Margin = new Padding(10, 6, 10, 6);
this.Margin = new Padding(10, 3, 3, 3);
this.Font = new Font(this.Font, FontStyle.Regular);
textBox1.Font = this.Font;
textBox1.Left = this.Margin.Left;
textBox1.PreviewKeyDown += textBox_PreviewKeyDown;
imageBox1.Click += imageBox1_Click;
OnResize(null);
}
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding;
this.Height = textBox1.Height + (b + textboxPadding.Top) + ((b - 1) + textboxPadding.Bottom);
imageBox1.Width = 18;
imageBox1.Height = textBox1.Height + textboxPadding.Top + textboxPadding.Bottom;
imageBox1.Left = this.Width - (this.Margin.Right + b + imageBox1.Width);
textBox1.Left = this.Margin.Left;
textBox1.Width = imageBox1.Left - textBox1.Left - 3;
textBox1.Top = (int)Math.Ceiling(decimal.Divide((this.Height - textBox1.Height), 2));
}
protected override void OnGotFocus(EventArgs e)
{
base.OnGotFocus(e);
textBox1.Focus();
}
protected void textBox_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Enter:
if (this.SubmitButton != null)
{
this.SubmitButton.PerformClick();
}
break;
case Keys.Escape:
close();
break;
default: break;
}
}
protected virtual void imageBox1_Click(object sender, EventArgs e) => OnButtonClick?.Invoke(sender, e);
[Category("Action")]
[Browsable(true)]
public event EventHandler OnButtonClick;
[Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)]
[Category("Appearance")]
public Forms.TImageBox InnerImageBox { get => imageBox1; set => imageBox1 = value; }
[Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)]
[Category("Appearance")]
public System.Windows.Forms.TextBox InnerTextBox { get => textBox1; set => textBox1 = value; }
[Category("Appearance"), Browsable(true)]
public Image NormalImage { get => imageBox1.ImageNormal; set => imageBox1.ImageNormal = value; }
[Category("Appearance"), Browsable(true)]
public Image HighlightImage { get => imageBox1.ImageHover; set => imageBox1.ImageHover = value; }
[Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)]
[Category("Appearance")]
public new string Text
{
get => textBox1.Text;
set
{
textBox1.Text = value;
textBox1.SelectionStart = textBox1.Text.Length;
}
}
[Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)]
[Category("Appearance")]
public bool UseSystemPasswordChar { get => textBox1.UseSystemPasswordChar; set => textBox1.UseSystemPasswordChar = value; }
[Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)]
[Category("Appearance")]
public TButton SubmitButton { get; set; } = null;
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Padding Margin { get => base.Margin; set => base.Margin = value; }
protected override void updateBackground(Graphics g, ThemeStyle style)
{
int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding;
this.Padding = new Padding((b + textboxPadding.Left), (b + textboxPadding.Top), ((b - 1) + textboxPadding.Right), ((b - 1) + textboxPadding.Bottom));
Rectangoid area = new Rectangoid(this.ClientRectangle, style.BorderRadius, style.BorderWidth);
g.FillPath(new SolidBrush(style.BackColour), area.ToGraphicsPath());
g.DrawPath(new Pen(new SolidBrush(style.BorderColour), style.BorderWidth), area.ToGraphicsPath());
}
}
}

View File

@ -1,81 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
partial class TButtonTextBox
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.textBox1 = new System.Windows.Forms.TextBox();
this.imageBox1 = new RyzStudio.Windows.Forms.TImageBox();
((System.ComponentModel.ISupportInitialize)(this.imageBox1)).BeginInit();
this.SuspendLayout();
//
// textBox1
//
this.textBox1.BackColor = System.Drawing.SystemColors.Window;
this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.textBox1.HideSelection = false;
this.textBox1.Location = new System.Drawing.Point(7, 7);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(68, 13);
this.textBox1.TabIndex = 0;
//
// imageBox1
//
this.imageBox1.BackColor = System.Drawing.Color.Transparent;
this.imageBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.imageBox1.ErrorImage = null;
this.imageBox1.ImageHover = null;
this.imageBox1.Image = null;
this.imageBox1.InitialImage = null;
this.imageBox1.Location = new System.Drawing.Point(107, 4);
this.imageBox1.Name = "imageBox1";
this.imageBox1.ImageNormal = null;
this.imageBox1.Size = new System.Drawing.Size(18, 25);
this.imageBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.imageBox1.TabIndex = 1;
this.imageBox1.TabStop = false;
//
// TextBox2
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.Controls.Add(this.imageBox1);
this.Controls.Add(this.textBox1);
this.Name = "TextBox2";
this.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3);
this.Size = new System.Drawing.Size(128, 32);
((System.ComponentModel.ISupportInitialize)(this.imageBox1)).EndInit();
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox textBox1;
private Forms.TImageBox imageBox1;
}
}

View File

@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -1,96 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
partial class TDialogForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.panel1 = new System.Windows.Forms.Panel();
this.imgbxClose = new RyzStudio.Windows.Forms.TImageBox();
this.area1 = new System.Windows.Forms.Panel();
((System.ComponentModel.ISupportInitialize)(this.imgbxClose)).BeginInit();
this.SuspendLayout();
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Right)));
this.panel1.BackColor = System.Drawing.Color.Transparent;
this.panel1.Cursor = System.Windows.Forms.Cursors.SizeNWSE;
this.panel1.Location = new System.Drawing.Point(335, 595);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(5, 5);
this.panel1.TabIndex = 150;
//
// imgbxClose
//
this.imgbxClose.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
this.imgbxClose.BackColor = System.Drawing.Color.Transparent;
this.imgbxClose.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.imgbxClose.ErrorImage = null;
this.imgbxClose.ImageHover = global::AppLauncher.Properties.Resources16.close2;
this.imgbxClose.Image = null;
this.imgbxClose.InitialImage = null;
this.imgbxClose.Location = new System.Drawing.Point(308, 4);
this.imgbxClose.Name = "imgbxClose";
this.imgbxClose.ImageNormal = global::AppLauncher.Properties.Resources16.close;
this.imgbxClose.Size = new System.Drawing.Size(24, 24);
this.imgbxClose.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.imgbxClose.TabIndex = 145;
this.imgbxClose.TabStop = false;
//
// area1
//
this.area1.Anchor = ((System.Windows.Forms.AnchorStyles)(((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.area1.BackColor = System.Drawing.Color.Transparent;
this.area1.Cursor = System.Windows.Forms.Cursors.SizeNS;
this.area1.Location = new System.Drawing.Point(0, 595);
this.area1.Name = "area1";
this.area1.Size = new System.Drawing.Size(334, 5);
this.area1.TabIndex = 151;
//
// TDialogForm
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(248)))), ((int)(((byte)(249)))), ((int)(((byte)(250)))));
this.ClientSize = new System.Drawing.Size(340, 600);
this.Controls.Add(this.area1);
this.Controls.Add(this.panel1);
this.Controls.Add(this.imgbxClose);
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.None;
this.MinimumSize = new System.Drawing.Size(40, 0);
this.Name = "TDialogForm";
((System.ComponentModel.ISupportInitialize)(this.imgbxClose)).EndInit();
this.ResumeLayout(false);
}
#endregion
protected internal Forms.TImageBox imgbxClose;
protected internal System.Windows.Forms.Panel panel1;
protected internal System.Windows.Forms.Panel area1;
}
}

View File

@ -1,136 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
public partial class TDialogForm : System.Windows.Forms.Form
{
protected readonly Color borderColour = Color.FromArgb(77, 84, 100);
protected readonly int borderWidth = 1;
protected readonly Color backColour = Color.FromArgb(254, 254, 254);
protected readonly Color titleBarColour = Color.FromArgb(152, 175, 206);
protected readonly Color titleBarForeColour = Color.White;
protected readonly Font titleBarFont = new Font("Segoe UI", 8.25F, FontStyle.Bold, GraphicsUnit.Point, 0);
protected readonly int titleBarHeight = 32;
private bool isDragging = false;
private Point startPosition = new Point();
protected bool isBusy = false;
public TDialogForm() : base()
{
this.InitializeComponent();
this.FormBorderStyle = FormBorderStyle.None;
this.ShowInTaskbar = false;
this.TopMost = true;
imgbxClose.Click += pictureBox3_Click;
this.BackColor = backColour;
this.Padding = new Padding(0);
}
protected override void OnClosing(CancelEventArgs e)
{
base.OnClosing(e);
if (this.IsBusy)
{
e.Cancel = true;
}
}
protected override void OnMouseDown(MouseEventArgs e)
{
base.OnMouseDown(e);
if (e.Button == MouseButtons.Left)
{
isDragging = true;
startPosition = e.Location;
}
}
protected override void OnMouseMove(MouseEventArgs e)
{
base.OnMouseMove(e);
if (isDragging)
{
int x = (this.Location.X + (e.Location.X - startPosition.X));
int y = (this.Location.Y + (e.Location.Y - startPosition.Y));
this.Location = new Point(x, y);
}
}
protected override void OnMouseUp(MouseEventArgs e)
{
base.OnMouseUp(e);
isDragging = false;
}
protected override void OnPaint(PaintEventArgs e)
{
base.OnPaint(e);
Graphics g = e.Graphics;
Rectangle area = new Rectangle(this.DisplayRectangle.X, this.DisplayRectangle.Y, (this.DisplayRectangle.Width - borderWidth), (this.DisplayRectangle.Height - borderWidth));
// border
g.DrawRectangle(new Pen(borderColour, borderWidth), area);
g.DrawLine(new Pen(borderColour, 1), this.DisplayRectangle.X, (titleBarHeight + 1), this.DisplayRectangle.Width, (titleBarHeight + 1));
area.Inflate((-1 * borderWidth), (-1 * borderWidth));
g.FillRectangle(new SolidBrush(titleBarColour), area.X, area.Y, (area.Width + area.X), titleBarHeight);
TextRenderer.DrawText(g, this.Title, titleBarFont, new Point(12, 11), titleBarForeColour);
}
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
this.Invalidate();
}
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public override Color BackColor { get => base.BackColor; set => base.BackColor = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new FormBorderStyle FormBorderStyle { get => base.FormBorderStyle; set => base.FormBorderStyle = value; }
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Padding Padding { get => base.Padding; set => base.Padding = value; }
[Category("Appearance"), Browsable(true)]
public string Title { get; set; }
protected virtual bool IsBusy { get => isBusy; set => isBusy = value; }
private void pictureBox3_Click(object sender, System.EventArgs e)
{
MouseEventArgs mouseEvent = (MouseEventArgs)e;
if (mouseEvent != null)
{
if (mouseEvent.Button != MouseButtons.Left)
{
return;
}
}
this.Close();
}
}
}

View File

@ -1,126 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="panel1.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
<metadata name="imgbxClose.Locked" type="System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<value>True</value>
</metadata>
</root>

View File

@ -1,42 +0,0 @@
using System;
using System.IO;
using System.Windows.Forms;
using Resources = AppLauncher.Properties.Resources16;
namespace RyzStudio.Windows.ThemedForms
{
public class TFolderTextBox : TButtonTextBox
{
public TFolderTextBox() : base()
{
this.NormalImage = Resources.folder;
this.HighlightImage = Resources.folder2;
this.Text = string.Empty;
}
public FolderBrowserDialog FolderDialog { get; set; } = null;
protected override void imageBox1_Click(object sender, EventArgs e)
{
if (this.FolderDialog == null)
{
this.FolderDialog = new FolderBrowserDialog();
this.FolderDialog.Description = "Choose a directory";
}
if (!string.IsNullOrWhiteSpace(this.Text))
{
if (Directory.Exists(this.Text))
{
this.FolderDialog.SelectedPath = this.Text;
}
}
if (this.FolderDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
this.Text = this.FolderDialog.SelectedPath;
}
}
}
}

View File

@ -1,232 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
using RyzStudio.Drawing;
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
public partial class TListBox : RyzStudio.Windows.ThemedForms.TUserControl
{
protected readonly Padding textboxPadding = new Padding(6, 2, 4, 2);
public TListBox() : base()
{
InitializeComponent();
this.Font = new Font(this.Font, FontStyle.Regular);
this.Margin = new Padding(10, 4, 10, 4);
listBox1.Font = this.Font;
listBox1.BorderStyle = BorderStyle.None;
}
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
//int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding;
//this.Height = comboBox1.Height + (b + textboxPadding.Top) + ((b - 1) + textboxPadding.Bottom);
}
protected override void OnGotFocus(EventArgs e)
{
base.OnGotFocus(e);
listBox1.Focus();
}
[Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)]
[Category("Appearance")]
public System.Windows.Forms.ListBox ListBox { get => listBox1; set => listBox1 = value; }
[Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)]
[Category("Appearance")]
public TButton SubmitButton { get; set; } = null;
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Padding Margin { get => base.Margin; set => base.Margin = value; }
[Category("Action")]
[Browsable(true)]
public event EventHandler OnAdd;
[Category("Action")]
[Browsable(true)]
public event EventHandler OnEdit;
protected override void updateBackground(Graphics g, ThemeStyle style)
{
int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding;
this.Padding = new Padding((b + textboxPadding.Left), (b + textboxPadding.Top), ((b - 1) + textboxPadding.Right), ((b - 1) + textboxPadding.Bottom));
Rectangoid area = new Rectangoid(this.ClientRectangle, style.BorderRadius, style.BorderWidth);
g.FillPath(new SolidBrush(style.BackColour), area.ToGraphicsPath());
g.DrawPath(new Pen(new SolidBrush(style.BorderColour), style.BorderWidth), area.ToGraphicsPath());
}
/// <summary>
/// Add
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void imageBox1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button != MouseButtons.Left)
{
return;
}
this.OnAdd?.Invoke(sender, e);
}
/// <summary>
/// Edit
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void imageBox5_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button != MouseButtons.Left)
{
return;
}
this.OnEdit?.Invoke(sender, e);
}
/// <summary>
/// Remove
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void imageBox2_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button != MouseButtons.Left)
{
return;
}
if (listBox1.SelectedIndex < 0)
{
return;
}
int pos = listBox1.SelectedIndex;
listBox1.Items.RemoveAt(pos);
if (pos > (listBox1.Items.Count - 1))
{
pos = (listBox1.Items.Count - 1);
}
listBox1.SelectedIndex = pos;
}
/// <summary>
/// Move up
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void imageBox3_MouseClick(object sender, MouseEventArgs e)
{
if (e != null)
{
if (e.Button != MouseButtons.Left)
{
return;
}
}
if (listBox1.SelectedIndex <= 0)
{
return;
}
if (listBox1.SelectedItem == null)
{
return;
}
object item = listBox1.SelectedItem;
int pos = listBox1.SelectedIndex;
listBox1.Items.RemoveAt(pos);
listBox1.Items.Insert((pos - 1), item);
listBox1.SelectedIndex = (pos - 1);
}
/// <summary>
/// Move down
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private void imageBox4_MouseClick(object sender, MouseEventArgs e)
{
if (e != null)
{
if (e.Button != MouseButtons.Left)
{
return;
}
}
if (listBox1.SelectedIndex >= (listBox1.Items.Count - 1))
{
return;
}
if (listBox1.SelectedItem == null)
{
return;
}
object item = listBox1.SelectedItem;
int pos = listBox1.SelectedIndex;
listBox1.Items.RemoveAt(pos);
listBox1.Items.Insert((pos + 1), item);
listBox1.SelectedIndex = (pos + 1);
}
private void listBox1_MouseDoubleClick(object sender, MouseEventArgs e) => imageBox5_MouseClick(sender, e);
private void listBox1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Enter:
if (this.SubmitButton != null)
{
this.SubmitButton.PerformClick();
}
break;
case Keys.Escape:
close();
break;
case Keys.Up:
if (e.Alt)
{
imageBox3_MouseClick(sender, null);
}
break;
case Keys.Down:
if (e.Alt)
{
imageBox4_MouseClick(sender, null);
}
break;
default: break;
}
}
}
}

View File

@ -1,182 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
partial class TListBox
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.listBox1 = new System.Windows.Forms.ListBox();
this.imageBox5 = new RyzStudio.Windows.Forms.TImageBox();
this.imageBox4 = new RyzStudio.Windows.Forms.TImageBox();
this.imageBox3 = new RyzStudio.Windows.Forms.TImageBox();
this.imageBox2 = new RyzStudio.Windows.Forms.TImageBox();
this.imageBox1 = new RyzStudio.Windows.Forms.TImageBox();
((System.ComponentModel.ISupportInitialize)(this.imageBox5)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.imageBox4)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.imageBox3)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.imageBox2)).BeginInit();
((System.ComponentModel.ISupportInitialize)(this.imageBox1)).BeginInit();
this.SuspendLayout();
//
// listBox1
//
this.listBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.listBox1.FormattingEnabled = true;
this.listBox1.Location = new System.Drawing.Point(4, 4);
this.listBox1.Name = "listBox1";
this.listBox1.Size = new System.Drawing.Size(121, 82);
this.listBox1.TabIndex = 0;
this.listBox1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.listBox1_MouseDoubleClick);
this.listBox1.PreviewKeyDown += new System.Windows.Forms.PreviewKeyDownEventHandler(this.listBox1_PreviewKeyDown);
//
// imageBox5
//
this.imageBox5.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.imageBox5.BackColor = System.Drawing.Color.Transparent;
this.imageBox5.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.imageBox5.ErrorImage = null;
this.imageBox5.ImageHover = global::AppLauncher.Properties.Resources16.edit2;
this.imageBox5.Image = global::AppLauncher.Properties.Resources16.edit;
this.imageBox5.InitialImage = null;
this.imageBox5.Location = new System.Drawing.Point(52, 94);
this.imageBox5.Name = "imageBox5";
this.imageBox5.ImageNormal = global::AppLauncher.Properties.Resources16.edit;
this.imageBox5.Size = new System.Drawing.Size(18, 25);
this.imageBox5.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.imageBox5.TabIndex = 6;
this.imageBox5.TabStop = false;
this.imageBox5.MouseClick += new System.Windows.Forms.MouseEventHandler(this.imageBox5_MouseClick);
this.imageBox5.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.imageBox5_MouseClick);
//
// imageBox4
//
this.imageBox4.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.imageBox4.BackColor = System.Drawing.Color.Transparent;
this.imageBox4.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.imageBox4.ErrorImage = null;
this.imageBox4.ImageHover = global::AppLauncher.Properties.Resources16.arrow_down2;
this.imageBox4.Image = global::AppLauncher.Properties.Resources16.arrow_down;
this.imageBox4.InitialImage = null;
this.imageBox4.Location = new System.Drawing.Point(100, 94);
this.imageBox4.Name = "imageBox4";
this.imageBox4.ImageNormal = global::AppLauncher.Properties.Resources16.arrow_down;
this.imageBox4.Size = new System.Drawing.Size(18, 25);
this.imageBox4.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.imageBox4.TabIndex = 5;
this.imageBox4.TabStop = false;
this.imageBox4.MouseClick += new System.Windows.Forms.MouseEventHandler(this.imageBox4_MouseClick);
this.imageBox4.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.imageBox4_MouseClick);
//
// imageBox3
//
this.imageBox3.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.imageBox3.BackColor = System.Drawing.Color.Transparent;
this.imageBox3.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.imageBox3.ErrorImage = null;
this.imageBox3.ImageHover = global::AppLauncher.Properties.Resources16.arrow_up2;
this.imageBox3.Image = global::AppLauncher.Properties.Resources16.arrow_up;
this.imageBox3.InitialImage = null;
this.imageBox3.Location = new System.Drawing.Point(76, 94);
this.imageBox3.Name = "imageBox3";
this.imageBox3.ImageNormal = global::AppLauncher.Properties.Resources16.arrow_up;
this.imageBox3.Size = new System.Drawing.Size(18, 25);
this.imageBox3.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.imageBox3.TabIndex = 4;
this.imageBox3.TabStop = false;
this.imageBox3.MouseClick += new System.Windows.Forms.MouseEventHandler(this.imageBox3_MouseClick);
this.imageBox3.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.imageBox3_MouseClick);
//
// imageBox2
//
this.imageBox2.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.imageBox2.BackColor = System.Drawing.Color.Transparent;
this.imageBox2.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.imageBox2.ErrorImage = null;
this.imageBox2.ImageHover = global::AppLauncher.Properties.Resources16.minus2;
this.imageBox2.Image = global::AppLauncher.Properties.Resources16.minus;
this.imageBox2.InitialImage = null;
this.imageBox2.Location = new System.Drawing.Point(28, 94);
this.imageBox2.Name = "imageBox2";
this.imageBox2.ImageNormal = global::AppLauncher.Properties.Resources16.minus;
this.imageBox2.Size = new System.Drawing.Size(18, 25);
this.imageBox2.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.imageBox2.TabIndex = 3;
this.imageBox2.TabStop = false;
this.imageBox2.MouseClick += new System.Windows.Forms.MouseEventHandler(this.imageBox2_MouseClick);
this.imageBox2.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.imageBox2_MouseClick);
//
// imageBox1
//
this.imageBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Bottom | System.Windows.Forms.AnchorStyles.Left)));
this.imageBox1.BackColor = System.Drawing.Color.Transparent;
this.imageBox1.BackgroundImageLayout = System.Windows.Forms.ImageLayout.Center;
this.imageBox1.ErrorImage = null;
this.imageBox1.ImageHover = global::AppLauncher.Properties.Resources16.plus2;
this.imageBox1.Image = global::AppLauncher.Properties.Resources16.plus;
this.imageBox1.InitialImage = null;
this.imageBox1.Location = new System.Drawing.Point(4, 94);
this.imageBox1.Name = "imageBox1";
this.imageBox1.ImageNormal = global::AppLauncher.Properties.Resources16.plus;
this.imageBox1.Size = new System.Drawing.Size(18, 25);
this.imageBox1.SizeMode = System.Windows.Forms.PictureBoxSizeMode.CenterImage;
this.imageBox1.TabIndex = 2;
this.imageBox1.TabStop = false;
this.imageBox1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.imageBox1_MouseClick);
this.imageBox1.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.imageBox1_MouseClick);
//
// TListBox
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.Controls.Add(this.imageBox5);
this.Controls.Add(this.imageBox4);
this.Controls.Add(this.imageBox3);
this.Controls.Add(this.imageBox2);
this.Controls.Add(this.imageBox1);
this.Controls.Add(this.listBox1);
this.Name = "TListBox";
this.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3);
this.Size = new System.Drawing.Size(128, 120);
((System.ComponentModel.ISupportInitialize)(this.imageBox5)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.imageBox4)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.imageBox3)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.imageBox2)).EndInit();
((System.ComponentModel.ISupportInitialize)(this.imageBox1)).EndInit();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.ListBox listBox1;
private Forms.TImageBox imageBox1;
private Forms.TImageBox imageBox2;
private Forms.TImageBox imageBox3;
private Forms.TImageBox imageBox4;
private Forms.TImageBox imageBox5;
}
}

View File

@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -1,43 +0,0 @@
using System;
using System.IO;
using System.Windows.Forms;
using Resources = AppLauncher.Properties.Resources16;
namespace RyzStudio.Windows.ThemedForms
{
public class TOpenFileTextBox : TButtonTextBox
{
public TOpenFileTextBox() : base()
{
this.NormalImage = Resources.file;
this.HighlightImage = Resources.file2;
this.Text = string.Empty;
}
public OpenFileDialog FileDialog { get; set; } = null;
protected override void imageBox1_Click(object sender, EventArgs e)
{
if (this.FileDialog == null)
{
this.FileDialog = new OpenFileDialog();
this.FileDialog.Title = "Choose a file";
this.FileDialog.Filter = "All files|*";
}
if (!string.IsNullOrWhiteSpace(this.Text))
{
if (File.Exists(this.Text))
{
this.FileDialog.InitialDirectory = Path.GetDirectoryName(this.Text);
}
}
if (this.FileDialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
this.Text = this.FileDialog.FileName;
}
}
}
}

View File

@ -1,98 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
using RyzStudio.Drawing;
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
public partial class TPickerBox : RyzStudio.Windows.ThemedForms.TUserControl
{
protected readonly Padding textboxPadding = new Padding(6, 2, 4, 2);
public TPickerBox() : base()
{
InitializeComponent();
this.Font = new Font(this.Font, FontStyle.Regular);
this.Margin = new Padding(10, 4, 10, 4);
comboBox1.Font = this.Font;
comboBox1.DropDownStyle = ComboBoxStyle.DropDownList;
comboBox1.PreviewKeyDown += textBox_PreviewKeyDown;
}
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding;
this.Height = comboBox1.Height + (b + textboxPadding.Top) + ((b - 1) + textboxPadding.Bottom);
}
protected override void OnGotFocus(EventArgs e)
{
base.OnGotFocus(e);
comboBox1.Focus();
}
protected void textBox_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Enter:
if (this.SubmitButton != null)
{
this.SubmitButton.PerformClick();
}
break;
case Keys.Escape:
close();
break;
default: break;
}
}
[Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)]
[Category("Appearance")]
public System.Windows.Forms.ComboBox ComboBox { get => comboBox1; set => comboBox1 = value; }
//[Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)]
//[Category("Appearance")]
//public new string Text
//{
// get => textBox1.Text;
// set
// {
// textBox1.Text = value;
// textBox1.SelectionStart = textBox1.Text.Length;
// }
//}
//[Browsable(true)]
//[Category("Appearance")]
//public ComboBox.ObjectCollection Items { get => comboBox1.Items; set => comboBox1.Items = value; }
[Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)]
[Category("Appearance")]
public TButton SubmitButton { get; set; } = null;
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Padding Margin { get => base.Margin; set => base.Margin = value; }
protected override void updateBackground(Graphics g, ThemeStyle style)
{
int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding;
this.Padding = new Padding((b + textboxPadding.Left), (b + textboxPadding.Top), ((b - 1) + textboxPadding.Right), ((b - 1) + textboxPadding.Bottom));
Rectangoid area = new Rectangoid(this.ClientRectangle, style.BorderRadius, style.BorderWidth);
g.FillPath(new SolidBrush(style.BackColour), area.ToGraphicsPath());
g.DrawPath(new Pen(new SolidBrush(style.BorderColour), style.BorderWidth), area.ToGraphicsPath());
}
}
}

View File

@ -1,59 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
partial class TPickerBox
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.comboBox1 = new System.Windows.Forms.ComboBox();
this.SuspendLayout();
//
// comboBox1
//
this.comboBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.comboBox1.FlatStyle = System.Windows.Forms.FlatStyle.Flat;
this.comboBox1.FormattingEnabled = true;
this.comboBox1.Location = new System.Drawing.Point(4, 4);
this.comboBox1.Name = "comboBox1";
this.comboBox1.Size = new System.Drawing.Size(121, 21);
this.comboBox1.TabIndex = 0;
//
// PickerBox
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.Controls.Add(this.comboBox1);
this.Name = "PickerBox";
this.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3);
this.Size = new System.Drawing.Size(128, 32);
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.ComboBox comboBox1;
}
}

View File

@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -1,96 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
using RyzStudio.Drawing;
using System;
using System.ComponentModel;
using System.Drawing;
using System.Windows.Forms;
public partial class TTextBox : RyzStudio.Windows.ThemedForms.TUserControl
{
protected readonly Padding textboxPadding = new Padding(6, 6, 6, 6);
public TTextBox() : base()
{
InitializeComponent();
this.Margin = new Padding(10, 6, 10, 6);
this.Font = new Font(this.Font, FontStyle.Regular);
textBox1.Font = this.Font;
textBox1.PreviewKeyDown += textBox_PreviewKeyDown;
}
protected override void OnResize(EventArgs e)
{
base.OnResize(e);
int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding;
this.Height = textBox1.Height + (b + textboxPadding.Top) + ((b - 1) + textboxPadding.Bottom);
}
protected override void OnGotFocus(EventArgs e)
{
base.OnGotFocus(e);
textBox1.Focus();
}
protected void textBox_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e)
{
switch (e.KeyCode)
{
case Keys.Enter:
if (this.SubmitButton != null)
{
this.SubmitButton.PerformClick();
}
break;
case Keys.Escape:
close();
break;
default: break;
}
}
[Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)]
[Category("Appearance")]
public System.Windows.Forms.TextBox InnerTextBox { get => textBox1; set => textBox1 = value; }
[Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)]
[Category("Appearance")]
public new string Text
{
get => textBox1.Text;
set
{
textBox1.Text = value;
textBox1.SelectionStart = textBox1.Text.Length;
}
}
[Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)]
[Category("Appearance")]
public bool UseSystemPasswordChar { get => textBox1.UseSystemPasswordChar; set => textBox1.UseSystemPasswordChar = value; }
[Browsable(true), EditorBrowsable(EditorBrowsableState.Advanced)]
[Category("Appearance")]
public TButton SubmitButton { get; set; } = null;
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Padding Margin { get { return base.Margin; } set { base.Margin = value; } }
protected override void updateBackground(Graphics g, ThemeStyle style)
{
int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding;
this.Padding = new Padding((b + textboxPadding.Left), (b + textboxPadding.Top), ((b - 1) + textboxPadding.Right), ((b - 1) + textboxPadding.Bottom));
Rectangoid area = new Rectangoid(this.ClientRectangle, style.BorderRadius, style.BorderWidth);
g.FillPath(new SolidBrush(style.BackColour), area.ToGraphicsPath());
g.DrawPath(new Pen(new SolidBrush(style.BorderColour), style.BorderWidth), area.ToGraphicsPath());
}
}
}

View File

@ -1,60 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
partial class TTextBox
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.textBox1 = new System.Windows.Forms.TextBox();
this.SuspendLayout();
//
// textBox1
//
this.textBox1.BorderStyle = System.Windows.Forms.BorderStyle.None;
this.textBox1.Dock = System.Windows.Forms.DockStyle.Fill;
this.textBox1.HideSelection = false;
this.textBox1.Location = new System.Drawing.Point(4, 4);
this.textBox1.Name = "textBox1";
this.textBox1.Size = new System.Drawing.Size(121, 13);
this.textBox1.TabIndex = 0;
//
// TextBox
//
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.None;
this.Controls.Add(this.textBox1);
this.Name = "TextBox";
this.Padding = new System.Windows.Forms.Padding(4, 4, 3, 3);
this.Size = new System.Drawing.Size(128, 32);
this.ResumeLayout(false);
this.PerformLayout();
}
#endregion
private System.Windows.Forms.TextBox textBox1;
}
}

View File

@ -1,120 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
</root>

View File

@ -1,106 +0,0 @@
using System;
using System.Drawing;
using System.Windows.Forms;
using RyzStudio.Drawing;
using System.ComponentModel;
namespace RyzStudio.Windows.ThemedForms
{
public partial class TUserControl : System.Windows.Forms.UserControl
{
public class ThemeStyle
{
public int BorderWidth;
public int BorderRadius;
public int BorderPadding;
public Color BorderColour;
public Color BackColour;
public Color ForeColour;
public ThemeStyle(int borderWidth, int borderRadius, int borderPadding, Color borderColour, Color backColour)
{
this.BorderWidth = borderWidth;
this.BorderRadius = borderRadius;
this.BorderPadding = borderPadding;
this.BorderColour = borderColour;
this.BackColour = backColour;
this.ForeColour = Color.Black;
}
public ThemeStyle(int borderWidth, int borderRadius, int borderPadding, Color borderColour, Color backColour, Color foreColour)
{
this.BorderWidth = borderWidth;
this.BorderRadius = borderRadius;
this.BorderPadding = borderPadding;
this.BorderColour = borderColour;
this.BackColour = backColour;
this.ForeColour = foreColour;
}
}
protected ThemeStyle styleActive = new ThemeStyle(1, 3, 2, Color.FromArgb(212, 212, 212), Color.White);
public TUserControl()
{
InitializeComponent();
}
protected override void OnLoad(EventArgs e)
{
base.OnLoad(e);
this.BackColor = Color.Transparent;
}
protected override void OnPaintBackground(PaintEventArgs e)
{
base.OnPaintBackground(e);
Graphics g = e.Graphics;
//g.InterpolationMode = System.Drawing.Drawing2D.InterpolationMode.HighQualityBicubic;
//g.CompositingQuality = System.Drawing.Drawing2D.CompositingQuality.HighQuality;
//g.PixelOffsetMode = System.Drawing.Drawing2D.PixelOffsetMode.HighQuality;
//g.SmoothingMode = System.Drawing.Drawing2D.SmoothingMode.HighQuality;
updateBackground(g, styleActive);
}
[Browsable(false), EditorBrowsable(EditorBrowsableState.Never)]
public new Padding Padding { get => base.Padding; set => base.Padding = value; }
protected virtual void updateBackground(Graphics g, ThemeStyle style)
{
int b = (styleActive.BorderWidth + 1) + styleActive.BorderPadding;
this.Padding = new Padding(b, b, (b - 1), (b - 1));
Rectangoid area = new Rectangoid(this.ClientRectangle, style.BorderRadius, style.BorderWidth);
g.FillPath(new SolidBrush(style.BackColour), area.ToGraphicsPath());
g.DrawPath(new Pen(new SolidBrush(style.BorderColour), style.BorderWidth), area.ToGraphicsPath());
}
protected virtual void close()
{
if (this.Parent == null)
{
return;
}
if (this.Parent is Form)
{
(this.Parent as Form).Close();
return;
}
if (this.Parent.GetType().IsSubclassOf(typeof(System.Windows.Forms.Form)))
{
System.Windows.Forms.Form parentForm = (System.Windows.Forms.Form)this.Parent;
if (parentForm != null)
{
parentForm.Close();
}
}
}
}
}

View File

@ -1,37 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
partial class TUserControl
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Component Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
components = new System.ComponentModel.Container();
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
}
#endregion
}
}

View File

@ -1,17 +0,0 @@
namespace RyzStudio.Windows.ThemedForms
{
public class TYesNoPickerBox : TPickerBox
{
public TYesNoPickerBox() : base()
{
this.ComboBox.Items.Clear();
this.ComboBox.Items.AddRange(new string[] { "No", "Yes" });
if (this.ComboBox.Items.Count > 0) this.ComboBox.SelectedIndex = 0;
}
public bool Value { get => (this.ComboBox.SelectedIndex == 1); set =>this.ComboBox.SelectedIndex = (value ? 1 : 0); }
}
}

View File

@ -1,171 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProjectGuid>{66C1C75C-3612-4D23-B937-C3DE0D653292}</ProjectGuid>
<OutputType>WinExe</OutputType>
<RootNamespace>AppLauncher</RootNamespace>
<AssemblyName>fizzylauncher</AssemblyName>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<FileAlignment>512</FileAlignment>
<AutoGenerateBindingRedirects>false</AutoGenerateBindingRedirects>
<Deterministic>true</Deterministic>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>bin\Debug\</OutputPath>
<DefineConstants>DEBUG;TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>none</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\Release\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<Prefer32Bit>false</Prefer32Bit>
</PropertyGroup>
<PropertyGroup>
<NoWin32Manifest>true</NoWin32Manifest>
</PropertyGroup>
<PropertyGroup>
<ApplicationIcon>favicon.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="Newtonsoft.Json, Version=12.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
<HintPath>packages\Newtonsoft.Json.12.0.3\lib\net45\Newtonsoft.Json.dll</HintPath>
</Reference>
<Reference Include="System" />
<Reference Include="System.Core" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Deployment" />
<Reference Include="System.Drawing" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
</ItemGroup>
<ItemGroup>
<Compile Include="Models\LauncherSession.cs" />
<Compile Include="Models\TileModel.cs" />
<Compile Include="MainForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="MainForm.Designer.cs">
<DependentUpon>MainForm.cs</DependentUpon>
</Compile>
<Compile Include="Models\TileGroupModel.cs" />
<Compile Include="Program.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Properties\Resources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Resources.resx</DependentUpon>
</Compile>
<Compile Include="Windows\Forms\Tile\AddTileForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Windows\Forms\Tile\EditGroupForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Windows\Forms\Tile\AddListTileForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Windows\Forms\Tile\EditListTileForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Windows\Forms\OptionsForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Windows\Forms\Tile\EditTileForm.cs">
<SubType>Form</SubType>
</Compile>
<Compile Include="Windows\Forms\Tile\TTilePanelLayout.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Windows\Forms\Tile\TTilePanelLayout.Designer.cs">
<DependentUpon>TTilePanelLayout.cs</DependentUpon>
</Compile>
<Compile Include="Windows\Forms\Tile\TTilePanel.cs">
<SubType>UserControl</SubType>
</Compile>
<Compile Include="Windows\Forms\Tile\TTilePanel.Designer.cs">
<DependentUpon>TTilePanel.cs</DependentUpon>
</Compile>
<EmbeddedResource Include="MainForm.resx">
<DependentUpon>MainForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Properties\Resources.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Resources.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Windows\Forms\Tile\AddTileForm.resx">
<DependentUpon>AddTileForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Windows\Forms\Tile\EditGroupForm.resx">
<DependentUpon>EditGroupForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Windows\Forms\Tile\AddListTileForm.resx">
<DependentUpon>AddListTileForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Windows\Forms\Tile\EditListTileForm.resx">
<DependentUpon>EditListTileForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Windows\Forms\OptionsForm.resx">
<DependentUpon>OptionsForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Windows\Forms\Tile\EditTileForm.resx">
<DependentUpon>EditTileForm.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Windows\Forms\Tile\TTilePanelLayout.resx">
<DependentUpon>TTilePanelLayout.cs</DependentUpon>
</EmbeddedResource>
<EmbeddedResource Include="Windows\Forms\Tile\TTilePanel.resx">
<DependentUpon>TTilePanel.cs</DependentUpon>
</EmbeddedResource>
<None Include="packages.config" />
<None Include="Properties\Settings.settings">
<Generator>SettingsSingleFileGenerator</Generator>
<LastGenOutput>Settings.Designer.cs</LastGenOutput>
</None>
<Compile Include="Properties\Settings.Designer.cs">
<AutoGen>True</AutoGen>
<DependentUpon>Settings.settings</DependentUpon>
<DesignTimeSharedInput>True</DesignTimeSharedInput>
</Compile>
</ItemGroup>
<ItemGroup>
<None Include="Resources\toggle-left-ea-16.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\toggle-right-ea-16.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\folder_32.png" />
</ItemGroup>
<ItemGroup>
<Content Include="favicon.ico" />
<None Include="Resources\app_icon.png" />
<None Include="Resources\app_icon_32.png" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="FizzyLauncher.UI\FizzyLauncher.UI.csproj">
<Project>{d9a49347-583f-41b4-afe1-63ec80bbdb38}</Project>
<Name>FizzyLauncher.UI</Name>
</ProjectReference>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
</Project>

View File

@ -1,6 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
</Project>

336
MainForm.Designer.cs generated
View File

@ -1,336 +0,0 @@
namespace AppLauncher
{
partial class MainForm
{
/// <summary>
/// Required designer variable.
/// </summary>
private System.ComponentModel.IContainer components = null;
/// <summary>
/// Clean up any resources being used.
/// </summary>
/// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
protected override void Dispose(bool disposing)
{
if (disposing && (components != null))
{
components.Dispose();
}
base.Dispose(disposing);
}
#region Windows Form Designer generated code
/// <summary>
/// Required method for Designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(MainForm));
this.contextMenuStrip1 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.toolStripMenuItem4 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem5 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem7 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripMenuItem8 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.toolStripMenuItem6 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem2 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem10 = new System.Windows.Forms.ToolStripSeparator();
this.exitToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem3 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem12 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem11 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripMenuItem9 = new System.Windows.Forms.ToolStripMenuItem();
this.optionToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.helpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.viewHelpToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
this.aboutToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.saveFileDialog1 = new System.Windows.Forms.SaveFileDialog();
this.openFileDialog1 = new System.Windows.Forms.OpenFileDialog();
this.notifyIcon1 = new System.Windows.Forms.NotifyIcon(this.components);
this.contextMenuStrip2 = new System.Windows.Forms.ContextMenuStrip(this.components);
this.exitToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.panel1 = new System.Windows.Forms.Panel();
this.flowLayoutPanel1 = new System.Windows.Forms.FlowLayoutPanel();
this.contextMenuStrip1.SuspendLayout();
this.contextMenuStrip2.SuspendLayout();
this.panel1.SuspendLayout();
this.SuspendLayout();
//
// contextMenuStrip1
//
this.contextMenuStrip1.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripMenuItem4,
this.toolStripMenuItem3,
this.toolStripMenuItem9,
this.helpToolStripMenuItem});
this.contextMenuStrip1.Name = "contextMenuStrip1";
this.contextMenuStrip1.Size = new System.Drawing.Size(102, 92);
this.contextMenuStrip1.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip1_Opening);
//
// toolStripMenuItem4
//
this.toolStripMenuItem4.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripMenuItem5,
this.toolStripMenuItem7,
this.toolStripSeparator2,
this.toolStripMenuItem8,
this.toolStripSeparator3,
this.toolStripMenuItem6,
this.toolStripMenuItem2,
this.toolStripMenuItem10,
this.exitToolStripMenuItem});
this.toolStripMenuItem4.Name = "toolStripMenuItem4";
this.toolStripMenuItem4.Size = new System.Drawing.Size(101, 22);
this.toolStripMenuItem4.Text = "&File";
//
// toolStripMenuItem5
//
this.toolStripMenuItem5.Name = "toolStripMenuItem5";
this.toolStripMenuItem5.Size = new System.Drawing.Size(123, 22);
this.toolStripMenuItem5.Text = "&New";
this.toolStripMenuItem5.Click += new System.EventHandler(this.toolStripMenuItem5_Click);
//
// toolStripMenuItem7
//
this.toolStripMenuItem7.Name = "toolStripMenuItem7";
this.toolStripMenuItem7.Size = new System.Drawing.Size(123, 22);
this.toolStripMenuItem7.Text = "&Open";
this.toolStripMenuItem7.Click += new System.EventHandler(this.toolStripMenuItem7_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(120, 6);
//
// toolStripMenuItem8
//
this.toolStripMenuItem8.Name = "toolStripMenuItem8";
this.toolStripMenuItem8.Size = new System.Drawing.Size(123, 22);
this.toolStripMenuItem8.Text = "&Close";
this.toolStripMenuItem8.Click += new System.EventHandler(this.toolStripMenuItem8_Click);
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(120, 6);
//
// toolStripMenuItem6
//
this.toolStripMenuItem6.Name = "toolStripMenuItem6";
this.toolStripMenuItem6.Size = new System.Drawing.Size(123, 22);
this.toolStripMenuItem6.Text = "&Save";
this.toolStripMenuItem6.Click += new System.EventHandler(this.toolStripMenuItem6_Click);
//
// toolStripMenuItem2
//
this.toolStripMenuItem2.Name = "toolStripMenuItem2";
this.toolStripMenuItem2.Size = new System.Drawing.Size(123, 22);
this.toolStripMenuItem2.Text = "Save &As...";
this.toolStripMenuItem2.Click += new System.EventHandler(this.toolStripMenuItem2_Click);
//
// toolStripMenuItem10
//
this.toolStripMenuItem10.Name = "toolStripMenuItem10";
this.toolStripMenuItem10.Size = new System.Drawing.Size(120, 6);
//
// exitToolStripMenuItem
//
this.exitToolStripMenuItem.Name = "exitToolStripMenuItem";
this.exitToolStripMenuItem.Size = new System.Drawing.Size(123, 22);
this.exitToolStripMenuItem.Text = "E&xit";
this.exitToolStripMenuItem.Click += new System.EventHandler(this.exitToolStripMenuItem_Click);
//
// toolStripMenuItem3
//
this.toolStripMenuItem3.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.toolStripMenuItem12,
this.toolStripMenuItem11,
this.toolStripMenuItem1});
this.toolStripMenuItem3.Name = "toolStripMenuItem3";
this.toolStripMenuItem3.Size = new System.Drawing.Size(101, 22);
this.toolStripMenuItem3.Text = "&View";
//
// toolStripMenuItem12
//
this.toolStripMenuItem12.Name = "toolStripMenuItem12";
this.toolStripMenuItem12.Size = new System.Drawing.Size(222, 22);
this.toolStripMenuItem12.Text = "Enable &Big Icons (In Folders)";
this.toolStripMenuItem12.Click += new System.EventHandler(this.toolStripMenuItem12_Click);
//
// toolStripMenuItem11
//
this.toolStripMenuItem11.Name = "toolStripMenuItem11";
this.toolStripMenuItem11.Size = new System.Drawing.Size(222, 22);
this.toolStripMenuItem11.Text = "Enable &Animation";
this.toolStripMenuItem11.Click += new System.EventHandler(this.toolStripMenuItem11_Click);
//
// toolStripMenuItem1
//
this.toolStripMenuItem1.Name = "toolStripMenuItem1";
this.toolStripMenuItem1.Size = new System.Drawing.Size(222, 22);
this.toolStripMenuItem1.Text = "Always On &Top";
this.toolStripMenuItem1.Click += new System.EventHandler(this.toolStripMenuItem1_Click);
//
// toolStripMenuItem9
//
this.toolStripMenuItem9.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.optionToolStripMenuItem});
this.toolStripMenuItem9.Name = "toolStripMenuItem9";
this.toolStripMenuItem9.Size = new System.Drawing.Size(101, 22);
this.toolStripMenuItem9.Text = "&Tools";
//
// optionToolStripMenuItem
//
this.optionToolStripMenuItem.Name = "optionToolStripMenuItem";
this.optionToolStripMenuItem.Size = new System.Drawing.Size(116, 22);
this.optionToolStripMenuItem.Text = "&Options";
this.optionToolStripMenuItem.Click += new System.EventHandler(this.optionToolStripMenuItem_Click);
//
// helpToolStripMenuItem
//
this.helpToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.viewHelpToolStripMenuItem,
this.toolStripSeparator1,
this.aboutToolStripMenuItem});
this.helpToolStripMenuItem.Name = "helpToolStripMenuItem";
this.helpToolStripMenuItem.Size = new System.Drawing.Size(101, 22);
this.helpToolStripMenuItem.Text = "&Help";
//
// viewHelpToolStripMenuItem
//
this.viewHelpToolStripMenuItem.Name = "viewHelpToolStripMenuItem";
this.viewHelpToolStripMenuItem.Size = new System.Drawing.Size(127, 22);
this.viewHelpToolStripMenuItem.Text = "&View Help";
this.viewHelpToolStripMenuItem.Click += new System.EventHandler(this.viewHelpToolStripMenuItem_Click);
//
// toolStripSeparator1
//
this.toolStripSeparator1.Name = "toolStripSeparator1";
this.toolStripSeparator1.Size = new System.Drawing.Size(124, 6);
//
// aboutToolStripMenuItem
//
this.aboutToolStripMenuItem.Name = "aboutToolStripMenuItem";
this.aboutToolStripMenuItem.Size = new System.Drawing.Size(127, 22);
this.aboutToolStripMenuItem.Text = "&About";
this.aboutToolStripMenuItem.Click += new System.EventHandler(this.aboutToolStripMenuItem_Click);
//
// saveFileDialog1
//
this.saveFileDialog1.Filter = "Session files|*.jsonfig";
this.saveFileDialog1.Title = "Choose file to save the session";
//
// openFileDialog1
//
this.openFileDialog1.Filter = "Session files|*.jsonfig";
this.openFileDialog1.Title = "Choose session file";
//
// notifyIcon1
//
this.notifyIcon1.ContextMenuStrip = this.contextMenuStrip2;
this.notifyIcon1.Icon = ((System.Drawing.Icon)(resources.GetObject("notifyIcon1.Icon")));
this.notifyIcon1.Text = "notifyIcon1";
this.notifyIcon1.Visible = true;
this.notifyIcon1.MouseClick += new System.Windows.Forms.MouseEventHandler(this.notifyIcon1_MouseClick);
//
// contextMenuStrip2
//
this.contextMenuStrip2.Items.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.exitToolStripMenuItem1});
this.contextMenuStrip2.Name = "contextMenuStrip2";
this.contextMenuStrip2.Size = new System.Drawing.Size(94, 26);
//
// exitToolStripMenuItem1
//
this.exitToolStripMenuItem1.Name = "exitToolStripMenuItem1";
this.exitToolStripMenuItem1.Size = new System.Drawing.Size(93, 22);
this.exitToolStripMenuItem1.Text = "E&xit";
this.exitToolStripMenuItem1.Click += new System.EventHandler(this.exitToolStripMenuItem1_Click);
//
// panel1
//
this.panel1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
| System.Windows.Forms.AnchorStyles.Left)
| System.Windows.Forms.AnchorStyles.Right)));
this.panel1.AutoScroll = true;
this.panel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.panel1.BackColor = System.Drawing.Color.Transparent;
this.panel1.Controls.Add(this.flowLayoutPanel1);
this.panel1.Location = new System.Drawing.Point(12, 34);
this.panel1.Name = "panel1";
this.panel1.Size = new System.Drawing.Size(620, 363);
this.panel1.TabIndex = 0;
//
// flowLayoutPanel1
//
this.flowLayoutPanel1.AutoSize = true;
this.flowLayoutPanel1.AutoSizeMode = System.Windows.Forms.AutoSizeMode.GrowAndShrink;
this.flowLayoutPanel1.BackColor = System.Drawing.Color.Transparent;
this.flowLayoutPanel1.FlowDirection = System.Windows.Forms.FlowDirection.TopDown;
this.flowLayoutPanel1.Location = new System.Drawing.Point(0, 0);
this.flowLayoutPanel1.Name = "flowLayoutPanel1";
this.flowLayoutPanel1.Padding = new System.Windows.Forms.Padding(0, 10, 0, 20);
this.flowLayoutPanel1.Size = new System.Drawing.Size(0, 30);
this.flowLayoutPanel1.TabIndex = 29;
this.flowLayoutPanel1.WrapContents = false;
//
// MainForm
//
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
this.BackColor = System.Drawing.Color.FromArgb(((int)(((byte)(250)))), ((int)(((byte)(250)))), ((int)(((byte)(250)))));
this.BackgroundImageLayout = System.Windows.Forms.ImageLayout.None;
this.ClientSize = new System.Drawing.Size(633, 400);
this.Controls.Add(this.panel1);
this.Icon = ((System.Drawing.Icon)(resources.GetObject("$this.Icon")));
this.MinimumSize = new System.Drawing.Size(420, 280);
this.Name = "MainForm";
this.Text = "Launcher";
this.TitleContextMenuStrip = this.contextMenuStrip1;
this.contextMenuStrip1.ResumeLayout(false);
this.contextMenuStrip2.ResumeLayout(false);
this.panel1.ResumeLayout(false);
this.panel1.PerformLayout();
this.ResumeLayout(false);
}
#endregion
private System.Windows.Forms.ContextMenuStrip contextMenuStrip1;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem3;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem4;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem2;
private System.Windows.Forms.SaveFileDialog saveFileDialog1;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem5;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem6;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem7;
private System.Windows.Forms.OpenFileDialog openFileDialog1;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem8;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
private System.Windows.Forms.ToolStripSeparator toolStripMenuItem10;
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem9;
private System.Windows.Forms.ToolStripMenuItem optionToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem helpToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem viewHelpToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem aboutToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator1;
private System.Windows.Forms.NotifyIcon notifyIcon1;
private System.Windows.Forms.ContextMenuStrip contextMenuStrip2;
private System.Windows.Forms.ToolStripMenuItem exitToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem11;
private System.Windows.Forms.ToolStripMenuItem toolStripMenuItem12;
private System.Windows.Forms.Panel panel1;
private System.Windows.Forms.FlowLayoutPanel flowLayoutPanel1;
}
}

View File

@ -1,595 +0,0 @@
using AppLauncher.Models;
using AppLauncher.Windows.Forms;
using Newtonsoft.Json;
using RyzStudio.Windows.Forms;
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.IO;
using System.Runtime.InteropServices;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace AppLauncher
{
public partial class MainForm : TForm
{
[DllImport("user32.dll")]
protected static extern bool RegisterHotKey(IntPtr hWnd, int id, int fsModifiers, int vk);
[DllImport("user32.dll")]
protected static extern bool UnregisterHotKey(IntPtr hWnd, int id);
//protected const int MOD_ALT = 0x1;
//protected const int MOD_CONTROL = 0x2;
//protected const int MOD_SHIFT = 0x4;
//protected const int MOD_WIN = 0x8;
protected const int WM_HOTKEY = 0x312;
protected const int WM_QUERYENDSESSION = 0x0011;
protected OptionsForm optionsForm = null;
protected string sessionFilename = null;
protected bool requestExit = false;
public MainForm() : base()
{
InitializeComponent();
notifyIcon1.Text = Application.ProductName;
this.StartPosition = FormStartPosition.WindowsDefaultBounds;
appIcon = Properties.Resources.app_icon;
enableMaximise = false;
//enableMaximiseMenu = false;
closeOnMinimise = true;
}
protected override void OnLoad(EventArgs e)
{
ThreadControl.SetVisible(this, false);
base.OnLoad(e);
}
protected async override void OnShown(EventArgs e)
{
base.OnShown(e);
string jsonfigFilename = Path.ChangeExtension(Application.ExecutablePath, "jsonfig");
if (File.Exists(jsonfigFilename))
{
await loadFile(jsonfigFilename);
}
else
{
this.CurrentSession = new LauncherSession();
ThreadControl.SetSize(this, this.MinimumSize);
ThreadControl.SetVisible(this, true);
}
}
protected override void OnClosing(CancelEventArgs e)
{
base.OnClosing(e);
if (this.CurrentSession == null) this.CurrentSession = new LauncherSession();
if (this.CurrentSession.HideOnClose && !requestExit)
{
this.Visible = !this.Visible;
e.Cancel = true;
return;
}
requestExit = false;
if (string.IsNullOrWhiteSpace(sessionFilename))
{
// do nothing
}
else
{
if (this.CurrentSession.AutoSave == LauncherSession.AutoSaveOption.Prompt)
{
DialogResult dr = MessageBox.Show("Save existing session?", "Exit", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
{
bool rv = saveFile(sessionFilename, false);
if (!rv)
{
e.Cancel = true;
}
}
else if (dr == DialogResult.No)
{
// do nothing
}
else if (dr == DialogResult.Cancel)
{
e.Cancel = true;
}
}
else if (this.CurrentSession.AutoSave == LauncherSession.AutoSaveOption.Yes)
{
saveFile(sessionFilename, false);
}
}
if (this.CurrentSession.HotKey != null)
{
if (this.CurrentSession.HotKey.KeyCode != Keys.None)
{
UnregisterHotKey((IntPtr)Handle, 1);
}
}
}
protected override void WndProc(ref Message m)
{
switch (m.Msg)
{
case WM_HOTKEY:
if (m.WParam.ToInt32() == 1)
{
this.Visible = !this.Visible;
}
break;
case WM_QUERYENDSESSION:
requestExit = true;
//this.Close();
Application.Exit();
break;
default: break;
}
base.WndProc(ref m);
}
public LauncherSession CurrentSession { get; set; } = null;
private void toolStripMenuItem5_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(sessionFilename))
{
newSession();
}
else
{
DialogResult dr = MessageBox.Show("Save existing session?", "New session", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
{
bool rv = saveFile(sessionFilename, false);
if (rv)
{
newSession();
sessionFilename = null;
}
}
else if (dr == DialogResult.No)
{
newSession();
sessionFilename = null;
}
else if (dr == DialogResult.Cancel)
{
return;
}
}
}
private async void toolStripMenuItem7_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(sessionFilename))
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
await loadFile(openFileDialog1.FileName);
}
}
else
{
DialogResult dr = MessageBox.Show("Save existing session?", "Open session", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
{
bool rv = saveFile(sessionFilename, false);
if (rv)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
await loadFile(openFileDialog1.FileName);
}
}
}
else if (dr == DialogResult.No)
{
if (openFileDialog1.ShowDialog() == DialogResult.OK)
{
await loadFile(openFileDialog1.FileName);
}
}
else if (dr == DialogResult.Cancel)
{
return;
}
}
}
private void toolStripMenuItem8_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(sessionFilename))
{
flowLayoutPanel1.Controls.Clear();
}
else
{
DialogResult dr = MessageBox.Show("Save existing session?", "Close session", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Question);
if (dr == DialogResult.Yes)
{
bool rv = saveFile(sessionFilename, false);
if (rv)
{
flowLayoutPanel1.Controls.Clear();
sessionFilename = null;
}
}
else if (dr == DialogResult.No)
{
flowLayoutPanel1.Controls.Clear();
sessionFilename = null;
}
else if (dr == DialogResult.Cancel)
{
return;
}
}
}
private void toolStripMenuItem6_Click(object sender, EventArgs e)
{
if (string.IsNullOrWhiteSpace(sessionFilename))
{
saveAsFile();
}
else
{
saveFile(sessionFilename, true);
}
}
private void toolStripMenuItem2_Click(object sender, EventArgs e) => saveAsFile();
private void toolStripMenuItem1_Click(object sender, EventArgs e) => this.TopMost = !this.TopMost;
private void exitToolStripMenuItem_Click(object sender, EventArgs e)
{
requestExit = true;
this.Close();
}
private void optionToolStripMenuItem_Click(object sender, EventArgs e)
{
if (optionsForm == null) optionsForm = new OptionsForm(this);
optionsForm.ShowDialog();
invalidateHotKey();
}
protected async Task collapseWindow(int width, int increment = 6)
{
await Task.Run(() =>
{
while (this.Width > width)
{
ThreadControl.SetWidth(this, (this.Width - increment));
Application.DoEvents();
}
ThreadControl.SetWidth(this, width);
});
}
protected async Task expandWindow(int width, int increment = 8)
{
await Task.Run(() =>
{
while (this.Width < width)
{
ThreadControl.SetWidth(this, (this.Width + increment));
Application.DoEvents();
}
ThreadControl.SetWidth(this, width);
});
}
protected void invalidateHotKey()
{
if (this.InvokeRequired)
{
this.Invoke(new MethodInvoker(() =>
{
UnregisterHotKey((IntPtr)Handle, 1);
}));
}
else
{
UnregisterHotKey((IntPtr)Handle, 1);
}
if (this.CurrentSession.HotKey != null)
{
if (this.CurrentSession.HotKey.KeyCode != Keys.None)
{
if (this.InvokeRequired)
{
this.Invoke(new MethodInvoker(() =>
{
RegisterHotKey((IntPtr)Handle, 1, this.CurrentSession.HotKey.ModifierCode, this.CurrentSession.HotKey.Key);
}));
}
else
{
RegisterHotKey((IntPtr)Handle, 1, this.CurrentSession.HotKey.ModifierCode, this.CurrentSession.HotKey.Key);
}
}
}
}
protected async Task loadFile(string filename)
{
await Task.Run(() =>
{
if (isBusy)
{
return;
}
if (string.IsNullOrWhiteSpace(filename))
{
return;
}
if (!File.Exists(filename))
{
return;
}
string sourceCode = null;
try
{
sessionFilename = filename;
sourceCode = File.ReadAllText(sessionFilename);
}
catch (Exception exc)
{
MessageBox.Show(exc.Message, "Load session");
return;
}
if (string.IsNullOrWhiteSpace(sourceCode))
{
return;
}
// load options
this.CurrentSession = JsonConvert.DeserializeObject<LauncherSession>(sourceCode);
if (this.CurrentSession == null)
{
this.CurrentSession = new LauncherSession();
}
// load tiles
int maxWidth = 0;
ThreadControl.Clear(flowLayoutPanel1);
if (this.CurrentSession.Groups != null)
{
foreach (TileGroupModel item in this.CurrentSession.Groups)
{
TTilePanelLayout panel = new TTilePanelLayout(item);
maxWidth = Math.Max(maxWidth, panel.Width);
ThreadControl.Add(flowLayoutPanel1, panel);
}
}
// ui
ThreadControl.SetSize(this, (maxWidth + SystemInformation.VerticalScrollBarWidth + 20 + flowLayoutPanel1.Left), this.CurrentSession.DefaultHeight);
if (!this.CurrentSession.StartPosition.IsEmpty) ThreadControl.SetLocation(this, this.CurrentSession.StartPosition);
//
ThreadControl.SetTopMost(this, this.CurrentSession.AlwaysOnTop);
ThreadControl.SetVisible(this, true);
ThreadControl.SetChecked(toolStripMenuItem11, this.CurrentSession.EnableAnimation);
ThreadControl.SetChecked(toolStripMenuItem12, this.CurrentSession.EnableBigIconInFolder);
if (this.InvokeRequired)
{
this.Invoke(new MethodInvoker(() => {
this.Focus();
}));
}
else
{
this.Focus();
}
// hotkey
invalidateHotKey();
});
}
protected void newSession()
{
int maxWidth = 0;
flowLayoutPanel1.Controls.Clear();
TTilePanelLayout panel = new TTilePanelLayout(new TileGroupModel()
{
Title = "New Group",
IsExpanded = true,
GridSize = new Size(8, 1)
});
maxWidth = Math.Max(maxWidth, panel.Width);
flowLayoutPanel1.Controls.Add(panel);
this.Width = maxWidth + SystemInformation.VerticalScrollBarWidth + 20 + flowLayoutPanel1.Left;
}
protected bool saveFile(string filename, bool showNotices = true)
{
if (isBusy)
{
return false;
}
if (string.IsNullOrWhiteSpace(filename))
{
return false;
}
if (flowLayoutPanel1.Controls.Count <= 0)
{
return true;
}
isBusy = true;
// update session
if (this.CurrentSession == null)
{
this.CurrentSession = new LauncherSession();
}
this.CurrentSession.DefaultHeight = this.Height;
this.CurrentSession.AlwaysOnTop = this.TopMost;
this.CurrentSession.StartPosition = this.Location;
// save
this.CurrentSession.Groups = new List<TileGroupModel>();
for (int i = 0; i < flowLayoutPanel1.Controls.Count; i++)
{
if (flowLayoutPanel1.Controls[i].GetType() != typeof(TTilePanelLayout))
{
continue;
}
TTilePanelLayout container = flowLayoutPanel1.Controls[i] as TTilePanelLayout;
this.CurrentSession.Groups.Add(container.Model);
}
try
{
File.WriteAllText(filename, JsonConvert.SerializeObject(this.CurrentSession));
if (showNotices)
{
MessageBox.Show("Session saved!", "Save session", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
}
catch (Exception exc)
{
MessageBox.Show(exc.Message, "Save session");
return false;
}
isBusy = false;
return true;
}
protected bool saveAsFile()
{
if (isBusy)
{
return false;
}
if (saveFileDialog1.ShowDialog() == DialogResult.OK)
{
bool rv = saveFile(saveFileDialog1.FileName);
if (rv)
{
sessionFilename = saveFileDialog1.FileName;
}
return rv;
}
return false;
}
private void contextMenuStrip1_Opening(object sender, System.ComponentModel.CancelEventArgs e)
{
toolStripMenuItem1.Checked = this.TopMost;
toolStripMenuItem6.Enabled = !string.IsNullOrWhiteSpace(sessionFilename);
}
private void viewHelpToolStripMenuItem_Click(object sender, EventArgs e)
{
try
{
System.Diagnostics.Process.Start("https://www.hiimray.co.uk/software-fizzy-launcher");
}
catch
{
// do nothing
}
}
private void aboutToolStripMenuItem_Click(object sender, EventArgs e) => MessageBox.Show(Application.ProductName + " v" + Application.ProductVersion, "About", MessageBoxButtons.OK, MessageBoxIcon.Information);
private void notifyIcon1_MouseClick(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
this.Visible = !this.Visible;
}
}
private void exitToolStripMenuItem1_Click(object sender, EventArgs e)
{
requestExit = true;
this.Close();
}
private void toolStripMenuItem11_Click(object sender, EventArgs e)
{
if (this.CurrentSession == null) return;
this.CurrentSession.EnableAnimation = !this.CurrentSession.EnableAnimation;
toolStripMenuItem11.Checked = this.CurrentSession.EnableAnimation;
}
private void toolStripMenuItem12_Click(object sender, EventArgs e)
{
if (this.CurrentSession == null) return;
this.CurrentSession.EnableBigIconInFolder = !this.CurrentSession.EnableBigIconInFolder;
toolStripMenuItem12.Checked = this.CurrentSession.EnableBigIconInFolder;
}
}
}

View File

@ -1,730 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<metadata name="contextMenuStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<metadata name="saveFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>172, 17</value>
</metadata>
<metadata name="openFileDialog1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>308, 17</value>
</metadata>
<metadata name="notifyIcon1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>448, 17</value>
</metadata>
<metadata name="contextMenuStrip2.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>561, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="notifyIcon1.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA
IABoBAAAHkAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGxc
VU5rW1Tna1tU22paU5BsXVVCgEBABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAaltTZWtbVPxrW1T/a1tU/2tbVP9rW1T/a1tU7mtbU6VrXFNWbVtbDgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABqWlR/a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU+Wta
VLprW1Nrb15VHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAVVVVA2tbVJhrW1T/a1tU/2tbVP+NgXz/2NPR/6+mov+Bc23/a1tU/2tb
VP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVc1sXFSAa1xSMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtSUkHa1xUqmtbVP9rW1T/a1tU/5iNiP/6+fn/////////
////////6+no/7+4tf+Sh4L/bV5X/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVOFrXFOZallTTW1J
SQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGlaWhFqW1TCa1tU/2tbVP9rW1T/o5mV//38
/P//////////////////////////////////////9PPy/8jDwP+cko3/c2Nd/2tbVP9rW1T/a1tU/2tb
VP9rW1T/a1tU/2tbVPVrW1SzalxUXmlaWhEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAalhYHWtbVNRrW1T/a1tU/2tb
VP+1rar/////////////////////////////////////////////////////////////////+vn5/9LN
y/+lm5f/eGpj/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVPtrWlS9bFxVb2xdVSEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrWVMra1tU42tb
VP9rW1T/bV1W/8S9u///////////////////////////////////////////////////////////////
/////////////////////////v7+/97a2f+xqKT/g3Zw/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tb
VP5qW1V4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGpZ
VTxrW1Tua1tU/2tbVP9wYVr/0czK////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////+ro5/+8tbL/j4N+/21d
Vv9rW1T/a1tU/2tbVP9rW1TpAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAbFxTUGtbVPZrW1T/a1tU/3VnYP/d2df/////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//////////////Tz8v/Iw8D/dmdh/2tbVP9rW1T/blpTJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABsXFRha1tU+2tbVP9rW1T/emxl/+Th4P//////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////m5CL/2tbVP9rW1T/a1tTXwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtaVHdrW1T/a1tU/2tbVP+DdnD/7uzs/////////////Pvw//z6
7v/8+u7//Pru//z67v/8+u7//Pru//z67v/9/PT///////////////////////z4+f/79fX/+/X1//v1
9f/79fX/+/X1//v19f/79fX//Pb2////////////////////////////vLWy/2tbVP9rW1T/a1xTmQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUDa1tUmGtbVP9rW1T/a1tU/4t/ev/08/L/////////
///cyT7/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/6Nt+////////////4bG1/8Rl
bP/EZWz/xGVs/8RlbP/EZWz/xGVs/8RlbP/EZWz/xGVs/9KKkP//////////////////////3tvZ/2tb
VP9rW1T/a1tU1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1JSQdrW1Sra1tU/2tbVP9rW1T/mY6J//r5
+f////////////389f/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/28Y1////
////////0IWL/8RlbP/EZWz/xGVs/8RlbP/EZWz/xGVs/8RlbP/EZWz/xGVs/8RlbP/9+fn/////////
/////////Pz8/3BhWv9rW1T/a1tU/nFVVRIAAAAAAAAAAAAAAAAAAAAAaVpaEWtcVMNrW1T/a1tU/2tb
VP+kmpb//fz8//////////////////389P/RtwD/0bcA/+TVbP/w56r/8Oeq//Dnqv/w56r/8Oeq/93K
Qv/RtwD/28Y1////////////0IWL/8RlbP/TjZL/68zO/+vMzv/rzM7/68zO/+vMzv/dpqr/xGVs/8Rl
bP/8+Pn//////////////////////46CfP9rW1T/a1tU/2xbVEkAAAAAAAAAAAAAAABsWFgaa1xU0Wtb
VP9rW1T/a1tU/7CopP////////////////////////////389P/RtwD/0bcA/+7lov//////////////
/////////////+PTY//RtwD/28Y1////////////0IWL/8RlbP/boaX/////////////////////////
///px8n/xGVs/8RlbP/8+Pn//////////////////////7CopP9rW1T/a1tU/2tbVIMAAAAAAAAAAAAA
AABqXFTOa1tU/2tbVP9tXlf/xr+9//////////////////////////////////389P/RtwD/0bcA/+7l
ov///////////////////////////+PTY//RtwD/28Y1////////////0IWL/8RlbP/boaX/////////
///////////////////px8n/xGVs/8RlbP/8+Pn//////////////////////9LNy/9rW1T/a1tU/2tb
VL8AAAAAAAAAAAAAAABrW1Tva1tU/2tbVP/KxML///////////////////////////////////////38
9P/RtwD/0bcA/+7lov///////////////////////////+PTY//RtwD/28Y1////////////0IWL/8Rl
bP/boaX////////////////////////////px8n/xGVs/8RlbP/8+Pn///////////////////////Py
8v9sXFX/a1tU/2tbVPRmZmYFAAAAAAAAAABrW1W4a1tU/2tbVP/Oycf/////////////////////////
//////////////389P/RtwD/0bcA/+7lov///////////////////////////+PTY//RtwD/28Y1////
////////0IWL/8RlbP/boaX////////////////////////////px8n/xGVs/8RlbP/8+Pn/////////
//////////////////+CdG7/a1tU/2tbVP9sXVM0AAAAAAAAAABqWlR/a1tU/2tbVP+tpKD/////////
//////////////////////////////389P/RtwD/0bcA/+7lov///////////////////////////+PT
Y//RtwD/28Y1////////////0IWL/8RlbP/boaX////////////////////////////px8n/xGVs/8Rl
bP/8+Pn///////////////////////////+jmZX/a1tU/2tbVP9rWlNuAAAAAAAAAABtWlNEa1tU/2tb
VP+Lfnn///////////////////////////////////////389P/RtwD/0bcA/93JQf/j1Gb/49Rm/+PU
Zv/j1Gb/49Rm/9jCJ//RtwD/28Y1////////////0IWL/8RlbP/NfYL/3KOn/9yjp//co6f/3KOn/9yj
p//TjJH/xGVs/8RlbP/8+Pn////////////////////////////Fv7z/a1tU/2tbVP9qW1OoAAAAAAAA
AABqVVUMa1tU+2tbVP9uXlf/+fn4//////////////////////////////////389P/RtwD/0bcA/9G3
AP/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/28c5////////////0IWL/8RlbP/EZWz/xGVs/8Rl
bP/EZWz/xGVs/8RlbP/EZWz/xGVs/8Rmbf/9+vr////////////////////////////n5eT/a1tU/2tb
VP9rW1TkAAAAAAAAAAAAAAAAa1tUz2tbVP9rW1T/3NjW//////////////////////////////////38
9v/axTP/2sUz/9rFM//axTP/2sUz/9rFM//axTP/2sUz/9rFM//bxzj/8Ois////////////2p2i/9CE
if/QhIn/0ISJ/9CEif/QhIn/0ISJ/9CEif/QhIn/0ISJ/+GwtP//////////////////////////////
///+/v7/dWdg/2tbVP9rW1T/alhYHQAAAAAAAAAAa1tUlGtbVP9rW1T/ubKv////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////l4uG/2tbVP9rW1T/a1pUWAAAAAAAAAAAbFtVWmtbVP9rW1T/mI2I////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////uLGt/2tbVP9rW1T/a1tUkgAAAAAAAAAAa1pSH2tb
VP9rW1T/dmdh//7+/v////////////////////////////////+rnPH/fGTp/3xk6f98ZOn/fGTp/3xk
6f98ZOn/fGTp/3xk6f9/aOr/ysD2////////////rOH9/zi4+v8ztvr/M7b6/zO2+v8ztvr/M7b6/zO2
+v8ztvr/M7b6/33R/P//////////////////////////////////////2tbV/2tbVP9rW1T/a1tVzQAA
AAAAAAAAAAAAAGtbVONrW1T/a1tU/+jm5f////////////////////////////r5/v9cPuT/Wz3k/1s9
5P9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s95P9bPeT/gGjq////////////Obj6/wCk+f8ApPn/AKT5/wCk
+f8ApPn/AKT5/wCk+f8ApPn/AKT5/wGk+f/3/P//////////////////////////////////+vn5/25f
WP9rW1T/a1tU/GpVVQwAAAAAAAAAAGtcVKprW1T/a1tU/8bAvf////////////////////////////j3
/v9bPeT/Wz3k/4Vu6/+di+//nYvv/52L7/+di+//nYvv/3Rb6P9bPeT/fWXq////////////Nbf6/wCk
+f8nsvr/Zsj7/2bI+/9myPv/Zsj7/2bI+/9Bu/v/AKT5/wCk+f/0+///////////////////////////
/////////////4p9eP9rW1T/a1tU/2xdVUIAAAAAAAAAAGtbVHBrW1T/a1tU/6Sblv//////////////
//////////////j3/v9bPeT/Wz3k/8O49f///////////////////////////5uI7v9bPeT/fWXq////
////////Nbf6/wCk+f9jx/v///////////////////////////+i3v3/AKT5/wCk+f/0+///////////
/////////////////////////////6yjn/9rW1T/a1tU/2pcVH0AAAAAAAAAAGxdUzRrW1T/a1tU/4J0
bv////////////////////////////j3/v9bPeT/Wz3k/8O49f///////////////////////////5uI
7v9bPeT/fWXq////////////Nbf6/wCk+f9jx/v///////////////////////////+i3v3/AKT5/wCk
+f/0+////////////////////////////////////////87Jx/9rW1T/a1tU/2tbVbgAAAAAAAAAAGZm
ZgVrW1T0a1tU/2xcVf/z8vL///////////////////////j3/v9bPeT/Wz3k/8O49f//////////////
/////////////5uI7v9bPeT/fWXq////////////Nbf6/wCk+f9jx/v/////////////////////////
//+i3v3/AKT5/wCk+f/0+////////////////////////////////////////8rEwv9rW1T/a1tU/2tb
VO8AAAAAAAAAAAAAAABrW1S/a1tU/2tbVP/Szcv///////////////////////j3/v9bPeT/Wz3k/8O4
9f///////////////////////////5uI7v9bPeT/fWXq////////////Nbf6/wCk+f9jx/v/////////
//////////////////+i3v3/AKT5/wCk+f/0+///////////////////////////////////xr+9/21e
V/9rW1T/a1tU/2pcVM4AAAAAAAAAAAAAAABrWlSFa1tU/2tbVP+xqaX///////////////////////j3
/v9bPeT/Wz3k/8O49f///////////////////////////5uI7v9bPeT/fWXq////////////Nbf6/wCk
+f9jx/v///////////////////////////+i3v3/AKT5/wCk+f/0+///////////////////////////
//+6sq//bFxV/2tbVP9rW1T/a1tT1m9eVR4AAAAAAAAAAAAAAABpXFVLa1tU/2tbVP+Pg37/////////
//////////////j3/v9bPeT/Wz3k/6CP7//Ivvb/yL72/8i+9v/Ivvb/yL72/4Vv6/9bPeT/fWXq////
////////Nbf6/wCk+f9CvPv/quH9/6rh/f+q4f3/quH9/6rh/f9sy/z/AKT5/wCk+f/0+///////////
/////////f39/6ifmv9rW1T/a1tU/2tbVP9rW1TIZllZFAAAAAAAAAAAAAAAAAAAAABpWloRa1tU/Wtb
VP9wYVr//Pv7//////////////////j3/v9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s9
5P9bPeT/fWXq////////////Nbf6/wCk+f8ApPn/AKT5/wCk+f8ApPn/AKT5/wCk+f8ApPn/AKT5/wCk
+f/1+//////////////7+vr/nZKO/2tbVP9rW1T/a1tU/2tcVbJmZk0KAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAa1tT1mtbVP9rW1T/4Nzb//////////////////j3/v9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s9
5P9bPeT/Wz3k/1s95P9bPeT/rJ3x////////////Nbf6/wCk+f8ApPn/AKT5/wCk+f8ApPn/AKT5/wCk
+f8ApPn/AKT5/z66+v////////////b19P+Pg37/a1tU/2tbVP9rW1T/a1tTn4BAQAQAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAa1pUm2tbVP9rW1T/vbaz//////////////////7+///08v3/9PL9//Ty
/f/08v3/9PL9//Ty/f/08v3/9PL9//Ty/f/49/7/////////////////8vr//+75///u+f//7vn//+75
///u+f//7vn//+75///u+f//8Pr/////////////8O/u/4Z5dP9rW1T/a1tU/2tbVP9rXFSIAAAAAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbFxUYWtbVP9rW1T/nJGM////////////////////
////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////n5eT/fG5o/2tbVP9rW1T/a1tU/Gta
VWkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAblpTJWtbVP9rW1T/dmdh/8jD
wP/08/L/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////93Z1/91Z2D/a1tU/2tb
VP9rW1T2bFxTUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWtb
VOlrW1T/a1tU/2tbVP9tXVb/j4N+/7y1sv/q6Of/////////////////////////////////////////
////////////////////////////////////////////////////////////////////////0czK/3Bh
Wv9rW1T/a1tU/2tbVO5qWVU8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAGpbVXhrW1T+a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/g3Zw/7GopP/e2tn//v7+////
////////////////////////////////////////////////////////////////////////////////
///Evbv/bV1W/2tbVP9rW1T/a1tU42tZUysAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsXVUhbFxVb2taVL1rW1T7a1tU/2tbVP9rW1T/a1tU/2tb
VP9rW1T/eGpj/6Wbl//Szcv/+vn5////////////////////////////////////////////////////
/////////////7Wtqv9rW1T/a1tU/2tbVP9rW1TUalhYHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpWloRbFpUVWtb
U6JrW1Twa1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/cGFa/5KHgv+/uLX/8O/u////////////////////
///////////////////9/f3/p56a/2tbVP9rW1T/a1tU/2pbVcdmWVkUAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABVVVUDallVPGtbVJFrW1Pia1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/bFxV/4l8
dv+1ran/4d7d//////////////////v6+v+cko3/a1tU/2tbVP9rW1T/a1tUsXFVVQkAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa1xSMmxcVIBrW1XNa1tU/2tb
VP9rW1T/a1tU/2tbVP9rW1T/a1tU/4Fzbf+vpqL/2NPR/42BfP9rW1T/a1tU/2tbVP9rW1SYVVVVAwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAb15VHmtbU2trWlS6a1tU+WtbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2pa
VH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbVtbDmtcU1ZrW1Ola1tU7mtbVP9rW1T/a1tU/2tb
VP9rW1T8altTZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgEBABGxd
VUJqWlOQa1tU22tbVOdsXFVOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//4H///+sEP//AD///6wQ//4AB///rBD/+AAA//+sEP/w
AAAP/6wQ/+AAAAH/rBD/wAAAAD+sEP+AAAAAH6wQ/wAAAAAPrBD+AAAAAA+sEPwAAAAAD6wQ+AAAAAAP
rBDgAAAAAA+sEMAAAAAAB6wQgAAAAAAHrBAAAAAAAAesEAAAAAAAB6wQAAAAAAADrBAAAAAAAAOsEAAA
AAAAA6wQAAAAAAADrBAAAAAAAAOsEIAAAAAAAawQgAAAAAABrBCAAAAAAAGsEIAAAAAAAawQwAAAAAAA
rBDAAAAAAACsEMAAAAAAAKwQwAAAAAAArBDAAAAAAACsEOAAAAAAAKwQ4AAAAAAArBDgAAAAAAGsEOAA
AAAAA6wQ8AAAAAAHrBDwAAAAAA+sEPAAAAAAP6wQ8AAAAAB/rBDwAAAAAP+sEPgAAAAB/6wQ/AAAAAP/
rBD/gAAAB/+sEP/wAAAP/6wQ//8AAB//rBD//+AAf/+sEP///AD//6wQ////gf//rBAoAAAAIAAAAEAA
AAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABsXFRha1tU7GtbVcFqW1RzalxVJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAbFtVe2tbVP5rW1T/a1tU/2tbVP9rW1T/a1tT1mtcVIhrWVU5gICAAgAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAVVVVA2xbVJVrW1T/bV5X/8K7uf/RzMr/pJqW/3hpY/9rW1T/a1tU/2tb
VP9rW1TpalxTnGxcVU5mZk0KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1JSQdrW1Spa1tU/29fWf/Oycf//////////////////v7+/+He
3f+1ran/iXx2/2tbVP9rW1T/a1tU/2tbVPZqW1W7bFxVb2xYWBoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwYFAQbFxUwGtbVP91ZmD+3trZ////////////////////
////////////////////////6efm/7y0sf+Ogn3/bV1W/2tbVP9rW1T/a1tU/WtbVMZrWlR3ZlVVDwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaF5VG2tbVNJrW1T/fW9p/+fl5P//////////////
///////////////////////////////////////////////////z8vL/x8G//5uQi/9xYlv/a1tU/2tb
VP9rW1SPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGpdVylrW1Tha1tU/4V4cv/w7u7/////////
//////////////////////////////////////////////////////////////////////////////r6
+v/Evbv/a1tU/2xbVMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrXVM3a1tU62tbVP+MgHr/9PPy////
////////////////////////////////////////////////////////////////////////////////
//////////////v6+v9vX1n/a1tU+2pVVQwAAAAAAAAAAAAAAAAAAAAAallTTWtbVPVrW1T/mY6K//r5
+f///v3/1r8d/9G3AP/RtwD/0bcA/9G3AP/RtwD/07oL//r34//57u//x2xy/8RlbP/EZWz/xGVs/8Rl
bP/EZWz/y3d9///+/v///////////4yAev9rW1T/alpSQQAAAAAAAAAAAAAAAGpaVWBrW1T7a1tU/6mg
nP/+/v7///////799//RtwD/2cMr/+PUZv/j1Gb/49Rm/9zIPP/RtwD/9vHM//Pg4v/EZWz/0omP/9yj
p//co6f/3KOn/85/hf/EZWz//fr6////////////rqai/2tbVP9sW1V7AAAAAAAAAABrW1R5a1tU/2xc
Vf+4sa3//////////////////v33/9G3AP/k1Wz/////////////////7OGW/9G3AP/28cz/8+Di/8Rl
bP/nwML/////////////////3aaq/8RlbP/9+vr////////////RzMn/a1tU/2pbVLYAAAAAAAAAAGtb
VO5rW1T/w726///////////////////////+/ff/0bcA/+TVbP/////////////////s4Zb/0bcA//bx
zP/z4OL/xGVs/+fAwv/////////////////dpqr/xGVs//36+v////////////Lw8P9rW1T/a1tU74CA
gAIAAAAAa1tUxWtbVP/Z1dP///////////////////////799//RtwD/5NVs/////////////////+zh
lv/RtwD/9vHM//Pg4v/EZWz/58DC/////////////////92mqv/EZWz//fr6/////////////////4By
bP9rW1T/aF1RLAAAAABqXFSLa1tU/7iwrf///////////////////////v33/9G3AP/dyUH/7eKZ/+3i
mf/t4pn/4dBa/9G3AP/28cz/8+Di/8RlbP/Zm6D/58HE/+fBxP/nwcT/04yR/8RlbP/9+vr/////////
////////opeT/2tbVP9qW1NlAAAAAGtbVVFrW1T/louG///////////////////////+/ff/0bcA/9G3
AP/RtwD/0bcA/9G3AP/RtwD/0bcB//n12//z4OL/xGVs/8RlbP/EZWz/xGVs/8RlbP/EZWz/x2xy//79
/f/////////////////Dvbr/a1tU/2tbU58AAAAAaF1RFmtbVP90ZV///v7+///////////////////+
/f/28cz/9vHM//bxzP/28cz/9vHM//bxzP/49dr///////35+f/z4OL/8+Di//Pg4v/z4OL/8+Di//Pg
4v/47e7//////////////////////+Xi4f9rW1T/altU2gAAAAAAAAAAa1xT3GtbVP/m4+L/////////
/////////////+zp/P/e2Pr/3tj6/97Y+v/e2Pr/3tj6/+fj+////////////9ry/v/M7f7/zO3+/8zt
/v/M7f7/zO3+/+L1/v///////////////////////v7+/3VmX/9rW1T+aF1RFgAAAABsWlSha1tU/8S+
u//////////////////8/P//YkXl/1s95P9bPeT/Wz3k/1s95P9bPeT/XD7k/+jk+//b8v7/AaT5/wCk
+f8ApPn/AKT5/wCk+f8ApPn/C6j5//v+////////////////////////lYmE/2tbVP9rWlRPAAAAAGpc
VGdrW1T/o5mU//////////////////r5/v9bPeT/hW7r/72x9P+9sfT/vbH0/5WB7v9bPeT/3tj6/8zt
/v8ApPn/WsT7/5nb/f+Z2/3/mdv9/0G7+/8ApPn/9/z///////////////////////+2r6v/a1tU/2pb
VIkAAAAAaF1RLGtbVP+Acmz/////////////////+vn+/1s95P+gj+//////////////////u6/0/1s9
5P/e2Pr/zO3+/wCk+f+W2v3/////////////////bMv8/wCk+f/3/P///////////////////////9nV
0/9rW1T/a1tUxQAAAACAgIACa1tU72tbVP/y8PD////////////6+f7/Wz3k/6CP7///////////////
//+7r/T/Wz3k/97Y+v/M7f7/AKT5/5ba/f////////////////9sy/z/AKT5//f8////////////////
////////w726/2tbVP9rW1TuAAAAAAAAAABqW1S2a1tU/9HMyf////////////r5/v9bPeT/oI/v////
/////////////7uv9P9bPeT/3tj6/8zt/v8ApPn/ltr9/////////////////2zL/P8ApPn/9/z/////
/////////////7ixrf9sXFX/a1tU/2tbVHkAAAAAAAAAAGpcVH1rW1T/r6ej////////////+vn+/1s9
5P93Xun/nYvv/52L7/+di+//gmvq/1s95P/e2Pr/zO3+/wCk+f88ufr/Zsj7/2bI+/9myPv/K7P6/wCk
+f/3/P////////7+/v+upaH/a1tU/2tbVPxqXFRnAAAAAAAAAAAAAAAAa1tUQ2tbVP+NgXz/////////
///6+f7/Wz3k/1s95P9bPeT/Wz3k/1s95P9bPeT/YkXl/+3q/P/M7f7/AKT5/wCk+f8ApPn/AKT5/wCk
+f8ApPn/Ha76//3+///7+vr/nZOO/2tbVP9rWlT4altVVAAAAAAAAAAAAAAAAAAAAAB0XV0La1tU+29f
Wf/7+vr/////////////////////////////////////////////////////////////////////////
////////////////////////9vX0/5CEfv9rW1T/bFxU72pZVTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AABsW1TMa1tU/8S9u//6+vr/////////////////////////////////////////////////////////
//////////////////////////////Du7v+FeHL/a1tU/2tbVOFqXVcpAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAGtbVI9rW1T/a1tU/3FiW/+bkIv/x8G///Py8v//////////////////////////////
///////////////////////////////////n5eT/fW9p/2tbVP9rW1TSaF5VGwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAZlVVD2taVHdrW1TGa1tU/WtbVP9rW1T/bV1W/46Cff+8tLH/6efm////
////////////////////////////////////////3trZ/3ZnYf9rW1T/bFxUwHBgUBAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmWVkUalxUXmtcVKprW1Tya1tU/2tb
VP9rW1T/f3Fr/6uinv/Y09H//fz8/////////////////9LNy/9xYVv/a1tU/2paVa9xVVUJAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGZm
TQpsXFVOalxTnGtbVOlrW1T/a1tU/2tbVP94aWP/pJqW/9HMyv/Cu7n/bV5X/2tbVP9sW1SVVVVVAwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAgICAAmtZVTlrXFSIa1tT1mtbVP9rW1T/a1tU/2tbVP9rW1T+bFtVewAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAalxVJGpbVHNrW1XBa1tU7Gxc
VGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/g////wA///wAB//4A
AD/8AAAH+AAAB/AAAAfgAAADwAAAA4AAAAMAAAADAAAAAQAAAAEAAAABAAAAAQAAAAGAAAAAgAAAAIAA
AACAAAAAgAAAAMAAAADAAAABwAAAA8AAAAfgAAAP4AAAH+AAAD/8AAB//4AA///wA////wf/KAAAABgA
AAAwAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAa1tTa2xcVfBsXFW1bFpVZmZcUhkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFrWlSFa1tU/4+Dfv+AcWv8a1tU/2tb
VP5tXlbMa1xUemxbVS0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAVVVVA2xbVJprW1T/qqCc//7+/v//////6+no/7+4tf+RhoH9bF1W/mtbVP9tXlbia1xTmWpZ
U02AVVUGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0XV0LbFxVtWxcVf+5sq//////////
////////////////////////8/Hx/8bAvf+Zjor/cGBa/WtbVP9tXVbxaltUo2heVRsAAAAAAAAAAAAA
AAAAAAAAAAAAAGZZWRRtXFbKbV1W/sjCv///////////////////////////////////////////////
////////+vn5/9LNy/+mnJj/bV1W/WtbVIMAAAAAAAAAAAAAAAAAAAAAaFhYIG1eV9pvYFn808/N////
////////////////////////////////////////////////////////////////////////in55/W1d
Vr4AAAAAAAAAAAAAAABoXVEsbV5X53NlXvzd2tj//v78/9S8EP/RtwD/0bcA/9G3AP/RtwD/8Oit/+zN
0P/EZWz/xGVs/8RlbP/EZWz/yG91//79/f//////raSg/2xcVfaAQEAEAAAAAGxcVEBtXVbzfG5n++jm
5f///////v35/9G3AP/v5qf/9vHM//bxzP/Ywij/7eKZ/+fBxP/NfYP/8+Di//Pg4v/rysz/xGVs//77
/P//////z8rH/2tbVP9rXFIyAAAAAG1dVe2CdW/98O/u/////////////v35/9G3AP/38tH/////////
///axTL/7eKZ/+fBxP/Qg4n////////////04+T/xGVs//77/P//////8fDv/2tbVP9sW1RtAAAAAG5e
Vs+ViYT+/////////////////v35/9G3AP/38tH////////////axTL/7eKZ/+fBxP/Qg4n/////////
///04+T/xGVs//77/P///////////31waftqW1OoAAAAAGxaU5NyY138/v7+/////////////v35/9G3
AP/Zwyr/2sUz/9rFM//Tugr/7eOb/+fBxP/Ga3L/0ISJ/9CEif/OfoT/xGVs//78/P///////////6CW
kv9tXlflAAAAAGpcU1lrW1T/5ePh//////////////79/+3imf/t4pn/7eKZ/+3imf/t4pr/+/nr//bm
5//nwcT/58HE/+fBxP/nwcT/7M3P/////////////////8K7uf9rW1T/alhYHW9eVR5rW1T/w726////
/////////////8rA9v+9sfT/vbH0/72x9P++svT/8vD9/+v4//+a2/3/mdv9/5nb/f+Z2/3/rOH9////
/////////////+Th4P9rW1T/bFtVVwAAAABtXlfnopeT/////////////Pv+/1s95P92Xej/fGTp/3xk
6f9hReX/v7P0/5vb/f8KqPn/M7b6/zO2+v8qs/r/AKT5//r9//////////////7+/v9yY1z8a1tUkQAA
AABqW1OofXBp+///////////+/r+/1s95P/h3Pr///////////97Y+n/vbH0/5nb/f8ytvr/////////
///R7/7/AKT5//n9//////////////////+ViYT+bl5WzwAAAABsW1Rta1tU//Hw7///////+/r+/1s9
5P/h3Pr///////////97Y+n/vbH0/5nb/f8ytvr////////////R7/7/AKT5//n9//////////////Dv
7v+CdW/9bV1V7QAAAABsXVM0a1tU/9DLyf//////+/r+/1s95P/GvPb/3tj6/97Y+v91W+j/vbH0/5nb
/f8osvr/zO3+/8zt/v+n4P3/AKT5//n9////////6+no/35wavxsXVX1altURgAAAACAQEAEbV1W9q6m
ov//////+/r+/1s95P9bPeT/Wz3k/1s95P9bPeT/ysH2/5nb/f8ApPn/AKT5/wCk+f8ApPn/EKr5//z+
///g3dv/dmdh/G1dVuptWFMxAAAAAAAAAAAAAAAAbFxVv4x/ev3/////////////////////////////
/////////////////////////////////////////////9jT0f9xYVv8bV5W32pcVSQAAAAAAAAAAAAA
AAAAAAAAa1tUg21dVv2mnJj/0s3L//r5+f//////////////////////////////////////////////
////////yMK//21dVv5tXFbKZllZFAAAAAAAAAAAAAAAAAAAAAAAAAAAaF5VG2pbVKNsXFXwa1tU/3Bg
Wv2Zjor+xsC9//Px8f////////////////////////////////+5sq//bFxV/2xcVbV0XV0LAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUDallVPGtcVIhtXVbba1tU/2tbVP6Ie3X9ta2p/+He
3f///////v7+/66mov9rW1T/bFpUoWZmZgUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAbFtVLWtcVHpsXVXLa1tU/mtbVP9/cWv7j4N+/2tbVP9rWlSFAAAAAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAZlxSGWxaVWZsXFW1bFxV8GtbU2sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8H
/0H8AP9B+AAPQfAAA0HgAANBwAADQYAAAUEAAAFBAAABQQAAAUEAAAFBAAAAQQAAAEGAAABBgAAAQYAA
AEGAAABBgAABQcAAA0HAAAdBwAAPQfAAH0H/AD9B/+D/QSgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJhW3tvYFn0dWZgsmxbVVdmVVUPAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAAnFiW5eCdG705OHg/8a/vf+UiYT0cWFa+Xdo
YcptXFVsb15VHgAAAAAAAAAAAAAAAAAAAAAAAAAAbUlJB3NkXbKMgHr09/b2//////////////////r5
+f/Szcv/oJeS9XNlXfZzZV7baVxVJwAAAAAAAAAAbVtbDnNjXciZj4n1+/r6////////////////////
///////////////////+/v7/pJqW+WxdVnYAAAAAamBVGHJkXdmnnpn2/f37/9S8E//axTP/2MIo/+XX
cP/eqa3/zX2D/9CEif/IcHf//v39/83Ixf92Z2C8AAAAAHJjXOC5sK36//////7++//bxjb///////Xw
yv/k1Gf/3KOn//Pf4P//////0IaL//79/f/w7u7/cWFb8gAAAAF0Zl/i4+Df///////+/vv/2cMr//bx
zP/u5aL/5NRn/9yjp//px8n/8+Di/85/hf/+/f3//////3hpYvNuWlMldGReo8K7uf////////79/+PU
Zv/j1Gb/49Rm//Dorv/qyMv/3KOn/9yjp//eqKz///7+//////+ajoryalxUXmpaVWCbkYzz//////7+
//+ikfD/nYvv/52L7//Lwfb/ruL9/2bI+/9myPv/b8z8//7/////////wbq3/3RlXqJuWlMleGli8///
///8/P//d17p/97Y+v/DuPX/nYvv/2fJ+/+i3v3/zO3+/yuz+v/7/v///////+Pg3/90Zl/iAAAAAXFh
W/Lw7u7//Pz//35m6v//////3df5/52L7/9nyfv/yuz+//////82t/r/+/7///////+5sK36cmNc4AAA
AAB2Z2G+zsnH//z8//9iReX/fGTp/3Vb6P+jkvD/Z8n7/yiy+v8ztvr/E6v5//v9/v+to5/4c2Nd3m1b
UhwAAAAAbF1WdqSalvn+/v7///////////////////////////////////////v6+v+Zj4r2c2ReyW1b
Ww4AAAAAAAAAAGlcVSdzZV7bc2Vd9qCXkvXSzcv/+vn5//////////////////f29v+MgHr0c2Rdsm1J
SQcAAAAAAAAAAAAAAAAAAAAAAAAAAG9eVR5rW1NrdGRexnBhWfiShoHvxr+9/uTh4P+CdG70c2RdmYCA
gAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmVVUPbFtVV3VmYLJvYFn0cmFbewAA
AAAAAAAAAAAAAAAAAAAAAAAA+D+sQeAHrEHAAaxBgAGsQQABrEEAAKxBAACsQQAArEEAAKxBAACsQQAA
rEGAAKxBgAGsQYADrEHgB6xB/B+sQQ==
</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAQAMDAAAAEAIACoJQAARgAAACAgAAABACAAqBAAAO4lAAAYGAAAAQAgAIgJAACWNgAAEBAAAAEA
IABoBAAAHkAAACgAAAAwAAAAYAAAAAEAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGxc
VU5rW1Tna1tU22paU5BsXVVCgEBABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAaltTZWtbVPxrW1T/a1tU/2tbVP9rW1T/a1tU7mtbU6VrXFNWbVtbDgAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABqWlR/a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU+Wta
VLprW1Nrb15VHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAVVVVA2tbVJhrW1T/a1tU/2tbVP+NgXz/2NPR/6+mov+Bc23/a1tU/2tb
VP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVc1sXFSAa1xSMgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABtSUkHa1xUqmtbVP9rW1T/a1tU/5iNiP/6+fn/////////
////////6+no/7+4tf+Sh4L/bV5X/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVOFrXFOZallTTW1J
SQcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGlaWhFqW1TCa1tU/2tbVP9rW1T/o5mV//38
/P//////////////////////////////////////9PPy/8jDwP+cko3/c2Nd/2tbVP9rW1T/a1tU/2tb
VP9rW1T/a1tU/2tbVPVrW1SzalxUXmlaWhEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAalhYHWtbVNRrW1T/a1tU/2tb
VP+1rar/////////////////////////////////////////////////////////////////+vn5/9LN
y/+lm5f/eGpj/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVPtrWlS9bFxVb2xdVSEAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrWVMra1tU42tb
VP9rW1T/bV1W/8S9u///////////////////////////////////////////////////////////////
/////////////////////////v7+/97a2f+xqKT/g3Zw/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tb
VP5qW1V4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGpZ
VTxrW1Tua1tU/2tbVP9wYVr/0czK////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////+ro5/+8tbL/j4N+/21d
Vv9rW1T/a1tU/2tbVP9rW1TpAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAbFxTUGtbVPZrW1T/a1tU/3VnYP/d2df/////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
//////////////Tz8v/Iw8D/dmdh/2tbVP9rW1T/blpTJQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABsXFRha1tU+2tbVP9rW1T/emxl/+Th4P//////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////m5CL/2tbVP9rW1T/a1tTXwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAGtaVHdrW1T/a1tU/2tbVP+DdnD/7uzs/////////////Pvw//z6
7v/8+u7//Pru//z67v/8+u7//Pru//z67v/9/PT///////////////////////z4+f/79fX/+/X1//v1
9f/79fX/+/X1//v19f/79fX//Pb2////////////////////////////vLWy/2tbVP9rW1T/a1xTmQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUDa1tUmGtbVP9rW1T/a1tU/4t/ev/08/L/////////
///cyT7/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/6Nt+////////////4bG1/8Rl
bP/EZWz/xGVs/8RlbP/EZWz/xGVs/8RlbP/EZWz/xGVs/9KKkP//////////////////////3tvZ/2tb
VP9rW1T/a1tU1AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1JSQdrW1Sra1tU/2tbVP9rW1T/mY6J//r5
+f////////////389f/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/28Y1////
////////0IWL/8RlbP/EZWz/xGVs/8RlbP/EZWz/xGVs/8RlbP/EZWz/xGVs/8RlbP/9+fn/////////
/////////Pz8/3BhWv9rW1T/a1tU/nFVVRIAAAAAAAAAAAAAAAAAAAAAaVpaEWtcVMNrW1T/a1tU/2tb
VP+kmpb//fz8//////////////////389P/RtwD/0bcA/+TVbP/w56r/8Oeq//Dnqv/w56r/8Oeq/93K
Qv/RtwD/28Y1////////////0IWL/8RlbP/TjZL/68zO/+vMzv/rzM7/68zO/+vMzv/dpqr/xGVs/8Rl
bP/8+Pn//////////////////////46CfP9rW1T/a1tU/2xbVEkAAAAAAAAAAAAAAABsWFgaa1xU0Wtb
VP9rW1T/a1tU/7CopP////////////////////////////389P/RtwD/0bcA/+7lov//////////////
/////////////+PTY//RtwD/28Y1////////////0IWL/8RlbP/boaX/////////////////////////
///px8n/xGVs/8RlbP/8+Pn//////////////////////7CopP9rW1T/a1tU/2tbVIMAAAAAAAAAAAAA
AABqXFTOa1tU/2tbVP9tXlf/xr+9//////////////////////////////////389P/RtwD/0bcA/+7l
ov///////////////////////////+PTY//RtwD/28Y1////////////0IWL/8RlbP/boaX/////////
///////////////////px8n/xGVs/8RlbP/8+Pn//////////////////////9LNy/9rW1T/a1tU/2tb
VL8AAAAAAAAAAAAAAABrW1Tva1tU/2tbVP/KxML///////////////////////////////////////38
9P/RtwD/0bcA/+7lov///////////////////////////+PTY//RtwD/28Y1////////////0IWL/8Rl
bP/boaX////////////////////////////px8n/xGVs/8RlbP/8+Pn///////////////////////Py
8v9sXFX/a1tU/2tbVPRmZmYFAAAAAAAAAABrW1W4a1tU/2tbVP/Oycf/////////////////////////
//////////////389P/RtwD/0bcA/+7lov///////////////////////////+PTY//RtwD/28Y1////
////////0IWL/8RlbP/boaX////////////////////////////px8n/xGVs/8RlbP/8+Pn/////////
//////////////////+CdG7/a1tU/2tbVP9sXVM0AAAAAAAAAABqWlR/a1tU/2tbVP+tpKD/////////
//////////////////////////////389P/RtwD/0bcA/+7lov///////////////////////////+PT
Y//RtwD/28Y1////////////0IWL/8RlbP/boaX////////////////////////////px8n/xGVs/8Rl
bP/8+Pn///////////////////////////+jmZX/a1tU/2tbVP9rWlNuAAAAAAAAAABtWlNEa1tU/2tb
VP+Lfnn///////////////////////////////////////389P/RtwD/0bcA/93JQf/j1Gb/49Rm/+PU
Zv/j1Gb/49Rm/9jCJ//RtwD/28Y1////////////0IWL/8RlbP/NfYL/3KOn/9yjp//co6f/3KOn/9yj
p//TjJH/xGVs/8RlbP/8+Pn////////////////////////////Fv7z/a1tU/2tbVP9qW1OoAAAAAAAA
AABqVVUMa1tU+2tbVP9uXlf/+fn4//////////////////////////////////389P/RtwD/0bcA/9G3
AP/RtwD/0bcA/9G3AP/RtwD/0bcA/9G3AP/RtwD/28c5////////////0IWL/8RlbP/EZWz/xGVs/8Rl
bP/EZWz/xGVs/8RlbP/EZWz/xGVs/8Rmbf/9+vr////////////////////////////n5eT/a1tU/2tb
VP9rW1TkAAAAAAAAAAAAAAAAa1tUz2tbVP9rW1T/3NjW//////////////////////////////////38
9v/axTP/2sUz/9rFM//axTP/2sUz/9rFM//axTP/2sUz/9rFM//bxzj/8Ois////////////2p2i/9CE
if/QhIn/0ISJ/9CEif/QhIn/0ISJ/9CEif/QhIn/0ISJ/+GwtP//////////////////////////////
///+/v7/dWdg/2tbVP9rW1T/alhYHQAAAAAAAAAAa1tUlGtbVP9rW1T/ubKv////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////l4uG/2tbVP9rW1T/a1pUWAAAAAAAAAAAbFtVWmtbVP9rW1T/mI2I////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////uLGt/2tbVP9rW1T/a1tUkgAAAAAAAAAAa1pSH2tb
VP9rW1T/dmdh//7+/v////////////////////////////////+rnPH/fGTp/3xk6f98ZOn/fGTp/3xk
6f98ZOn/fGTp/3xk6f9/aOr/ysD2////////////rOH9/zi4+v8ztvr/M7b6/zO2+v8ztvr/M7b6/zO2
+v8ztvr/M7b6/33R/P//////////////////////////////////////2tbV/2tbVP9rW1T/a1tVzQAA
AAAAAAAAAAAAAGtbVONrW1T/a1tU/+jm5f////////////////////////////r5/v9cPuT/Wz3k/1s9
5P9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s95P9bPeT/gGjq////////////Obj6/wCk+f8ApPn/AKT5/wCk
+f8ApPn/AKT5/wCk+f8ApPn/AKT5/wGk+f/3/P//////////////////////////////////+vn5/25f
WP9rW1T/a1tU/GpVVQwAAAAAAAAAAGtcVKprW1T/a1tU/8bAvf////////////////////////////j3
/v9bPeT/Wz3k/4Vu6/+di+//nYvv/52L7/+di+//nYvv/3Rb6P9bPeT/fWXq////////////Nbf6/wCk
+f8nsvr/Zsj7/2bI+/9myPv/Zsj7/2bI+/9Bu/v/AKT5/wCk+f/0+///////////////////////////
/////////////4p9eP9rW1T/a1tU/2xdVUIAAAAAAAAAAGtbVHBrW1T/a1tU/6Sblv//////////////
//////////////j3/v9bPeT/Wz3k/8O49f///////////////////////////5uI7v9bPeT/fWXq////
////////Nbf6/wCk+f9jx/v///////////////////////////+i3v3/AKT5/wCk+f/0+///////////
/////////////////////////////6yjn/9rW1T/a1tU/2pcVH0AAAAAAAAAAGxdUzRrW1T/a1tU/4J0
bv////////////////////////////j3/v9bPeT/Wz3k/8O49f///////////////////////////5uI
7v9bPeT/fWXq////////////Nbf6/wCk+f9jx/v///////////////////////////+i3v3/AKT5/wCk
+f/0+////////////////////////////////////////87Jx/9rW1T/a1tU/2tbVbgAAAAAAAAAAGZm
ZgVrW1T0a1tU/2xcVf/z8vL///////////////////////j3/v9bPeT/Wz3k/8O49f//////////////
/////////////5uI7v9bPeT/fWXq////////////Nbf6/wCk+f9jx/v/////////////////////////
//+i3v3/AKT5/wCk+f/0+////////////////////////////////////////8rEwv9rW1T/a1tU/2tb
VO8AAAAAAAAAAAAAAABrW1S/a1tU/2tbVP/Szcv///////////////////////j3/v9bPeT/Wz3k/8O4
9f///////////////////////////5uI7v9bPeT/fWXq////////////Nbf6/wCk+f9jx/v/////////
//////////////////+i3v3/AKT5/wCk+f/0+///////////////////////////////////xr+9/21e
V/9rW1T/a1tU/2pcVM4AAAAAAAAAAAAAAABrWlSFa1tU/2tbVP+xqaX///////////////////////j3
/v9bPeT/Wz3k/8O49f///////////////////////////5uI7v9bPeT/fWXq////////////Nbf6/wCk
+f9jx/v///////////////////////////+i3v3/AKT5/wCk+f/0+///////////////////////////
//+6sq//bFxV/2tbVP9rW1T/a1tT1m9eVR4AAAAAAAAAAAAAAABpXFVLa1tU/2tbVP+Pg37/////////
//////////////j3/v9bPeT/Wz3k/6CP7//Ivvb/yL72/8i+9v/Ivvb/yL72/4Vv6/9bPeT/fWXq////
////////Nbf6/wCk+f9CvPv/quH9/6rh/f+q4f3/quH9/6rh/f9sy/z/AKT5/wCk+f/0+///////////
/////////f39/6ifmv9rW1T/a1tU/2tbVP9rW1TIZllZFAAAAAAAAAAAAAAAAAAAAABpWloRa1tU/Wtb
VP9wYVr//Pv7//////////////////j3/v9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s9
5P9bPeT/fWXq////////////Nbf6/wCk+f8ApPn/AKT5/wCk+f8ApPn/AKT5/wCk+f8ApPn/AKT5/wCk
+f/1+//////////////7+vr/nZKO/2tbVP9rW1T/a1tU/2tcVbJmZk0KAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAa1tT1mtbVP9rW1T/4Nzb//////////////////j3/v9bPeT/Wz3k/1s95P9bPeT/Wz3k/1s9
5P9bPeT/Wz3k/1s95P9bPeT/rJ3x////////////Nbf6/wCk+f8ApPn/AKT5/wCk+f8ApPn/AKT5/wCk
+f8ApPn/AKT5/z66+v////////////b19P+Pg37/a1tU/2tbVP9rW1T/a1tTn4BAQAQAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAa1pUm2tbVP9rW1T/vbaz//////////////////7+///08v3/9PL9//Ty
/f/08v3/9PL9//Ty/f/08v3/9PL9//Ty/f/49/7/////////////////8vr//+75///u+f//7vn//+75
///u+f//7vn//+75///u+f//8Pr/////////////8O/u/4Z5dP9rW1T/a1tU/2tbVP9rXFSIAAAAAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbFxUYWtbVP9rW1T/nJGM////////////////////
////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////n5eT/fG5o/2tbVP9rW1T/a1tU/Gta
VWkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAblpTJWtbVP9rW1T/dmdh/8jD
wP/08/L/////////////////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////93Z1/91Z2D/a1tU/2tb
VP9rW1T2bFxTUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAWtb
VOlrW1T/a1tU/2tbVP9tXVb/j4N+/7y1sv/q6Of/////////////////////////////////////////
////////////////////////////////////////////////////////////////////////0czK/3Bh
Wv9rW1T/a1tU/2tbVO5qWVU8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAGpbVXhrW1T+a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/g3Zw/7GopP/e2tn//v7+////
////////////////////////////////////////////////////////////////////////////////
///Evbv/bV1W/2tbVP9rW1T/a1tU42tZUysAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABsXVUhbFxVb2taVL1rW1T7a1tU/2tbVP9rW1T/a1tU/2tb
VP9rW1T/eGpj/6Wbl//Szcv/+vn5////////////////////////////////////////////////////
/////////////7Wtqv9rW1T/a1tU/2tbVP9rW1TUalhYHQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABpWloRbFpUVWtb
U6JrW1Twa1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/cGFa/5KHgv+/uLX/8O/u////////////////////
///////////////////9/f3/p56a/2tbVP9rW1T/a1tU/2pbVcdmWVkUAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABVVVUDallVPGtbVJFrW1Pia1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/bFxV/4l8
dv+1ran/4d7d//////////////////v6+v+cko3/a1tU/2tbVP9rW1T/a1tUsXFVVQkAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAa1xSMmxcVIBrW1XNa1tU/2tb
VP9rW1T/a1tU/2tbVP9rW1T/a1tU/4Fzbf+vpqL/2NPR/42BfP9rW1T/a1tU/2tbVP9rW1SYVVVVAwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAb15VHmtbU2trWlS6a1tU+WtbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2tbVP9rW1T/a1tU/2pa
VH8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbVtbDmtcU1ZrW1Ola1tU7mtbVP9rW1T/a1tU/2tb
VP9rW1T8altTZQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgEBABGxd
VUJqWlOQa1tU22tbVOdsXFVOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD//4H///+sEP//AD///6wQ//4AB///rBD/+AAA//+sEP/w
AAAP/6wQ/+AAAAH/rBD/wAAAAD+sEP+AAAAAH6wQ/wAAAAAPrBD+AAAAAA+sEPwAAAAAD6wQ+AAAAAAP
rBDgAAAAAA+sEMAAAAAAB6wQgAAAAAAHrBAAAAAAAAesEAAAAAAAB6wQAAAAAAADrBAAAAAAAAOsEAAA
AAAAA6wQAAAAAAADrBAAAAAAAAOsEIAAAAAAAawQgAAAAAABrBCAAAAAAAGsEIAAAAAAAawQwAAAAAAA
rBDAAAAAAACsEMAAAAAAAKwQwAAAAAAArBDAAAAAAACsEOAAAAAAAKwQ4AAAAAAArBDgAAAAAAGsEOAA
AAAAA6wQ8AAAAAAHrBDwAAAAAA+sEPAAAAAAP6wQ8AAAAAB/rBDwAAAAAP+sEPgAAAAB/6wQ/AAAAAP/
rBD/gAAAB/+sEP/wAAAP/6wQ//8AAB//rBD//+AAf/+sEP///AD//6wQ////gf//rBAoAAAAIAAAAEAA
AAABACAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAABsXFRha1tU7GtbVcFqW1RzalxVJAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAbFtVe2tbVP5rW1T/a1tU/2tbVP9rW1T/a1tT1mtcVIhrWVU5gICAAgAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAVVVVA2xbVJVrW1T/bV5X/8K7uf/RzMr/pJqW/3hpY/9rW1T/a1tU/2tb
VP9rW1TpalxTnGxcVU5mZk0KAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAG1JSQdrW1Spa1tU/29fWf/Oycf//////////////////v7+/+He
3f+1ran/iXx2/2tbVP9rW1T/a1tU/2tbVPZqW1W7bFxVb2xYWBoAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABwYFAQbFxUwGtbVP91ZmD+3trZ////////////////////
////////////////////////6efm/7y0sf+Ogn3/bV1W/2tbVP9rW1T/a1tU/WtbVMZrWlR3ZlVVDwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAaF5VG2tbVNJrW1T/fW9p/+fl5P//////////////
///////////////////////////////////////////////////z8vL/x8G//5uQi/9xYlv/a1tU/2tb
VP9rW1SPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGpdVylrW1Tha1tU/4V4cv/w7u7/////////
//////////////////////////////////////////////////////////////////////////////r6
+v/Evbv/a1tU/2xbVMwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABrXVM3a1tU62tbVP+MgHr/9PPy////
////////////////////////////////////////////////////////////////////////////////
//////////////v6+v9vX1n/a1tU+2pVVQwAAAAAAAAAAAAAAAAAAAAAallTTWtbVPVrW1T/mY6K//r5
+f///v3/1r8d/9G3AP/RtwD/0bcA/9G3AP/RtwD/07oL//r34//57u//x2xy/8RlbP/EZWz/xGVs/8Rl
bP/EZWz/y3d9///+/v///////////4yAev9rW1T/alpSQQAAAAAAAAAAAAAAAGpaVWBrW1T7a1tU/6mg
nP/+/v7///////799//RtwD/2cMr/+PUZv/j1Gb/49Rm/9zIPP/RtwD/9vHM//Pg4v/EZWz/0omP/9yj
p//co6f/3KOn/85/hf/EZWz//fr6////////////rqai/2tbVP9sW1V7AAAAAAAAAABrW1R5a1tU/2xc
Vf+4sa3//////////////////v33/9G3AP/k1Wz/////////////////7OGW/9G3AP/28cz/8+Di/8Rl
bP/nwML/////////////////3aaq/8RlbP/9+vr////////////RzMn/a1tU/2pbVLYAAAAAAAAAAGtb
VO5rW1T/w726///////////////////////+/ff/0bcA/+TVbP/////////////////s4Zb/0bcA//bx
zP/z4OL/xGVs/+fAwv/////////////////dpqr/xGVs//36+v////////////Lw8P9rW1T/a1tU74CA
gAIAAAAAa1tUxWtbVP/Z1dP///////////////////////799//RtwD/5NVs/////////////////+zh
lv/RtwD/9vHM//Pg4v/EZWz/58DC/////////////////92mqv/EZWz//fr6/////////////////4By
bP9rW1T/aF1RLAAAAABqXFSLa1tU/7iwrf///////////////////////v33/9G3AP/dyUH/7eKZ/+3i
mf/t4pn/4dBa/9G3AP/28cz/8+Di/8RlbP/Zm6D/58HE/+fBxP/nwcT/04yR/8RlbP/9+vr/////////
////////opeT/2tbVP9qW1NlAAAAAGtbVVFrW1T/louG///////////////////////+/ff/0bcA/9G3
AP/RtwD/0bcA/9G3AP/RtwD/0bcB//n12//z4OL/xGVs/8RlbP/EZWz/xGVs/8RlbP/EZWz/x2xy//79
/f/////////////////Dvbr/a1tU/2tbU58AAAAAaF1RFmtbVP90ZV///v7+///////////////////+
/f/28cz/9vHM//bxzP/28cz/9vHM//bxzP/49dr///////35+f/z4OL/8+Di//Pg4v/z4OL/8+Di//Pg
4v/47e7//////////////////////+Xi4f9rW1T/altU2gAAAAAAAAAAa1xT3GtbVP/m4+L/////////
/////////////+zp/P/e2Pr/3tj6/97Y+v/e2Pr/3tj6/+fj+////////////9ry/v/M7f7/zO3+/8zt
/v/M7f7/zO3+/+L1/v///////////////////////v7+/3VmX/9rW1T+aF1RFgAAAABsWlSha1tU/8S+
u//////////////////8/P//YkXl/1s95P9bPeT/Wz3k/1s95P9bPeT/XD7k/+jk+//b8v7/AaT5/wCk
+f8ApPn/AKT5/wCk+f8ApPn/C6j5//v+////////////////////////lYmE/2tbVP9rWlRPAAAAAGpc
VGdrW1T/o5mU//////////////////r5/v9bPeT/hW7r/72x9P+9sfT/vbH0/5WB7v9bPeT/3tj6/8zt
/v8ApPn/WsT7/5nb/f+Z2/3/mdv9/0G7+/8ApPn/9/z///////////////////////+2r6v/a1tU/2pb
VIkAAAAAaF1RLGtbVP+Acmz/////////////////+vn+/1s95P+gj+//////////////////u6/0/1s9
5P/e2Pr/zO3+/wCk+f+W2v3/////////////////bMv8/wCk+f/3/P///////////////////////9nV
0/9rW1T/a1tUxQAAAACAgIACa1tU72tbVP/y8PD////////////6+f7/Wz3k/6CP7///////////////
//+7r/T/Wz3k/97Y+v/M7f7/AKT5/5ba/f////////////////9sy/z/AKT5//f8////////////////
////////w726/2tbVP9rW1TuAAAAAAAAAABqW1S2a1tU/9HMyf////////////r5/v9bPeT/oI/v////
/////////////7uv9P9bPeT/3tj6/8zt/v8ApPn/ltr9/////////////////2zL/P8ApPn/9/z/////
/////////////7ixrf9sXFX/a1tU/2tbVHkAAAAAAAAAAGpcVH1rW1T/r6ej////////////+vn+/1s9
5P93Xun/nYvv/52L7/+di+//gmvq/1s95P/e2Pr/zO3+/wCk+f88ufr/Zsj7/2bI+/9myPv/K7P6/wCk
+f/3/P////////7+/v+upaH/a1tU/2tbVPxqXFRnAAAAAAAAAAAAAAAAa1tUQ2tbVP+NgXz/////////
///6+f7/Wz3k/1s95P9bPeT/Wz3k/1s95P9bPeT/YkXl/+3q/P/M7f7/AKT5/wCk+f8ApPn/AKT5/wCk
+f8ApPn/Ha76//3+///7+vr/nZOO/2tbVP9rWlT4altVVAAAAAAAAAAAAAAAAAAAAAB0XV0La1tU+29f
Wf/7+vr/////////////////////////////////////////////////////////////////////////
////////////////////////9vX0/5CEfv9rW1T/bFxU72pZVTwAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AABsW1TMa1tU/8S9u//6+vr/////////////////////////////////////////////////////////
//////////////////////////////Du7v+FeHL/a1tU/2tbVOFqXVcpAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAGtbVI9rW1T/a1tU/3FiW/+bkIv/x8G///Py8v//////////////////////////////
///////////////////////////////////n5eT/fW9p/2tbVP9rW1TSaF5VGwAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAZlVVD2taVHdrW1TGa1tU/WtbVP9rW1T/bV1W/46Cff+8tLH/6efm////
////////////////////////////////////////3trZ/3ZnYf9rW1T/bFxUwHBgUBAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmWVkUalxUXmtcVKprW1Tya1tU/2tb
VP9rW1T/f3Fr/6uinv/Y09H//fz8/////////////////9LNy/9xYVv/a1tU/2paVa9xVVUJAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGZm
TQpsXFVOalxTnGtbVOlrW1T/a1tU/2tbVP94aWP/pJqW/9HMyv/Cu7n/bV5X/2tbVP9sW1SVVVVVAwAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAgICAAmtZVTlrXFSIa1tT1mtbVP9rW1T/a1tU/2tbVP9rW1T+bFtVewAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAalxVJGpbVHNrW1XBa1tU7Gxc
VGEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/g////wA///wAB//4A
AD/8AAAH+AAAB/AAAAfgAAADwAAAA4AAAAMAAAADAAAAAQAAAAEAAAABAAAAAQAAAAGAAAAAgAAAAIAA
AACAAAAAgAAAAMAAAADAAAABwAAAA8AAAAfgAAAP4AAAH+AAAD/8AAB//4AA///wA////wf/KAAAABgA
AAAwAAAAAQAgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAa1tTa2xcVfBsXFW1bFpVZmZcUhkAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAFrWlSFa1tU/4+Dfv+AcWv8a1tU/2tb
VP5tXlbMa1xUemxbVS0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAVVVVA2xbVJprW1T/qqCc//7+/v//////6+no/7+4tf+RhoH9bF1W/mtbVP9tXlbia1xTmWpZ
U02AVVUGAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAB0XV0LbFxVtWxcVf+5sq//////////
////////////////////////8/Hx/8bAvf+Zjor/cGBa/WtbVP9tXVbxaltUo2heVRsAAAAAAAAAAAAA
AAAAAAAAAAAAAGZZWRRtXFbKbV1W/sjCv///////////////////////////////////////////////
////////+vn5/9LNy/+mnJj/bV1W/WtbVIMAAAAAAAAAAAAAAAAAAAAAaFhYIG1eV9pvYFn808/N////
////////////////////////////////////////////////////////////////////////in55/W1d
Vr4AAAAAAAAAAAAAAABoXVEsbV5X53NlXvzd2tj//v78/9S8EP/RtwD/0bcA/9G3AP/RtwD/8Oit/+zN
0P/EZWz/xGVs/8RlbP/EZWz/yG91//79/f//////raSg/2xcVfaAQEAEAAAAAGxcVEBtXVbzfG5n++jm
5f///////v35/9G3AP/v5qf/9vHM//bxzP/Ywij/7eKZ/+fBxP/NfYP/8+Di//Pg4v/rysz/xGVs//77
/P//////z8rH/2tbVP9rXFIyAAAAAG1dVe2CdW/98O/u/////////////v35/9G3AP/38tH/////////
///axTL/7eKZ/+fBxP/Qg4n////////////04+T/xGVs//77/P//////8fDv/2tbVP9sW1RtAAAAAG5e
Vs+ViYT+/////////////////v35/9G3AP/38tH////////////axTL/7eKZ/+fBxP/Qg4n/////////
///04+T/xGVs//77/P///////////31waftqW1OoAAAAAGxaU5NyY138/v7+/////////////v35/9G3
AP/Zwyr/2sUz/9rFM//Tugr/7eOb/+fBxP/Ga3L/0ISJ/9CEif/OfoT/xGVs//78/P///////////6CW
kv9tXlflAAAAAGpcU1lrW1T/5ePh//////////////79/+3imf/t4pn/7eKZ/+3imf/t4pr/+/nr//bm
5//nwcT/58HE/+fBxP/nwcT/7M3P/////////////////8K7uf9rW1T/alhYHW9eVR5rW1T/w726////
/////////////8rA9v+9sfT/vbH0/72x9P++svT/8vD9/+v4//+a2/3/mdv9/5nb/f+Z2/3/rOH9////
/////////////+Th4P9rW1T/bFtVVwAAAABtXlfnopeT/////////////Pv+/1s95P92Xej/fGTp/3xk
6f9hReX/v7P0/5vb/f8KqPn/M7b6/zO2+v8qs/r/AKT5//r9//////////////7+/v9yY1z8a1tUkQAA
AABqW1OofXBp+///////////+/r+/1s95P/h3Pr///////////97Y+n/vbH0/5nb/f8ytvr/////////
///R7/7/AKT5//n9//////////////////+ViYT+bl5WzwAAAABsW1Rta1tU//Hw7///////+/r+/1s9
5P/h3Pr///////////97Y+n/vbH0/5nb/f8ytvr////////////R7/7/AKT5//n9//////////////Dv
7v+CdW/9bV1V7QAAAABsXVM0a1tU/9DLyf//////+/r+/1s95P/GvPb/3tj6/97Y+v91W+j/vbH0/5nb
/f8osvr/zO3+/8zt/v+n4P3/AKT5//n9////////6+no/35wavxsXVX1altURgAAAACAQEAEbV1W9q6m
ov//////+/r+/1s95P9bPeT/Wz3k/1s95P9bPeT/ysH2/5nb/f8ApPn/AKT5/wCk+f8ApPn/EKr5//z+
///g3dv/dmdh/G1dVuptWFMxAAAAAAAAAAAAAAAAbFxVv4x/ev3/////////////////////////////
/////////////////////////////////////////////9jT0f9xYVv8bV5W32pcVSQAAAAAAAAAAAAA
AAAAAAAAa1tUg21dVv2mnJj/0s3L//r5+f//////////////////////////////////////////////
////////yMK//21dVv5tXFbKZllZFAAAAAAAAAAAAAAAAAAAAAAAAAAAaF5VG2pbVKNsXFXwa1tU/3Bg
Wv2Zjor+xsC9//Px8f////////////////////////////////+5sq//bFxV/2xcVbV0XV0LAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABVVVUDallVPGtcVIhtXVbba1tU/2tbVP6Ie3X9ta2p/+He
3f///////v7+/66mov9rW1T/bFpUoWZmZgUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAbFtVLWtcVHpsXVXLa1tU/mtbVP9/cWv7j4N+/2tbVP9rWlSFAAAAAQAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
AAAAAAAAZlxSGWxaVWZsXFW1bFxV8GtbU2sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP8H
/0H8AP9B+AAPQfAAA0HgAANBwAADQYAAAUEAAAFBAAABQQAAAUEAAAFBAAAAQQAAAEGAAABBgAAAQYAA
AEGAAABBgAABQcAAA0HAAAdBwAAPQfAAH0H/AD9B/+D/QSgAAAAQAAAAIAAAAAEAIAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHJhW3tvYFn0dWZgsmxbVVdmVVUPAAAAAAAA
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAAnFiW5eCdG705OHg/8a/vf+UiYT0cWFa+Xdo
YcptXFVsb15VHgAAAAAAAAAAAAAAAAAAAAAAAAAAbUlJB3NkXbKMgHr09/b2//////////////////r5
+f/Szcv/oJeS9XNlXfZzZV7baVxVJwAAAAAAAAAAbVtbDnNjXciZj4n1+/r6////////////////////
///////////////////+/v7/pJqW+WxdVnYAAAAAamBVGHJkXdmnnpn2/f37/9S8E//axTP/2MIo/+XX
cP/eqa3/zX2D/9CEif/IcHf//v39/83Ixf92Z2C8AAAAAHJjXOC5sK36//////7++//bxjb///////Xw
yv/k1Gf/3KOn//Pf4P//////0IaL//79/f/w7u7/cWFb8gAAAAF0Zl/i4+Df///////+/vv/2cMr//bx
zP/u5aL/5NRn/9yjp//px8n/8+Di/85/hf/+/f3//////3hpYvNuWlMldGReo8K7uf////////79/+PU
Zv/j1Gb/49Rm//Dorv/qyMv/3KOn/9yjp//eqKz///7+//////+ajoryalxUXmpaVWCbkYzz//////7+
//+ikfD/nYvv/52L7//Lwfb/ruL9/2bI+/9myPv/b8z8//7/////////wbq3/3RlXqJuWlMleGli8///
///8/P//d17p/97Y+v/DuPX/nYvv/2fJ+/+i3v3/zO3+/yuz+v/7/v///////+Pg3/90Zl/iAAAAAXFh
W/Lw7u7//Pz//35m6v//////3df5/52L7/9nyfv/yuz+//////82t/r/+/7///////+5sK36cmNc4AAA
AAB2Z2G+zsnH//z8//9iReX/fGTp/3Vb6P+jkvD/Z8n7/yiy+v8ztvr/E6v5//v9/v+to5/4c2Nd3m1b
UhwAAAAAbF1WdqSalvn+/v7///////////////////////////////////////v6+v+Zj4r2c2ReyW1b
Ww4AAAAAAAAAAGlcVSdzZV7bc2Vd9qCXkvXSzcv/+vn5//////////////////f29v+MgHr0c2Rdsm1J
SQcAAAAAAAAAAAAAAAAAAAAAAAAAAG9eVR5rW1NrdGRexnBhWfiShoHvxr+9/uTh4P+CdG70c2RdmYCA
gAIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABmVVUPbFtVV3VmYLJvYFn0cmFbewAA
AAAAAAAAAAAAAAAAAAAAAAAA+D+sQeAHrEHAAaxBgAGsQQABrEEAAKxBAACsQQAArEEAAKxBAACsQQAA
rEGAAKxBgAGsQYADrEHgB6xB/B+sQQ==
</value>
</data>
</root>

View File

@ -1,41 +0,0 @@
using System.Collections.Generic;
using System.Drawing;
namespace AppLauncher.Models
{
public class LauncherSession
{
public class HotKeyOptions
{
public bool IsCtrl { get; set; } = false;
public bool IsAlt { get; set; } = false;
public bool IsShift { get; set; } = false;
public int Key { get; set; } = (int)System.Windows.Forms.Keys.None;
public int ModifierCode => ((this.IsAlt ? 1 : 0) + (this.IsCtrl ? 2 : 0) + (this.IsShift ? 4 : 0));
public System.Windows.Forms.Keys KeyCode => (System.Windows.Forms.Keys)this.Key;
}
public enum AutoSaveOption
{
Prompt = 0,
Yes,
No
}
public int DefaultHeight { get; set; } = 280;
public HotKeyOptions HotKey { get; set; } = null;
public bool AlwaysOnTop { get; set; } = false;
public bool EnableAnimation { get; set; } = false;
public bool EnableBigIconInFolder { get; set; } = false;
public bool HideOnClose { get; set; } = false;
public bool HideOnClick { get; set; } = false;
public AutoSaveOption AutoSave { get; set; } = AutoSaveOption.Prompt;
public List<TileGroupModel> Groups { get; set; } = new List<TileGroupModel>();
public Point StartPosition { get; set; } = Point.Empty;
}
}

View File

@ -1,14 +0,0 @@
using System.Collections.Generic;
using System.Drawing;
namespace AppLauncher.Models
{
public class TileGroupModel
{
public string Title { get; set; }
public bool IsExpanded { get; set; } = false;
public bool IsExclusive { get; set; } = false;
public List<TileModel> Items { get; set; } = new List<TileModel>();
public Size GridSize = new Size(0, 0);
}
}

View File

@ -1,100 +0,0 @@
using System;
using System.Collections.Generic;
using System.Diagnostics;
using System.Drawing;
namespace AppLauncher.Models
{
public class TileModel
{
public string Title { get; set; }
public string ProcessFilename { get; set; }
public string ProcessArgument { get; set; }
public string ProcessWorkingDirectory { get; set; }
public ProcessWindowStyle ProcessWindowStyle { get; set; } = ProcessWindowStyle.Normal;
public bool ProcessAsAdmin { get; set; } = false;
public Point Position { get; set; }
public bool IsGroup { get; set; } = false;
public List<TileModel> Items { get; set; } = new List<TileModel>();
public override string ToString() => this.Title ?? string.Empty;
public string CleanProcessFilename => (string.IsNullOrWhiteSpace(this.ProcessFilename) ? string.Empty : resolvePath(this.ProcessFilename));
public string CleanProcessArgument => (string.IsNullOrWhiteSpace(this.ProcessArgument) ? string.Empty : resolvePath(this.ProcessArgument));
public string CleanProcessWorkingDirectory => (string.IsNullOrWhiteSpace(this.ProcessWorkingDirectory) ? string.Empty : resolvePath(this.ProcessWorkingDirectory));
protected string resolvePath(string value)
{
string rv = Environment.ExpandEnvironmentVariables(value);
rv = resolveFirstPath(rv);
rv = resolveLastPath(rv);
return rv;
}
protected string resolveFirstPath(string value)
{
const string last = "%FIRST%";
if (!value.Contains(last))
{
return value;
}
string head = value.Substring(0, value.IndexOf(last));
string tail = value.Substring(value.IndexOf(last) + last.Length);
string[] dirList = new string[0];
try
{
dirList = System.IO.Directory.GetDirectories(head, "*", System.IO.SearchOption.TopDirectoryOnly);
}
catch
{
// do nothing
}
if (dirList.Length <= 0)
{
return value;
}
return dirList[0] + tail;
}
protected string resolveLastPath(string value)
{
const string last = "%LAST%";
if (!value.Contains(last))
{
return value;
}
string head = value.Substring(0, value.IndexOf(last));
string tail = value.Substring(value.IndexOf(last) + last.Length);
string[] dirList = new string[0];
try
{
dirList = System.IO.Directory.GetDirectories(head, "*", System.IO.SearchOption.TopDirectoryOnly);
}
catch
{
// do nothing
}
if (dirList.Length <= 0)
{
return value;
}
return dirList[(dirList.Length - 1)] + tail;
}
}
}

View File

@ -1,31 +0,0 @@
using System;
using System.Windows.Forms;
namespace AppLauncher
{
static class Program
{
const string applicationID = "f31c9f65-4047-41e4-ac85-dbe11d12ee46";
/// <summary>
/// The main entry point for the application.
/// </summary>
[STAThread]
static void Main()
{
System.Threading.Mutex mutex = new System.Threading.Mutex(false, applicationID);
if (mutex.WaitOne(TimeSpan.Zero))
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
mutex.ReleaseMutex();
}
mutex.Close();
mutex.Dispose();
mutex = null;
}
}
}

View File

@ -1,36 +0,0 @@
using System.Reflection;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
// General Information about an assembly is controlled through the following
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: AssemblyTitle("Fizzy Launcher")]
[assembly: AssemblyDescription("Application and shortcut launcher")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Hi, I'm Ray")]
[assembly: AssemblyProduct("Fizzy Launcher")]
[assembly: AssemblyCopyright("Copyright © Ray Lam 2020")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]
// Setting ComVisible to false makes the types in this assembly not visible
// to COM components. If you need to access a type in this assembly from
// COM, set the ComVisible attribute to true on that type.
[assembly: ComVisible(false)]
// The following GUID is for the ID of the typelib if this project is exposed to COM
[assembly: Guid("66c1c75c-3612-4d23-b937-c3de0d653292")]
// Version information for an assembly consists of the following four values:
//
// Major Version
// Minor Version
// Build Number
// Revision
//
// You can specify all the values or you can default the Build and Revision Numbers
// by using the '*' as shown below:
// [assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: AssemblyFileVersion("0.1.2.016")]

View File

@ -1,103 +0,0 @@
//------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
// Runtime Version:4.0.30319.42000
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
//------------------------------------------------------------------------------
namespace AppLauncher.Properties {
using System;
/// <summary>
/// A strongly-typed resource class, for looking up localized strings, etc.
/// </summary>
// This class was auto-generated by the StronglyTypedResourceBuilder
// class via a tool like ResGen or Visual Studio.
// To add or remove a member, edit your .ResX file then rerun ResGen
// with the /str option, or rebuild your VS project.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "16.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
internal class Resources {
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Resources() {
}
/// <summary>
/// Returns the cached ResourceManager instance used by this class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Resources.ResourceManager ResourceManager {
get {
if (object.ReferenceEquals(resourceMan, null)) {
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("AppLauncher.Properties.Resources", typeof(Resources).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Overrides the current thread's CurrentUICulture property for all
/// resource lookups using this strongly typed resource class.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
internal static global::System.Globalization.CultureInfo Culture {
get {
return resourceCulture;
}
set {
resourceCulture = value;
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap app_icon {
get {
object obj = ResourceManager.GetObject("app_icon", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap folder_32 {
get {
object obj = ResourceManager.GetObject("folder_32", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap toggle_left_ea_16 {
get {
object obj = ResourceManager.GetObject("toggle_left_ea_16", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap toggle_right_ea_16 {
get {
object obj = ResourceManager.GetObject("toggle_right_ea_16", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More