Index: Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Plugin/StabilityStoneCoverPlugin.cs =================================================================== diff -u -r92df0a0ac0a4e0ccd5d7505d748f55167c2aac81 -ra2c2136a5fa7cee2cc0fa9a61fd40bf0428c83c7 --- Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Plugin/StabilityStoneCoverPlugin.cs (.../StabilityStoneCoverPlugin.cs) (revision 92df0a0ac0a4e0ccd5d7505d748f55167c2aac81) +++ Ringtoets/StabilityStoneCover/src/Ringtoets.StabilityStoneCover.Plugin/StabilityStoneCoverPlugin.cs (.../StabilityStoneCoverPlugin.cs) (revision a2c2136a5fa7cee2cc0fa9a61fd40bf0428c83c7) @@ -38,6 +38,7 @@ using Ringtoets.Common.Forms.PresentationObjects; using Ringtoets.Common.Forms.TreeNodeInfos; using Ringtoets.Common.Service; +using Ringtoets.Revetment.IO.Importers; using Ringtoets.StabilityStoneCover.Data; using Ringtoets.StabilityStoneCover.Forms; using Ringtoets.StabilityStoneCover.Forms.PresentationObjects; @@ -151,6 +152,23 @@ }; } + public override IEnumerable GetImportInfos() + { + yield return new ImportInfo + { + Name = RingtoetsCommonFormsResources.DataTypeDisplayName_xml_file_filter_Description, + Category = RingtoetsCommonFormsResources.Ringtoets_Category, + Image = RingtoetsCommonFormsResources.GeneralFolderIcon, + FileFilterGenerator = CalculationConfigurationFileFilter, + IsEnabled = CalculationConfigurationImporterEnabled, + CreateFileImporter = (context, filePath) => new WaveConditionsCalculationConfigurationImporter( + filePath, + context.WrappedData, + context.AssessmentSection.HydraulicBoundaryDatabase.Locations, + context.FailureMechanism.ForeshoreProfiles) + }; + } + public override IEnumerable GetExportInfos() { yield return new ExportInfo @@ -199,6 +217,21 @@ }; } + private static FileFilterGenerator CalculationConfigurationFileFilter + { + get + { + return new FileFilterGenerator(RingtoetsCommonFormsResources.DataTypeDisplayName_xml_file_filter_Extension, + RingtoetsCommonFormsResources.DataTypeDisplayName_xml_file_filter_Description); + } + } + + private static bool CalculationConfigurationImporterEnabled(StabilityStoneCoverWaveConditionsCalculationGroupContext context) + { + return context.AssessmentSection.HydraulicBoundaryDatabase != null + && context.AssessmentSection.HydraulicBoundaryDatabase.Locations.Any(); + } + #region ViewInfos #region StabilityStoneCoverFailureMechanismView ViewInfo @@ -365,7 +398,8 @@ var builder = new RingtoetsContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); var isNestedGroup = parentData is StabilityStoneCoverWaveConditionsCalculationGroupContext; - builder.AddExportItem() + builder.AddImportItem() + .AddExportItem() .AddSeparator(); if (!isNestedGroup)