diff --git a/USGSHydroToolboxDS/Images.Designer.cs b/USGSHydroToolboxDS/Images.Designer.cs new file mode 100644 index 000000000..699b0e00d --- /dev/null +++ b/USGSHydroToolboxDS/Images.Designer.cs @@ -0,0 +1,83 @@ +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +namespace USGSHydroToolbox { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // 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 Images { + + private static global::System.Resources.ResourceManager resourceMan; + + private static global::System.Globalization.CultureInfo resourceCulture; + + [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] + internal Images() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [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("USGSHydroToolbox.Images", typeof(Images).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). + /// + internal static System.Drawing.Icon Basins { + get { + object obj = ResourceManager.GetObject("Basins", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + + /// + /// Looks up a localized resource of type System.Drawing.Icon similar to (Icon). + /// + internal static System.Drawing.Icon USGS { + get { + object obj = ResourceManager.GetObject("USGS", resourceCulture); + return ((System.Drawing.Icon)(obj)); + } + } + } +} diff --git a/USGSHydroToolboxDS/Images.resx b/USGSHydroToolboxDS/Images.resx new file mode 100644 index 000000000..3f6144719 --- /dev/null +++ b/USGSHydroToolboxDS/Images.resx @@ -0,0 +1,127 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + + Resources\Basins.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + + Resources\USGS.ico;System.Drawing.Icon, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a + + \ No newline at end of file diff --git a/USGSHydroToolboxDS/Program.cs b/USGSHydroToolboxDS/Program.cs new file mode 100644 index 000000000..a98e6b5b8 --- /dev/null +++ b/USGSHydroToolboxDS/Program.cs @@ -0,0 +1,23 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using System.Windows.Forms; + +namespace USGSHydroToolbox +{ + static class Program + { + /// + /// The main entry point for the application. + /// + [STAThread] + static void Main() + { + Utilities.LoadDataSourcePlugins(); + Application.EnableVisualStyles(); + Application.SetCompatibleTextRenderingDefault(false); + Application.Run(new frmMain()); + } + } +} diff --git a/USGSHydroToolboxDS/Properties/AssemblyInfo.cs b/USGSHydroToolboxDS/Properties/AssemblyInfo.cs new file mode 100644 index 000000000..82b45b985 --- /dev/null +++ b/USGSHydroToolboxDS/Properties/AssemblyInfo.cs @@ -0,0 +1,36 @@ +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("USGSHydroToolbox")] +[assembly: AssemblyDescription("")] +[assembly: AssemblyConfiguration("")] +[assembly: AssemblyCompany("")] +[assembly: AssemblyProduct("USGSHydroToolbox")] +[assembly: AssemblyCopyright("Copyright © 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("ea8971ff-2e6a-48dd-93b2-5e94444b47a5")] + +// 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/USGSHydroToolboxDS/Properties/Resources.Designer.cs b/USGSHydroToolboxDS/Properties/Resources.Designer.cs new file mode 100644 index 000000000..cb418bb85 --- /dev/null +++ b/USGSHydroToolboxDS/Properties/Resources.Designer.cs @@ -0,0 +1,63 @@ +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +namespace USGSHydroToolbox.Properties { + using System; + + + /// + /// A strongly-typed resource class, for looking up localized strings, etc. + /// + // 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() { + } + + /// + /// Returns the cached ResourceManager instance used by this class. + /// + [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("USGSHydroToolbox.Properties.Resources", typeof(Resources).Assembly); + resourceMan = temp; + } + return resourceMan; + } + } + + /// + /// Overrides the current thread's CurrentUICulture property for all + /// resource lookups using this strongly typed resource class. + /// + [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] + internal static global::System.Globalization.CultureInfo Culture { + get { + return resourceCulture; + } + set { + resourceCulture = value; + } + } + } +} diff --git a/USGSHydroToolboxDS/Properties/Settings.Designer.cs b/USGSHydroToolboxDS/Properties/Settings.Designer.cs new file mode 100644 index 000000000..7fdc572dd --- /dev/null +++ b/USGSHydroToolboxDS/Properties/Settings.Designer.cs @@ -0,0 +1,26 @@ +//------------------------------------------------------------------------------ +// +// 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. +// +//------------------------------------------------------------------------------ + +namespace USGSHydroToolbox.Properties { + + + [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] + [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "16.3.0.0")] + internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase { + + private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings()))); + + public static Settings Default { + get { + return defaultInstance; + } + } + } +} diff --git a/USGSHydroToolboxDS/Properties/Settings.settings b/USGSHydroToolboxDS/Properties/Settings.settings new file mode 100644 index 000000000..39645652a --- /dev/null +++ b/USGSHydroToolboxDS/Properties/Settings.settings @@ -0,0 +1,7 @@ + + + + + + + diff --git a/USGSHydroToolboxDS/Resources/Basins.ico b/USGSHydroToolboxDS/Resources/Basins.ico new file mode 100644 index 000000000..0fe329245 Binary files /dev/null and b/USGSHydroToolboxDS/Resources/Basins.ico differ diff --git a/USGSHydroToolboxDS/Resources/USGS.ico b/USGSHydroToolboxDS/Resources/USGS.ico new file mode 100644 index 000000000..76bce6431 Binary files /dev/null and b/USGSHydroToolboxDS/Resources/USGS.ico differ diff --git a/USGSHydroToolboxDS/Resources/enwiki-1.5x.png b/USGSHydroToolboxDS/Resources/enwiki-1.5x.png new file mode 100644 index 000000000..28bd0ea1a Binary files /dev/null and b/USGSHydroToolboxDS/Resources/enwiki-1.5x.png differ diff --git a/USGSHydroToolboxDS/USGSHydroToolboxDS.csproj b/USGSHydroToolboxDS/USGSHydroToolboxDS.csproj new file mode 100644 index 000000000..71f10eb09 --- /dev/null +++ b/USGSHydroToolboxDS/USGSHydroToolboxDS.csproj @@ -0,0 +1,284 @@ + + + + + Debug + AnyCPU + {EA8971FF-2E6A-48DD-93B2-5E94444B47A5} + WinExe + USGSHydroToolbox + USGSHydroToolbox + v4.5.2 + 512 + true + true + + + + AnyCPU + true + full + false + ..\bin\Debug\ + DEBUG;TRACE + prompt + 4 + + + AnyCPU + pdbonly + true + bin\Release\ + TRACE + prompt + 4 + + + + ..\bin\Debug\DotSpatial.Analysis.dll + + + ..\bin\Debug\DotSpatial.Compatibility.dll + + + False + ..\bin\Debug\DotSpatial.Controls.dll + + + False + ..\bin\Debug\DotSpatial.Data.dll + + + False + ..\bin\Debug\DotSpatial.Data.Forms.dll + + + False + ..\bin\Debug\DotSpatial.Data.Rasters.GdalExtension.dll + True + + + False + ..\bin\Debug\DotSpatial.Extensions.dll + + + False + ..\bin\Debug\DotSpatial.GeoAPI.dll + + + False + ..\bin\Debug\DotSpatial.Modeling.Forms.dll + + + False + ..\bin\Debug\DotSpatial.NetTopologySuite.dll + + + False + ..\bin\Debug\DotSpatial.NTSExtension.dll + + + ..\bin\Debug\DotSpatial.Positioning.dll + + + ..\bin\Debug\DotSpatial.Positioning.Design.dll + + + ..\bin\Debug\DotSpatial.Positioning.Forms.dll + + + False + ..\bin\Debug\DotSpatial.Projections.dll + + + False + ..\bin\Debug\DotSpatial.Projections.Forms.dll + + + False + ..\bin\Debug\DotSpatial.Serialization.dll + + + False + ..\bin\Debug\DotSpatial.Symbology.dll + + + False + ..\bin\Debug\DotSpatial.Symbology.Forms.dll + + + + + + + + + + + + + + + + + Form + + + frmMain.cs + + + True + True + Images.resx + + + + + + frmMain.cs + + + ResXFileCodeGenerator + Images.Designer.cs + Designer + + + ResXFileCodeGenerator + Resources.Designer.cs + Designer + + + True + Resources.resx + True + + + SettingsSingleFileGenerator + Settings.Designer.cs + + + True + Settings.settings + True + + + + + + + + + + + {f4ef0925-945b-418c-9a81-8490d89985db} + atcDataTree-DSC + False + + + {a9a00cad-9ead-4228-ab08-6dc3baf253aa} + atcData-DSC + False + + + {92ea3681-9ea9-438a-a598-2531f483a0c6} + atcDurationCompare-DSC + False + + + {d52e1a9c-e219-4df7-9ca8-b4fd1b28cec9} + atcGraph-DSC + False + + + {edb3cf95-e4dd-4d02-97e8-cd3d12cc5f86} + atcIDF-DSC + False + + + {a1a87cb8-8b9e-4c90-9549-c065357e499f} + atcList-DSC + False + + + {350d3be7-35a4-4b09-9d28-dde2f6b716cd} + atcMwGisUtility-DSC + False + + + {50fef6be-f961-4949-8658-2948de7b777b} + atcSeasonalAttributes-DSC + False + + + {12f7fdd0-a6ec-4abe-a01b-790ad8caef03} + atcSeasons-DSC + False + + + {fabf7aa3-dde7-48a4-8226-ecd3ad423597} + atcSynopticAnalysis-DSC + False + + + {f9a4070c-1faf-4d17-a8e6-7eb19d414b05} + atcTimeseriesBaseflow-DSC + False + + + {bd299eb7-7a62-4ef9-8806-86e9288c498f} + atcTimeseriesMath-DSC + False + + + {82530a5b-ff39-4b9f-8a04-881468dfc662} + atcTimeseriesRDB-DSC + False + + + {40de1f29-3531-4bc2-9d7e-324dc92689df} + atcTimeseriesScript-DSC + False + + + {7e40e3e6-bf8e-45b5-99af-4e11daf039fd} + atcTimeseriesStatistics-DSC + False + + + {9f09a31b-de05-4ff8-8e89-867affe0ace7} + atcUSGSBaseflow-DSC + False + + + {4cdfeb5c-1808-44ad-9206-0049ff26fa2e} + atcUSGSDF2P-DSC + False + + + {3d007252-dd48-4288-97bc-5e1657839fbb} + atcUSGSRecess-DSC + False + + + {28fc1ef2-44d7-44d1-9263-fd4fad14864a} + atcUSGSRora-DSC + False + + + {67027820-9036-481e-80f6-077e5085f59d} + atcUtility-DSC + False + + + {9b3bb48b-2caf-4e49-a900-5e08217da078} + ToolboxMWPlugin-DSC + False + + + {add48409-fc1f-4a92-b07c-6b9a9a5bac72} + D4EMDownloadData-DSC + False + + + + \ No newline at end of file diff --git a/USGSHydroToolboxDS/USGSHydroToolboxDS.sln b/USGSHydroToolboxDS/USGSHydroToolboxDS.sln new file mode 100644 index 000000000..9b5d417d2 --- /dev/null +++ b/USGSHydroToolboxDS/USGSHydroToolboxDS.sln @@ -0,0 +1,513 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.29409.12 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "USGSHydroToolboxDS", "USGSHydroToolboxDS.csproj", "{EA8971FF-2E6A-48DD-93B2-5E94444B47A5}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "MapWinUtility-DSC", "..\MapWinUtility\MapWinUtility-DSC.vbproj", "{3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcUtility-DSC", "..\atcUtility\atcUtility-DSC.vbproj", "{67027820-9036-481E-80F6-077E5085F59D}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcControls-DSC", "..\atcControls\atcControls-DSC.vbproj", "{B219575F-1541-41DB-9FA4-D9D7CD62B4A5}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcData-DSC", "..\atcData\atcData-DSC.vbproj", "{A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcD4EMLauncher-DSC", "..\atcD4EMLauncher\atcD4EMLauncher-DSC.vbproj", "{6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcProjector-DSC", "..\atcProjector\atcProjector-DSC.vbproj", "{863771D3-EA5B-45D2-8416-B75E9ADA8D7B}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "ToolboxMWPlugin-DSC", "..\BASINS\ToolboxMWPlugin-DSC.vbproj", "{9B3BB48B-2CAF-4E49-A900-5E08217DA078}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcTimeseriesMath-DSC", "..\atcTimeseriesMath\atcTimeseriesMath-DSC.vbproj", "{BD299EB7-7A62-4EF9-8806-86E9288C498F}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcList-DSC", "..\atcList\atcList-DSC.vbproj", "{A1A87CB8-8B9E-4C90-9549-C065357E499F}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcBasinsObsWQ-DSC", "..\atcBasinsObsWQ\atcBasinsObsWQ-DSC.vbproj", "{7DCB47A0-7B03-4B7C-BC42-B8D920D46604}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcGraph-DSC", "..\atcGraphExperimental\atcGraph-DSC.vbproj", "{D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcTimeseriesRDB-DSC", "..\atcTimeseriesRDB\atcTimeseriesRDB-DSC.vbproj", "{82530A5B-FF39-4B9F-8A04-881468DFC662}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcTimeseriesStatistics-DSC", "..\atcTimeseriesStatistics\atcTimeseriesStatistics-DSC.vbproj", "{7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcMetCmp-DSC", "..\atcMetCmp\atcMetCmp-DSC.vbproj", "{72264BDC-23F5-4A55-B53D-0752099CB263}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcTimeseriesScript-DSC", "..\atcTimeseriesScript\atcTimeseriesScript-DSC.vbproj", "{40DE1F29-3531-4BC2-9D7E-324DC92689DF}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcUSGSUtility-DSC", "..\atcUSGSUtility\atcUSGSUtility-DSC.vbproj", "{4DBC8159-1072-41FA-9242-933E12A88EE6}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcUSGSRora-DSC", "..\atcUSGSRora\atcUSGSRora-DSC.vbproj", "{28FC1EF2-44D7-44D1-9263-FD4FAD14864A}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcTimeseriesBaseflow-DSC", "..\atcTimeseriesBaseflow\atcTimeseriesBaseflow-DSC.vbproj", "{F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcBatchProcessing-DSC", "..\atcBatchProcessing\atcBatchProcessing-DSC.vbproj", "{7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcDurationCompare-DSC", "..\atcDurationCompare\atcDurationCompare-DSC.vbproj", "{92EA3681-9EA9-438A-A598-2531F483A0C6}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcUSGSDF2P-DSC", "..\atcUSGSDF2P\atcUSGSDF2P-DSC.vbproj", "{4CDFEB5C-1808-44AD-9206-0049FF26FA2E}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcUSGSBaseflow-DSC", "..\atcUSGSBaseflow\atcUSGSBaseflow-DSC.vbproj", "{9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcUSGSRecess-DSC", "..\atcUSGSRecess\atcUSGSRecess-DSC.vbproj", "{3D007252-DD48-4288-97BC-5E1657839FBB}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcDataTree-DSC", "..\atcDataTree\atcDataTree-DSC.vbproj", "{F4EF0925-945B-418C-9A81-8490D89985DB}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcSeasons-DSC", "..\atcSeasons\atcSeasons-DSC.vbproj", "{12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcTimeseriesNdayHighLow-DSC", "..\atcTimeseriesNdayHighLow\atcTimeseriesNdayHighLow-DSC.vbproj", "{24EEBEFB-2B19-489D-B3AF-9FE00A56346E}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "DFLOWAnalysis-DSC", "..\DFLOW\DFLOWAnalysis-DSC.vbproj", "{B1998404-5A6C-49AB-BE38-ECFDAA8361B0}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcIDF-DSC", "..\atcIntegratedDesignFlow\atcIDF-DSC.vbproj", "{EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcMwGisUtility-DSC", "..\atcMwGisUtility\atcMwGisUtility-DSC.vbproj", "{350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcGisUtilities-DSC", "..\atcGisUtilities\atcGisUtilities-DSC.vbproj", "{E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "D4EMDownloadData-DSC", "..\D4EMDownloadData\D4EMDownloadData-DSC.vbproj", "{ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcSeasonalAttributes-DSC", "..\atcSeasonalAttributes\atcSeasonalAttributes-DSC.vbproj", "{50FEF6BE-F961-4949-8658-2948DE7B777B}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcEvents-DSC", "..\atcEvents\atcEvents-DSC.vbproj", "{9F469FD8-4A92-4C1F-901C-93D84D457D8F}" +EndProject +Project("{F184B08F-C81C-45F6-A57F-5ABD9991F28F}") = "atcSynopticAnalysis-DSC", "..\atcSynopticAnalysis\atcSynopticAnalysis-DSC.vbproj", "{FABF7AA3-DDE7-48A4-8226-ECD3AD423597}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|Any CPU = Release|Any CPU + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Debug|x64.ActiveCfg = Debug|Any CPU + {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Debug|x64.Build.0 = Debug|Any CPU + {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Debug|x86.ActiveCfg = Debug|Any CPU + {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Debug|x86.Build.0 = Debug|Any CPU + {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Release|Any CPU.Build.0 = Release|Any CPU + {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Release|x64.ActiveCfg = Release|Any CPU + {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Release|x64.Build.0 = Release|Any CPU + {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Release|x86.ActiveCfg = Release|Any CPU + {EA8971FF-2E6A-48DD-93B2-5E94444B47A5}.Release|x86.Build.0 = Release|Any CPU + {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Debug|x64.ActiveCfg = Debug|x64 + {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Debug|x64.Build.0 = Debug|x64 + {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Debug|x86.ActiveCfg = Debug|x86 + {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Debug|x86.Build.0 = Debug|x86 + {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Release|Any CPU.Build.0 = Release|Any CPU + {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Release|x64.ActiveCfg = Release|x64 + {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Release|x64.Build.0 = Release|x64 + {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Release|x86.ActiveCfg = Release|x86 + {3C991AE4-9EDB-4C24-BAF3-42F7303D7DF3}.Release|x86.Build.0 = Release|x86 + {67027820-9036-481E-80F6-077E5085F59D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {67027820-9036-481E-80F6-077E5085F59D}.Debug|Any CPU.Build.0 = Debug|Any CPU + {67027820-9036-481E-80F6-077E5085F59D}.Debug|x64.ActiveCfg = Debug|Any CPU + {67027820-9036-481E-80F6-077E5085F59D}.Debug|x64.Build.0 = Debug|Any CPU + {67027820-9036-481E-80F6-077E5085F59D}.Debug|x86.ActiveCfg = Debug|x86 + {67027820-9036-481E-80F6-077E5085F59D}.Debug|x86.Build.0 = Debug|x86 + {67027820-9036-481E-80F6-077E5085F59D}.Release|Any CPU.ActiveCfg = Release|Any CPU + {67027820-9036-481E-80F6-077E5085F59D}.Release|Any CPU.Build.0 = Release|Any CPU + {67027820-9036-481E-80F6-077E5085F59D}.Release|x64.ActiveCfg = Release|Any CPU + {67027820-9036-481E-80F6-077E5085F59D}.Release|x64.Build.0 = Release|Any CPU + {67027820-9036-481E-80F6-077E5085F59D}.Release|x86.ActiveCfg = Release|x86 + {67027820-9036-481E-80F6-077E5085F59D}.Release|x86.Build.0 = Release|x86 + {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Debug|x64.ActiveCfg = Debug|x64 + {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Debug|x64.Build.0 = Debug|x64 + {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Debug|x86.ActiveCfg = Debug|x86 + {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Debug|x86.Build.0 = Debug|x86 + {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Release|Any CPU.Build.0 = Release|Any CPU + {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Release|x64.ActiveCfg = Release|x64 + {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Release|x64.Build.0 = Release|x64 + {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Release|x86.ActiveCfg = Release|x86 + {B219575F-1541-41DB-9FA4-D9D7CD62B4A5}.Release|x86.Build.0 = Release|x86 + {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Debug|x64.ActiveCfg = Debug|x64 + {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Debug|x64.Build.0 = Debug|x64 + {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Debug|x86.ActiveCfg = Debug|x86 + {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Debug|x86.Build.0 = Debug|x86 + {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Release|Any CPU.Build.0 = Release|Any CPU + {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Release|x64.ActiveCfg = Release|x64 + {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Release|x64.Build.0 = Release|x64 + {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Release|x86.ActiveCfg = Release|x86 + {A9A00CAD-9EAD-4228-AB08-6DC3BAF253AA}.Release|x86.Build.0 = Release|x86 + {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Debug|x64.ActiveCfg = Debug|Any CPU + {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Debug|x64.Build.0 = Debug|Any CPU + {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Debug|x86.ActiveCfg = Debug|x86 + {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Debug|x86.Build.0 = Debug|x86 + {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Release|Any CPU.Build.0 = Release|Any CPU + {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Release|x64.ActiveCfg = Release|Any CPU + {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Release|x64.Build.0 = Release|Any CPU + {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Release|x86.ActiveCfg = Release|x86 + {6CDE2FE3-DEBA-46BA-B395-8F71F87159B0}.Release|x86.Build.0 = Release|x86 + {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Debug|x64.ActiveCfg = Debug|Any CPU + {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Debug|x64.Build.0 = Debug|Any CPU + {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Debug|x86.ActiveCfg = Debug|x86 + {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Debug|x86.Build.0 = Debug|x86 + {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Release|Any CPU.Build.0 = Release|Any CPU + {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Release|x64.ActiveCfg = Release|Any CPU + {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Release|x64.Build.0 = Release|Any CPU + {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Release|x86.ActiveCfg = Release|x86 + {863771D3-EA5B-45D2-8416-B75E9ADA8D7B}.Release|x86.Build.0 = Release|x86 + {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Debug|x64.ActiveCfg = Debug|Any CPU + {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Debug|x64.Build.0 = Debug|Any CPU + {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Debug|x86.ActiveCfg = Debug|x86 + {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Debug|x86.Build.0 = Debug|x86 + {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Release|Any CPU.Build.0 = Release|Any CPU + {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Release|x64.ActiveCfg = Release|Any CPU + {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Release|x64.Build.0 = Release|Any CPU + {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Release|x86.ActiveCfg = Release|x86 + {9B3BB48B-2CAF-4E49-A900-5E08217DA078}.Release|x86.Build.0 = Release|x86 + {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Debug|x64.ActiveCfg = Debug|x64 + {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Debug|x64.Build.0 = Debug|x64 + {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Debug|x86.ActiveCfg = Debug|x86 + {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Debug|x86.Build.0 = Debug|x86 + {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Release|Any CPU.Build.0 = Release|Any CPU + {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Release|x64.ActiveCfg = Release|x64 + {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Release|x64.Build.0 = Release|x64 + {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Release|x86.ActiveCfg = Release|x86 + {BD299EB7-7A62-4EF9-8806-86E9288C498F}.Release|x86.Build.0 = Release|x86 + {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Debug|x64.ActiveCfg = Debug|x64 + {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Debug|x64.Build.0 = Debug|x64 + {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Debug|x86.ActiveCfg = Debug|x86 + {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Debug|x86.Build.0 = Debug|x86 + {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Release|Any CPU.Build.0 = Release|Any CPU + {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Release|x64.ActiveCfg = Release|x64 + {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Release|x64.Build.0 = Release|x64 + {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Release|x86.ActiveCfg = Release|x86 + {A1A87CB8-8B9E-4C90-9549-C065357E499F}.Release|x86.Build.0 = Release|x86 + {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Debug|x64.ActiveCfg = Debug|x64 + {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Debug|x64.Build.0 = Debug|x64 + {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Debug|x86.ActiveCfg = Debug|x86 + {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Debug|x86.Build.0 = Debug|x86 + {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Release|Any CPU.Build.0 = Release|Any CPU + {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Release|x64.ActiveCfg = Release|x64 + {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Release|x64.Build.0 = Release|x64 + {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Release|x86.ActiveCfg = Release|x86 + {7DCB47A0-7B03-4B7C-BC42-B8D920D46604}.Release|x86.Build.0 = Release|x86 + {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Debug|Any CPU.Build.0 = Debug|Any CPU + {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Debug|x64.ActiveCfg = Debug|Any CPU + {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Debug|x64.Build.0 = Debug|Any CPU + {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Debug|x86.ActiveCfg = Debug|x86 + {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Debug|x86.Build.0 = Debug|x86 + {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Release|Any CPU.ActiveCfg = Release|Any CPU + {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Release|Any CPU.Build.0 = Release|Any CPU + {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Release|x64.ActiveCfg = Release|Any CPU + {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Release|x64.Build.0 = Release|Any CPU + {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Release|x86.ActiveCfg = Release|x86 + {D52E1A9C-E219-4DF7-9CA8-B4FD1B28CEC9}.Release|x86.Build.0 = Release|x86 + {82530A5B-FF39-4B9F-8A04-881468DFC662}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {82530A5B-FF39-4B9F-8A04-881468DFC662}.Debug|Any CPU.Build.0 = Debug|Any CPU + {82530A5B-FF39-4B9F-8A04-881468DFC662}.Debug|x64.ActiveCfg = Debug|x64 + {82530A5B-FF39-4B9F-8A04-881468DFC662}.Debug|x64.Build.0 = Debug|x64 + {82530A5B-FF39-4B9F-8A04-881468DFC662}.Debug|x86.ActiveCfg = Debug|x86 + {82530A5B-FF39-4B9F-8A04-881468DFC662}.Debug|x86.Build.0 = Debug|x86 + {82530A5B-FF39-4B9F-8A04-881468DFC662}.Release|Any CPU.ActiveCfg = Release|Any CPU + {82530A5B-FF39-4B9F-8A04-881468DFC662}.Release|Any CPU.Build.0 = Release|Any CPU + {82530A5B-FF39-4B9F-8A04-881468DFC662}.Release|x64.ActiveCfg = Release|x64 + {82530A5B-FF39-4B9F-8A04-881468DFC662}.Release|x64.Build.0 = Release|x64 + {82530A5B-FF39-4B9F-8A04-881468DFC662}.Release|x86.ActiveCfg = Release|x86 + {82530A5B-FF39-4B9F-8A04-881468DFC662}.Release|x86.Build.0 = Release|x86 + {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Debug|x64.ActiveCfg = Debug|Any CPU + {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Debug|x64.Build.0 = Debug|Any CPU + {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Debug|x86.ActiveCfg = Debug|x86 + {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Debug|x86.Build.0 = Debug|x86 + {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Release|Any CPU.Build.0 = Release|Any CPU + {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Release|x64.ActiveCfg = Release|Any CPU + {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Release|x64.Build.0 = Release|Any CPU + {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Release|x86.ActiveCfg = Release|x86 + {7E40E3E6-BF8E-45B5-99AF-4E11DAF039FD}.Release|x86.Build.0 = Release|x86 + {72264BDC-23F5-4A55-B53D-0752099CB263}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {72264BDC-23F5-4A55-B53D-0752099CB263}.Debug|Any CPU.Build.0 = Debug|Any CPU + {72264BDC-23F5-4A55-B53D-0752099CB263}.Debug|x64.ActiveCfg = Debug|Any CPU + {72264BDC-23F5-4A55-B53D-0752099CB263}.Debug|x64.Build.0 = Debug|Any CPU + {72264BDC-23F5-4A55-B53D-0752099CB263}.Debug|x86.ActiveCfg = Debug|x86 + {72264BDC-23F5-4A55-B53D-0752099CB263}.Debug|x86.Build.0 = Debug|x86 + {72264BDC-23F5-4A55-B53D-0752099CB263}.Release|Any CPU.ActiveCfg = Release|Any CPU + {72264BDC-23F5-4A55-B53D-0752099CB263}.Release|Any CPU.Build.0 = Release|Any CPU + {72264BDC-23F5-4A55-B53D-0752099CB263}.Release|x64.ActiveCfg = Release|Any CPU + {72264BDC-23F5-4A55-B53D-0752099CB263}.Release|x64.Build.0 = Release|Any CPU + {72264BDC-23F5-4A55-B53D-0752099CB263}.Release|x86.ActiveCfg = Release|x86 + {72264BDC-23F5-4A55-B53D-0752099CB263}.Release|x86.Build.0 = Release|x86 + {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Debug|Any CPU.Build.0 = Debug|Any CPU + {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Debug|x64.ActiveCfg = Debug|Any CPU + {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Debug|x64.Build.0 = Debug|Any CPU + {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Debug|x86.ActiveCfg = Debug|x86 + {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Debug|x86.Build.0 = Debug|x86 + {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Release|Any CPU.ActiveCfg = Release|Any CPU + {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Release|Any CPU.Build.0 = Release|Any CPU + {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Release|x64.ActiveCfg = Release|Any CPU + {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Release|x64.Build.0 = Release|Any CPU + {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Release|x86.ActiveCfg = Release|x86 + {40DE1F29-3531-4BC2-9D7E-324DC92689DF}.Release|x86.Build.0 = Release|x86 + {4DBC8159-1072-41FA-9242-933E12A88EE6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4DBC8159-1072-41FA-9242-933E12A88EE6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4DBC8159-1072-41FA-9242-933E12A88EE6}.Debug|x64.ActiveCfg = Debug|Any CPU + {4DBC8159-1072-41FA-9242-933E12A88EE6}.Debug|x64.Build.0 = Debug|Any CPU + {4DBC8159-1072-41FA-9242-933E12A88EE6}.Debug|x86.ActiveCfg = Debug|x86 + {4DBC8159-1072-41FA-9242-933E12A88EE6}.Debug|x86.Build.0 = Debug|x86 + {4DBC8159-1072-41FA-9242-933E12A88EE6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4DBC8159-1072-41FA-9242-933E12A88EE6}.Release|Any CPU.Build.0 = Release|Any CPU + {4DBC8159-1072-41FA-9242-933E12A88EE6}.Release|x64.ActiveCfg = Release|Any CPU + {4DBC8159-1072-41FA-9242-933E12A88EE6}.Release|x64.Build.0 = Release|Any CPU + {4DBC8159-1072-41FA-9242-933E12A88EE6}.Release|x86.ActiveCfg = Release|x86 + {4DBC8159-1072-41FA-9242-933E12A88EE6}.Release|x86.Build.0 = Release|x86 + {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Debug|x64.ActiveCfg = Debug|Any CPU + {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Debug|x64.Build.0 = Debug|Any CPU + {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Debug|x86.ActiveCfg = Debug|x86 + {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Debug|x86.Build.0 = Debug|x86 + {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Release|Any CPU.Build.0 = Release|Any CPU + {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Release|x64.ActiveCfg = Release|Any CPU + {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Release|x64.Build.0 = Release|Any CPU + {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Release|x86.ActiveCfg = Release|x86 + {28FC1EF2-44D7-44D1-9263-FD4FAD14864A}.Release|x86.Build.0 = Release|x86 + {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Debug|x64.ActiveCfg = Debug|Any CPU + {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Debug|x64.Build.0 = Debug|Any CPU + {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Debug|x86.ActiveCfg = Debug|x86 + {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Debug|x86.Build.0 = Debug|x86 + {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Release|Any CPU.Build.0 = Release|Any CPU + {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Release|x64.ActiveCfg = Release|Any CPU + {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Release|x64.Build.0 = Release|Any CPU + {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Release|x86.ActiveCfg = Release|x86 + {F9A4070C-1FAF-4D17-A8E6-7EB19D414B05}.Release|x86.Build.0 = Release|x86 + {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Debug|Any CPU.Build.0 = Debug|Any CPU + {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Debug|x64.ActiveCfg = Debug|Any CPU + {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Debug|x64.Build.0 = Debug|Any CPU + {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Debug|x86.ActiveCfg = Debug|x86 + {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Debug|x86.Build.0 = Debug|x86 + {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Release|Any CPU.ActiveCfg = Release|Any CPU + {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Release|Any CPU.Build.0 = Release|Any CPU + {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Release|x64.ActiveCfg = Release|Any CPU + {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Release|x64.Build.0 = Release|Any CPU + {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Release|x86.ActiveCfg = Release|x86 + {7E95FCAA-7B7C-4585-8EE2-58DB97ED9110}.Release|x86.Build.0 = Release|x86 + {92EA3681-9EA9-438A-A598-2531F483A0C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {92EA3681-9EA9-438A-A598-2531F483A0C6}.Debug|Any CPU.Build.0 = Debug|Any CPU + {92EA3681-9EA9-438A-A598-2531F483A0C6}.Debug|x64.ActiveCfg = Debug|Any CPU + {92EA3681-9EA9-438A-A598-2531F483A0C6}.Debug|x64.Build.0 = Debug|Any CPU + {92EA3681-9EA9-438A-A598-2531F483A0C6}.Debug|x86.ActiveCfg = Debug|x86 + {92EA3681-9EA9-438A-A598-2531F483A0C6}.Debug|x86.Build.0 = Debug|x86 + {92EA3681-9EA9-438A-A598-2531F483A0C6}.Release|Any CPU.ActiveCfg = Release|Any CPU + {92EA3681-9EA9-438A-A598-2531F483A0C6}.Release|Any CPU.Build.0 = Release|Any CPU + {92EA3681-9EA9-438A-A598-2531F483A0C6}.Release|x64.ActiveCfg = Release|Any CPU + {92EA3681-9EA9-438A-A598-2531F483A0C6}.Release|x64.Build.0 = Release|Any CPU + {92EA3681-9EA9-438A-A598-2531F483A0C6}.Release|x86.ActiveCfg = Release|x86 + {92EA3681-9EA9-438A-A598-2531F483A0C6}.Release|x86.Build.0 = Release|x86 + {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Debug|x64.ActiveCfg = Debug|Any CPU + {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Debug|x64.Build.0 = Debug|Any CPU + {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Debug|x86.ActiveCfg = Debug|x86 + {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Debug|x86.Build.0 = Debug|x86 + {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Release|Any CPU.Build.0 = Release|Any CPU + {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Release|x64.ActiveCfg = Release|Any CPU + {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Release|x64.Build.0 = Release|Any CPU + {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Release|x86.ActiveCfg = Release|x86 + {4CDFEB5C-1808-44AD-9206-0049FF26FA2E}.Release|x86.Build.0 = Release|x86 + {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Debug|x64.ActiveCfg = Debug|Any CPU + {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Debug|x64.Build.0 = Debug|Any CPU + {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Debug|x86.ActiveCfg = Debug|x86 + {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Debug|x86.Build.0 = Debug|x86 + {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Release|Any CPU.Build.0 = Release|Any CPU + {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Release|x64.ActiveCfg = Release|Any CPU + {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Release|x64.Build.0 = Release|Any CPU + {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Release|x86.ActiveCfg = Release|x86 + {9F09A31B-DE05-4FF8-8E89-867AFFE0ACE7}.Release|x86.Build.0 = Release|x86 + {3D007252-DD48-4288-97BC-5E1657839FBB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {3D007252-DD48-4288-97BC-5E1657839FBB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {3D007252-DD48-4288-97BC-5E1657839FBB}.Debug|x64.ActiveCfg = Debug|Any CPU + {3D007252-DD48-4288-97BC-5E1657839FBB}.Debug|x64.Build.0 = Debug|Any CPU + {3D007252-DD48-4288-97BC-5E1657839FBB}.Debug|x86.ActiveCfg = Debug|x86 + {3D007252-DD48-4288-97BC-5E1657839FBB}.Debug|x86.Build.0 = Debug|x86 + {3D007252-DD48-4288-97BC-5E1657839FBB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {3D007252-DD48-4288-97BC-5E1657839FBB}.Release|Any CPU.Build.0 = Release|Any CPU + {3D007252-DD48-4288-97BC-5E1657839FBB}.Release|x64.ActiveCfg = Release|Any CPU + {3D007252-DD48-4288-97BC-5E1657839FBB}.Release|x64.Build.0 = Release|Any CPU + {3D007252-DD48-4288-97BC-5E1657839FBB}.Release|x86.ActiveCfg = Release|x86 + {3D007252-DD48-4288-97BC-5E1657839FBB}.Release|x86.Build.0 = Release|x86 + {F4EF0925-945B-418C-9A81-8490D89985DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {F4EF0925-945B-418C-9A81-8490D89985DB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {F4EF0925-945B-418C-9A81-8490D89985DB}.Debug|x64.ActiveCfg = Debug|Any CPU + {F4EF0925-945B-418C-9A81-8490D89985DB}.Debug|x64.Build.0 = Debug|Any CPU + {F4EF0925-945B-418C-9A81-8490D89985DB}.Debug|x86.ActiveCfg = Debug|x86 + {F4EF0925-945B-418C-9A81-8490D89985DB}.Debug|x86.Build.0 = Debug|x86 + {F4EF0925-945B-418C-9A81-8490D89985DB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {F4EF0925-945B-418C-9A81-8490D89985DB}.Release|Any CPU.Build.0 = Release|Any CPU + {F4EF0925-945B-418C-9A81-8490D89985DB}.Release|x64.ActiveCfg = Release|Any CPU + {F4EF0925-945B-418C-9A81-8490D89985DB}.Release|x64.Build.0 = Release|Any CPU + {F4EF0925-945B-418C-9A81-8490D89985DB}.Release|x86.ActiveCfg = Release|x86 + {F4EF0925-945B-418C-9A81-8490D89985DB}.Release|x86.Build.0 = Release|x86 + {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Debug|Any CPU.Build.0 = Debug|Any CPU + {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Debug|x64.ActiveCfg = Debug|Any CPU + {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Debug|x64.Build.0 = Debug|Any CPU + {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Debug|x86.ActiveCfg = Debug|x86 + {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Debug|x86.Build.0 = Debug|x86 + {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Release|Any CPU.ActiveCfg = Release|Any CPU + {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Release|Any CPU.Build.0 = Release|Any CPU + {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Release|x64.ActiveCfg = Release|Any CPU + {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Release|x64.Build.0 = Release|Any CPU + {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Release|x86.ActiveCfg = Release|x86 + {12F7FDD0-A6EC-4ABE-A01B-790AD8CAEF03}.Release|x86.Build.0 = Release|x86 + {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Debug|Any CPU.Build.0 = Debug|Any CPU + {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Debug|x64.ActiveCfg = Debug|Any CPU + {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Debug|x64.Build.0 = Debug|Any CPU + {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Debug|x86.ActiveCfg = Debug|x86 + {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Debug|x86.Build.0 = Debug|x86 + {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Release|Any CPU.ActiveCfg = Release|Any CPU + {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Release|Any CPU.Build.0 = Release|Any CPU + {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Release|x64.ActiveCfg = Release|Any CPU + {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Release|x64.Build.0 = Release|Any CPU + {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Release|x86.ActiveCfg = Release|x86 + {24EEBEFB-2B19-489D-B3AF-9FE00A56346E}.Release|x86.Build.0 = Release|x86 + {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Debug|x64.ActiveCfg = Debug|Any CPU + {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Debug|x64.Build.0 = Debug|Any CPU + {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Debug|x86.ActiveCfg = Debug|x86 + {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Debug|x86.Build.0 = Debug|x86 + {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Release|Any CPU.Build.0 = Release|Any CPU + {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Release|x64.ActiveCfg = Release|Any CPU + {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Release|x64.Build.0 = Release|Any CPU + {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Release|x86.ActiveCfg = Release|x86 + {B1998404-5A6C-49AB-BE38-ECFDAA8361B0}.Release|x86.Build.0 = Release|x86 + {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Debug|Any CPU.Build.0 = Debug|Any CPU + {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Debug|x64.ActiveCfg = Debug|x64 + {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Debug|x64.Build.0 = Debug|x64 + {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Debug|x86.ActiveCfg = Debug|x86 + {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Debug|x86.Build.0 = Debug|x86 + {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Release|Any CPU.ActiveCfg = Release|Any CPU + {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Release|Any CPU.Build.0 = Release|Any CPU + {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Release|x64.ActiveCfg = Release|x64 + {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Release|x64.Build.0 = Release|x64 + {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Release|x86.ActiveCfg = Release|x86 + {EDB3CF95-E4DD-4D02-97E8-CD3D12CC5F86}.Release|x86.Build.0 = Release|x86 + {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Debug|Any CPU.Build.0 = Debug|Any CPU + {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Debug|x64.ActiveCfg = Debug|Any CPU + {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Debug|x64.Build.0 = Debug|Any CPU + {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Debug|x86.ActiveCfg = Debug|x86 + {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Debug|x86.Build.0 = Debug|x86 + {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Release|Any CPU.ActiveCfg = Release|Any CPU + {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Release|Any CPU.Build.0 = Release|Any CPU + {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Release|x64.ActiveCfg = Release|Any CPU + {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Release|x64.Build.0 = Release|Any CPU + {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Release|x86.ActiveCfg = Release|x86 + {350D3BE7-35A4-4B09-9D28-DDE2F6B716CD}.Release|x86.Build.0 = Release|x86 + {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Debug|x64.ActiveCfg = Debug|Any CPU + {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Debug|x64.Build.0 = Debug|Any CPU + {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Debug|x86.ActiveCfg = Debug|x86 + {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Debug|x86.Build.0 = Debug|x86 + {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Release|Any CPU.Build.0 = Release|Any CPU + {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Release|x64.ActiveCfg = Release|Any CPU + {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Release|x64.Build.0 = Release|Any CPU + {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Release|x86.ActiveCfg = Release|x86 + {E5D23BF6-95FE-4DDF-A1FF-3E0A7F5DCF5F}.Release|x86.Build.0 = Release|x86 + {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Debug|Any CPU.Build.0 = Debug|Any CPU + {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Debug|x64.ActiveCfg = Debug|Any CPU + {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Debug|x64.Build.0 = Debug|Any CPU + {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Debug|x86.ActiveCfg = Debug|x86 + {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Debug|x86.Build.0 = Debug|x86 + {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Release|Any CPU.ActiveCfg = Release|Any CPU + {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Release|Any CPU.Build.0 = Release|Any CPU + {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Release|x64.ActiveCfg = Release|Any CPU + {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Release|x64.Build.0 = Release|Any CPU + {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Release|x86.ActiveCfg = Release|x86 + {ADD48409-FC1F-4A92-B07C-6B9A9A5BAC72}.Release|x86.Build.0 = Release|x86 + {50FEF6BE-F961-4949-8658-2948DE7B777B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {50FEF6BE-F961-4949-8658-2948DE7B777B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {50FEF6BE-F961-4949-8658-2948DE7B777B}.Debug|x64.ActiveCfg = Debug|Any CPU + {50FEF6BE-F961-4949-8658-2948DE7B777B}.Debug|x64.Build.0 = Debug|Any CPU + {50FEF6BE-F961-4949-8658-2948DE7B777B}.Debug|x86.ActiveCfg = Debug|x86 + {50FEF6BE-F961-4949-8658-2948DE7B777B}.Debug|x86.Build.0 = Debug|x86 + {50FEF6BE-F961-4949-8658-2948DE7B777B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {50FEF6BE-F961-4949-8658-2948DE7B777B}.Release|Any CPU.Build.0 = Release|Any CPU + {50FEF6BE-F961-4949-8658-2948DE7B777B}.Release|x64.ActiveCfg = Release|Any CPU + {50FEF6BE-F961-4949-8658-2948DE7B777B}.Release|x64.Build.0 = Release|Any CPU + {50FEF6BE-F961-4949-8658-2948DE7B777B}.Release|x86.ActiveCfg = Release|x86 + {50FEF6BE-F961-4949-8658-2948DE7B777B}.Release|x86.Build.0 = Release|x86 + {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Debug|Any CPU.Build.0 = Debug|Any CPU + {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Debug|x64.ActiveCfg = Debug|x64 + {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Debug|x64.Build.0 = Debug|x64 + {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Debug|x86.ActiveCfg = Debug|x86 + {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Debug|x86.Build.0 = Debug|x86 + {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Release|Any CPU.ActiveCfg = Release|Any CPU + {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Release|Any CPU.Build.0 = Release|Any CPU + {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Release|x64.ActiveCfg = Release|x64 + {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Release|x64.Build.0 = Release|x64 + {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Release|x86.ActiveCfg = Release|x86 + {9F469FD8-4A92-4C1F-901C-93D84D457D8F}.Release|x86.Build.0 = Release|x86 + {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Debug|Any CPU.Build.0 = Debug|Any CPU + {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Debug|x64.ActiveCfg = Debug|x64 + {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Debug|x64.Build.0 = Debug|x64 + {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Debug|x86.ActiveCfg = Debug|x86 + {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Debug|x86.Build.0 = Debug|x86 + {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Release|Any CPU.ActiveCfg = Release|Any CPU + {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Release|Any CPU.Build.0 = Release|Any CPU + {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Release|x64.ActiveCfg = Release|x64 + {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Release|x64.Build.0 = Release|x64 + {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Release|x86.ActiveCfg = Release|x86 + {FABF7AA3-DDE7-48A4-8226-ECD3AD423597}.Release|x86.Build.0 = Release|x86 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {1BA059A0-18ED-4E46-9B30-2494B4EE2381} + EndGlobalSection +EndGlobal diff --git a/USGSHydroToolboxDS/Utilities.cs b/USGSHydroToolboxDS/Utilities.cs new file mode 100644 index 000000000..2b59eaee3 --- /dev/null +++ b/USGSHydroToolboxDS/Utilities.cs @@ -0,0 +1,307 @@ +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.ComponentModel; +using atcData; +using BASINS; +using DotSpatial.Data.Rasters.GdalExtension; + +namespace USGSHydroToolbox +{ + public enum ETSMathOperationType + { + MATH, + DATE, + ALL + } + + public enum ETSTool + { + [Description("Attributes")] + ATTRIBUTES, + [Description("Data Tree")] + DATATREE, + [Description("Events")] + EVENTS, + [Description("Graph")] + GRAPH, + [Description("List")] + LIST, + [Description("Trend")] + TREND, + [Description("Generate Time Series")] + GTS, + [Description("Math Functions")] + MATH, + [Description("Subset By Date")] + SUBSET, + [Description("Subset and Filter Time Series")] + SUBSETFILTER + } + + public enum EAnalysisGW + { + [Description("Base-Flow Separation")] + BASEFLOW, + [Description("Recharge Estimation with RORA")] + RORA, + [Description("Estimate Hydrograph Parameters")] + ESTIMATEHYDROPARAM, + [Description("RECESS")] + RECESS, + [Description("Two-Parameter Digital Filter")] + TWOPARAMFILTER + } + + public enum EAnalysisSW + { + [Description("Duration/Compare")] + DC, + [Description("Duration Hydrograph")] + DH, + [Description("USGS Integrated Design Flow (IDF)")] + IDF, + [Description("Interactive")] + INTERACTIVE, + [Description("Create SWSTAT Batch")] + SWSTATBATCH, + [Description("Create DFLOW Batch")] + DFLOWBATCH, + [Description("Run Existing Batch")] + RUNBATCH + } + + public enum EProjectAction + { + [Description("New HUC8 Project...")] + NEW, + [Description("Open HUC8 Project...")] + OPEN, + [Description("SAVE")] + SAVE, + [Description("Save as...")] + SAVEAS, + [Description("Archive")] + ARCHIVE + } + + public enum EHelpAction + { + [Description("Hydro Toolbox Web Page")] + WEBPAGE, + [Description("Hydro Toolbox Documentation")] + DOC, + [Description("Report a bug")] + BUGREPORT, + [Description("Welcome Screen")] + WELCOME, + [Description("About")] + ABOUT + } + + public class Utilities + { + + public const string g_CacheDir = @"C:\USGSHydroToolbox\Cache\"; + public const string g_PathChar = @"\"; + public const string g_AppNameShort = @"Hydro Toolbox"; + + public static atcBasinsPlugIn BASINSPlugin; + + public static atcTimeseriesMath.atcTimeseriesMath TSMath; + + public static string TSToolDescription(ETSTool ets) + { + switch (ets) + { + case ETSTool.DATATREE: + return "Data Tree"; + case ETSTool.ATTRIBUTES: + return "Attributes"; + case ETSTool.LIST: + return "List"; + case ETSTool.GTS: + return "Generate Time Series"; + case ETSTool.MATH: + return "Math Functions"; + case ETSTool.SUBSET: + return "Subset By Date"; + case ETSTool.GRAPH: + return "Graph"; + case ETSTool.TREND: + return "Trend"; + case ETSTool.EVENTS: + return "Events"; + case ETSTool.SUBSETFILTER: + return "Subset and Filter Time Series"; + default: + return ""; + } + } + + public static string AnalysisDescriptionGW(EAnalysisGW ea) + { + switch (ea) + { + case EAnalysisGW.BASEFLOW: + return "Base-Flow Separation"; + case EAnalysisGW.RORA: + return "Recharge Estimation with RORA"; + case EAnalysisGW.ESTIMATEHYDROPARAM: + return "Estimate Hydrograph Parameters"; + case EAnalysisGW.RECESS: + return "RECESS"; + case EAnalysisGW.TWOPARAMFILTER: + return "Two-Parameter Digital Filter"; + default: + return ""; + } + } + + public static string AnalysisDescriptionSW(EAnalysisSW ea) + { + switch (ea) + { + case EAnalysisSW.DC: + return "Duration/Compare"; + case EAnalysisSW.DH: + return "Duration Hydrograph"; + case EAnalysisSW.IDF: + return "USGS Integrated Design Flow (IDF)"; + case EAnalysisSW.INTERACTIVE: + return "Interactive"; + case EAnalysisSW.SWSTATBATCH: + return "Create SWSTAT Batch"; + case EAnalysisSW.DFLOWBATCH: + return "Create DFLOW Batch"; + case EAnalysisSW.RUNBATCH: + return "Run Existing Batch"; + default: + return ""; + } + } + + public static string ProjectActionDescription(EProjectAction pa) + { + switch (pa) + { + case EProjectAction.ARCHIVE: + return "Archive..."; + case EProjectAction.NEW: + return "New HUC8 Project..."; + case EProjectAction.OPEN: + return "Open HUC8 Project..."; + case EProjectAction.SAVE: + return "Save"; + case EProjectAction.SAVEAS: + return "Save as..."; + default: + return ""; + } + } + + public static string HelpDescription(EHelpAction ha) + { + switch (ha) + { + case EHelpAction.WEBPAGE: + return "Hydro Toolbox Web Page"; + case EHelpAction.ABOUT: + return "About"; + case EHelpAction.BUGREPORT: + return "Report a bug"; + case EHelpAction.DOC: + return "Hydro Toolbox Documentation"; + case EHelpAction.WELCOME: + return "Welcome Screen"; + default: + return ""; + } + } + + public static List TSMathOperationNames(ETSMathOperationType et) + { + var list = new List(); + if (TSMath == null) + TSMath = new atcTimeseriesMath.atcTimeseriesMath(); + + foreach (var attr in TSMath.AvailableOperations) + { + string key = attr.Definition.Name; + switch (et) + { + case ETSMathOperationType.MATH: + if (key.Contains("Subset") || key.Contains("Merge") || key.Contains("Sum") || key.Contains("Celsius")) + { + //skip + } + else + { + list.Add(key); + } + + break; + case ETSMathOperationType.DATE: + if (key.Contains("Subset") || key.Contains("Merge")) + list.Add(key); + break; + default: + list.Add(key); + break; + } + } + return list; + } + + public static bool LoadDataSourcePlugins() + { + try + { + if (atcDataManager.DataSources is null) + atcDataManager.Clear(); + if (atcDataManager.DataPlugins.Count > 0) + return true; + var att = new atcDataAttributes(); + atcTimeseriesStatistics.atcTimeseriesStatistics.InitializeShared(); + //var datasources = atcDataManager.GetPlugins(typeof(atcDataSource)); + var script = new atcTimeseriesScript.atcTimeseriesScriptPlugin(); + atcDataManager.DataPlugins.Add(script); + var lRDB = new atcTimeseriesRDB.atcTimeseriesRDB(); + atcDataManager.DataPlugins.Add(lRDB); + var listPlugin = new atcList.atcListPlugin(); + atcDataManager.DataPlugins.Add(listPlugin); + var graphPlugin = new atcGraph.atcGraphPlugin(); + atcDataManager.DataPlugins.Add(graphPlugin); + TSMath = new atcTimeseriesMath.atcTimeseriesMath(); + var saPlugin = new atcSeasonalAttributes.atcSeasonalAttributesPlugin(); + atcDataManager.DataPlugins.Add(saPlugin); + var sPlugin = new atcSeasons.atcSeasonPlugin(); + atcDataManager.DataPlugins.Add(sPlugin); + var bfPlugin = new atcTimeseriesBaseflow.atcTimeseriesBaseflow(); + atcDataManager.DataPlugins.Add(bfPlugin); + + var gdalRasterHandle = new DotSpatial.Data.Rasters.GdalExtension.GdalRasterProvider(); + var gdalImageHandle = new DotSpatial.Data.Rasters.GdalExtension.GdalImageProvider(); + DotSpatial.Data.DataManager.DefaultDataManager.PreferredProviders.Add("GdalImageProvider", gdalImageHandle); + var gdalOgrHandle = new DotSpatial.Data.Rasters.GdalExtension.OgrDataProvider(); + DotSpatial.Data.DataManager.DefaultDataManager.PreferredProviders.Add("OgrDataProvider", gdalOgrHandle); + //DotSpatial.Symbology.RasterLayer.MaxCellsInMemory = 80 * 60; + + return true; + } + catch (Exception e) + { + System.Diagnostics.Debug.Print(e.InnerException.Message); + return false; + } + } + } + + public class TSettings + { + public StringCollection RecentFiles; + } +} diff --git a/USGSHydroToolboxDS/frmMain.Designer.cs b/USGSHydroToolboxDS/frmMain.Designer.cs new file mode 100644 index 000000000..56142f5f0 --- /dev/null +++ b/USGSHydroToolboxDS/frmMain.Designer.cs @@ -0,0 +1,170 @@ +namespace USGSHydroToolbox +{ + partial class frmMain + { + /// + /// Required designer variable. + /// + private System.ComponentModel.IContainer components = null; + + /// + /// Clean up any resources being used. + /// + /// true if managed resources should be disposed; otherwise, false. + protected override void Dispose(bool disposing) + { + if (disposing && (components != null)) + { + components.Dispose(); + } + base.Dispose(disposing); + } + + #region Windows Form Designer generated code + + /// + /// Required method for Designer support - do not modify + /// the contents of this method with the code editor. + /// + private void InitializeComponent() + { + System.ComponentModel.ComponentResourceManager resources = new System.ComponentModel.ComponentResourceManager(typeof(frmMain)); + this.appManager = new DotSpatial.Controls.AppManager(); + this.appDockManager = new DotSpatial.Controls.SpatialDockManager(); + this.appLegendTab = new System.Windows.Forms.TabControl(); + this.tabPage1 = new System.Windows.Forms.TabPage(); + this.appLegend = new DotSpatial.Controls.Legend(); + this.appMap = new DotSpatial.Controls.Map(); + ((System.ComponentModel.ISupportInitialize)(this.appDockManager)).BeginInit(); + this.appDockManager.Panel1.SuspendLayout(); + this.appDockManager.Panel2.SuspendLayout(); + this.appDockManager.SuspendLayout(); + this.appLegendTab.SuspendLayout(); + this.tabPage1.SuspendLayout(); + this.SuspendLayout(); + // + // appManager + // + this.appManager.Directories = ((System.Collections.Generic.List)(resources.GetObject("appManager.Directories"))); + this.appManager.DockManager = this.appDockManager; + this.appManager.HeaderControl = null; + this.appManager.Legend = this.appLegend; + this.appManager.Map = this.appMap; + this.appManager.ProgressHandler = null; + // + // appDockManager + // + this.appDockManager.Dock = System.Windows.Forms.DockStyle.Fill; + this.appDockManager.Location = new System.Drawing.Point(0, 0); + this.appDockManager.Name = "appDockManager"; + // + // appDockManager.Panel1 + // + this.appDockManager.Panel1.Controls.Add(this.appLegendTab); + // + // appDockManager.Panel2 + // + this.appDockManager.Panel2.Controls.Add(this.appMap); + this.appDockManager.Size = new System.Drawing.Size(800, 450); + this.appDockManager.SplitterDistance = 266; + this.appDockManager.TabControl1 = this.appLegendTab; + this.appDockManager.TabControl2 = null; + this.appDockManager.TabIndex = 0; + // + // appLegendTab + // + this.appLegendTab.Controls.Add(this.tabPage1); + this.appLegendTab.Dock = System.Windows.Forms.DockStyle.Fill; + this.appLegendTab.Location = new System.Drawing.Point(0, 0); + this.appLegendTab.Name = "appLegendTab"; + this.appLegendTab.SelectedIndex = 0; + this.appLegendTab.Size = new System.Drawing.Size(266, 450); + this.appLegendTab.TabIndex = 0; + // + // tabPage1 + // + this.tabPage1.Controls.Add(this.appLegend); + this.tabPage1.Location = new System.Drawing.Point(4, 22); + this.tabPage1.Name = "tabPage1"; + this.tabPage1.Padding = new System.Windows.Forms.Padding(3); + this.tabPage1.Size = new System.Drawing.Size(258, 424); + this.tabPage1.TabIndex = 0; + this.tabPage1.Text = "Legend"; + this.tabPage1.UseVisualStyleBackColor = true; + // + // appLegend + // + this.appLegend.BackColor = System.Drawing.Color.White; + this.appLegend.ControlRectangle = new System.Drawing.Rectangle(0, 0, 252, 418); + this.appLegend.Dock = System.Windows.Forms.DockStyle.Fill; + this.appLegend.DocumentRectangle = new System.Drawing.Rectangle(0, 0, 187, 428); + this.appLegend.HorizontalScrollEnabled = true; + this.appLegend.Indentation = 30; + this.appLegend.IsInitialized = false; + this.appLegend.Location = new System.Drawing.Point(3, 3); + this.appLegend.MinimumSize = new System.Drawing.Size(5, 5); + this.appLegend.Name = "appLegend"; + this.appLegend.ProgressHandler = null; + this.appLegend.ResetOnResize = false; + this.appLegend.SelectionFontColor = System.Drawing.Color.Black; + this.appLegend.SelectionHighlight = System.Drawing.Color.FromArgb(((int)(((byte)(215)))), ((int)(((byte)(238)))), ((int)(((byte)(252))))); + this.appLegend.Size = new System.Drawing.Size(252, 418); + this.appLegend.TabIndex = 0; + this.appLegend.Text = "appLegend"; + this.appLegend.UseLegendForSelection = true; + this.appLegend.VerticalScrollEnabled = true; + // + // appMap + // + this.appMap.AllowDrop = true; + this.appMap.BackColor = System.Drawing.Color.White; + this.appMap.CollisionDetection = false; + this.appMap.Dock = System.Windows.Forms.DockStyle.Fill; + this.appMap.ExtendBuffer = false; + this.appMap.FunctionMode = DotSpatial.Controls.FunctionMode.None; + this.appMap.IsBusy = false; + this.appMap.IsZoomedToMaxExtent = false; + this.appMap.Legend = this.appLegend; + this.appMap.Location = new System.Drawing.Point(0, 0); + this.appMap.Name = "appMap"; + this.appMap.ProgressHandler = null; + this.appMap.ProjectionModeDefine = DotSpatial.Controls.ActionMode.Prompt; + this.appMap.ProjectionModeReproject = DotSpatial.Controls.ActionMode.Prompt; + this.appMap.RedrawLayersWhileResizing = false; + this.appMap.SelectionEnabled = true; + this.appMap.Size = new System.Drawing.Size(530, 450); + this.appMap.TabIndex = 0; + this.appMap.ZoomOutFartherThanMaxExtent = false; + // + // frmMain + // + this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); + this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font; + this.ClientSize = new System.Drawing.Size(800, 450); + this.Controls.Add(this.appDockManager); + this.Name = "frmMain"; + this.Text = "Form1"; + this.FormClosing += new System.Windows.Forms.FormClosingEventHandler(this.frmMain_FormClosing); + this.Load += new System.EventHandler(this.frmMain_Load); + this.Shown += new System.EventHandler(this.frmMain_Shown); + this.appDockManager.Panel1.ResumeLayout(false); + this.appDockManager.Panel2.ResumeLayout(false); + ((System.ComponentModel.ISupportInitialize)(this.appDockManager)).EndInit(); + this.appDockManager.ResumeLayout(false); + this.appLegendTab.ResumeLayout(false); + this.tabPage1.ResumeLayout(false); + this.ResumeLayout(false); + + } + + #endregion + + private DotSpatial.Controls.AppManager appManager; + private DotSpatial.Controls.SpatialDockManager appDockManager; + private System.Windows.Forms.TabControl appLegendTab; + private System.Windows.Forms.TabPage tabPage1; + private DotSpatial.Controls.Map appMap; + private DotSpatial.Controls.Legend appLegend; + } +} + diff --git a/USGSHydroToolboxDS/frmMain.cs b/USGSHydroToolboxDS/frmMain.cs new file mode 100644 index 000000000..ad17df52b --- /dev/null +++ b/USGSHydroToolboxDS/frmMain.cs @@ -0,0 +1,674 @@ +using System; +using System.Collections.Generic; +using System.Collections.Specialized; +using System.ComponentModel; +using System.Xml; +using System.Xml.Serialization; +using System.IO; +using System.Drawing; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Forms; +using System.ComponentModel.Composition; +using DotSpatial.Data; +using DotSpatial.Controls; +using DotSpatial.Controls.Header; +using DotSpatial.Symbology; +using System.Drawing.Drawing2D; +using atcData; +using atcUSGSRora; +using atcUSGSBaseflow; +using atcUSGSDF2P; +using atcUSGSRecess; +using atcDurationCompare; +using atcIDF; +using BASINS; + + +namespace USGSHydroToolbox +{ + public partial class frmMain : Form + { + [Export("Shell", typeof(ContainerControl))] + private static ContainerControl shell; + public frmMain() + { + InitializeComponent(); + if (DesignMode) return; + shell = this; + appManager.LoadExtensions(); + } + + private void frmMain_Load(object sender, EventArgs e) + { + /* DS Intro -------------------------------- + IFeatureSet fs = FeatureSet.Open(@"C:\Data\gis\utah\boundaries\Centroid.shp"); + IMapFeatureLayer mylayer = appMap.Layers.Add(fs); + MakeYellowStars(mylayer); + + //it would be a lot more efficient to cast a layer to its precise geometry type + //otherwise all operation will require casting on the generic layer object + IMapPointLayer myPtlayer = mylayer as IMapPointLayer; + MakeComplexSymbol(myPtlayer); + + if (!(myPtlayer == null)) + { + //CategorizeCities(myPtlayer); + CategorizeCitiesByAlgorithm(myPtlayer); + } + ------------------------------------------------ */ + + if (Utilities.g_AppNameShort == "Hydro Toolbox") + { + this.Icon = Images.USGS; + this.Text = "Hydro Toolbox"; + } + AddProjMenuItems(appManager.HeaderControl); + AddDataMenuItems(appManager.HeaderControl); + AddGeneralTSMenuItems(appManager.HeaderControl); + AddGWMenuItems(appManager.HeaderControl); + AddSWMenuItems(appManager.HeaderControl); + AddHelpMenuItems(appManager.HeaderControl); + Utilities.BASINSPlugin = new atcBasinsPlugIn(); + Utilities.BASINSPlugin.Initialize(appManager, 0); + if (!atcMwGisUtility.GisUtilDS.MappingObjectSet()) + atcMwGisUtility.GisUtilDS.MappingObject = appManager; + Utilities.TSMath.ShareDates = false; + appManager.HeaderControl.Remove("kExtensions"); + //appManager.HeaderControl.Remove("kApplicationMenu"); + appManager.Map.MapFrame.LayerAdded += atcBasinsPlugIn.LayersAdded; + appManager.Map.LayerAdded += atcBasinsPlugIn.LayersAdded; + appManager.Map.Layers.LayerSelected += atcBasinsPlugIn.LayerSelected; + appManager.Map.SelectionChanged += atcBasinsPlugIn.ShapesSelected; + appManager.SerializationManager.Deserializing += Utilities.BASINSPlugin.ProjectLoadingDS; + appManager.SerializationManager.Deserializing += UpdateUI; + appManager.SerializationManager.Serializing += Utilities.BASINSPlugin.ProjectSavingDS; + appManager.SerializationManager.NewProjectCreated += UpdateUI; + appManager.SerializationManager.Serializing += UpdateUI; + LoadRecentFiles(); + } + + private void UpdateUI(Object sender , SerializingEventArgs evt) + { + var projname = appManager.SerializationManager.CurrentProjectFile; + if (!String.IsNullOrEmpty(projname)) + { + var projid = System.IO.Path.GetFileNameWithoutExtension(projname); + this.Text = "Hydro Toolbox - " + projid; + } + else + this.Text = "Hydro Toolbox"; + + //bool handled = true; + //Utilities.BASINSPlugin.ItemClicked("mnuNew", ref handled); + } + + private void AddDataMenuItems(IHeaderControl header) + { + const string SampleMenuKey = "kDataManager"; + + // Root menu + header.Add(new RootItem(SampleMenuKey, "Data")); + + // Add some child menus + //header.Add(new SimpleActionItem(SampleMenuKey, "Download...", null) { Enabled = true }); + header.Add(new SimpleActionItem(SampleMenuKey, "Download...", OnDataMenuClickEventHandler) { Enabled = true }); + header.Add(new SimpleActionItem(SampleMenuKey, "Open...", OnDataMenuClickEventHandler)); + header.Add(new SimpleActionItem(SampleMenuKey, "Manage...", OnDataMenuClickEventHandler)); + header.Add(new SimpleActionItem(SampleMenuKey, "New...", OnDataMenuClickEventHandler)); + header.Add(new SimpleActionItem(SampleMenuKey, "Save In...", OnDataMenuClickEventHandler)); + //header.Add(new SimpleActionItem(SampleMenuKey, "Open Large Grid", OnDataMenuClickEventHandler)); + } + + private void OnDataMenuClickEventHandler(object sender, EventArgs e) + { + var act = ((SimpleActionItem)sender).Caption; + //MessageBox.Show("Clicked " + act); + switch (act) + { + case "Download...": + D4EMDataDownload.DownloadDataPlugin.DSProject = appManager.SerializationManager; + var plugin = new D4EMDataDownload.DownloadDataPlugin(); + plugin.Initialize(appManager, 0); + var handled = true; + plugin.Show("mnuDownloadDataD4EM", ref handled); + break; + case "Open...": + var lFilesOnly = new System.Collections.ArrayList(1); + lFilesOnly.Add("File"); + var src = atcDataManager.UserSelectDataSource(lFilesOnly); + if (src != null) + atcDataManager.OpenDataSource(src, "", null); + break; + case "Manage...": + atcDataManager.UserManage(); + break; + case "New...": + break; + case "Save In...": + break; + case "Open Large Grid": + string gridfilename = @"D:\Data\gis\BigSiouxRiver_atDellRapids\Terrain\Wa21_clipped_projected.Wa21_clipped_ProjectRaster1.tif"; + var gip = new DotSpatial.Data.Rasters.GdalExtension.GdalImageProvider(); + //var gip = new DotSpatial.Data.Rasters.GdalExtension.GdalRasterProvider(); + var imageData = gip.Open(gridfilename); + var imgLayer = new MapImageLayer(imageData); + //var imgLayer = new MapRasterLayer(imageData); + appManager.Map.Layers.Add(imgLayer); + //var mapgridlayer = new MapImageLayer(); + //var symLayers = new System.Collections.Generic.List(); + //ILayer imapgrid = mapgridlayer.OpenLayer(gridfilename, false, symLayers, appManager.ProgressHandler); + //appManager.Map.Layers.Add(imapgrid); + + break; + } + } + + private void AddGWMenuItems(IHeaderControl header) + { + const string SampleMenuKey = "kGWTools"; + + // Root menu + header.Add(new RootItem(SampleMenuKey, "GW-Tools")); + + // Add some child menus + //header.Add(new SimpleActionItem(SampleMenuKey, AnalysisDescription(EAnalysis.BASEFLOW), null) { Enabled = true }); + header.Add(new SimpleActionItem(SampleMenuKey, Utilities.AnalysisDescriptionGW(EAnalysisGW.BASEFLOW), OnGWMenuClickEventHandler) { Enabled = true }); + header.Add(new SimpleActionItem(SampleMenuKey, Utilities.AnalysisDescriptionGW(EAnalysisGW.RORA), OnGWMenuClickEventHandler)); + + // Add sub menus + header.Add(new MenuContainerItem(SampleMenuKey, "submenugwt1", Utilities.AnalysisDescriptionGW(EAnalysisGW.ESTIMATEHYDROPARAM))); + header.Add(new SimpleActionItem(SampleMenuKey, "submenugwt1", Utilities.AnalysisDescriptionGW(EAnalysisGW.RECESS), OnGWMenuClickEventHandler)); + header.Add(new SimpleActionItem(SampleMenuKey, "submenugwt1", Utilities.AnalysisDescriptionGW(EAnalysisGW.TWOPARAMFILTER), OnGWMenuClickEventHandler)); + } + + private void OnGWMenuClickEventHandler(object sender, EventArgs e) + { + var act = ((SimpleActionItem)sender).Caption; + //MessageBox.Show("Clicked " + act); + if (act == Utilities.AnalysisDescriptionGW(EAnalysisGW.BASEFLOW)) + { + var plugin = new clsUSGSBaseflowPlugin(); + plugin.Show(); + } + else if (act == Utilities.AnalysisDescriptionGW(EAnalysisGW.RORA)) + { + var plugin = new clsUSGSRoraPlugin(); + plugin.Show(); + } + else if (act == Utilities.AnalysisDescriptionGW(EAnalysisGW.RECESS)) + { + var plugin = new clsUSGSRecessAnalysis(); + plugin.Show(); + } + else if (act == Utilities.AnalysisDescriptionGW(EAnalysisGW.TWOPARAMFILTER)) + { + var plugin = new clsUSGSDF2PAnalysis(); + plugin.Show(); + } + } + + private void AddSWMenuItems(IHeaderControl header) + { + const string SampleMenuKey = "kSWTools"; + + // Root menu + header.Add(new RootItem(SampleMenuKey, "SW-Tools")); + + // Add some child menus + header.Add(new SimpleActionItem(SampleMenuKey, Utilities.AnalysisDescriptionSW(EAnalysisSW.DC), OnSWMenuClickEventHandler) { Enabled = true }); + header.Add(new SimpleActionItem(SampleMenuKey, Utilities.AnalysisDescriptionSW(EAnalysisSW.DH), OnSWMenuClickEventHandler)); + + // Add sub menus + header.Add(new MenuContainerItem(SampleMenuKey, "submenuswt1", Utilities.AnalysisDescriptionSW(EAnalysisSW.IDF))); + header.Add(new SimpleActionItem(SampleMenuKey, "submenuswt1", Utilities.AnalysisDescriptionSW(EAnalysisSW.INTERACTIVE), OnSWMenuClickEventHandler)); + header.Add(new SimpleActionItem(SampleMenuKey, "submenuswt1", Utilities.AnalysisDescriptionSW(EAnalysisSW.SWSTATBATCH), OnSWMenuClickEventHandler)); + header.Add(new SimpleActionItem(SampleMenuKey, "submenuswt1", Utilities.AnalysisDescriptionSW(EAnalysisSW.DFLOWBATCH), OnSWMenuClickEventHandler)); + header.Add(new SimpleActionItem(SampleMenuKey, "submenuswt1", Utilities.AnalysisDescriptionSW(EAnalysisSW.RUNBATCH), OnSWMenuClickEventHandler)); + } + + private void OnSWMenuClickEventHandler(object sender, EventArgs e) + { + var act = ((SimpleActionItem)sender).Caption; + //MessageBox.Show("Clicked " + act); + if (act == Utilities.AnalysisDescriptionSW(EAnalysisSW.DC)) + { + var plugin = new clsDurationComparePlugin(); + plugin.Show(null); + } + else if (act == Utilities.AnalysisDescriptionSW(EAnalysisSW.DH)) + { + var plugin = new clsDurationComparePlugin(); + plugin.ShowDH(null); + } + else if (act == Utilities.AnalysisDescriptionSW(EAnalysisSW.INTERACTIVE)) + { + var plugin = new clsIDFPlugin(); + plugin.Show(); + } + else if (act == Utilities.AnalysisDescriptionSW(EAnalysisSW.SWSTATBATCH)) + { + var plugin = new clsIDFPlugin(); + } + else if (act == Utilities.AnalysisDescriptionSW(EAnalysisSW.DFLOWBATCH)) + { + var plugin = new clsIDFPlugin(); + } + else if (act == Utilities.AnalysisDescriptionSW(EAnalysisSW.RUNBATCH)) + { + var plugin = new clsIDFPlugin(); + } + } + + private void AddProjMenuItems(IHeaderControl header) + { + const string SampleMenuKey = "kProject"; + + // Root menu + header.Add(new RootItem(SampleMenuKey, "Project")); + + // Add some child menus + //header.Add(new SimpleActionItem(SampleMenuKey, AnalysisDescription(EAnalysis.BASEFLOW), null) { Enabled = true }); + header.Add(new SimpleActionItem(SampleMenuKey, Utilities.ProjectActionDescription(EProjectAction.NEW), OnProjMenuClickEventHandler) { Enabled = true }); + //header.Add(new SimpleActionItem(SampleMenuKey, Utilities.ProjectActionDescription(EProjectAction.OPEN), OnProjMenuClickEventHandler) { Enabled = true }); + //header.Add(new SimpleActionItem(SampleMenuKey, Utilities.ProjectActionDescription(EProjectAction.SAVE), OnProjMenuClickEventHandler)); + //header.Add(new SimpleActionItem(SampleMenuKey, Utilities.ProjectActionDescription(EProjectAction.SAVEAS), OnProjMenuClickEventHandler)); + //header.Add(new SimpleActionItem(SampleMenuKey, Utilities.ProjectActionDescription(EProjectAction.ARCHIVE), OnProjMenuClickEventHandler)); + } + + private void OnProjMenuClickEventHandler(object sender, EventArgs e) + { + var act = ((SimpleActionItem)sender).Caption; + //MessageBox.Show("Clicked " + act); + bool handled = true; + if (act == Utilities.ProjectActionDescription(EProjectAction.NEW)) + { + Utilities.BASINSPlugin.ItemClicked("mnuNew", ref handled); + } + else if (act == Utilities.ProjectActionDescription(EProjectAction.OPEN)) + { + Utilities.BASINSPlugin.ItemClicked("ProgramProjects_", ref handled); + //MessageBox.Show("Use File->Open to open a project"); + } + else if (act == Utilities.ProjectActionDescription(EProjectAction.SAVE)) + { + MessageBox.Show("Use File->Save to save a project"); + } + else if (act == Utilities.ProjectActionDescription(EProjectAction.SAVEAS)) + { + MessageBox.Show("Use File-Save as to save a project to a different name"); + } + else if (act == Utilities.ProjectActionDescription(EProjectAction.ARCHIVE)) + { + MessageBox.Show("To be determined if archive is necessary."); + } + } + + private void AddHelpMenuItems(IHeaderControl header) + { + const string SampleMenuKey = "kHelp"; + + // Root menu + header.Add(new RootItem(SampleMenuKey, "Help")); + + // Add some child menus + header.Add(new SimpleActionItem(SampleMenuKey, Utilities.HelpDescription(EHelpAction.WEBPAGE), OnHelpMenuClickEventHandler) { Enabled = true }); + header.Add(new SimpleActionItem(SampleMenuKey, Utilities.HelpDescription(EHelpAction.DOC), OnHelpMenuClickEventHandler) { Enabled = true }); + header.Add(new SimpleActionItem(SampleMenuKey, Utilities.HelpDescription(EHelpAction.BUGREPORT), OnHelpMenuClickEventHandler)); + header.Add(new SimpleActionItem(SampleMenuKey, Utilities.HelpDescription(EHelpAction.WELCOME), OnHelpMenuClickEventHandler)); + header.Add(new SimpleActionItem(SampleMenuKey, Utilities.HelpDescription(EHelpAction.ABOUT), OnHelpMenuClickEventHandler)); + } + + private void OnHelpMenuClickEventHandler(object sender, EventArgs e) + { + var act = ((SimpleActionItem)sender).Caption; + //MessageBox.Show("Clicked " + act); + bool handled = true; + if (act == Utilities.HelpDescription(EHelpAction.WEBPAGE)) + { + Utilities.BASINSPlugin.ItemClicked("ProgramWebPage", ref handled); + } + else if (act == Utilities.HelpDescription(EHelpAction.DOC)) + { + Utilities.BASINSPlugin.ItemClicked("BasinsHelp", ref handled); + } + else if (act == Utilities.HelpDescription(EHelpAction.BUGREPORT)) + { + } + else if (act == Utilities.HelpDescription(EHelpAction.WELCOME)) + { + Utilities.BASINSPlugin.Message("WELCOME_SCREEN", ref handled); + } + else if (act == Utilities.HelpDescription(EHelpAction.ABOUT)) + { + Utilities.BASINSPlugin.ItemClicked("mnuAboutMapWindow", ref handled); + } + } + + private void AddGeneralTSMenuItems(IHeaderControl header) + { + const string SampleMenuKey = "kGTSTools"; + + // Root menu + header.Add(new RootItem(SampleMenuKey, "Time-Series Tools")); + + // Add some child menus + header.Add(new SimpleActionItem(SampleMenuKey, Utilities.TSToolDescription(ETSTool.ATTRIBUTES), OnTSMenuClickEventHandler)); + header.Add(new SimpleActionItem(SampleMenuKey, Utilities.TSToolDescription(ETSTool.DATATREE), OnTSMenuClickEventHandler) { Enabled = true }); + header.Add(new SimpleActionItem(SampleMenuKey, Utilities.TSToolDescription(ETSTool.EVENTS), OnTSMenuClickEventHandler) { Enabled = true }); + header.Add(new SimpleActionItem(SampleMenuKey, Utilities.TSToolDescription(ETSTool.GRAPH), OnTSMenuClickEventHandler)); + header.Add(new SimpleActionItem(SampleMenuKey, Utilities.TSToolDescription(ETSTool.LIST), OnTSMenuClickEventHandler)); + header.Add(new SimpleActionItem(SampleMenuKey, Utilities.TSToolDescription(ETSTool.TREND), OnTSMenuClickEventHandler)); + + // Add sub menus + header.Add(new MenuContainerItem(SampleMenuKey, "tsgen", Utilities.TSToolDescription(ETSTool.GTS))); + //header.Add(new MenuContainerItem(SampleMenuKey, "tsgen_tst1", "tst1", Utilities.TSToolDescription(ETSTool.MATH))); + //header.Add(new MenuContainerItem(SampleMenuKey, "tsgen_tst2", "tst2", Utilities.TSToolDescription(ETSTool.SUBSET))); + header.Add(new MenuContainerItem(SampleMenuKey, "tsgen", "tst1", Utilities.TSToolDescription(ETSTool.MATH))); + header.Add(new MenuContainerItem(SampleMenuKey, "tsgen", "tst2", Utilities.TSToolDescription(ETSTool.SUBSET))); + + var TsMathOperations = Utilities.TSMathOperationNames(ETSMathOperationType.ALL); + foreach (var Key in TsMathOperations) + { + if (Key.Contains("Subset") || Key.Contains("Merge")) + { + header.Add(new SimpleActionItem(SampleMenuKey, "tsgen_tst2", Key, OnTSMenuClickEventHandler)); + } + else if (Key.Contains("Sum") || Key.Contains("Celsius")) + { + //skip + } + else + header.Add(new SimpleActionItem(SampleMenuKey, "tsgen_tst1", Key, OnTSMenuClickEventHandler)); + } + + /* + var subfilter = new SimpleActionItem(SampleMenuKey, "tsgen", Utilities.TSToolDescription(ETSTool.SUBSETFILTER), OnTSMenuClickEventHandler); + subfilter.SmallImage = Images.Basins.ToBitmap(); + header.Add(subfilter); + */ + header.Add(new SimpleActionItem(SampleMenuKey, "tsgen", Utilities.TSToolDescription(ETSTool.SUBSETFILTER), OnTSMenuClickEventHandler)); + } + + private void OnTSMenuClickEventHandler(object sender, EventArgs e) + { + //The order in which menu entries are tested is significant + var act = ((SimpleActionItem)sender).Caption; + if (act == Utilities.TSToolDescription(ETSTool.LIST)) + { + var plugin = new atcList.atcListPlugin(); + plugin.Show(); + } + else if (act == Utilities.TSToolDescription(ETSTool.ATTRIBUTES)) + { + /* + var plugin = new atcSeasons.atcSeasonPlugin(); + plugin.CleanUpMode = IDataManagement.ECleanUpMode.CALCULATED; + atcDataSource lNewSource = plugin.ComputeClicked(plugin.Category + "_Attributes"); + //plugin.ItemClicked("BasinsCompute_Seasons_Attributes_Timeseries::Seasons", ref handled); + if (lNewSource != null && lNewSource.DataSets.Count > 0) + { + ((atcSeasons.atcSeasonPlugin)lNewSource).CleanUpMode = IDataManagement.ECleanUpMode.CALCULATED; + string lTitle = lNewSource.ToString(); + atcDataManager.UserSelectDisplay(lTitle, ((atcSeasons.atcSeasonPlugin)lNewSource).DataSets); + } + */ + var plugin = new atcSeasonalAttributes.atcSeasonalAttributesPlugin(); + plugin.Show(null); + } + else if (act == Utilities.TSToolDescription(ETSTool.GRAPH)) + { + var plugin = new atcGraph.atcGraphPlugin(); + plugin.Show(); + } + else if (act == Utilities.TSToolDescription(ETSTool.DATATREE)) + { + var plugin = new atcDataTree.atcDataTreePlugin(); + plugin.Show(); + } + else if (act == Utilities.TSToolDescription(ETSTool.TREND)) + { + var plugin = new atcIDF.clsIDFPlugin(); + plugin.ShowFunction("Trend"); + } + else if (act.Contains("Events")) + { + var plugin = new atcSynopticAnalysis.atcSynopticAnalysisPlugin(); + plugin.Show(); + } + else if (act.Contains("Subset") && act.Contains("Filter")) + { + atcDataManager.UserSelectDataOptions.Add("ShowFilterOption", false); + var lform = new frmFilterData(); + atcTimeseriesGroup processed = lform.AskUser((atcTimeseriesGroup)atcDataManager.UserSelectData()); + var spec = "Split Filter"; + if (processed != null && processed.Count > 0) + { + var seasonSpec = processed[0].Attributes.GetValue("SeasonDefinition", null); + if (seasonSpec != null) + { + spec += ": " + seasonSpec.ToString(); + } + atcDataManager.RemoveDataSource(spec); + var processedDS = new atcSeasons.atcSeasonPlugin(); + processedDS.Specification = spec; + processedDS.DataSets.AddRange(processed); + atcDataManager.DataSources.Add(processedDS); + } + } + else if (act.Contains("Subset") || act.Contains("Merge")) + { + RunTSMath(Utilities.TSMath.Category + "_Date_" + act); + } + else if (!(act.Contains("Subset") || act.Contains("Celsius") || act.Contains("Sum") || act.Contains("Merge"))) + { + RunTSMath(Utilities.TSMath.Category + "_Math_" + act); + } + } + + private void RunTSMath(string operation) + { + atcDataSource lNewSource = Utilities.TSMath.ComputeClicked(operation); + if (!(lNewSource is null || lNewSource.DataSets.ToArray().Length == 0)) + { + //create new dates to decouple from original time series + var lTitle = lNewSource.ToString(); + var lgroup = new atcTimeseriesGroup(); + lgroup.AddRange(lNewSource.DataSets); + atcDataManager.UserSelectDisplay(lTitle, lgroup); + } + } + + private void frmMain_Shown(object sender, EventArgs e) + { + bool handled = true; + Utilities.BASINSPlugin.Message("WELCOME_SCREEN", ref handled); + } + + private void frmMain_FormClosing(object sender, FormClosingEventArgs e) + { + var tsetting = new TSettings() { RecentFiles = DotSpatial.Data.Properties.Settings.Default.RecentFiles }; + var writer = new XmlSerializer(typeof(TSettings)); + string dir = System.Reflection.Assembly.GetExecutingAssembly().Location; + string inifile = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(dir), "settings.ini"); + try + { + using (FileStream fs = new FileStream(inifile, FileMode.Create)) + { + writer.Serialize(fs, tsetting); + } + } + catch (Exception ex) + { } + + appManager.Map.MapFrame.LayerAdded -= atcBasinsPlugIn.LayersAdded; + appManager.Map.LayerAdded -= atcBasinsPlugIn.LayersAdded; + appManager.Map.Layers.LayerSelected -= atcBasinsPlugIn.LayerSelected; + appManager.Map.SelectionChanged -= atcBasinsPlugIn.ShapesSelected; + appManager.SerializationManager.Deserializing -= Utilities.BASINSPlugin.ProjectLoadingDS; + appManager.SerializationManager.Deserializing -= UpdateUI; + appManager.SerializationManager.Serializing -= Utilities.BASINSPlugin.ProjectSavingDS; + appManager.SerializationManager.NewProjectCreated -= UpdateUI; + appManager.SerializationManager.Serializing -= UpdateUI; + } + + private void LoadRecentFiles() + { + string dir = System.Reflection.Assembly.GetExecutingAssembly().Location; + string inifile = System.IO.Path.Combine(System.IO.Path.GetDirectoryName(dir), "settings.ini"); + var xmlDoc = new XmlDocument(); + try + { + xmlDoc.Load(inifile); + var key = @"/TSettings/RecentFiles"; + var nodes = xmlDoc.DocumentElement.SelectNodes(key); + foreach (XmlNode lnode in nodes[0].ChildNodes) + { + DotSpatial.Data.Properties.Settings.Default.RecentFiles.Add(lnode.InnerText); + } + } + catch (Exception ex) + { } + } + + #region "DS Intro" + private void MakeYellowStars(IMapFeatureLayer alayer) + { + alayer.Symbolizer = new PointSymbolizer(Color.Yellow, DotSpatial.Symbology.PointShape.Star, 16); + alayer.Symbolizer.SetOutline(Color.Black, 1); + //alayer.Symbolizer = new PointSymbolizer('A', "Freestyle Script", Color.Blue, 16); + //alayer.Symbolizer = new PointSymbolizer(Images.wiki, 36); + } + + private void MakeComplexSymbol(IMapPointLayer alayer) + { //Objective: Yellow stars in a Blue Circle + /* + Complex symbols can be created, simply by adding symbols to the Symbolizer.Symbols list. + There are three basic kinds of symbols, Simple, Character and Image based. + These have some common characteristics, like the Angle, Offset and Size, + which are stored on the base class. + In the derived classes, the characteristics that are specific to the sub‐class control + those aspects of symbology. + For creating new symbols, the Subclass can be used. + For working with individual symbols in the collection, you may need to test what type of + symbol you are working with before you will be able to control its properties. + */ + PointSymbolizer lPS = new PointSymbolizer(Color.Blue, DotSpatial.Symbology.PointShape.Ellipse, 16); + lPS.Symbols.Add(new SimpleSymbol(Color.Yellow, DotSpatial.Symbology.PointShape.Star, 10)); + alayer.Symbolizer = lPS; + } + + private void CategorizeCities(IMapPointLayer alayer) + { + PointScheme lScheme = new PointScheme(); + lScheme.Categories.Clear(); + PointCategory smallSize = new PointCategory(Color.Blue, DotSpatial.Symbology.PointShape.Rectangle, 4); + smallSize.FilterExpression = "[Area] < 1e+08"; + smallSize.LegendText = "Small Cities"; + lScheme.AddCategory(smallSize); + + PointCategory largeSize = new PointCategory(Color.Yellow, DotSpatial.Symbology.PointShape.Star, 16); + largeSize.FilterExpression = "[Area] >= 1e+08"; + largeSize.LegendText = "Large Cities"; + lScheme.AddCategory(largeSize); + + alayer.Symbology = lScheme; + } + private void CategorizeCitiesByAlgorithm(IMapPointLayer alayer) + { + /* + There are a large number of settings that can be controlled directly using the PointScheme. + In this illustration the classification type is quantities, but this can also be + UniqueValues or custom. + The categories can always be edited programmatically after they are created, but this + simply controls what will happen when the CreateCategories method is ultimately called. + The interval snap methods include none, rounding, significant figures, and snapping to the + nearest value. These can help the appearance of the categories in the legend, + but it can also cause trouble. With Significant figures, the IntervalRoundingDigits controls the + number of significant figures instead. + One property is deceptive in its power. + The TemplateSymbolizer property allows you to control the basic appearance of the categories for + any property that is not being controlled by either the size or color ramping. + For example, if we wanted to add black borders to the stars above, we would simply add that + to the template symbolizer. In this case we chose to make them appear as stars and controlled + them to have equal sizes since UseSizeRange defaults to false, but UseColorRange defaults to true. + */ + PointScheme lScheme = new PointScheme(); + lScheme.Categories.Clear(); + lScheme.EditorSettings.ClassificationType = ClassificationType.Quantities; + lScheme.EditorSettings.IntervalMethod = IntervalMethod.EqualInterval; + lScheme.EditorSettings.IntervalSnapMethod = IntervalSnapMethod.Rounding; + lScheme.EditorSettings.IntervalRoundingDigits = 5; + lScheme.EditorSettings.TemplateSymbolizer = new PointSymbolizer(Color.Yellow, DotSpatial.Symbology.PointShape.Star, 16); + lScheme.EditorSettings.FieldName = "Area"; + lScheme.CreateCategories(alayer.DataSet.DataTable); + alayer.Symbology = lScheme; + } + + private void SymbolizerLines(IMapFeatureLayer aLayer) + { + //Method 1. simple symbolizer + aLayer.Symbolizer = new LineSymbolizer(Color.Brown, 1); + + //Method 2. Combined symbolizer + LineSymbolizer road = new LineSymbolizer(Color.Yellow, 5); + road.SetOutline(Color.Black, 1); + aLayer.Symbolizer = road; + + /* Method 3. Symbology by unique values: + HueSatLight = true, then the ramp is created by adjusting the + hue, saturation and lightness between the start and end colors. + HueSatLight = false, then the red, blue and green values are ramped instead. + + In both cases, alpha (transparency) is ramped the same way. + */ + LineScheme lScheme = new LineScheme(); + lScheme.EditorSettings.ClassificationType = ClassificationType.UniqueValues; + lScheme.EditorSettings.FieldName = "CARTO"; + lScheme.CreateCategories(aLayer.DataSet.DataTable); + aLayer.Symbology = lScheme; + + //Method 4. Collapsible field name in legend via 'AppearsInLegend' + LineScheme lScheme1 = new LineScheme(); + lScheme1.Categories.Clear(); //redundant??? + LineCategory lowCat = new LineCategory(Color.Blue, 2); + lowCat.FilterExpression = "[CARTO] = 3"; + lowCat.LegendText = "Low"; + LineCategory highCat = new LineCategory( + Color.Red, + Color.Black, + 6, + DashStyle.Solid, + LineCap.Triangle); ; + highCat.FilterExpression = "[CARTO] = 2"; + highCat.LegendText = "High"; + lScheme1.AppearsInLegend = true; + lScheme1.LegendText = "CARTO"; + lScheme1.Categories.Add(lowCat); + aLayer.Symbology = lScheme1; + lScheme1.Categories.Add(highCat); + + /*Method 5. Lines with multiple strokes + Each individual LineSymbolizer is made up of at least one, + but potentially several strokes overlapping each other + */ + LineSymbolizer multiStrokeSym = new LineSymbolizer(); + multiStrokeSym.Strokes.Clear(); //redundant??? + CartographicStroke ties = new CartographicStroke(Color.Brown); + ties.DashPattern = new float[] { 1 / 6f, 2 / 6f }; + ties.Width = 6; + ties.EndCap = LineCap.Flat; + ties.StartCap = LineCap.Flat; + CartographicStroke rails = new CartographicStroke(Color.DarkGray); + rails.CompoundArray = new float[] { .15f, .3f, .6f, .75f }; + rails.Width = 6; + rails.EndCap = LineCap.Flat; + rails.StartCap = LineCap.Flat; + multiStrokeSym.Strokes.Add(ties); + multiStrokeSym.Strokes.Add(rails); + aLayer.Symbolizer = multiStrokeSym; + } + #endregion + } +} diff --git a/USGSHydroToolboxDS/frmMain.resx b/USGSHydroToolboxDS/frmMain.resx new file mode 100644 index 000000000..be54552bd --- /dev/null +++ b/USGSHydroToolboxDS/frmMain.resx @@ -0,0 +1,133 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + text/microsoft-resx + + + 2.0 + + + System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 + + + 17, 17 + + + + AAEAAAD/////AQAAAAAAAAAMAgAAAJoBbXNjb3JsaWIsIFZlcnNpb249NC4wLjAuMCwgQ3VsdHVyZT1u + ZXV0cmFsLCBQdWJsaWNLZXlUb2tlbj1iNzdhNWM1NjE5MzRlMDg5XV0sIG1zY29ybGliLCBWZXJzaW9u + PTQuMC4wLjAsIEN1bHR1cmU9bmV1dHJhbCwgUHVibGljS2V5VG9rZW49Yjc3YTVjNTYxOTM0ZTA4OQUB + AAAAMFN5c3RlbS5Db2xsZWN0aW9ucy5HZW5lcmljLkxpc3RgMVtbU3lzdGVtLlN0cmluZwMAAAAGX2l0 + ZW1zBV9zaXplCF92ZXJzaW9uBgAACAgCAAAACQMAAAACAAAAAgAAABEDAAAABAAAAAYEAAAAFkFwcGxp + Y2F0aW9uIEV4dGVuc2lvbnMGBQAAAAdQbHVnaW5zDQIL + + + \ No newline at end of file