diff --git a/VECTOAux/AUXUITEST/AUXUITEST.vbproj b/VECTOAux/AUXUITEST/AUXUITEST.vbproj index a38eb504eac4146741208dc613a6e78660e5f2ee..d2da91b1962c19a541b5ed8f42dc224c19246170 100644 --- a/VECTOAux/AUXUITEST/AUXUITEST.vbproj +++ b/VECTOAux/AUXUITEST/AUXUITEST.vbproj @@ -75,10 +75,19 @@ <Import Include="System.Threading.Tasks" /> </ItemGroup> <ItemGroup> - <Compile Include="F_HVAC.Designer.vb" /> <Compile Include="F_HVAC.vb"> <SubType>Form</SubType> </Compile> + <Compile Include="F_HVAC.Designer.vb"> + <DependentUpon>F_HVAC.vb</DependentUpon> + <SubType>Form</SubType> + </Compile> + <Compile Include="LaunchPad.Designer.vb"> + <DependentUpon>LaunchPad.vb</DependentUpon> + </Compile> + <Compile Include="LaunchPad.vb"> + <SubType>Form</SubType> + </Compile> <Compile Include="My Project\AssemblyInfo.vb" /> <Compile Include="My Project\Application.Designer.vb"> <AutoGen>True</AutoGen> @@ -94,9 +103,15 @@ <DependentUpon>Settings.settings</DependentUpon> <DesignTimeSharedInput>True</DesignTimeSharedInput> </Compile> + <Compile Include="Program.vb" /> </ItemGroup> <ItemGroup> - <EmbeddedResource Include="F_HVAC.resx" /> + <EmbeddedResource Include="F_HVAC.resx"> + <DependentUpon>F_HVAC.vb</DependentUpon> + </EmbeddedResource> + <EmbeddedResource Include="LaunchPad.resx"> + <DependentUpon>LaunchPad.vb</DependentUpon> + </EmbeddedResource> <EmbeddedResource Include="My Project\Resources.resx"> <Generator>VbMyResourcesResXFileCodeGenerator</Generator> <LastGenOutput>Resources.Designer.vb</LastGenOutput> diff --git a/VECTOAux/AUXUITEST/F_HVAC.vb b/VECTOAux/AUXUITEST/F_HVAC.vb index ccd45d81c0fe0d2b876b55f572241f2109f6b7fb..87a7e7a07b31aa400e60c29c25da43f2add81384 100644 --- a/VECTOAux/AUXUITEST/F_HVAC.vb +++ b/VECTOAux/AUXUITEST/F_HVAC.vb @@ -1,18 +1,16 @@ - -Imports VectoAuxiliaries.Hvac +Imports VectoAuxiliaries.Hvac Imports System.Windows.Forms - Public Class F_HVAC - - 'Private Variables. + 'Private Fields Private _mapPath As String Private _cfgPath As String Private _map As HVACMap Private _mapFilter As List(Of String) = New List(Of String)() + 'Properties Public Property MapPath As String Get @@ -26,44 +24,7 @@ Public Class F_HVAC End Property - - - - - 'Binding Base - - - 'Constructor - Public Sub F_HVAC() - - - End Sub - - Private Sub btnBrowseMap_Click(sender As Object, e As EventArgs) Handles btnBrowseMap.Click - - Dim openFileDialog1 = New OpenFileDialog() - - openFileDialog1.InitialDirectory = "." - openFileDialog1.Filter = "Map Files (*.vaux)|*.vaux" - openFileDialog1.FilterIndex = 1 - openFileDialog1.RestoreDirectory = True - - openFileDialog1.ShowDialog(Me) - MapPath = openFileDialog1.FileName - - openFileDialog1.Dispose() - - _map = New HVACMap(_mapPath) - - _mapFilter.Clear() - For Each item In _map.GetMapHeaders - _mapFilter.Add("") - Next - - BuildSearchBar() - - End Sub - + 'Helpers Private Sub BuildSearchBar() 'Clear out anything which may be resident @@ -107,7 +68,6 @@ Public Class F_HVAC End Sub - Private Sub FillControl(ByRef control As Control, values As List(Of String), param As HVACMapParameter) 'ComboBox Filter Control @@ -125,28 +85,6 @@ Public Class F_HVAC End If End Sub - - Private Sub FilterComboHandler(sender As Object, e As EventArgs) - - 'TODO:We need to update the _mapFilter here - - 'Determine where in the filer we need to be - Dim combo As ComboBox = CType(sender, ComboBox) - Dim oridnal As Integer = combo.Name.Split("_")(1) - - If (combo.SelectedIndex > 0) Then - _mapFilter(oridnal) = combo.Items(combo.SelectedIndex).ToString() - - Else - _mapFilter(oridnal) = String.Empty - End If - - Dim results = _map.GetMapSubSet(_mapFilter.ToArray()) - - PopulateResultsTable(results) - - End Sub - Private Sub PopulateResultsTable(subsetResults As List(Of String())) Dim table As New DataTable @@ -174,6 +112,30 @@ Public Class F_HVAC End Sub + 'Event Handlers + '************** + 'Programatically attached when filer is built + Private Sub FilterComboHandler(sender As Object, e As EventArgs) + + + 'Determine where in the filer we need to be + Dim combo As ComboBox = CType(sender, ComboBox) + Dim oridnal As Integer = combo.Name.Split("_")(1) + + If (combo.SelectedIndex > 0) Then + _mapFilter(oridnal) = combo.Items(combo.SelectedIndex).ToString() + + Else + _mapFilter(oridnal) = String.Empty + End If + + Dim results = _map.GetMapSubSet(_mapFilter.ToArray()) + + PopulateResultsTable(results) + + End Sub + + 'Delcaratively attached Private Sub dgMapResults_SelectionChanged(sender As Object, e As EventArgs) Handles dgMapResults.SelectionChanged If (CType(sender, DataGridView).SelectedRows.Count = 1) Then @@ -182,26 +144,36 @@ Public Class F_HVAC End If End Sub - - - Private Sub F_HVAC_Load(sender As Object, e As EventArgs) Handles MyBase.Load - + End Sub + Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click End Sub + Private Sub btnBrowseMap_Click(sender As Object, e As EventArgs) Handles btnBrowseMap.Click + Dim openFileDialog1 = New OpenFileDialog() - Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click + openFileDialog1.InitialDirectory = "." + openFileDialog1.Filter = "Map Files (*.vaux)|*.vaux" + openFileDialog1.FilterIndex = 1 + openFileDialog1.RestoreDirectory = True + + openFileDialog1.ShowDialog(Me) + MapPath = openFileDialog1.FileName - Dim v1 As Integer = _map.GetMechanicalDemand(1, 1) + openFileDialog1.Dispose() - Dim v2 As Integer = _map.GetMechanicalDemand(1, 2) + _map = New HVACMap(_mapPath) - MessageBox.Show(v1.ToString() & " - " & v2.ToString()) + _mapFilter.Clear() + For Each item In _map.GetMapHeaders + _mapFilter.Add("") + Next + BuildSearchBar() End Sub diff --git a/VECTOAux/AUXUITEST/LaunchPad.Designer.vb b/VECTOAux/AUXUITEST/LaunchPad.Designer.vb new file mode 100644 index 0000000000000000000000000000000000000000..472ef76f45ce6f073986c68d262da7eab245c3cc --- /dev/null +++ b/VECTOAux/AUXUITEST/LaunchPad.Designer.vb @@ -0,0 +1,49 @@ +<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ +Partial Class LaunchPad + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + <System.Diagnostics.DebuggerNonUserCode()> _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + <System.Diagnostics.DebuggerStepThrough()> _ + Private Sub InitializeComponent() + Me.btnHVAC = New System.Windows.Forms.Button() + Me.SuspendLayout() + ' + 'btnHVAC + ' + Me.btnHVAC.Location = New System.Drawing.Point(31, 26) + Me.btnHVAC.Name = "btnHVAC" + Me.btnHVAC.Size = New System.Drawing.Size(104, 46) + Me.btnHVAC.TabIndex = 0 + Me.btnHVAC.Text = "HVAC" + Me.btnHVAC.UseVisualStyleBackColor = True + ' + 'LaunchPad + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(426, 335) + Me.Controls.Add(Me.btnHVAC) + Me.Name = "LaunchPad" + Me.Text = "LaunchPad" + Me.ResumeLayout(False) + + End Sub + Friend WithEvents btnHVAC As System.Windows.Forms.Button +End Class diff --git a/VECTOAux/AUXUITEST/LaunchPad.resx b/VECTOAux/AUXUITEST/LaunchPad.resx new file mode 100644 index 0000000000000000000000000000000000000000..1af7de150c99c12dd67a509fe57c10d63e4eeb04 --- /dev/null +++ b/VECTOAux/AUXUITEST/LaunchPad.resx @@ -0,0 +1,120 @@ +<?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> \ No newline at end of file diff --git a/VECTOAux/AUXUITEST/LaunchPad.vb b/VECTOAux/AUXUITEST/LaunchPad.vb new file mode 100644 index 0000000000000000000000000000000000000000..dde92e05ed15198356030bbf322cbc06ecce9b2f --- /dev/null +++ b/VECTOAux/AUXUITEST/LaunchPad.vb @@ -0,0 +1,15 @@ +Public Class LaunchPad + + + Private Sub btnHVAC_Click(sender As Object, e As EventArgs) Handles btnHVAC.Click + + Dim frm As New VectoAuxiliaries.UI.F_HVAC() + + frm.Show() + + + End Sub + + + +End Class \ No newline at end of file diff --git a/VECTOAux/AUXUITEST/My Project/Application.Designer.vb b/VECTOAux/AUXUITEST/My Project/Application.Designer.vb index 20f9fd600ff1519c90c1da49bc4b7e27d5a26078..160ea7cc244f00c4a7494cffc8561a6232286382 100644 --- a/VECTOAux/AUXUITEST/My Project/Application.Designer.vb +++ b/VECTOAux/AUXUITEST/My Project/Application.Designer.vb @@ -32,7 +32,7 @@ Namespace My <Global.System.Diagnostics.DebuggerStepThroughAttribute()> _ Protected Overrides Sub OnCreateMainForm() - Me.MainForm = Global.AUXUITEST.F_HVAC + Me.MainForm = Global.AUXUITEST.LaunchPad End Sub End Class End Namespace diff --git a/VECTOAux/AUXUITEST/My Project/Application.myapp b/VECTOAux/AUXUITEST/My Project/Application.myapp index 9852abe906ba7785cec6d3bbeae22e699344592a..b3a9d0bd8886313fb9e07fb9253f7027c44ec59f 100644 --- a/VECTOAux/AUXUITEST/My Project/Application.myapp +++ b/VECTOAux/AUXUITEST/My Project/Application.myapp @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="utf-8"?> <MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <MySubMain>true</MySubMain> - <MainForm>F_HVAC</MainForm> + <MainForm>LaunchPad</MainForm> <SingleInstance>false</SingleInstance> <ShutdownMode>0</ShutdownMode> <EnableVisualStyles>true</EnableVisualStyles> diff --git a/VECTOAux/AUXUITEST/Program.vb b/VECTOAux/AUXUITEST/Program.vb new file mode 100644 index 0000000000000000000000000000000000000000..cd4a8f30a4070dc367971c55fff3be8c11a4bc9d --- /dev/null +++ b/VECTOAux/AUXUITEST/Program.vb @@ -0,0 +1,3 @@ +Public Class Program + +End Class diff --git a/VECTOAux/Launch/App.config b/VECTOAux/Launch/App.config new file mode 100644 index 0000000000000000000000000000000000000000..74ade9db53e8ed2095a6f8bcc1ae1c98599caf7c --- /dev/null +++ b/VECTOAux/Launch/App.config @@ -0,0 +1,6 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <startup> + <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/> + </startup> +</configuration> diff --git a/VECTOAux/Launch/Launch.vbproj b/VECTOAux/Launch/Launch.vbproj new file mode 100644 index 0000000000000000000000000000000000000000..1d731be720aa047847737810db8c12533b748799 --- /dev/null +++ b/VECTOAux/Launch/Launch.vbproj @@ -0,0 +1,126 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" 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>{4102F6FB-BD2A-47D9-8E11-FEBDDED01260}</ProjectGuid> + <OutputType>Exe</OutputType> + <StartupObject>Launch.Module1</StartupObject> + <RootNamespace>Launch</RootNamespace> + <AssemblyName>Launch</AssemblyName> + <FileAlignment>512</FileAlignment> + <MyType>Console</MyType> + <TargetFrameworkVersion>v4.0</TargetFrameworkVersion> + <SccProjectName>SAK</SccProjectName> + <SccLocalPath>SAK</SccLocalPath> + <SccAuxPath>SAK</SccAuxPath> + <SccProvider>SAK</SccProvider> + <TargetFrameworkProfile /> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + <PlatformTarget>AnyCPU</PlatformTarget> + <DebugSymbols>true</DebugSymbols> + <DebugType>full</DebugType> + <DefineDebug>true</DefineDebug> + <DefineTrace>true</DefineTrace> + <OutputPath>bin\Debug\</OutputPath> + <DocumentationFile>Launch.xml</DocumentationFile> + <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + <PlatformTarget>AnyCPU</PlatformTarget> + <DebugType>pdbonly</DebugType> + <DefineDebug>false</DefineDebug> + <DefineTrace>true</DefineTrace> + <Optimize>true</Optimize> + <OutputPath>bin\Release\</OutputPath> + <DocumentationFile>Launch.xml</DocumentationFile> + <NoWarn>42016,41999,42017,42018,42019,42032,42036,42020,42021,42022</NoWarn> + </PropertyGroup> + <PropertyGroup> + <OptionExplicit>On</OptionExplicit> + </PropertyGroup> + <PropertyGroup> + <OptionCompare>Binary</OptionCompare> + </PropertyGroup> + <PropertyGroup> + <OptionStrict>Off</OptionStrict> + </PropertyGroup> + <PropertyGroup> + <OptionInfer>On</OptionInfer> + </PropertyGroup> + <ItemGroup> + <Reference Include="System" /> + <Reference Include="System.Data" /> + <Reference Include="System.Deployment" /> + <Reference Include="System.Windows.Forms" /> + <Reference Include="System.Xml" /> + <Reference Include="System.Core" /> + <Reference Include="System.Xml.Linq" /> + <Reference Include="System.Data.DataSetExtensions" /> + </ItemGroup> + <ItemGroup> + <Import Include="Microsoft.VisualBasic" /> + <Import Include="System" /> + <Import Include="System.Collections" /> + <Import Include="System.Collections.Generic" /> + <Import Include="System.Data" /> + <Import Include="System.Diagnostics" /> + <Import Include="System.Linq" /> + <Import Include="System.Xml.Linq" /> + <Import Include="System.Threading.Tasks" /> + </ItemGroup> + <ItemGroup> + <Compile Include="Module1.vb" /> + <Compile Include="My Project\AssemblyInfo.vb" /> + <Compile Include="My Project\Application.Designer.vb"> + <AutoGen>True</AutoGen> + <DependentUpon>Application.myapp</DependentUpon> + </Compile> + <Compile Include="My Project\Resources.Designer.vb"> + <AutoGen>True</AutoGen> + <DesignTime>True</DesignTime> + <DependentUpon>Resources.resx</DependentUpon> + </Compile> + <Compile Include="My Project\Settings.Designer.vb"> + <AutoGen>True</AutoGen> + <DependentUpon>Settings.settings</DependentUpon> + <DesignTimeSharedInput>True</DesignTimeSharedInput> + </Compile> + </ItemGroup> + <ItemGroup> + <EmbeddedResource Include="My Project\Resources.resx"> + <Generator>VbMyResourcesResXFileCodeGenerator</Generator> + <LastGenOutput>Resources.Designer.vb</LastGenOutput> + <CustomToolNamespace>My.Resources</CustomToolNamespace> + <SubType>Designer</SubType> + </EmbeddedResource> + </ItemGroup> + <ItemGroup> + <None Include="My Project\Application.myapp"> + <Generator>MyApplicationCodeGenerator</Generator> + <LastGenOutput>Application.Designer.vb</LastGenOutput> + </None> + <None Include="My Project\Settings.settings"> + <Generator>SettingsSingleFileGenerator</Generator> + <CustomToolNamespace>My</CustomToolNamespace> + <LastGenOutput>Settings.Designer.vb</LastGenOutput> + </None> + <None Include="App.config" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="..\VectoAuxiliaries\VectoAuxiliaries.vbproj"> + <Project>{fdeee460-0b8a-4ef6-8d9e-72f203a50f65}</Project> + <Name>VectoAuxiliaries</Name> + </ProjectReference> + </ItemGroup> + <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" /> + <!-- To modify your build process, add your task inside one of the targets below and uncomment it. + Other similar extension points exist, see Microsoft.Common.targets. + <Target Name="BeforeBuild"> + </Target> + <Target Name="AfterBuild"> + </Target> + --> +</Project> \ No newline at end of file diff --git a/VECTOAux/Launch/Module1.vb b/VECTOAux/Launch/Module1.vb new file mode 100644 index 0000000000000000000000000000000000000000..b94e365e646721ecdfd672cec65c09e495ec4b1c --- /dev/null +++ b/VECTOAux/Launch/Module1.vb @@ -0,0 +1,13 @@ +Module Module1 + + Sub Main() + + Dim frm As New VectoAuxiliaries.UI.F_HVAC() + + frm.Show() + + Console.ReadLine() + + End Sub + +End Module diff --git a/VECTOAux/Launch/My Project/Application.Designer.vb b/VECTOAux/Launch/My Project/Application.Designer.vb new file mode 100644 index 0000000000000000000000000000000000000000..0aecefe6649856e7f2f1917454c1aa12737d11a2 --- /dev/null +++ b/VECTOAux/Launch/My Project/Application.Designer.vb @@ -0,0 +1,13 @@ +'------------------------------------------------------------------------------ +' <auto-generated> +' This code was generated by a tool. +' Runtime Version:4.0.30319.18444 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' </auto-generated> +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + diff --git a/VECTOAux/Launch/My Project/Application.myapp b/VECTOAux/Launch/My Project/Application.myapp new file mode 100644 index 0000000000000000000000000000000000000000..e62f1a53381ed9956a702f0cb42ae55f25b776e1 --- /dev/null +++ b/VECTOAux/Launch/My Project/Application.myapp @@ -0,0 +1,10 @@ +<?xml version="1.0" encoding="utf-8"?> +<MyApplicationData xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> + <MySubMain>false</MySubMain> + <SingleInstance>false</SingleInstance> + <ShutdownMode>0</ShutdownMode> + <EnableVisualStyles>true</EnableVisualStyles> + <AuthenticationMode>0</AuthenticationMode> + <ApplicationType>2</ApplicationType> + <SaveMySettingsOnExit>true</SaveMySettingsOnExit> +</MyApplicationData> diff --git a/VECTOAux/Launch/My Project/AssemblyInfo.vb b/VECTOAux/Launch/My Project/AssemblyInfo.vb new file mode 100644 index 0000000000000000000000000000000000000000..e4402348f067b66e259cd0fbd0bbd1edcc2098f6 --- /dev/null +++ b/VECTOAux/Launch/My Project/AssemblyInfo.vb @@ -0,0 +1,35 @@ +Imports System +Imports System.Reflection +Imports 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. + +' Review the values of the assembly attributes + +<Assembly: AssemblyTitle("Launch")> +<Assembly: AssemblyDescription("")> +<Assembly: AssemblyCompany("AEA Group")> +<Assembly: AssemblyProduct("Launch")> +<Assembly: AssemblyCopyright("Copyright © AEA Group 2014")> +<Assembly: AssemblyTrademark("")> + +<Assembly: ComVisible(False)> + +'The following GUID is for the ID of the typelib if this project is exposed to COM +<Assembly: Guid("a5663c86-ea5f-4e94-8770-c654e1977b9d")> + +' 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")> diff --git a/VECTOAux/Launch/My Project/Resources.Designer.vb b/VECTOAux/Launch/My Project/Resources.Designer.vb new file mode 100644 index 0000000000000000000000000000000000000000..e83b2d448517e85559e46eaad552e442587eb47c --- /dev/null +++ b/VECTOAux/Launch/My Project/Resources.Designer.vb @@ -0,0 +1,63 @@ +'------------------------------------------------------------------------------ +' <auto-generated> +' This code was generated by a tool. +' Runtime Version:4.0.30319.18444 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' </auto-generated> +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + +Imports System + +Namespace My.Resources + + '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. + '''<summary> + ''' A strongly-typed resource class, for looking up localized strings, etc. + '''</summary> + <Global.System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0"), _ + Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ + Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _ + Global.Microsoft.VisualBasic.HideModuleNameAttribute()> _ + Friend Module Resources + + Private resourceMan As Global.System.Resources.ResourceManager + + Private resourceCulture As Global.System.Globalization.CultureInfo + + '''<summary> + ''' Returns the cached ResourceManager instance used by this class. + '''</summary> + <Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _ + Friend ReadOnly Property ResourceManager() As Global.System.Resources.ResourceManager + Get + If Object.ReferenceEquals(resourceMan, Nothing) Then + Dim temp As Global.System.Resources.ResourceManager = New Global.System.Resources.ResourceManager("Launch.Resources", GetType(Resources).Assembly) + resourceMan = temp + End If + Return resourceMan + End Get + End Property + + '''<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)> _ + Friend Property Culture() As Global.System.Globalization.CultureInfo + Get + Return resourceCulture + End Get + Set + resourceCulture = value + End Set + End Property + End Module +End Namespace diff --git a/VECTOAux/Launch/My Project/Resources.resx b/VECTOAux/Launch/My Project/Resources.resx new file mode 100644 index 0000000000000000000000000000000000000000..af7dbebbacef595e3089c01c05671016c21a8304 --- /dev/null +++ b/VECTOAux/Launch/My Project/Resources.resx @@ -0,0 +1,117 @@ +<?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.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: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" type="xsd:string" /> + <xsd:attribute name="type" type="xsd:string" /> + <xsd:attribute name="mimetype" type="xsd:string" /> + </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" msdata:Ordinal="1" /> + <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" /> + <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" /> + </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=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> + <resheader name="writer"> + <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value> + </resheader> +</root> \ No newline at end of file diff --git a/VECTOAux/Launch/My Project/Settings.Designer.vb b/VECTOAux/Launch/My Project/Settings.Designer.vb new file mode 100644 index 0000000000000000000000000000000000000000..c80f8af8399c7e6af8517d02ace5f85359014a68 --- /dev/null +++ b/VECTOAux/Launch/My Project/Settings.Designer.vb @@ -0,0 +1,73 @@ +'------------------------------------------------------------------------------ +' <auto-generated> +' This code was generated by a tool. +' Runtime Version:4.0.30319.18444 +' +' Changes to this file may cause incorrect behavior and will be lost if +' the code is regenerated. +' </auto-generated> +'------------------------------------------------------------------------------ + +Option Strict On +Option Explicit On + + +Namespace My + + <Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute(), _ + Global.System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "12.0.0.0"), _ + Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _ + Partial Friend NotInheritable Class MySettings + Inherits Global.System.Configuration.ApplicationSettingsBase + + Private Shared defaultInstance As MySettings = CType(Global.System.Configuration.ApplicationSettingsBase.Synchronized(New MySettings()),MySettings) + +#Region "My.Settings Auto-Save Functionality" +#If _MyType = "WindowsForms" Then + Private Shared addedHandler As Boolean + + Private Shared addedHandlerLockObject As New Object + + <Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), Global.System.ComponentModel.EditorBrowsableAttribute(Global.System.ComponentModel.EditorBrowsableState.Advanced)> _ + Private Shared Sub AutoSaveSettings(ByVal sender As Global.System.Object, ByVal e As Global.System.EventArgs) + If My.Application.SaveMySettingsOnExit Then + My.Settings.Save() + End If + End Sub +#End If +#End Region + + Public Shared ReadOnly Property [Default]() As MySettings + Get + +#If _MyType = "WindowsForms" Then + If Not addedHandler Then + SyncLock addedHandlerLockObject + If Not addedHandler Then + AddHandler My.Application.Shutdown, AddressOf AutoSaveSettings + addedHandler = True + End If + End SyncLock + End If +#End If + Return defaultInstance + End Get + End Property + End Class +End Namespace + +Namespace My + + <Global.Microsoft.VisualBasic.HideModuleNameAttribute(), _ + Global.System.Diagnostics.DebuggerNonUserCodeAttribute(), _ + Global.System.Runtime.CompilerServices.CompilerGeneratedAttribute()> _ + Friend Module MySettingsProperty + + <Global.System.ComponentModel.Design.HelpKeywordAttribute("My.Settings")> _ + Friend ReadOnly Property Settings() As Global.Launch.My.MySettings + Get + Return Global.Launch.My.MySettings.Default + End Get + End Property + End Module +End Namespace diff --git a/VECTOAux/Launch/My Project/Settings.settings b/VECTOAux/Launch/My Project/Settings.settings new file mode 100644 index 0000000000000000000000000000000000000000..85b890b3c66b9beee248abaddd2ec71f8b1df2b2 --- /dev/null +++ b/VECTOAux/Launch/My Project/Settings.settings @@ -0,0 +1,7 @@ +<?xml version='1.0' encoding='utf-8'?> +<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" UseMySettingsClassName="true"> + <Profiles> + <Profile Name="(Default)" /> + </Profiles> + <Settings /> +</SettingsFile> diff --git a/VECTOAux/VectoAuxiliaries/Electrics/HVACInputs.vb b/VECTOAux/VectoAuxiliaries/Electrics/HVACInputs.vb new file mode 100644 index 0000000000000000000000000000000000000000..3f42b1d6528981c1608e86164a2a85780197572a --- /dev/null +++ b/VECTOAux/VectoAuxiliaries/Electrics/HVACInputs.vb @@ -0,0 +1,8 @@ +Public Class HVACInputs + Implements IHVACInputs + + Public Property Region As Integer Implements IHVACInputs.Region + + Public Property Season As Integer Implements IHVACInputs.Season + +End Class diff --git a/VECTOAux/VectoAuxiliaries/Electrics/IHVACInputs.vb b/VECTOAux/VectoAuxiliaries/Electrics/IHVACInputs.vb new file mode 100644 index 0000000000000000000000000000000000000000..6cd0794004df1df080792bdeb4dead249dbf6d3f --- /dev/null +++ b/VECTOAux/VectoAuxiliaries/Electrics/IHVACInputs.vb @@ -0,0 +1,7 @@ +Public Interface IHVACInputs + + Property Region As Integer + + Property Season As Integer + +End Interface \ No newline at end of file diff --git a/VECTOAux/VectoAuxiliaries/Hvac/AverageHVACLoadDemand.vb b/VECTOAux/VectoAuxiliaries/Hvac/AverageHVACLoadDemand.vb index 3345e20b905480a2308a8045b0b8f37be12140f0..c9ba870751bc571d51038f196657bab93fdd1314 100644 --- a/VECTOAux/VectoAuxiliaries/Hvac/AverageHVACLoadDemand.vb +++ b/VECTOAux/VectoAuxiliaries/Hvac/AverageHVACLoadDemand.vb @@ -2,28 +2,45 @@ Namespace Hvac Public Class AverageHVACLoadDemand + Dim map As IHVACMap Dim alternator As IAlternator - Public Sub New(ByVal map As IHVACMap, ByVal alternator As IAlternator) + Public Property Region As Integer + Public Property Season As Integer + + + + Public Sub New(ByVal map As IHVACMap, ByVal alternator As IAlternator, inputs As IHVACInputs) Me.map = map Me.alternator = alternator + + Me.Region = inputs.Region + Me.Season = inputs.Season + End Sub Public Function Initialise() As Boolean Return alternator.Initialise() AndAlso map.Initialise() End Function - Public Function AverageMechanicalPowerAtCrank() As Single - Throw New NotImplementedException + Public Function AverageMechanicalPowerDemandAtCrank(engineRPM As Integer) As Single + + Return alternator.PulleyGearEfficiency + End Function - Function AverageElectricalPowerAtAlternator() As Single - Throw New NotImplementedException + Function AverageElectricalPowerDemandAtAlternator() As Single + + End Function - Function AverageElectricalPowerAtCrank() As Single - Throw New NotImplementedException + Function AverageElectricalPowerDemandAtCrank() As Single + + End Function + + + End Class End Namespace \ No newline at end of file diff --git a/VECTOAux/VectoAuxiliaries/UI/F_HVAC.Designer.vb b/VECTOAux/VectoAuxiliaries/UI/F_HVAC.Designer.vb new file mode 100644 index 0000000000000000000000000000000000000000..6afa48d036ca798d5a09c765386fa30efc59b2ec --- /dev/null +++ b/VECTOAux/VectoAuxiliaries/UI/F_HVAC.Designer.vb @@ -0,0 +1,201 @@ +Namespace UI +<Global.Microsoft.VisualBasic.CompilerServices.DesignerGenerated()> _ + Partial Class F_HVAC + Inherits System.Windows.Forms.Form + + 'Form overrides dispose to clean up the component list. + <System.Diagnostics.DebuggerNonUserCode()> _ + Protected Overrides Sub Dispose(ByVal disposing As Boolean) + Try + If disposing AndAlso components IsNot Nothing Then + components.Dispose() + End If + Finally + MyBase.Dispose(disposing) + End Try + End Sub + + 'Required by the Windows Form Designer + Private components As System.ComponentModel.IContainer + + 'NOTE: The following procedure is required by the Windows Form Designer + 'It can be modified using the Windows Form Designer. + 'Do not modify it using the code editor. + <System.Diagnostics.DebuggerStepThrough()> _ + Private Sub InitializeComponent() + Me.dgMapResults = New System.Windows.Forms.DataGridView() + Me.btnSave = New System.Windows.Forms.Button() + Me.btnCancel = New System.Windows.Forms.Button() + Me.btnBrowseMap = New System.Windows.Forms.Button() + Me.txtMapFile = New System.Windows.Forms.TextBox() + Me.lblMapFile = New System.Windows.Forms.Label() + Me.pnlSearchBar = New System.Windows.Forms.Panel() + Me.txtPullyEfficiency = New System.Windows.Forms.TextBox() + Me.lblPullyEfficiency = New System.Windows.Forms.Label() + Me.lblMechanicalDemand = New System.Windows.Forms.Label() + Me.txtMechanicalDemand = New System.Windows.Forms.TextBox() + Me.lblElectricalDemand = New System.Windows.Forms.Label() + Me.txtElectricalDemand = New System.Windows.Forms.TextBox() + CType(Me.dgMapResults, System.ComponentModel.ISupportInitialize).BeginInit() + Me.SuspendLayout() + ' + 'dgMapResults + ' + Me.dgMapResults.AllowUserToAddRows = False + Me.dgMapResults.AllowUserToDeleteRows = False + Me.dgMapResults.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize + Me.dgMapResults.Location = New System.Drawing.Point(14, 183) + Me.dgMapResults.MultiSelect = False + Me.dgMapResults.Name = "dgMapResults" + Me.dgMapResults.ReadOnly = True + Me.dgMapResults.SelectionMode = System.Windows.Forms.DataGridViewSelectionMode.FullRowSelect + Me.dgMapResults.Size = New System.Drawing.Size(650, 218) + Me.dgMapResults.TabIndex = 0 + ' + 'btnSave + ' + Me.btnSave.Location = New System.Drawing.Point(497, 425) + Me.btnSave.Name = "btnSave" + Me.btnSave.Size = New System.Drawing.Size(75, 23) + Me.btnSave.TabIndex = 1 + Me.btnSave.Text = "Save" + Me.btnSave.UseVisualStyleBackColor = True + ' + 'btnCancel + ' + Me.btnCancel.Location = New System.Drawing.Point(584, 425) + Me.btnCancel.Name = "btnCancel" + Me.btnCancel.Size = New System.Drawing.Size(75, 23) + Me.btnCancel.TabIndex = 2 + Me.btnCancel.Text = "Cancel" + Me.btnCancel.UseVisualStyleBackColor = True + ' + 'btnBrowseMap + ' + Me.btnBrowseMap.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.btnBrowseMap.Location = New System.Drawing.Point(584, 12) + Me.btnBrowseMap.Name = "btnBrowseMap" + Me.btnBrowseMap.Size = New System.Drawing.Size(75, 23) + Me.btnBrowseMap.TabIndex = 3 + Me.btnBrowseMap.Text = "Browse" + Me.btnBrowseMap.UseVisualStyleBackColor = True + ' + 'txtMapFile + ' + Me.txtMapFile.Location = New System.Drawing.Point(48, 12) + Me.txtMapFile.Name = "txtMapFile" + Me.txtMapFile.ReadOnly = True + Me.txtMapFile.Size = New System.Drawing.Size(530, 20) + Me.txtMapFile.TabIndex = 4 + ' + 'lblMapFile + ' + Me.lblMapFile.AutoSize = True + Me.lblMapFile.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, CType(0, Byte)) + Me.lblMapFile.Location = New System.Drawing.Point(9, 15) + Me.lblMapFile.Name = "lblMapFile" + Me.lblMapFile.Size = New System.Drawing.Size(34, 13) + Me.lblMapFile.TabIndex = 5 + Me.lblMapFile.Text = "Map :" + ' + 'pnlSearchBar + ' + Me.pnlSearchBar.Location = New System.Drawing.Point(16, 114) + Me.pnlSearchBar.Name = "pnlSearchBar" + Me.pnlSearchBar.Size = New System.Drawing.Size(643, 59) + Me.pnlSearchBar.TabIndex = 6 + ' + 'txtPullyEfficiency + ' + Me.txtPullyEfficiency.Location = New System.Drawing.Point(107, 60) + Me.txtPullyEfficiency.Name = "txtPullyEfficiency" + Me.txtPullyEfficiency.Size = New System.Drawing.Size(46, 20) + Me.txtPullyEfficiency.TabIndex = 7 + ' + 'lblPullyEfficiency + ' + Me.lblPullyEfficiency.AutoSize = True + Me.lblPullyEfficiency.Location = New System.Drawing.Point(20, 63) + Me.lblPullyEfficiency.Name = "lblPullyEfficiency" + Me.lblPullyEfficiency.Size = New System.Drawing.Size(81, 13) + Me.lblPullyEfficiency.TabIndex = 8 + Me.lblPullyEfficiency.Text = " Pully Efficiency" + ' + 'lblMechanicalDemand + ' + Me.lblMechanicalDemand.AutoSize = True + Me.lblMechanicalDemand.Location = New System.Drawing.Point(175, 63) + Me.lblMechanicalDemand.Name = "lblMechanicalDemand" + Me.lblMechanicalDemand.Size = New System.Drawing.Size(132, 13) + Me.lblMechanicalDemand.TabIndex = 9 + Me.lblMechanicalDemand.Text = "Mechanical Demand (KW)" + ' + 'txtMechanicalDemand + ' + Me.txtMechanicalDemand.Location = New System.Drawing.Point(315, 59) + Me.txtMechanicalDemand.Name = "txtMechanicalDemand" + Me.txtMechanicalDemand.ReadOnly = True + Me.txtMechanicalDemand.Size = New System.Drawing.Size(56, 20) + Me.txtMechanicalDemand.TabIndex = 10 + Me.txtMechanicalDemand.Text = "0" + ' + 'lblElectricalDemand + ' + Me.lblElectricalDemand.AutoSize = True + Me.lblElectricalDemand.Location = New System.Drawing.Point(390, 62) + Me.lblElectricalDemand.Name = "lblElectricalDemand" + Me.lblElectricalDemand.Size = New System.Drawing.Size(120, 13) + Me.lblElectricalDemand.TabIndex = 11 + Me.lblElectricalDemand.Text = "Electrical Demand (KW)" + ' + 'txtElectricalDemand + ' + Me.txtElectricalDemand.Location = New System.Drawing.Point(516, 59) + Me.txtElectricalDemand.Name = "txtElectricalDemand" + Me.txtElectricalDemand.ReadOnly = True + Me.txtElectricalDemand.Size = New System.Drawing.Size(26, 20) + Me.txtElectricalDemand.TabIndex = 12 + Me.txtElectricalDemand.Text = "0" + ' + 'F_HVAC + ' + Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) + Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font + Me.ClientSize = New System.Drawing.Size(674, 460) + Me.Controls.Add(Me.txtElectricalDemand) + Me.Controls.Add(Me.lblElectricalDemand) + Me.Controls.Add(Me.txtMechanicalDemand) + Me.Controls.Add(Me.lblMechanicalDemand) + Me.Controls.Add(Me.lblPullyEfficiency) + Me.Controls.Add(Me.txtPullyEfficiency) + Me.Controls.Add(Me.pnlSearchBar) + Me.Controls.Add(Me.lblMapFile) + Me.Controls.Add(Me.txtMapFile) + Me.Controls.Add(Me.btnBrowseMap) + Me.Controls.Add(Me.btnCancel) + Me.Controls.Add(Me.btnSave) + Me.Controls.Add(Me.dgMapResults) + Me.Name = "F_HVAC" + Me.Text = "HVAC Properties" + CType(Me.dgMapResults, System.ComponentModel.ISupportInitialize).EndInit() + Me.ResumeLayout(False) + Me.PerformLayout() + + End Sub + Friend WithEvents dgMapResults As System.Windows.Forms.DataGridView + Friend WithEvents btnSave As System.Windows.Forms.Button + Friend WithEvents btnCancel As System.Windows.Forms.Button + Friend WithEvents btnBrowseMap As System.Windows.Forms.Button + Friend WithEvents txtMapFile As System.Windows.Forms.TextBox + Friend WithEvents lblMapFile As System.Windows.Forms.Label + Friend WithEvents pnlSearchBar As System.Windows.Forms.Panel + Friend WithEvents txtPullyEfficiency As System.Windows.Forms.TextBox + Friend WithEvents lblPullyEfficiency As System.Windows.Forms.Label + Friend WithEvents lblMechanicalDemand As System.Windows.Forms.Label + Friend WithEvents txtMechanicalDemand As System.Windows.Forms.TextBox + Friend WithEvents lblElectricalDemand As System.Windows.Forms.Label + Friend WithEvents txtElectricalDemand As System.Windows.Forms.TextBox + + End Class + +End Namespace \ No newline at end of file diff --git a/VECTOAux/VectoAuxiliaries/UI/F_HVAC.resx b/VECTOAux/VectoAuxiliaries/UI/F_HVAC.resx new file mode 100644 index 0000000000000000000000000000000000000000..1af7de150c99c12dd67a509fe57c10d63e4eeb04 --- /dev/null +++ b/VECTOAux/VectoAuxiliaries/UI/F_HVAC.resx @@ -0,0 +1,120 @@ +<?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> \ No newline at end of file diff --git a/VECTOAux/VectoAuxiliaries/UI/F_HVAC.vb b/VECTOAux/VectoAuxiliaries/UI/F_HVAC.vb new file mode 100644 index 0000000000000000000000000000000000000000..424be599d8b7c92b717f32b02cf44c986c5fdc0f --- /dev/null +++ b/VECTOAux/VectoAuxiliaries/UI/F_HVAC.vb @@ -0,0 +1,193 @@ +Imports VectoAuxiliaries.Hvac +Imports System.Windows.Forms + +Namespace UI + + + Public Class F_HVAC + + 'Private Fields + Private _mapPath As String + Private _cfgPath As String + Private _map As HVACMap + Private _mapFilter As List(Of String) = New List(Of String)() + + 'Properties + Public Property MapPath As String + + Get + Return _mapPath + End Get + Set(value As String) + _mapPath = value + txtMapFile.Text = value + End Set + + + End Property + + 'Helpers + Private Sub BuildSearchBar() + + 'Clear out anything which may be resident + pnlSearchBar.Controls.Clear() + + If _map Is Nothing Then + MessageBox.Show("Map not yet loaded") + Return + End If + + 'Ok Showtime + + + 'Get all the columns who's header is an input + Dim results As Dictionary(Of String, HVACMapParameter) = (From p In _map.GetMapHeaders() Where Not p.Value.IsOutput Select p).ToDictionary(Function(p) p.Key, Function(p) p.Value) + + 'Add Layuout Table inside the pnlSearchBar + Dim filterPanelTable As TableLayoutPanel = New TableLayoutPanel() + filterPanelTable.RowCount = 2 + filterPanelTable.ColumnCount = _map.GetMapHeaders().Count + filterPanelTable.Dock = DockStyle.Fill + + pnlSearchBar.Controls.Add(filterPanelTable) + + For Each parameter As HVACMapParameter In results.Values + + 'TB : 'Dies ist, wo die Magie passiert + Dim sp1 As Control = Convert.ChangeType(Activator.CreateInstance(parameter.SearchControlType), parameter.SearchControlType) + + sp1.Name = "FilterControl_" + parameter.OrdinalPosition.ToString() + + FillControl(sp1, parameter.UniqueDataValues, parameter) + + 'Set Label + filterPanelTable.Controls.Add((New Label() With {.Text = parameter.Name}), parameter.OrdinalPosition, 0) + + 'Set Control + filterPanelTable.Controls.Add(sp1, parameter.OrdinalPosition, 1) + + Next + + + End Sub + Private Sub FillControl(ByRef control As Control, values As List(Of String), param As HVACMapParameter) + + 'ComboBox Filter Control + If TypeOf control Is ComboBox Then + + Dim cb As ComboBox = CType(control, ComboBox) + AddHandler cb.SelectionChangeCommitted, AddressOf Me.FilterComboHandler + cb.Items.Add("<Select>") + For Each item As String In values + cb.Items.Add(item) + Next + + cb.SelectedIndex = 0 + + End If + + End Sub + Private Sub PopulateResultsTable(subsetResults As List(Of String())) + + Dim table As New DataTable + For Each item As KeyValuePair(Of String, HVACMapParameter) In _map.GetMapHeaders + Dim col As New DataColumn(item.Value.Name) + table.Columns.Add(col) + Next + + For Each row As String() In subsetResults + Dim cell As Integer + Dim newTableRow As DataRow = table.NewRow + For cell = 0 To table.Columns.Count - 1 + newTableRow.SetField(cell, row(cell)) + Next + table.Rows.Add(newTableRow) + Next + + dgMapResults.DataSource = table + + dgMapResults.ClearSelection() + txtElectricalDemand.Text = String.Empty + txtMechanicalDemand.Text = String.Empty + + + End Sub + + + 'Event Handlers + '************** + 'Programatically attached when filer is built + Private Sub FilterComboHandler(sender As Object, e As EventArgs) + + + 'Determine where in the filer we need to be + Dim combo As ComboBox = CType(sender, ComboBox) + Dim oridnal As Integer = combo.Name.Split("_")(1) + + If (combo.SelectedIndex > 0) Then + _mapFilter(oridnal) = combo.Items(combo.SelectedIndex).ToString() + + Else + _mapFilter(oridnal) = String.Empty + End If + + Dim results = _map.GetMapSubSet(_mapFilter.ToArray()) + + PopulateResultsTable(results) + + End Sub + + 'Delcaratively attached + Private Sub dgMapResults_SelectionChanged(sender As Object, e As EventArgs) Handles dgMapResults.SelectionChanged + + If (CType(sender, DataGridView).SelectedRows.Count = 1) Then + txtMechanicalDemand.Text = CType(sender, DataGridView).SelectedRows(0).Cells("MechD").Value + txtElectricalDemand.Text = CType(sender, DataGridView).SelectedRows(0).Cells("ElecD").Value + End If + + End Sub + Private Sub F_HVAC_Load(sender As Object, e As EventArgs) Handles MyBase.Load + + + End Sub + Private Sub btnSave_Click(sender As Object, e As EventArgs) Handles btnSave.Click + + + End Sub + Private Sub btnBrowseMap_Click(sender As Object, e As EventArgs) Handles btnBrowseMap.Click + + Dim openFileDialog1 = New OpenFileDialog() + + openFileDialog1.InitialDirectory = "." + openFileDialog1.Filter = "Map Files (*.vaux)|*.vaux" + openFileDialog1.FilterIndex = 1 + openFileDialog1.RestoreDirectory = True + + openFileDialog1.ShowDialog(Me) + MapPath = openFileDialog1.FileName + + openFileDialog1.Dispose() + + _map = New HVACMap(_mapPath) + + _mapFilter.Clear() + For Each item As KeyValuePair(Of String, HVACMapParameter) In _map.GetMapHeaders + _mapFilter.Add("") + Next + + BuildSearchBar() + + End Sub + + + End Class + + + + + + + + + +End Namespace diff --git a/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj b/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj index 5bdc223e11dd8a000a400319472e9905f0069d69..36dd220114973703be89f552fc0416eff1c5b84e 100644 --- a/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj +++ b/VECTOAux/VectoAuxiliaries/VectoAuxiliaries.vbproj @@ -50,6 +50,7 @@ <ItemGroup> <Reference Include="System" /> <Reference Include="System.Data" /> + <Reference Include="System.Drawing" /> <Reference Include="System.Windows.Forms" /> <Reference Include="System.Xml" /> <Reference Include="System.Core" /> @@ -68,6 +69,8 @@ <Import Include="System.Threading.Tasks" /> </ItemGroup> <ItemGroup> + <Compile Include="Electrics\HVACInputs.vb" /> + <Compile Include="Electrics\IHVACInputs.vb" /> <Compile Include="Hvac\HVACMapParameter.vb" /> <Compile Include="Hvac\IHVACMap.vb" /> <Compile Include="Pneumatics\AirCompressor.vb" /> @@ -100,6 +103,12 @@ </Compile> <Compile Include="Pneumatics\IPneumaticConsumer.vb" /> <Compile Include="Pneumatics\PneumaticConsumer.vb" /> + <Compile Include="UI\F_HVAC.Designer.vb"> + <DependentUpon>F_HVAC.vb</DependentUpon> + </Compile> + <Compile Include="UI\F_HVAC.vb"> + <SubType>Form</SubType> + </Compile> </ItemGroup> <ItemGroup> <EmbeddedResource Include="My Project\Resources.resx"> @@ -108,6 +117,9 @@ <CustomToolNamespace>My.Resources</CustomToolNamespace> <SubType>Designer</SubType> </EmbeddedResource> + <EmbeddedResource Include="UI\F_HVAC.resx"> + <DependentUpon>F_HVAC.vb</DependentUpon> + </EmbeddedResource> </ItemGroup> <ItemGroup> <None Include="Hvac\HVACMap.vaux" /> @@ -121,6 +133,7 @@ <LastGenOutput>Settings.Designer.vb</LastGenOutput> </None> </ItemGroup> + <ItemGroup /> <Import Project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets" /> <!-- To modify your build process, add your task inside one of the targets below and uncomment it. Other similar extension points exist, see Microsoft.Common.targets. diff --git a/VECTOAux/VectoAuxiliariesTests/Mocks/HVACMapMock.vb b/VECTOAux/VectoAuxiliariesTests/Mocks/HVACMapMock.vb index 40f31f825dfe779b397b026117c696e8dd435c8b..7d3f80839fe5dd851529ef9712d48137ecf7519b 100644 --- a/VECTOAux/VectoAuxiliariesTests/Mocks/HVACMapMock.vb +++ b/VECTOAux/VectoAuxiliariesTests/Mocks/HVACMapMock.vb @@ -4,17 +4,14 @@ Namespace Mocks Public Class HVACMapMock Implements IHVACMap - + Public Property MapHeaders As Dictionary(Of String, HVACMapParameter) Implements IHVACMap.MapHeaders Public Function Initialise() As Boolean Implements IHVACMap.Initialise Return True End Function - Public Function GetMechanicalDemand(ByVal region As Integer, ByVal season As Integer) As Integer Implements IHVACMap.GetMechanicalDemand Return 10 End Function - - Public Function GetMapHeaders() As Dictionary(Of String, HVACMapParameter) Implements IHVACMap.GetMapHeaders Throw New NotImplementedException @@ -28,10 +25,9 @@ Namespace Mocks Throw New NotImplementedException End Function - Public Property MapHeaders As Dictionary(Of String, HVACMapParameter) Implements IHVACMap.MapHeaders - Public Function GetElectricalDemand(region As Integer, season As Integer) As Integer Implements IHVACMap.GetElectricalDemand Return 1 End Function + End Class End Namespace \ No newline at end of file diff --git a/VECTOAux/VectoAuxiliariesTests/UnitTests/AverageHVACLoadDemandTests.vb b/VECTOAux/VectoAuxiliariesTests/UnitTests/AverageHVACLoadDemandTests.vb index c727b7e8b7db2ecae71ca94a437d29cee3acd922..98aa4ef4126f28b2ce4da70081569aeea6eede06 100644 --- a/VECTOAux/VectoAuxiliariesTests/UnitTests/AverageHVACLoadDemandTests.vb +++ b/VECTOAux/VectoAuxiliariesTests/UnitTests/AverageHVACLoadDemandTests.vb @@ -22,14 +22,14 @@ Namespace UnitTests Private Function GetAverageHVACLoadDemandIntance() As AverageHVACLoadDemand Dim alt As IAlternator = GetAlternatorMock() Dim map As IHVACMap = GetHVACMapMock() - Dim target As AverageHVACLoadDemand = New AverageHVACLoadDemand(map, alt) + Dim target As AverageHVACLoadDemand = New AverageHVACLoadDemand(map, alt, Nothing) Return target End Function Private Function GetInitialisedAverageHVACLoadDemandIntance() As AverageHVACLoadDemand Dim alt As IAlternator = GetAlternatorMock() Dim map As IHVACMap = GetHVACMapMock() - Dim target As AverageHVACLoadDemand = New AverageHVACLoadDemand(map, alt) + Dim target As AverageHVACLoadDemand = New AverageHVACLoadDemand(map, alt, Nothing) target.Initialise() Return target End Function @@ -51,19 +51,19 @@ Namespace UnitTests <Test()> Public Sub AverageMechanicalPowerAtCrankTest() Dim target As AverageHVACLoadDemand = GetInitialisedAverageHVACLoadDemandIntance() Dim expected As Integer = 10 - Dim actual As Integer = target.AverageMechanicalPowerAtCrank() + Dim actual As Integer = target.AverageMechanicalPowerDemandAtCrank(100) End Sub <Test()> Public Sub AverageElectricalPowerAtAlternatorTest() Dim target As AverageHVACLoadDemand = GetInitialisedAverageHVACLoadDemandIntance() Dim expected As Integer = 10 - Dim actual As Integer = target.AverageMechanicalPowerAtCrank() + Dim actual As Integer = target.AverageMechanicalPowerDemandAtCrank(100) End Sub <Test()> Public Sub AverageElectricalPowerAtCrankTest() Dim target As AverageHVACLoadDemand = GetInitialisedAverageHVACLoadDemandIntance() Dim expected As Integer = 10 - Dim actual As Integer = target.AverageMechanicalPowerAtCrank() + Dim actual As Integer = target.AverageMechanicalPowerDemandAtCrank(100) End Sub End Class