// Copyright (C) Stichting Deltares 2016. All rights reserved. // // This file is part of Ringtoets. // // Ringtoets is free software: you can redistribute it and/or modify // it under the terms of the GNU General Public License as published by // the Free Software Foundation, either version 3 of the License, or // (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU General Public License for more details. // // You should have received a copy of the GNU General Public License // along with this program. If not, see . // // All names, logos, and references to "Deltares" are registered trademarks of // Stichting Deltares and remain full property of Stichting Deltares at all times. // All rights reserved. using System.Drawing; using System.Drawing.Drawing2D; using Core.Components.Charting.Data; using Core.Components.Charting.Styles; using Ringtoets.GrassCoverErosionInwards.Data; using Ringtoets.GrassCoverErosionInwards.Forms.Properties; namespace Ringtoets.GrassCoverErosionInwards.Forms.Views { /// /// Factory for creating based on information used as input /// in the grass cover erosion inwards failure mechanism. /// public static class GrassCoverErosionInwardsChartDataFactory { /// /// Create with default styling for a dike geometry. /// /// The created . public static ChartLineData CreateDikeGeometryChartData() { return new ChartLineData(Resources.DikeProfile_DisplayName) { Style = new ChartLineStyle(Color.SaddleBrown, 2, DashStyle.Solid) }; } /// /// Create with default styling for a foreshore geometry. /// /// The created . public static ChartLineData CreateForeshoreGeometryChartData() { return new ChartLineData(Resources.Foreshore_DisplayName) { Style = new ChartLineStyle(Color.DarkOrange, 2, DashStyle.Solid) }; } /// /// Create with default styling for a dike height. /// /// The created . public static ChartLineData CreateDikeHeightChartData() { return new ChartLineData(Resources.DikeHeight_ChartName) { Style = new ChartLineStyle(Color.MediumSeaGreen, 2, DashStyle.Dash) }; } /// /// Updates the name of based on . /// /// The to update the name for. /// The used for obtaining the name. /// When is null a default name is set (). public static void UpdateDikeGeometryChartDataName(ChartLineData chartData, DikeProfile dikeProfile) { chartData.Name = dikeProfile != null ? string.Format(Resources.GrassCoverErosionInwardsChartDataFactory_Create_DataIdentifier_0_DataTypeDisplayName_1_, dikeProfile.Name, Resources.DikeProfile_DisplayName) : Resources.DikeProfile_DisplayName; } /// /// Updates the name of based on . /// /// The to update the name for. /// The used for obtaining the name. /// A default name is set () when: /// /// is null; /// the dike profile in is null; /// the foreshore should not be used. /// /// public static void UpdateForeshoreGeometryChartDataName(ChartLineData chartData, GrassCoverErosionInwardsInput input) { chartData.Name = input != null && input.DikeProfile != null && input.UseForeshore ? string.Format(Resources.GrassCoverErosionInwardsChartDataFactory_Create_DataIdentifier_0_DataTypeDisplayName_1_, input.DikeProfile.Name, Resources.Foreshore_DisplayName) : Resources.Foreshore_DisplayName; } } }