Mercurial > repos > IBBoard.Windows.Forms
changeset 0:d860e2c49f43
Initial commit of IBBoard libraries
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Fri, 19 Dec 2008 11:13:48 +0000 |
parents | |
children | 258ef411e698 |
files | AssemblyInfo.cs IBBoardWF.csproj IBBoardWF.csproj.user IBBoardWF.mdp IBBoardWF.pidb Windows/Forms/ColorableStatusBar.cs Windows/Forms/ColorableStatusBar.resx Windows/Forms/ColorableStatusBarPanel.cs Windows/Forms/ColorableStatusBarPanel.resources Windows/Forms/ColorableStatusBarPanel.resx Windows/Forms/Delegates.cs Windows/Forms/IBBButton.cs Windows/Forms/IBBForm.cs Windows/Forms/IBBLabel.cs Windows/Forms/IBBLabel.resources Windows/Forms/IBBLabel.resx Windows/Forms/IBBMenuItem.cs Windows/Forms/IBBMenuItem.resources Windows/Forms/IBBMenuItem.resx Windows/Forms/IBBToolBarButton.cs Windows/Forms/ListViewColumnSorter.cs |
diffstat | 18 files changed, 829 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/AssemblyInfo.cs Fri Dec 19 11:13:48 2008 +0000 @@ -0,0 +1,58 @@ +using System.Reflection; +using System.Runtime.CompilerServices; + +// +// 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("IBBoard.Windows.Forms")] +[assembly: AssemblyDescription("Custom System.Windows.Forms extensions, including translatable controls.")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("IBBoard.Windows.Forms")] +[assembly: AssemblyCopyright("IBBoard, 2007")] +[assembly: AssemblyTrademark("")] +[assembly: AssemblyCulture("")] + +// +// 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 Revision and Build Numbers +// by using the '*' as shown below: + +[assembly: AssemblyVersion("1.0.0.*")] + +// +// In order to sign your assembly you must specify a key to use. Refer to the +// Microsoft .NET Framework documentation for more information on assembly signing. +// +// Use the attributes below to control which key is used for signing. +// +// Notes: +// (*) If no key is specified, the assembly is not signed. +// (*) KeyName refers to a key that has been installed in the Crypto Service +// Provider (CSP) on your machine. KeyFile refers to a file which contains +// a key. +// (*) If the KeyFile and the KeyName values are both specified, the +// following processing occurs: +// (1) If the KeyName can be found in the CSP, that key is used. +// (2) If the KeyName does not exist and the KeyFile does exist, the key +// in the KeyFile is installed into the CSP and used. +// (*) In order to create a KeyFile, you can use the sn.exe (Strong Name) utility. +// When specifying the KeyFile, the location of the KeyFile should be +// relative to the project output directory which is +// %Project Directory%\obj\<configuration>. For example, if your KeyFile is +// located in the project directory, you would specify the AssemblyKeyFile +// attribute as [assembly: AssemblyKeyFile("..\\..\\mykey.snk")] +// (*) Delay Signing is an advanced option - see the Microsoft .NET Framework +// documentation for more information on this. +// +[assembly: AssemblyDelaySign(false)] +[assembly: AssemblyKeyFile("")] +[assembly: AssemblyKeyName("")]
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/IBBoardWF.csproj Fri Dec 19 11:13:48 2008 +0000 @@ -0,0 +1,147 @@ +<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <ProjectType>Local</ProjectType> + <ProductVersion>8.0.50727</ProductVersion> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{E3790268-2082-4975-B1A3-C70B37842CE8}</ProjectGuid> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ApplicationIcon> + </ApplicationIcon> + <AssemblyKeyContainerName> + </AssemblyKeyContainerName> + <AssemblyName>IBBoardWF</AssemblyName> + <AssemblyOriginatorKeyFile> + </AssemblyOriginatorKeyFile> + <DefaultClientScript>JScript</DefaultClientScript> + <DefaultHTMLPageLayout>Grid</DefaultHTMLPageLayout> + <DefaultTargetSchema>IE50</DefaultTargetSchema> + <DelaySign>false</DelaySign> + <OutputType>Library</OutputType> + <RootNamespace>IBBoard</RootNamespace> + <RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent> + <StartupObject> + </StartupObject> + <FileUpgradeFlags> + </FileUpgradeFlags> + <UpgradeBackupLocation> + </UpgradeBackupLocation> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <OutputPath>C:\Documents and Settings\ibboard\My Documents\Visual Studio 2005\Projects\IBBoardWF\bin\Debug\</OutputPath> + <AllowUnsafeBlocks>false</AllowUnsafeBlocks> + <BaseAddress>285212672</BaseAddress> + <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow> + <ConfigurationOverrideFile> + </ConfigurationOverrideFile> + <DefineConstants>DEBUG;TRACE</DefineConstants> + <DocumentationFile> + </DocumentationFile> + <DebugSymbols>true</DebugSymbols> + <FileAlignment>4096</FileAlignment> + <NoStdLib>false</NoStdLib> + <NoWarn> + </NoWarn> + <Optimize>false</Optimize> + <RegisterForComInterop>false</RegisterForComInterop> + <RemoveIntegerChecks>false</RemoveIntegerChecks> + <TreatWarningsAsErrors>false</TreatWarningsAsErrors> + <WarningLevel>4</WarningLevel> + <DebugType>full</DebugType> + <ErrorReport>prompt</ErrorReport> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <OutputPath>bin\Release\</OutputPath> + <AllowUnsafeBlocks>false</AllowUnsafeBlocks> + <BaseAddress>285212672</BaseAddress> + <CheckForOverflowUnderflow>false</CheckForOverflowUnderflow> + <ConfigurationOverrideFile> + </ConfigurationOverrideFile> + <DefineConstants>TRACE</DefineConstants> + <DocumentationFile> + </DocumentationFile> + <DebugSymbols>false</DebugSymbols> + <FileAlignment>4096</FileAlignment> + <NoStdLib>false</NoStdLib> + <NoWarn> + </NoWarn> + <Optimize>true</Optimize> + <RegisterForComInterop>false</RegisterForComInterop> + <RemoveIntegerChecks>false</RemoveIntegerChecks> + <TreatWarningsAsErrors>false</TreatWarningsAsErrors> + <WarningLevel>4</WarningLevel> + <DebugType>none</DebugType> + <ErrorReport>prompt</ErrorReport> + </PropertyGroup> + <ItemGroup> + <Reference Include="System"> + <Name>System</Name> + </Reference> + <Reference Include="System.Data"> + <Name>System.Data</Name> + </Reference> + <Reference Include="System.Drawing"> + <Name>System.Drawing</Name> + </Reference> + <Reference Include="System.Windows.Forms"> + <Name>System.Windows.Forms</Name> + </Reference> + <Reference Include="System.Xml"> + <Name>System.XML</Name> + </Reference> + <ProjectReference Include="..\IBBoard\IBBoard.csproj"> + <Name>IBBoard</Name> + <Project>{5DFD64F6-FC2B-4B4F-B92E-483BAC468105}</Project> + <Package>{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</Package> + </ProjectReference> + </ItemGroup> + <ItemGroup> + <Compile Include="AssemblyInfo.cs"> + <SubType>Code</SubType> + </Compile> + <Compile Include="Windows\Forms\ColorableStatusBar.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="Windows\Forms\ColorableStatusBarPanel.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="Windows\Forms\Delegates.cs" /> + <Compile Include="Windows\Forms\IBBButton.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="Windows\Forms\IBBForm.cs"> + <SubType>Form</SubType> + </Compile> + <Compile Include="Windows\Forms\IBBLabel.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="Windows\Forms\IBBMenuItem.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="Windows\Forms\IBBToolBarButton.cs"> + <SubType>Component</SubType> + </Compile> + <Compile Include="Windows\Forms\ListViewColumnSorter.cs"> + <SubType>Code</SubType> + </Compile> + <EmbeddedResource Include="Windows\Forms\ColorableStatusBar.resx"> + <DependentUpon>ColorableStatusBar.cs</DependentUpon> + </EmbeddedResource> + <EmbeddedResource Include="Windows\Forms\ColorableStatusBarPanel.resx"> + <DependentUpon>ColorableStatusBarPanel.cs</DependentUpon> + </EmbeddedResource> + <EmbeddedResource Include="Windows\Forms\IBBLabel.resx"> + <DependentUpon>IBBLabel.cs</DependentUpon> + </EmbeddedResource> + <EmbeddedResource Include="Windows\Forms\IBBMenuItem.resx"> + <DependentUpon>IBBMenuItem.cs</DependentUpon> + </EmbeddedResource> + </ItemGroup> + <Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" /> + <PropertyGroup> + <PreBuildEvent> + </PreBuildEvent> + <PostBuildEvent> + </PostBuildEvent> + </PropertyGroup> +</Project> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/IBBoardWF.csproj.user Fri Dec 19 11:13:48 2008 +0000 @@ -0,0 +1,58 @@ +<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <PropertyGroup> + <LastOpenVersion>7.10.3077</LastOpenVersion> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <ReferencePath> + </ReferencePath> + <CopyProjectDestinationFolder> + </CopyProjectDestinationFolder> + <CopyProjectUncPath> + </CopyProjectUncPath> + <CopyProjectOption>0</CopyProjectOption> + <ProjectView>ProjectFiles</ProjectView> + <ProjectTrust>0</ProjectTrust> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <EnableASPDebugging>false</EnableASPDebugging> + <EnableASPXDebugging>false</EnableASPXDebugging> + <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging> + <EnableSQLServerDebugging>false</EnableSQLServerDebugging> + <RemoteDebugEnabled>false</RemoteDebugEnabled> + <RemoteDebugMachine> + </RemoteDebugMachine> + <StartAction>Project</StartAction> + <StartArguments> + </StartArguments> + <StartPage> + </StartPage> + <StartProgram> + </StartProgram> + <StartURL> + </StartURL> + <StartWorkingDirectory> + </StartWorkingDirectory> + <StartWithIE>true</StartWithIE> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <EnableASPDebugging>false</EnableASPDebugging> + <EnableASPXDebugging>false</EnableASPXDebugging> + <EnableUnmanagedDebugging>false</EnableUnmanagedDebugging> + <EnableSQLServerDebugging>false</EnableSQLServerDebugging> + <RemoteDebugEnabled>false</RemoteDebugEnabled> + <RemoteDebugMachine> + </RemoteDebugMachine> + <StartAction>Project</StartAction> + <StartArguments> + </StartArguments> + <StartPage> + </StartPage> + <StartProgram> + </StartProgram> + <StartURL> + </StartURL> + <StartWorkingDirectory> + </StartWorkingDirectory> + <StartWithIE>true</StartWithIE> + </PropertyGroup> +</Project> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/IBBoardWF.mdp Fri Dec 19 11:13:48 2008 +0000 @@ -0,0 +1,38 @@ +<Project name="IBBoardWF" fileversion="2.0" DefaultNamespace="IBBoard" language="C#" clr-version="Net_1_1" ctype="DotNetProject"> + <Configurations active="Debug"> + <Configuration name="Debug" ctype="DotNetProjectConfiguration"> + <Output directory="bin/Debug/" assembly="IBBoardWF" /> + <Build debugmode="True" target="Library" /> + <Execution runwithwarnings="False" consolepause="True" runtime="MsNet" clr-version="Net_1_1" /> + <CodeGeneration compiler="Mcs" warninglevel="4" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" generatexmldocumentation="False" ctype="CSharpCompilerParameters" /> + </Configuration> + <Configuration name="Release" ctype="DotNetProjectConfiguration"> + <Output directory="bin/Release/" assembly="IBBoardWF" /> + <Build debugmode="False" target="Library" /> + <Execution runwithwarnings="False" consolepause="True" runtime="MsNet" clr-version="Net_1_1" /> + <CodeGeneration compiler="Mcs" warninglevel="4" optimize="True" unsafecodeallowed="False" generateoverflowchecks="True" generatexmldocumentation="False" ctype="CSharpCompilerParameters" /> + </Configuration> + </Configurations> + <Contents> + <File name="AssemblyInfo.cs" subtype="Code" buildaction="Compile" /> + <File name="Windows/Forms/ColorableStatusBar.cs" subtype="Code" buildaction="Compile" /> + <File name="Windows/Forms/ColorableStatusBarPanel.cs" subtype="Code" buildaction="Compile" /> + <File name="Windows/Forms/ColorableStatusBarPanel.resx" subtype="Code" buildaction="EmbedAsResource" dependson="ColorableStatusBarPanel.cs" resource_id="IBBoard.Windows.Forms.ColorableStatusBarPanel.resources" /> + <File name="Windows/Forms/IBBButton.cs" subtype="Code" buildaction="Compile" /> + <File name="Windows/Forms/IBBForm.cs" subtype="Code" buildaction="Compile" /> + <File name="Windows/Forms/IBBLabel.cs" subtype="Code" buildaction="Compile" /> + <File name="Windows/Forms/IBBLabel.resx" subtype="Code" buildaction="EmbedAsResource" dependson="IBBLabel.cs" resource_id="IBBoard.Windows.Forms.IBBLabel.resources" /> + <File name="Windows/Forms/IBBMenuItem.cs" subtype="Code" buildaction="Compile" /> + <File name="Windows/Forms/IBBMenuItem.resx" subtype="Code" buildaction="EmbedAsResource" dependson="IBBMenuItem.cs" resource_id="IBBoard.Windows.Forms.IBBMenuItem.resources" /> + <File name="Windows/Forms/IBBToolBarButton.cs" subtype="Code" buildaction="Compile" /> + <File name="Windows/Forms/ListViewColumnSorter.cs" subtype="Code" buildaction="Compile" /> + </Contents> + <References> + <ProjectReference type="Gac" localcopy="True" refto="System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <ProjectReference type="Gac" localcopy="True" refto="System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <ProjectReference type="Gac" localcopy="True" refto="System.Drawing, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" /> + <ProjectReference type="Gac" localcopy="True" refto="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <ProjectReference type="Gac" localcopy="True" refto="System.Xml, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> + <ProjectReference type="Project" localcopy="True" refto="IBBoard" /> + </References> +</Project> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Windows/Forms/ColorableStatusBar.cs Fri Dec 19 11:13:48 2008 +0000 @@ -0,0 +1,40 @@ +using System; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Windows.Forms; + +namespace IBBoard.Windows.Forms +{ + /// <summary> + /// Summary description for ColorableStatusBar. + /// </summary> + public class ColorableStatusBar : StatusBar + { + private Brush defaultBrush; + + public ColorableStatusBar() + { + defaultBrush = new SolidBrush(SystemColors.WindowText); + } + + //Code taken from MS Knowledge base - http://support.microsoft.com/kb/319311 + public void ColorableStatusBarDrawItem(object sender, StatusBarDrawItemEventArgs sbdevent) + { + if (sender is StatusBar) + { + System.Drawing.Graphics g = sbdevent.Graphics; + StatusBar sb = (StatusBar)sender; + RectangleF rectf = new RectangleF(sbdevent.Bounds.X, sbdevent.Bounds.Y, sbdevent.Bounds.Width, sbdevent.Bounds.Height); + + if (sbdevent.Panel is ColorableStatusBarPanel) + { + g.DrawString(sbdevent.Panel.Text, sb.Font, ((ColorableStatusBarPanel)sbdevent.Panel).Brush, rectf); + } + else + { + g.DrawString(sbdevent.Panel.Text, sb.Font, defaultBrush, rectf); + } + } + } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Windows/Forms/ColorableStatusBar.resx Fri Dec 19 11:13:48 2008 +0000 @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="utf-8" ?> +<root> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <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" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + </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>1.0.0.0</value> + </resheader> + <resheader name="Reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="Writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Windows/Forms/ColorableStatusBarPanel.cs Fri Dec 19 11:13:48 2008 +0000 @@ -0,0 +1,56 @@ +using System; +using System.Drawing; +using System.Drawing.Drawing2D; +using System.Windows.Forms; + +namespace IBBoard.Windows.Forms +{ + /// <summary> + /// Summary description for ColourableStatusBarPanel. + /// </summary> + public class ColorableStatusBarPanel : StatusBarPanel + { + //Note: We keep all external references consistant with .Net and use the American spelling of Colour + private Color textColour; + private SolidBrush brush; + private object tag; + + public ColorableStatusBarPanel() : base() + { + this.Style = StatusBarPanelStyle.OwnerDraw; + textColour = SystemColors.WindowText; + brush = new SolidBrush(textColour); + } + + public Color Color + { + get { return textColour; } + set + { + textColour = value; + brush.Color = value; + } + } + + public Brush Brush + { + get { return brush; } + } + + public void ResetColor() + { + Color = SystemColors.WindowText; + } + + public object Tag + { + get { return tag; } + set { tag = value; } + } + + public string TagString + { + get { return (tag == null ? "" : tag.ToString()); } + } + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Windows/Forms/ColorableStatusBarPanel.resx Fri Dec 19 11:13:48 2008 +0000 @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="utf-8" ?> +<root> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <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" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + </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>1.0.0.0</value> + </resheader> + <resheader name="Reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="Writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Windows/Forms/Delegates.cs Fri Dec 19 11:13:48 2008 +0000 @@ -0,0 +1,8 @@ +using System; +using System.Windows.Forms; + +namespace IBBoard.Windows.Forms +{ + public delegate void ToolBarButtonRangeDelegate(ToolBarButton[] buttons); + public delegate void ToolBarButtonDelegate(ToolBarButton button); +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Windows/Forms/IBBButton.cs Fri Dec 19 11:13:48 2008 +0000 @@ -0,0 +1,13 @@ +using System; +using System.Windows.Forms; +using IBBoard.Lang; + +namespace IBBoard.Windows.Forms +{ + /// <summary> + /// Summary description for IBBButton. + /// </summary> + public class IBBButton : Button, ITranslatable + { + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Windows/Forms/IBBForm.cs Fri Dec 19 11:13:48 2008 +0000 @@ -0,0 +1,13 @@ +using System; +using System.Windows.Forms; +using IBBoard.Lang; + +namespace IBBoard.Windows.Forms +{ + /// <summary> + /// Summary description for IBBForm. + /// </summary> + public class IBBForm : Form, ITranslatable + { + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Windows/Forms/IBBLabel.cs Fri Dec 19 11:13:48 2008 +0000 @@ -0,0 +1,13 @@ +using System; +using System.Windows.Forms; +using IBBoard.Lang; + +namespace IBBoard.Windows.Forms +{ + /// <summary> + /// Summary description for IBBLabel. + /// </summary> + public class IBBLabel : Label, ITranslatable + { + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Windows/Forms/IBBLabel.resx Fri Dec 19 11:13:48 2008 +0000 @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="utf-8" ?> +<root> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <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" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + </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>1.0.0.0</value> + </resheader> + <resheader name="Reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="Writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Windows/Forms/IBBMenuItem.cs Fri Dec 19 11:13:48 2008 +0000 @@ -0,0 +1,38 @@ +using System; +using System.Collections; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Windows.Forms; +using IBBoard.Lang; + +namespace IBBoard.Windows.Forms +{ + /// <summary> + /// Summary description for IBBMenuItem. + /// </summary> + public class IBBMenuItem : System.Windows.Forms.MenuItem, ITranslatable + { + private string name = "emptyName"; + + public IBBMenuItem() : base(){} + + public IBBMenuItem(string text) : base(text) {} + + #region ITranslatable Members + + public new string Name + { + get + { + return name; + } + set + { + name = value; + } + } + + #endregion + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Windows/Forms/IBBMenuItem.resx Fri Dec 19 11:13:48 2008 +0000 @@ -0,0 +1,42 @@ +<?xml version="1.0" encoding="utf-8" ?> +<root> + <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata"> + <xsd:element name="root" msdata:IsDataSet="true"> + <xsd:complexType> + <xsd:choice maxOccurs="unbounded"> + <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" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + </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>1.0.0.0</value> + </resheader> + <resheader name="Reader"> + <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="Writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root>
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Windows/Forms/IBBToolBarButton.cs Fri Dec 19 11:13:48 2008 +0000 @@ -0,0 +1,47 @@ +using System; +using System.Collections; +using System.ComponentModel; +using System.Drawing; +using System.Data; +using System.Windows.Forms; +using IBBoard.Lang; + +namespace IBBoard.Windows.Forms +{ + /// <summary> + /// Summary description for IBBMenuItem. + /// </summary> + public class IBBToolBarButton : System.Windows.Forms.ToolBarButton, ITranslatable + { + private string name = ""; + + #region ITranslatable Members + + public new string Name + { + get + { + return name; + } + set + { + name = value; + } + } + + + public new string Text + { + get + { + return ToolTipText; + } + set + { + ToolTipText = value; + } + } + + #endregion + } +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Windows/Forms/ListViewColumnSorter.cs Fri Dec 19 11:13:48 2008 +0000 @@ -0,0 +1,132 @@ +using System.Collections; +using System.Windows.Forms; +using System.Globalization; + +/// <summary> +/// This class is an implementation of the 'IComparer' interface. +/// </summary> +namespace IBBoard.Windows.Forms +{ + public class ListViewColumnSorter : IComparer + { + /// <summary> + /// Specifies the column to be sorted + /// </summary> + private int ColumnToSort; + /// <summary> + /// Specifies the order in which to sort (i.e. 'Ascending'). + /// </summary> + private SortOrder OrderOfSort; + /// <summary> + /// Case insensitive comparer object + /// </summary> + private CaseInsensitiveComparer ObjectCompare; + + /// <summary> + /// Class constructor. Initializes various elements + /// </summary> + public ListViewColumnSorter() + { + // Initialize the column to '0' + ColumnToSort = 0; + + // Initialize the sort order to 'none' + OrderOfSort = SortOrder.None; + + // Initialize the CaseInsensitiveComparer object + ObjectCompare = new CaseInsensitiveComparer(); + } + + /// <summary> + /// This method is inherited from the IComparer interface. It compares the two objects passed using a case insensitive comparison. + /// </summary> + /// <param name="x">First object to be compared</param> + /// <param name="y">Second object to be compared</param> + /// <returns>The result of the comparison. "0" if equal, negative if 'x' is less than 'y' and positive if 'x' is greater than 'y'</returns> + public int Compare(object x, object y) + { + int compareResult; + ListViewItem listviewX, listviewY; + + // Cast the objects to be compared to ListViewItem objects + listviewX = (ListViewItem)x; + listviewY = (ListViewItem)y; + double resultx, resulty; + + if (double.TryParse(listviewX.SubItems[ColumnToSort].Text, NumberStyles.Any, + NumberFormatInfo.InvariantInfo, out resultx) && double.TryParse(listviewY.SubItems[ColumnToSort].Text, NumberStyles.Any, + NumberFormatInfo.InvariantInfo, out resulty)) + { + if (OrderOfSort == SortOrder.Ascending) + { + // Ascending sort is selected, return normal result of compare operation + return resultx.CompareTo(resulty); + } + else if (OrderOfSort == SortOrder.Descending) + { + // Descending sort is selected, return negative result of compare operation + return resulty.CompareTo(resultx); + } + else + { + // Return '0' to indicate they are equal + return 0; + } + } + else + { + + // Compare the two items + compareResult = ObjectCompare.Compare(listviewX.SubItems[ColumnToSort].Text,listviewY.SubItems[ColumnToSort].Text); + + // Calculate correct return value based on object comparison + if (OrderOfSort == SortOrder.Ascending) + { + // Ascending sort is selected, return normal result of compare operation + return compareResult; + } + else if (OrderOfSort == SortOrder.Descending) + { + // Descending sort is selected, return negative result of compare operation + return (-compareResult); + } + else + { + // Return '0' to indicate they are equal + return 0; + } + } + } + + /// <summary> + /// Gets or sets the number of the column to which to apply the sorting operation (Defaults to '0'). + /// </summary> + public int SortColumn + { + set + { + ColumnToSort = value; + } + get + { + return ColumnToSort; + } + } + + /// <summary> + /// Gets or sets the order of sorting to apply (for example, 'Ascending' or 'Descending'). + /// </summary> + public SortOrder Order + { + set + { + OrderOfSort = value; + } + get + { + return OrderOfSort; + } + } + + } +} \ No newline at end of file