Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingPlugin.cs =================================================================== diff -u -r3c283d1bc64a0dcc92291152963be2a9e6b8108f -r5f1d410a44f7895c3519e5763497dc30ec492a73 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingPlugin.cs (.../PipingPlugin.cs) (revision 3c283d1bc64a0dcc92291152963be2a9e6b8108f) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingPlugin.cs (.../PipingPlugin.cs) (revision 5f1d410a44f7895c3519e5763497dc30ec492a73) @@ -115,14 +115,28 @@ CreateFileImporter = (context, filePath) => StochasticSoilModelImporter(context, filePath, new StochasticSoilModelReplaceDataStrategy(context.FailureMechanism)), VerifyUpdates = VerifyStochasticSoilModelUpdates }; + + yield return new ImportInfo + { + Name = Resources.PipingPlugin_PipingConfigurationFileFilter_calculation_configuration_description, + Category = RingtoetsCommonFormsResources.Ringtoets_Category, + Image = RingtoetsCommonFormsResources.GeneralFolderIcon, + FileFilterGenerator = PipingConfigurationFileFilter, + IsEnabled = context => context.AvailableHydraulicBoundaryLocations.Any() + && context.AvailableStochasticSoilModels.Any() + && context.AvailablePipingSurfaceLines.Any(), + CreateFileImporter = (context, filePath) => new PipingConfigurationImporter(filePath, + context.WrappedData, + context.AvailableHydraulicBoundaryLocations, + context.FailureMechanism) + }; } public override IEnumerable GetExportInfos() { yield return new ExportInfo { - FileFilterGenerator = new FileFilterGenerator(Resources.PipingPlugin_GetExportInfos_xml_extension, - Resources.PipingPlugin_GetExportInfos_calculation_configuration_file_description), + FileFilterGenerator = PipingConfigurationFileFilter, CreateFileExporter = (context, filePath) => new PipingConfigurationExporter(context.WrappedData, filePath), IsEnabled = context => context.WrappedData.Children.Any() }; @@ -331,6 +345,15 @@ }; } + private static FileFilterGenerator PipingConfigurationFileFilter + { + get + { + return new FileFilterGenerator(Resources.PipingPlugin_PipingConfigurationFileFilter_xml_extension, + Resources.PipingPlugin_PipingConfigurationFileFilter_calculation_configuration_description); + } + } + private static FileFilterGenerator StochasticSoilModelFileFilter { get @@ -837,7 +860,9 @@ return childNodeObjects.ToArray(); } - private ContextMenuStrip PipingCalculationGroupContextContextMenuStrip(PipingCalculationGroupContext nodeData, object parentData, TreeViewControl treeViewControl) + private ContextMenuStrip PipingCalculationGroupContextContextMenuStrip(PipingCalculationGroupContext nodeData, + object parentData, + TreeViewControl treeViewControl) { var group = nodeData.WrappedData; var builder = new RingtoetsContextMenuBuilder(Gui.Get(nodeData, treeViewControl)); @@ -851,7 +876,8 @@ .AddSeparator(); } - builder.AddExportItem() + builder.AddImportItem() + .AddExportItem() .AddSeparator(); if (!isNestedGroup)