())
+ {
+ disposable.Dispose();
+ }
+
+ Plugins.Clear();
+
+ Plugins = null;
+
+ if (RunningActivityLogAppender.Instance != null)
+ {
+ RunningActivityLogAppender.Instance.ActivityRunner = null;
+ RunningActivityLogAppender.Instance = null;
+ }
+ }
+ }
+ disposed = true;
+ }
+
+ ~RingtoetsApplication()
+ {
+ Dispose(false);
+ }
+
+ #region Nested type: RingtoetsTraceListener
+
+ internal class RingtoetsTraceListener : TraceListener
+ {
+ private static ILog log;
+ private static bool logTraceMessages = true;
+
+ public RingtoetsTraceListener()
+ {
+ log = LogManager.GetLogger(GetType());
+ }
+
+ public static bool LogTraceMessages
+ {
+ get
+ {
+ return logTraceMessages;
+ }
+ set
+ {
+ logTraceMessages = value;
+ }
+ }
+
+ public override void Write(string message)
+ {
+ if (logTraceMessages)
+ {
+ WriteLine(message);
+ }
+ }
+
+ public override void WriteLine(string message)
+ {
+ if (logTraceMessages)
+ {
+ log.Debug(message);
+ }
+ }
+ }
+
+ #endregion
+ }
+}
\ No newline at end of file
Index: Core/Common/src/Core.Common.Base/RingtoetsApplicationSettings.cs
===================================================================
diff -u
--- Core/Common/src/Core.Common.Base/RingtoetsApplicationSettings.cs (revision 0)
+++ Core/Common/src/Core.Common.Base/RingtoetsApplicationSettings.cs (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -0,0 +1,33 @@
+using System.ComponentModel;
+using System.Configuration;
+
+namespace Core.Common.Base
+{
+ // Decoration class for settings with IsDirty flag (speed-up exit)
+ public class RingtoetsApplicationSettings : ApplicationSettingsBase
+ {
+ private readonly ApplicationSettingsBase child;
+
+ public RingtoetsApplicationSettings(ApplicationSettingsBase child)
+ {
+ this.child = child;
+ }
+
+ public override object this[string propertyName]
+ {
+ get
+ {
+ return child[propertyName];
+ }
+ set
+ {
+ child[propertyName] = value;
+ IsDirty = true;
+ //don't forget to publish changes
+ OnPropertyChanged(this, new PropertyChangedEventArgs(propertyName));
+ }
+ }
+
+ public bool IsDirty { get; private set; }
+ }
+}
\ No newline at end of file
Index: Core/Common/src/Core.Common.Base/RingtoetsUserDataFolderConverter.cs
===================================================================
diff -u
--- Core/Common/src/Core.Common.Base/RingtoetsUserDataFolderConverter.cs (revision 0)
+++ Core/Common/src/Core.Common.Base/RingtoetsUserDataFolderConverter.cs (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -0,0 +1,55 @@
+using System;
+using System.IO;
+using Core.Common.Utils;
+using log4net.Util;
+
+namespace Core.Common.Base
+{
+ //special folders not in latests stable (1.2.10) version of log4net hence this for DS user dir.
+ //Any arguments are ignored and just just return c:\user\muurman\appdata\deltares\ds1.0.0.0\
+ //from http://logging.apache.org/log4net/release/release-notes.html
+ ///
+ /// PatternConverter for 'Special' Folder
+ ///
+ public class RingtoetsUserDataFolderConverter : PatternConverter // NOTE: Class might be marked as unused, but it's actually created in Application.Ringtoets/app.config!
+ {
+ protected override void Convert(TextWriter writer, object state)
+ {
+ var settingsDirectory = SettingsHelper.GetApplicationLocalUserSettingsDirectory();
+
+ DeleteOldLogFiles(settingsDirectory);
+
+ writer.Write(settingsDirectory);
+ }
+
+ private void DeleteOldLogFiles(string settingsDirectory)
+ {
+ var daysToKeepLogFiles = 30;
+
+ // HACK: don't keep log files for tests
+ if (settingsDirectory.ToLower().Contains("tests"))
+ {
+ daysToKeepLogFiles = 0;
+ }
+
+ var logFiles = Directory.GetFiles(settingsDirectory, "*.log");
+ foreach (var logFile in logFiles)
+ {
+ if ((DateTime.Now - File.GetCreationTime(logFile)).TotalDays > daysToKeepLogFiles)
+ {
+ File.Delete(logFile);
+ }
+ }
+ }
+ }
+}
+
+/* Example:
+ *
+
+
+
+
+
+
+ */
\ No newline at end of file
Fisheye: Tag f1c02b2d47dc561deec70a24128d8dd49d9bed6a refers to a dead (removed) revision in file `Core/Common/src/Core.Common.Base/app.config'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Core/Common/src/Core.Common.Controls.Swf/Charting/ChartView.Designer.cs
===================================================================
diff -u -ra950714ad9510756331d862aa35695fa0b2ed03b -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/src/Core.Common.Controls.Swf/Charting/ChartView.Designer.cs (.../ChartView.Designer.cs) (revision a950714ad9510756331d862aa35695fa0b2ed03b)
+++ Core/Common/src/Core.Common.Controls.Swf/Charting/ChartView.Designer.cs (.../ChartView.Designer.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -23,7 +23,7 @@
private void InitializeComponent()
{
this.components = new System.ComponentModel.Container();
- this.teeChart = new DeltaShellTChart();
+ this.teeChart = new RingtoetsTChart();
this.timer1 = new System.Windows.Forms.Timer(this.components);
this.SuspendLayout();
//
@@ -63,7 +63,7 @@
}
#endregion
- private DeltaShellTChart teeChart;
+ private RingtoetsTChart teeChart;
private System.Windows.Forms.Timer timer1;
}
}
\ No newline at end of file
Index: Core/Common/src/Core.Common.Controls.Swf/Charting/ChartView.cs
===================================================================
diff -u -ra950714ad9510756331d862aa35695fa0b2ed03b -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/src/Core.Common.Controls.Swf/Charting/ChartView.cs (.../ChartView.cs) (revision a950714ad9510756331d862aa35695fa0b2ed03b)
+++ Core/Common/src/Core.Common.Controls.Swf/Charting/ChartView.cs (.../ChartView.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -346,7 +346,7 @@
private void OnBeforeDrawAxes(object sender, Graphics3D e)
{
- var senderChart = sender as DeltaShellTChart;
+ var senderChart = sender as RingtoetsTChart;
if (senderChart == null)
{
Fisheye: Tag f1c02b2d47dc561deec70a24128d8dd49d9bed6a refers to a dead (removed) revision in file `Core/Common/src/Core.Common.Controls.Swf/Charting/Customized/DeltaShellTChart.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Core/Common/src/Core.Common.Controls.Swf/Charting/Customized/RingtoetsTChart.cs
===================================================================
diff -u
--- Core/Common/src/Core.Common.Controls.Swf/Charting/Customized/RingtoetsTChart.cs (revision 0)
+++ Core/Common/src/Core.Common.Controls.Swf/Charting/Customized/RingtoetsTChart.cs (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -0,0 +1,25 @@
+using System;
+using System.Windows.Forms;
+using log4net;
+using Steema.TeeChart;
+
+namespace Core.Common.Controls.Swf.Charting.Customized
+{
+ public class RingtoetsTChart : TChart
+ {
+ private static readonly ILog log = LogManager.GetLogger(typeof(RingtoetsTChart));
+
+ protected override void OnPaint(PaintEventArgs pe)
+ {
+ try
+ {
+ base.OnPaint(pe);
+ }
+ catch (Exception ex)
+ {
+ log.Error(ex.Message);
+ throw;
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Core/Common/src/Core.Common.Controls.Swf/Charting/Tools/EditPointTool.cs
===================================================================
diff -u -ra950714ad9510756331d862aa35695fa0b2ed03b -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/src/Core.Common.Controls.Swf/Charting/Tools/EditPointTool.cs (.../EditPointTool.cs) (revision a950714ad9510756331d862aa35695fa0b2ed03b)
+++ Core/Common/src/Core.Common.Controls.Swf/Charting/Tools/EditPointTool.cs (.../EditPointTool.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -24,7 +24,7 @@
private const double clippingTolerance = 1e-4;
private static readonly ILog log = LogManager.GetLogger(typeof(EditPointTool));
private readonly ToolTip toolTip;
- private readonly DeltaShellTChart tChart;
+ private readonly RingtoetsTChart tChart;
private DragStyle style = DragStyle.Both;
private bool pointHasMoved;
private Color selectedPointerColor = Color.LimeGreen;
@@ -60,7 +60,7 @@
/// Constructor for schowing a toolTip displaying the coordinates in drga mode.
///
///
- public EditPointTool(DeltaShellTChart c)
+ public EditPointTool(RingtoetsTChart c)
: base(c.Chart)
{
tChart = c;
Index: Core/Common/src/Core.Common.Controls.Swf/Charting/Tools/RulerTool.cs
===================================================================
diff -u -ra950714ad9510756331d862aa35695fa0b2ed03b -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/src/Core.Common.Controls.Swf/Charting/Tools/RulerTool.cs (.../RulerTool.cs) (revision a950714ad9510756331d862aa35695fa0b2ed03b)
+++ Core/Common/src/Core.Common.Controls.Swf/Charting/Tools/RulerTool.cs (.../RulerTool.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -13,7 +13,7 @@
public class RulerTool : IChartViewTool
{
private static readonly ILog Log = LogManager.GetLogger(typeof(RulerTool));
- private readonly DeltaShellTChart teeChart;
+ private readonly RingtoetsTChart teeChart;
private string toolTip;
private Steema.TeeChart.Chart.ChartToolTip annotationToolTip;
private Point measuringStartPoint;
@@ -29,7 +29,7 @@
private Cursor cursor;
private bool selectToolOldState = true;
- public RulerTool(DeltaShellTChart teeChart)
+ public RulerTool(RingtoetsTChart teeChart)
{
var chartView = teeChart.Parent as ChartView;
Index: Core/Common/src/Core.Common.Controls.Swf/Core.Common.Controls.Swf.csproj
===================================================================
diff -u -r8e258eec8318163d7ce452ffc0db1fab83f511c1 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/src/Core.Common.Controls.Swf/Core.Common.Controls.Swf.csproj (.../Core.Common.Controls.Swf.csproj) (revision 8e258eec8318163d7ce452ffc0db1fab83f511c1)
+++ Core/Common/src/Core.Common.Controls.Swf/Core.Common.Controls.Swf.csproj (.../Core.Common.Controls.Swf.csproj) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -121,7 +121,7 @@
-
+
Component
@@ -427,8 +427,6 @@
Designer
-
-
Index: Core/Common/src/Core.Common.Gui/Core.Common.Gui.csproj
===================================================================
diff -u -r8e258eec8318163d7ce452ffc0db1fab83f511c1 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/src/Core.Common.Gui/Core.Common.Gui.csproj (.../Core.Common.Gui.csproj) (revision 8e258eec8318163d7ce452ffc0db1fab83f511c1)
+++ Core/Common/src/Core.Common.Gui/Core.Common.Gui.csproj (.../Core.Common.Gui.csproj) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -120,7 +120,7 @@
-
+
Fisheye: Tag f1c02b2d47dc561deec70a24128d8dd49d9bed6a refers to a dead (removed) revision in file `Core/Common/src/Core.Common.Gui/DeltaShellGui.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Core/Common/src/Core.Common.Gui/Forms/MainWindow/MainWindow.xaml.cs
===================================================================
diff -u -ra75730abd00479a2d2c274ca86b0d30ef29bb227 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/src/Core.Common.Gui/Forms/MainWindow/MainWindow.xaml.cs (.../MainWindow.xaml.cs) (revision a75730abd00479a2d2c274ca86b0d30ef29bb227)
+++ Core/Common/src/Core.Common.Gui/Forms/MainWindow/MainWindow.xaml.cs (.../MainWindow.xaml.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -84,9 +84,9 @@
log.Info(Properties.Resources.MainWindow_MainWindow_Main_window_created_);
}
- public MainWindow(DeltaShellGui gui)
+ public MainWindow(RingtoetsGui gui)
{
- DeltaShellApplication.SetLanguageAndRegionalSettions(Properties.Settings.Default);
+ RingtoetsApplication.SetLanguageAndRegionalSettions(Properties.Settings.Default);
Gui = gui;
@@ -100,7 +100,7 @@
log.Info(Properties.Resources.MainWindow_MainWindow_Main_window_created_);
}
- public DeltaShellGui Gui { get; set; }
+ public RingtoetsGui Gui { get; set; }
public bool IsWindowDisposed { get; private set; }
Index: Core/Common/src/Core.Common.Gui/Forms/SplashScreen/SplashScreen.xaml.cs
===================================================================
diff -u -rffdd49e6f65bada7314bb033383dd56f70048762 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/src/Core.Common.Gui/Forms/SplashScreen/SplashScreen.xaml.cs (.../SplashScreen.xaml.cs) (revision ffdd49e6f65bada7314bb033383dd56f70048762)
+++ Core/Common/src/Core.Common.Gui/Forms/SplashScreen/SplashScreen.xaml.cs (.../SplashScreen.xaml.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -9,7 +9,7 @@
///
public partial class SplashScreen
{
- private static readonly ILog log = LogManager.GetLogger(typeof(DeltaShellApplication));
+ private static readonly ILog log = LogManager.GetLogger(typeof(RingtoetsApplication));
private string progressText;
private int progressValuePercent;
private string licenseText;
Index: Core/Common/src/Core.Common.Gui/GuiCommandHandler.cs
===================================================================
diff -u -reee6c7815d1e418eac38c1c552fb279c0887ef55 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/src/Core.Common.Gui/GuiCommandHandler.cs (.../GuiCommandHandler.cs) (revision eee6c7815d1e418eac38c1c552fb279c0887ef55)
+++ Core/Common/src/Core.Common.Gui/GuiCommandHandler.cs (.../GuiCommandHandler.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -493,7 +493,7 @@
var mainWindowTitle = gui.Application.Settings != null
? gui.Application.Settings["mainWindowTitle"]
- : "DeltaShell";
+ : "Ringtoets";
if (project == null)
{
Index: Core/Common/src/Core.Common.Gui/Resources/helpabout.htm
===================================================================
diff -u -reee6c7815d1e418eac38c1c552fb279c0887ef55 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/src/Core.Common.Gui/Resources/helpabout.htm (.../helpabout.htm) (revision eee6c7815d1e418eac38c1c552fb279c0887ef55)
+++ Core/Common/src/Core.Common.Gui/Resources/helpabout.htm (.../helpabout.htm) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -1,6 +1,6 @@
-DeltaShell Version 1.0 Alpha
+Ringtoets
-Copyright Deltares, 2008
+Copyright Deltares, 2015
@@ -9,10 +9,15 @@
Copyright Information
Copyright © RWS, Deltares 2008
All rights reserved.
-This software and accompanying documents are provided under licence agreement and can only be used in accordance with the terms and conditions of the agreement. Deltares and Rijkswaterstaat (RWS) offer the non-exclusive and non-transferable right to the licensee to use the software. The licensee has no rights of ownership or authorship and is not allowed to make any changes under any circumstances. The licensee is required to use the software in a responsible manner and only so after due consultation of the manual.
+
This software and accompanying documents are provided under licence agreement and can only be used in accordance with the terms and conditions of the agreement.
+ Deltares and Rijkswaterstaat (RWS) offer the non-exclusive and non-transferable right to the licensee to use the software.
+ The licensee has no rights of ownership or authorship and is not allowed to make any changes under any circumstances.
+ The licensee is required to use the software in a responsible manner and only so after due consultation of the manual.
-All intellectual ownership rights required to offer you a licence ("licensee") are with RWS and Deltares. HABITAT has been built around PCRaster, a software package responsible for making the map-calculations (Copyright ©1987-2003 PCRaster Environmental Software/Faculty of Geographical Sciences, Utrecht University). PCRaster can be obtained through
+
All intellectual ownership rights required to offer you a licence ("licensee") are with RWS and Deltares.
+ HABITAT has been built around PCRaster, a software package responsible for making the map-calculations (Copyright ©1987-2003 PCRaster Environmental Software/Faculty of Geographical Sciences, Utrecht University).
+ PCRaster can be obtained through
www.pcraster.nl .
Index: Core/Common/src/Core.Common.Gui/RingtoetsGui.cs
===================================================================
diff -u
--- Core/Common/src/Core.Common.Gui/RingtoetsGui.cs (revision 0)
+++ Core/Common/src/Core.Common.Gui/RingtoetsGui.cs (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -0,0 +1,1031 @@
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.Collections.Specialized;
+using System.ComponentModel;
+using System.Configuration;
+using System.Diagnostics;
+using System.Linq;
+using System.Reflection;
+using System.Resources;
+using Core.Common.Base;
+using Core.Common.Base.Workflow;
+using Core.Common.Controls;
+using Core.Common.Controls.Swf;
+using Core.Common.Gui.Forms.MainWindow;
+using Core.Common.Gui.Forms.MessageWindow;
+using Core.Common.Gui.Forms.ProgressDialog;
+using Core.Common.Gui.Forms.ViewManager;
+using Core.Common.Gui.Properties;
+using Core.Common.Utils;
+using Core.Common.Utils.Aop;
+using Core.Common.Utils.Collections;
+using Core.Common.Utils.Reflection;
+using Core.GIS.SharpMap.UI.Helpers;
+using log4net;
+using log4net.Appender;
+using log4net.Repository.Hierarchy;
+using MainWindow = Core.Common.Gui.Forms.MainWindow.MainWindow;
+using SplashScreen = Core.Common.Gui.Forms.SplashScreen.SplashScreen;
+
+namespace Core.Common.Gui
+{
+ ///
+ /// Gui class provides graphical user functionality for a given IApplication.
+ ///
+ public class RingtoetsGui : IGui, IDisposable
+ {
+ public event EventHandler SelectionChanged; // TODO: make it weak
+ private static readonly ILog log = LogManager.GetLogger(typeof(RingtoetsGui));
+
+ private static RingtoetsGui instance;
+ private static string instanceCreationStackTrace;
+
+ private IApplication application;
+ private MainWindow mainWindow;
+
+ private object selection;
+
+ private ViewList documentViews;
+ private ViewList toolWindowViews;
+ private AvalonDockDockingManager toolWindowViewsDockingManager;
+
+ private readonly IList commands = new List();
+
+ private SplashScreen splashScreen;
+ private ProgressDialog progressDialog;
+
+ private bool settingSelection;
+ private bool runFinished;
+ private bool isExiting;
+
+ public RingtoetsGui()
+ {
+ // error detection code, make sure we use only a single instance of RingtoetsGui at a time
+ if (instance != null)
+ {
+ instance = null; // reset to that the consequent creations won't fail.
+ throw new InvalidOperationException(Resources.DeltaShellGui_DeltaShellGui_Only_a_single_instance_of_DeltaShelGui_is_allowed_at_the_same_time_per_process__make_sure_that_the_previous_instance_was_disposed_correctly__stack_trace__ + instanceCreationStackTrace);
+ }
+
+ instance = this;
+ instanceCreationStackTrace = new StackTrace().ToString();
+ ViewPropertyEditor.Gui = this;
+
+ Application = new RingtoetsApplication
+ {
+ IsProjectCreatedInTemporaryDirectory = true,
+ WaitMethod = () => System.Windows.Forms.Application.DoEvents()
+ };
+
+ Plugins = new List();
+
+ application.UserSettings = Settings.Default;
+ application.Settings = ConfigurationManager.AppSettings;
+
+ application.Resources = new ResourceManager(typeof(Resources));
+
+ CommandHandler = new GuiCommandHandler(this);
+
+ System.Windows.Forms.Application.EnableVisualStyles();
+ }
+
+ public bool SkipDialogsOnExit { get; set; }
+
+ public Action OnMainWindowLoaded { get; set; }
+
+ public IApplication Application
+ {
+ get
+ {
+ return application;
+ }
+ set
+ {
+ if (application != null)
+ {
+ Application.ProjectClosing -= ApplicationProjectClosing;
+ Application.ProjectOpened -= ApplicationProjectOpened;
+ Application.ProjectSaved -= ApplicationProjectSaved;
+ Application.ActivityRunner.IsRunningChanged -= ActivityRunnerIsRunningChanged;
+ Application.ActivityRunner.ActivityCompleted -= ActivityRunnerActivityCompleted;
+ }
+
+ application = value;
+
+ if (application != null)
+ {
+ // subscribe to application events so that we can handle opening, closing, renamig of views on project changes
+ Application.ProjectClosing += ApplicationProjectClosing;
+ Application.ProjectOpened += ApplicationProjectOpened;
+ Application.ProjectSaved += ApplicationProjectSaved;
+ Application.ActivityRunner.IsRunningChanged += ActivityRunnerIsRunningChanged;
+ Application.ActivityRunner.ActivityCompleted += ActivityRunnerActivityCompleted;
+ }
+ }
+ }
+
+ public object Selection
+ {
+ get
+ {
+ return selection;
+ }
+ set
+ {
+ if (selection == value || settingSelection)
+ {
+ return;
+ }
+
+ if (null != DocumentViews)
+ {
+ DocumentViews.IgnoreActivation = true;
+ }
+
+ selection = value;
+
+ if (Selection is IProjectItem && !ReferenceEquals(Selection, SelectedProjectItem))
+ {
+ SelectedProjectItem = (IProjectItem) Selection;
+ }
+
+ settingSelection = true;
+
+ try
+ {
+ if (SelectionChanged != null)
+ {
+ SelectionChanged(selection, new SelectedItemChangedEventArgs(value));
+ }
+ }
+ finally
+ {
+ settingSelection = false;
+ }
+
+ if (!isExiting && mainWindow != null && !mainWindow.IsWindowDisposed)
+ {
+ mainWindow.ValidateItems();
+ }
+
+ if (null != DocumentViews)
+ {
+ DocumentViews.IgnoreActivation = false;
+ }
+ }
+ }
+
+ ///
+ /// TODO: add body to setter and set Selection to a correct item. And vice-versa.
+ ///
+ public IProjectItem SelectedProjectItem { get; set; }
+
+ public IList Commands
+ {
+ get
+ {
+ return commands;
+ }
+ }
+
+ public IGuiCommandHandler CommandHandler { get; set; }
+
+ public IViewList DocumentViews
+ {
+ get
+ {
+ return documentViews;
+ }
+ }
+
+ public IViewResolver DocumentViewsResolver { get; private set; }
+
+ public IViewList ToolWindowViews
+ {
+ get
+ {
+ return toolWindowViews;
+ }
+ }
+
+ public IMainWindow MainWindow
+ {
+ get
+ {
+ return mainWindow;
+ }
+ set
+ {
+ mainWindow = (MainWindow) value;
+ mainWindow.Gui = this;
+ }
+ }
+
+ public IList Plugins { get; private set; }
+
+ public bool IsViewRemoveOnItemDeleteSuspended { get; set; }
+
+ public void Dispose()
+ {
+ Dispose(true);
+ }
+
+ public void Run()
+ {
+ Run("");
+ }
+
+ public void Run(string projectPath)
+ {
+ var startTime = DateTime.Now;
+
+ ConfigureLogging();
+
+ ShowSplashScreen();
+
+ if (!String.IsNullOrEmpty(projectPath))
+ {
+ application.Run(projectPath);
+ }
+ else
+ {
+ log.Info(Resources.DeltaShellGui_Run_Starting_application____);
+
+ application.Run();
+ }
+
+ log.Info(Resources.DeltaShellGui_Run_Initializing_graphical_user_interface____);
+
+ Initialize();
+
+ log.InfoFormat(Resources.DeltaShellGui_Run_Started_in__0_f2__sec, (DateTime.Now - startTime).TotalSeconds);
+
+ runFinished = true;
+
+ HideSplashScreen();
+
+ MessageWindowLogAppender.Enabled = true;
+ }
+
+ public void Exit()
+ {
+ if (isExiting)
+ {
+ return; //already got here before
+ }
+
+ isExiting = true;
+
+ if (!SkipDialogsOnExit && !CommandHandler.TryCloseWTIProject())
+ {
+ // user cancelled exit:
+ isExiting = false;
+ return;
+ }
+
+ ViewList.DoNotDisposeViewsOnRemove = true; // persormance optimization
+
+ CopyDefaultViewsToUserSettings();
+
+ mainWindow.ClearDocumentTabs();
+
+ mainWindow.SaveLayout(); // save before Application.Exit
+
+ Application.Exit();
+
+ // close faster (hide main window)
+ mainWindow.Visible = false;
+
+ if (System.Windows.Application.Current != null)
+ {
+ System.Windows.Application.Current.Shutdown();
+ }
+ }
+
+ public GuiPlugin GetPluginGuiForType(Type type)
+ {
+ foreach (var plugin in Plugins)
+ {
+ Type[] pluginTypes = plugin.GetType().Assembly.GetTypes();
+ foreach (Type pluginType in pluginTypes)
+ {
+ if (pluginType == type)
+ {
+ return plugin;
+ }
+ }
+ }
+
+ return null;
+ }
+
+ protected virtual void Dispose(bool disposing)
+ {
+ if (disposing)
+ {
+ isExiting = true;
+
+ if (mainWindow != null)
+ {
+ mainWindow.UnsubscribeFromGui();
+ }
+
+ MapCursors.DisposeCursors();
+
+ TypeUtils.ClearCaches();
+
+ SelectedProjectItem = null;
+ Selection = null;
+
+ try
+ {
+ if (Application != null)
+ {
+ if (Application.ActivityRunner.IsRunning)
+ {
+ Application.ActivityRunner.CancelAll();
+ while (Application.ActivityRunner.IsRunning)
+ {
+ System.Windows.Forms.Application.DoEvents();
+ }
+ }
+ Application.CloseProject(); // lots of unsubscribe logic in plugins reacts on this
+ }
+ }
+ finally
+ {
+ if (ToolWindowViews != null)
+ {
+ ToolWindowViews.Clear();
+ }
+
+ if (CommandHandler != null)
+ {
+ CommandHandler.Dispose();
+ CommandHandler = null;
+ }
+
+ if (Plugins != null)
+ {
+ foreach (var plugin in Plugins.ToList())
+ {
+ DeactivatePlugin(plugin);
+ }
+
+ Plugins = null;
+ }
+
+ if (toolWindowViews != null)
+ {
+ toolWindowViews.Clear();
+ toolWindowViews.Dispose();
+ toolWindowViews = null;
+ }
+
+ if (documentViews != null)
+ {
+ documentViews.Clear();
+ documentViews.Dispose();
+ documentViews = null;
+ }
+
+ if (toolWindowViewsDockingManager != null)
+ {
+ toolWindowViewsDockingManager.Dispose();
+ toolWindowViewsDockingManager = null;
+ }
+
+ // Dispose managed resources. TODO: double check if we need to dispose managed resources?
+ if (mainWindow != null && !mainWindow.IsWindowDisposed)
+ {
+ mainWindow.Dispose();
+ mainWindow = null;
+ }
+
+ DocumentViewsResolver = null;
+
+ if (progressDialog != null)
+ {
+ progressDialog.Dispose();
+ progressDialog = null;
+ }
+
+ splashScreen = null;
+
+ MessageWindowLogAppender.MessageWindow = null;
+
+ if (Application != null)
+ {
+ Application.Dispose();
+ }
+
+ RemoveLogging();
+
+ Application = null;
+ }
+ }
+
+ System.Windows.Forms.Application.ApplicationExit -= HandleApplicationExit;
+
+ // prevent nasty Windows.Forms memory leak (keeps references to databinding objects / controls
+ var systemAssembly = typeof(Component).Assembly;
+ var reflectTypeDescriptionProviderType =
+ systemAssembly.GetType("System.ComponentModel.ReflectTypeDescriptionProvider");
+ var propertyCacheInfo = reflectTypeDescriptionProviderType.GetField("_propertyCache",
+ BindingFlags.Static |
+ BindingFlags.NonPublic);
+ var propertyCache = (Hashtable) propertyCacheInfo.GetValue(null);
+ if (propertyCache != null)
+ {
+ propertyCache.Clear();
+ }
+
+ var extendedPropertyCacheInfo = reflectTypeDescriptionProviderType.GetField(
+ "_extendedPropertyCache", BindingFlags.Static | BindingFlags.NonPublic);
+ var extendedPropertyCache = extendedPropertyCacheInfo.GetValue(null) as Hashtable;
+ if (extendedPropertyCache != null)
+ {
+ extendedPropertyCache.Clear();
+ }
+
+ var eventCacheInfo = reflectTypeDescriptionProviderType.GetField("_eventCache",
+ BindingFlags.Static |
+ BindingFlags.NonPublic);
+ var eventCache = eventCacheInfo.GetValue(null) as Hashtable;
+ if (eventCache != null)
+ {
+ eventCache.Clear();
+ }
+
+ var attributeCacheInfo = reflectTypeDescriptionProviderType.GetField("_attributeCache",
+ BindingFlags.Static |
+ BindingFlags.NonPublic);
+ var attributeCache = attributeCacheInfo.GetValue(null) as Hashtable;
+ if (attributeCache != null)
+ {
+ attributeCache.Clear();
+ }
+
+ var typeDescriptorType = systemAssembly.GetType("System.ComponentModel.TypeDescriptor");
+ var providerTableInfo = typeDescriptorType.GetField("_providerTable",
+ BindingFlags.Static | BindingFlags.NonPublic);
+ var providerTable = providerTableInfo.GetValue(null) as Hashtable;
+ if (providerTable != null)
+ {
+ providerTable.Clear();
+ }
+
+ var providerTypeTableInfo = typeDescriptorType.GetField("_providerTypeTable",
+ BindingFlags.Static | BindingFlags.NonPublic);
+ var providerTypeTable = providerTypeTableInfo.GetValue(null) as Hashtable;
+ if (providerTypeTable != null)
+ {
+ providerTypeTable.Clear();
+ }
+
+ var defaultProvidersInfo = typeDescriptorType.GetField("_defaultProviders",
+ BindingFlags.Static | BindingFlags.NonPublic);
+ var defaultProviders = defaultProvidersInfo.GetValue(null) as Hashtable;
+ if (defaultProviders != null)
+ {
+ defaultProviders.Clear();
+ }
+
+ GC.Collect();
+
+ instanceCreationStackTrace = "";
+ instance = null;
+ }
+
+ private void DeactivatePlugin(GuiPlugin plugin)
+ {
+ try
+ {
+ plugin.Deactivate();
+ }
+ catch (Exception exception)
+ {
+ log.Error(Resources.DeltaShellGui_ActivatePlugins_Exception_during_plugin_gui_deactivation, exception);
+ }
+
+ plugin.Dispose();
+
+ Plugins.Remove(plugin);
+ }
+
+ private void ApplicationProjectSaved(Project obj)
+ {
+ ResumeUI();
+ }
+
+ private void ResumeUI()
+ {
+ if (mainWindow != null)
+ {
+ mainWindow.ValidateItems();
+ }
+ }
+
+ [InvokeRequired]
+ private void ActivityRunnerIsRunningChanged(object sender, EventArgs e)
+ {
+ if (isExiting)
+ {
+ return;
+ }
+
+ if (!Application.IsActivityRunning())
+ {
+ ResumeUI();
+ }
+
+ UpdateProgressDialog();
+ }
+
+ [InvokeRequired]
+ private void ActivityRunnerActivityCompleted(object sender, ActivityEventArgs e)
+ {
+ if (MainWindow == null || MainWindow.PropertyGrid == null)
+ {
+ return;
+ }
+
+ // Force refresh of propertygrid (not done automaticly because events are disabled during import)
+ MainWindow.PropertyGrid.Data = MainWindow.PropertyGrid.GetObjectProperties(Selection);
+ }
+
+ private void UpdateProgressDialog()
+ {
+ //popping a dialog on buildserver causes error
+ //Showing a modal dialog box or form when the application is not running in UserInteractive mode is not a valid operation.
+ //hence this check
+ if (!Environment.UserInteractive)
+ {
+ return;
+ }
+
+ if (isExiting)
+ {
+ return;
+ }
+
+ if (progressDialog == null || progressDialog.IsDisposed)
+ {
+ progressDialog = new ProgressDialog();
+ progressDialog.CancelClicked += delegate
+ {
+ Application.ActivityRunner.CancelAll();
+
+ // wait until all import activities are finished
+ while (Application.IsActivityRunning())
+ {
+ System.Windows.Forms.Application.DoEvents();
+ }
+ };
+ progressDialog.Data = Application.ActivityRunner.Activities;
+ }
+
+ if (Application.ActivityRunner.IsRunning)
+ {
+ if (!progressDialog.Visible)
+ {
+ mainWindow.Enabled = false;
+ progressDialog.Show(mainWindow);
+ progressDialog.CenterToParent();
+ }
+ }
+ else
+ {
+ mainWindow.Enabled = true;
+ progressDialog.Hide();
+ progressDialog.Visible = false;
+ }
+ }
+
+ private void ApplicationProjectOpened(Project project)
+ {
+ ResumeUI();
+ }
+
+ private void ApplicationProjectClosing(Project project)
+ {
+ ClonableToolStripMenuItem.ClearCache();
+ }
+
+ // Sets the tooltip for given view, assuming that ProjectExplorer is not null.
+ private void SetToolTipForView(IView view)
+ {
+ if (mainWindow == null || mainWindow.ProjectExplorer == null)
+ {
+ return;
+ }
+
+ var node = mainWindow.ProjectExplorer.TreeView.GetNodeByTag(view.Data);
+ if (node != null)
+ {
+ DocumentViews.SetTooltip(view, node.FullPath);
+ }
+ }
+
+ private void ConfigureLogging()
+ {
+ // configure logging
+ var rootLogger = ((Hierarchy) LogManager.GetRepository()).Root;
+
+ if (!rootLogger.Appenders.Cast().Any(a => a is MessageWindowLogAppender))
+ {
+ rootLogger.AddAppender(new MessageWindowLogAppender());
+ rootLogger.Repository.Configured = true;
+ }
+ }
+
+ private void RemoveLogging()
+ {
+ var rootLogger = ((Hierarchy) LogManager.GetRepository()).Root;
+ var messageWindowLogAppender = rootLogger.Appenders.Cast().OfType().FirstOrDefault();
+ if (messageWindowLogAppender != null)
+ {
+ rootLogger.RemoveAppender(messageWindowLogAppender);
+ }
+ }
+
+ private void Initialize()
+ {
+ InitializeWindows();
+
+ Plugins.ForEach(p => p.Gui = this);
+
+ ActivatePlugins();
+
+ InitializeMenusAndToolbars();
+
+ System.Windows.Forms.Application.ApplicationExit += HandleApplicationExit;
+
+ CopyDefaultViewsFromUserSettings();
+
+ //enable activation AFTER initialization
+ documentViews.IgnoreActivation = false;
+ toolWindowViews.IgnoreActivation = false;
+
+ if (Settings.Default.SettingsKey.Contains("mruList"))
+ {
+ if (Settings.Default["mruList"] == null)
+ {
+ Settings.Default["mruList"] = new StringCollection();
+ }
+ }
+ }
+
+ private void HandleApplicationExit(object sender, EventArgs e)
+ {
+ Exit();
+ }
+
+ private void ShowSplashScreen()
+ {
+ splashScreen = new SplashScreen()
+ {
+ VersionText = SettingsHelper.ApplicationVersion,
+ CopyrightText = Application.Settings["copyright"],
+ LicenseText = Application.Settings["license"],
+ CompanyText = SettingsHelper.ApplicationCompany
+ };
+
+ splashScreen.IsVisibleChanged += delegate
+ {
+ if (splashScreen.IsVisible)
+ {
+ return;
+ }
+
+ if (!runFinished) // splash screen was closed before gui started.
+ {
+ log.Info(Resources.DeltaShellGui_ShowSplashScreen_User_has_cancelled_start__exiting____);
+ SkipDialogsOnExit = true;
+ Environment.Exit(1);
+ }
+ };
+
+ object showSplashScreen = Application.UserSettings["showSplashScreen"];
+ if (showSplashScreen != null && bool.Parse(showSplashScreen.ToString()))
+ {
+ splashScreen.Show();
+ }
+ }
+
+ private void HideSplashScreen()
+ {
+ splashScreen.Shutdown();
+ }
+
+ private void InitializeMainWindow()
+ {
+ if (MainWindow == null)
+ {
+ MainWindow = new MainWindow(this);
+ }
+
+ mainWindow.Loaded += delegate
+ {
+ mainWindow.RestoreLayout();
+
+ toolWindowViewsDockingManager.OnLayoutChange();
+
+ // bug in Fluent ribbon (views removed during load layout are not cleared - no events), synchronize them manually
+ toolWindowViews.SynchronizeViews(toolWindowViewsDockingManager.Views.ToArray());
+
+ // make sure these windows come on top
+ if (ToolWindowViews.Contains(mainWindow.PropertyGrid))
+ {
+ ToolWindowViews.ActiveView = mainWindow.PropertyGrid;
+ }
+
+ if (ToolWindowViews.Contains(mainWindow.MessageWindow))
+ {
+ ToolWindowViews.ActiveView = mainWindow.MessageWindow;
+ }
+
+ if (ToolWindowViews.Contains(mainWindow.ProjectExplorer))
+ {
+ ToolWindowViews.ActiveView = mainWindow.ProjectExplorer;
+ }
+
+ mainWindow.ValidateItems();
+
+ mainWindow.ShowStartPage();
+
+ if (OnMainWindowLoaded != null)
+ {
+ OnMainWindowLoaded();
+ }
+ };
+
+ mainWindow.Closing += delegate(object sender, CancelEventArgs e)
+ {
+ if (isExiting)
+ {
+ return;
+ }
+
+ e.Cancel = true; //cancel closing: let Exit handle it
+ Exit();
+ };
+ }
+
+ private void InitializeWindows()
+ {
+ log.Info(Resources.DeltaShellGui_InitializeWindows_Initializing_windows____);
+
+ InitializeMainWindow();
+
+ log.Info(Resources.DeltaShellGui_InitializeWindows_Creating_default_tool_windows____);
+ InitToolWindows();
+
+ UpdateTitle();
+
+ log.Info(Resources.DeltaShellGui_InitializeWindows_All_windows_are_created_);
+ }
+
+ private void UpdateTitle()
+ {
+ //NOTE: DUPLICATED BY GuiCommandHandler::UpdateGui --> todo, remove the duplication
+
+ string mainWindowTitle = Application.Settings["mainWindowTitle"];
+
+ string projectTitle = "";
+ if (Application.Project != null)
+ {
+ projectTitle = Application.Project.Name;
+ }
+
+ // TODO: this must be moved to MainWindow which should listen to project changes
+ if (mainWindow != null)
+ {
+ mainWindow.Title = projectTitle + " - " + mainWindowTitle;
+ }
+ }
+
+ private void ActiveViewChanging(object sender, ActiveViewChangeEventArgs e)
+ {
+ if (e.View == null || mainWindow == null || mainWindow.IsWindowDisposed)
+ {
+ return;
+ }
+
+ if (mainWindow.ProjectExplorer != null)
+ {
+ SetToolTipForView(e.View);
+ }
+ }
+
+ // TODO: incapsulate any knowledge of the plugin XML inside plugin configurator, the rest of the system should not know about it!
+ private void InitToolWindows()
+ {
+ log.Info(Resources.DeltaShellGui_InitToolWindows_Creating_document_window_manager____);
+
+ var allowedDocumentWindowLocations = new[]
+ {
+ ViewLocation.Document,
+ ViewLocation.Floating
+ };
+
+ var documentDockingManager = new AvalonDockDockingManager(mainWindow.DockingManager, allowedDocumentWindowLocations);
+
+ var documentViewManager = new ViewList(documentDockingManager, ViewLocation.Document)
+ {
+ IgnoreActivation = true,
+ UpdateViewNameAction = v => UpdateViewName(v),
+ Gui = this
+ };
+
+ documentViewManager.EnableTabContextMenus();
+
+ documentViewManager.ActiveViewChanging += ActiveViewChanging;
+ documentViewManager.ActiveViewChanged += OnActiveViewChanged;
+ documentViewManager.CollectionChanged += DocumentViewsCollectionChanged;
+ documentViewManager.ChildViewChanged += DocumentViewManagerOnChildViewChanged;
+
+ documentViews = documentViewManager;
+
+ DocumentViewsResolver = new ViewResolver(documentViews, Plugins.SelectMany(p => p.GetViewInfoObjects()));
+
+ var allowedToolWindowLocations = new[]
+ {
+ ViewLocation.Left,
+ ViewLocation.Right,
+ ViewLocation.Top,
+ ViewLocation.Bottom,
+ ViewLocation.Floating
+ };
+
+ toolWindowViewsDockingManager = new AvalonDockDockingManager(mainWindow.DockingManager, allowedToolWindowLocations);
+
+ toolWindowViews = new ViewList(toolWindowViewsDockingManager, ViewLocation.Left)
+ {
+ IgnoreActivation = true,
+ Gui = this
+ };
+
+ toolWindowViews.CollectionChanged += ToolWindowViewsOnCollectionChanged;
+
+ log.Info(Resources.DeltaShellGui_InitToolWindows_Creating_tool_window_manager____);
+
+ mainWindow.InitializeToolWindows();
+
+ log.Debug(Resources.DeltaShellGui_InitToolWindows_Finished_InitToolWindows);
+
+ mainWindow.SubscribeToGui();
+ }
+
+ private void OnActiveViewChanged(object sender, ActiveViewChangeEventArgs e)
+ {
+ if (e.View == null || mainWindow == null || mainWindow.IsWindowDisposed)
+ {
+ return;
+ }
+
+ mainWindow.ValidateItems();
+ }
+
+ private void DocumentViewManagerOnChildViewChanged(object sender, NotifyCollectionChangingEventArgs notifyCollectionChangingEventArgs)
+ {
+ if (isExiting)
+ {
+ return;
+ }
+
+ mainWindow.ValidateItems();
+ }
+
+ private static string GetViewName(IView view)
+ {
+ var name = view.ViewInfo != null ? view.ViewInfo.GetViewName(view, view.Data) : null;
+ if (name != null)
+ {
+ return name;
+ }
+
+ var enumerable = view.Data as IEnumerable;
+ var data = enumerable == null ? view.Data : enumerable.Cast().FirstOrDefault();
+
+ var nameableItem = data as INameable;
+ return nameableItem != null ? nameableItem.Name : (view.Data == null ? "" : view.Data.ToString());
+ }
+
+ private void UpdateViewName(IView view)
+ {
+ view.Text = GetViewName(view);
+ SetToolTipForView(view);
+ }
+
+ private void ToolWindowViewsOnCollectionChanged(object sender, NotifyCollectionChangingEventArgs notifyCollectionChangingEventArgs)
+ {
+ if (isExiting)
+ {
+ return;
+ }
+ mainWindow.ValidateItems();
+ }
+
+ private void DocumentViewsCollectionChanged(object sender, NotifyCollectionChangingEventArgs e)
+ {
+ if (isExiting || documentViews.Count != 0)
+ {
+ return;
+ }
+
+ // if no new active view is set update toolbars
+ mainWindow.ValidateItems();
+ }
+
+ private void InitializeMenusAndToolbars()
+ {
+ log.Info(Resources.DeltaShellGui_InitializeMenusAndToolbars_Setting_up_menus_and_toolbars____);
+ mainWindow.SuspendLayout();
+
+ // Validate once when loading is completed
+ mainWindow.ValidateItems();
+
+ mainWindow.ResumeLayout();
+ log.Info(Resources.DeltaShellGui_InitializeMenusAndToolbars_Menus_and_toolbars_are_ready_);
+ }
+
+ private void ActivatePlugins()
+ {
+ var problematicPlugins = new List();
+
+ mainWindow.SuspendLayout();
+
+ // Try to activate all plugins
+ foreach (var plugin in Plugins)
+ {
+ try
+ {
+ plugin.Activate();
+ }
+ catch (Exception)
+ {
+ problematicPlugins.Add(plugin);
+ }
+ }
+
+ // Deactivate and remove all problematic plugins
+ foreach (var problematicPlugin in problematicPlugins)
+ {
+ DeactivatePlugin(problematicPlugin);
+ }
+
+ mainWindow.ResumeLayout();
+ }
+
+ private void CopyDefaultViewsFromUserSettings()
+ {
+ StringCollection defaultViews;
+ StringCollection defaultViewDataTypes;
+ if (Application.UserSettings["defaultViews"] != null)
+ {
+ defaultViews = (StringCollection) Application.UserSettings["defaultViews"];
+ defaultViewDataTypes = (StringCollection) Application.UserSettings["defaultViewDataTypes"];
+ }
+ else
+ {
+ return;
+ }
+
+ for (int i = 0; i < defaultViews.Count; i++)
+ {
+ string skey = defaultViewDataTypes[i];
+ string sview = defaultViews[i];
+ if (AssemblyUtils.GetTypeByName(skey) != null)
+ {
+ DocumentViewsResolver.DefaultViewTypes.Add(AssemblyUtils.GetTypeByName(skey), AssemblyUtils.GetTypeByName(sview));
+ }
+ }
+ }
+
+ private void CopyDefaultViewsToUserSettings()
+ {
+ StringCollection defaultViews = new StringCollection();
+ StringCollection defaultViewDataTypes = new StringCollection();
+
+ foreach (Type objectType in DocumentViewsResolver.DefaultViewTypes.Keys)
+ {
+ if (DocumentViewsResolver.DefaultViewTypes[objectType] == null)
+ {
+ continue;
+ }
+ defaultViews.Add(DocumentViewsResolver.DefaultViewTypes[objectType].ToString());
+ defaultViewDataTypes.Add(objectType.ToString());
+ }
+
+ Application.UserSettings["defaultViews"] = defaultViews;
+ Application.UserSettings["defaultViewDataTypes"] = defaultViewDataTypes;
+ }
+
+ ~RingtoetsGui()
+ {
+ Dispose(false);
+ }
+ }
+}
\ No newline at end of file
Index: Core/Common/src/Core.Common.Gui/ViewPropertyEditor.cs
===================================================================
diff -u -ra950714ad9510756331d862aa35695fa0b2ed03b -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/src/Core.Common.Gui/ViewPropertyEditor.cs (.../ViewPropertyEditor.cs) (revision a950714ad9510756331d862aa35695fa0b2ed03b)
+++ Core/Common/src/Core.Common.Gui/ViewPropertyEditor.cs (.../ViewPropertyEditor.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -27,7 +27,7 @@
///
public class ViewPropertyEditor : UITypeEditor
{
- public static IGui Gui { get; set; } //static: injected in DeltaShellGui
+ public static IGui Gui { get; set; } //static: injected in RingtoetsGui
public override UITypeEditorEditStyle GetEditStyle(ITypeDescriptorContext context)
{
Index: Core/Common/src/Core.Common.Utils/Reflection/TypeUtils.cs
===================================================================
diff -u -r50c0adfe3509dcd54a191f420b70a0194bdfe26b -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/src/Core.Common.Utils/Reflection/TypeUtils.cs (.../TypeUtils.cs) (revision 50c0adfe3509dcd54a191f420b70a0194bdfe26b)
+++ Core/Common/src/Core.Common.Utils/Reflection/TypeUtils.cs (.../TypeUtils.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -158,7 +158,7 @@
var type = AppDomain.CurrentDomain.GetAssemblies()
.Where(a => a.FullName.Contains("NHibernate"))
.SelectMany(a => a.GetTypes())
- .First(t => t.Name == "DeltaShellProxyInterceptor");
+ .First(t => t.Name == "RingtoetsProxyInterceptor");
//static deproxy method:
var deproxyMethod = type.GetMethod("GetRealObject", BindingFlags.NonPublic | BindingFlags.Static);
Index: Core/Common/src/Core.Common.Utils/Url.cs
===================================================================
diff -u -ra950714ad9510756331d862aa35695fa0b2ed03b -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/src/Core.Common.Utils/Url.cs (.../Url.cs) (revision a950714ad9510756331d862aa35695fa0b2ed03b)
+++ Core/Common/src/Core.Common.Utils/Url.cs (.../Url.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -51,20 +51,17 @@
return new Url(name, path);
}
- [Obsolete("Xml serialization is optional for DeltaShell and is supported for backward compatibility with the old projects of some DeltaShell plugins.")]
public XmlSchema GetSchema()
{
throw new NotImplementedException();
}
- [Obsolete("Xml serialization is optional for DeltaShell and is supported for backward compatibility with the old projects of some DeltaShell plugins.")]
public void ReadXml(XmlReader reader)
{
name = reader.GetAttribute("name");
path = reader.GetAttribute("path");
}
- [Obsolete("Xml serialization is optional for DeltaShell and is supported for backward compatibility with the old projects of some DeltaShell plugins.")]
public void WriteXml(XmlWriter writer)
{
throw new NotImplementedException();
Index: Core/Common/test/Core.Common.Base.Tests/App.config
===================================================================
diff -u -reee6c7815d1e418eac38c1c552fb279c0887ef55 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/test/Core.Common.Base.Tests/App.config (.../App.config) (revision eee6c7815d1e418eac38c1c552fb279c0887ef55)
+++ Core/Common/test/Core.Common.Base.Tests/App.config (.../App.config) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -1,12 +1,12 @@
-
-
-
-
-
-
+
@@ -61,6 +61,7 @@
+ -->
Index: Core/Common/test/Core.Common.Integration.Tests/Core.Common.Integration.Tests.csproj
===================================================================
diff -u -r8e258eec8318163d7ce452ffc0db1fab83f511c1 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/test/Core.Common.Integration.Tests/Core.Common.Integration.Tests.csproj (.../Core.Common.Integration.Tests.csproj) (revision 8e258eec8318163d7ce452ffc0db1fab83f511c1)
+++ Core/Common/test/Core.Common.Integration.Tests/Core.Common.Integration.Tests.csproj (.../Core.Common.Integration.Tests.csproj) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -74,10 +74,10 @@
-
+
-
-
+
+
Fisheye: Tag f1c02b2d47dc561deec70a24128d8dd49d9bed6a refers to a dead (removed) revision in file `Core/Common/test/Core.Common.Integration.Tests/DeltaShell/Application.Ringtoets/DeltaShellGuiIntegrationTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag f1c02b2d47dc561deec70a24128d8dd49d9bed6a refers to a dead (removed) revision in file `Core/Common/test/Core.Common.Integration.Tests/DeltaShell/Application.Ringtoets/GuiImportHandlerTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag f1c02b2d47dc561deec70a24128d8dd49d9bed6a refers to a dead (removed) revision in file `Core/Common/test/Core.Common.Integration.Tests/DeltaShell/Common.Core/DelftShellApplicationIntegrationTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Core/Common/test/Core.Common.Integration.Tests/Ringtoets/Application.Ringtoets/GuiImportHandlerTest.cs
===================================================================
diff -u
--- Core/Common/test/Core.Common.Integration.Tests/Ringtoets/Application.Ringtoets/GuiImportHandlerTest.cs (revision 0)
+++ Core/Common/test/Core.Common.Integration.Tests/Ringtoets/Application.Ringtoets/GuiImportHandlerTest.cs (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -0,0 +1,318 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Windows.Forms;
+using Core.Common.Base;
+using Core.Common.Controls.Swf;
+using Core.Common.Gui;
+using Core.Common.TestUtils;
+using Core.Plugins.CommonTools;
+using Core.Plugins.SharpMapGis;
+using log4net.Core;
+using NUnit.Framework;
+using Rhino.Mocks;
+using MessageBox = Core.Common.Controls.Swf.MessageBox;
+
+namespace Core.Common.Integration.Tests.Ringtoets.Application.Ringtoets
+{
+ [TestFixture]
+ public class GuiImportHandlerTest
+ {
+ private MockRepository mocks;
+ private IGui gui;
+ private IApplication realApp;
+
+ private readonly ApplicationPlugin commonToolsPlugin = new CommonToolsApplicationPlugin();
+
+ [SetUp]
+ public void SetUp()
+ {
+ LogHelper.SetLoggingLevel(Level.Error);
+
+ mocks = new MockRepository();
+
+ gui = mocks.Stub();
+
+ realApp = new RingtoetsApplication();
+ realApp.Plugins.Add(commonToolsPlugin);
+ realApp.Plugins.Add(new SharpMapGisApplicationPlugin());
+ realApp.Run();
+
+ gui.Application = realApp;
+ }
+
+ [TearDown]
+ public void TearDown()
+ {
+ realApp.Dispose();
+ }
+
+ [Test]
+ public void NoImporterAvailableGivesMessageBox() //are we even interested in this?
+ {
+ var messageBox = mocks.StrictMock();
+ MessageBox.CustomMessageBox = messageBox;
+ messageBox.Expect(mb => mb.Show(null, null, MessageBoxButtons.OK)).Return(DialogResult.OK).IgnoreArguments()
+ .Repeat.Once();
+ messageBox.Replay();
+
+ var importHandler = new GuiImportHandler(gui);
+
+ var item = importHandler.GetSupportedImporterForTargetType(typeof(Int64));
+
+ Assert.IsNull(item);
+
+ messageBox.VerifyAllExpectations();
+ }
+
+ [Test]
+ public void FileFilteringWorks()
+ {
+ var application = mocks.Stub();
+ var fileImporter = mocks.Stub();
+ var targetItemImporter = mocks.Stub();
+ var plugin = mocks.Stub();
+
+ application.Stub(a => a.Plugins).Return(new[]
+ {
+ plugin
+ });
+ application.Stub(a => a.ProjectFilePath).Return(Directory.GetCurrentDirectory()).Repeat.Any();
+ gui.Application = application;
+
+ IEnumerable importers = new[]
+ {
+ targetItemImporter,
+ fileImporter
+ };
+
+ fileImporter.Expect(fi => fi.SupportedItemTypes).Return(new[]
+ {
+ typeof(Int64)
+ }).Repeat.Any();
+ fileImporter.Expect(fi => fi.FileFilter).Return("known|*.bla").Repeat.Any();
+ fileImporter.Expect(fi => fi.Name).Return("1").Repeat.Any();
+ fileImporter.Expect(fi => fi.CanImportOn(null)).IgnoreArguments().Return(true).Repeat.Any();
+
+ targetItemImporter.Expect(fi => fi.SupportedItemTypes).Return(new[]
+ {
+ typeof(Int64)
+ }).Repeat.Any();
+ targetItemImporter.Expect(fi => fi.FileFilter).Return("known|*.ext").Repeat.Any();
+ targetItemImporter.Expect(fi => fi.Name).Return("2").Repeat.Any();
+ targetItemImporter.Expect(fi => fi.CanImportOn(null)).IgnoreArguments().Return(true).Repeat.Any();
+
+ application.Expect(a => a.FileImporters).IgnoreArguments().Repeat.Any().Return(importers);
+
+ mocks.ReplayAll();
+
+ var guiImportHandler = new GuiImportHandler(gui);
+
+ var one = (long) 1.0;
+ var returnedImporter1 = guiImportHandler.GetSupportedImporterForTargetTypeAndSelectedFiles(one, new[]
+ {
+ "testfile.ext"
+ });
+
+ Assert.AreEqual(targetItemImporter, returnedImporter1);
+
+ var two = (long) 2.0;
+ var returnedImporter2 = guiImportHandler.GetSupportedImporterForTargetTypeAndSelectedFiles(two, new[]
+ {
+ "testfile.unknown"
+ });
+
+ Assert.IsNull(returnedImporter2);
+
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void NonRootLevelImportersAreNotReturnedForNullType()
+ {
+ var application = mocks.Stub();
+ var fileImporter = mocks.Stub();
+ var targetItemImporter = mocks.Stub();
+ var targetItemImporter2 = mocks.Stub();
+ var plugin = mocks.Stub();
+
+ application.Stub(a => a.Plugins).Return(new[]
+ {
+ plugin
+ });
+ application.Stub(a => a.ProjectFilePath).Return(Directory.GetCurrentDirectory()).Repeat.Any();
+ gui.Application = application;
+
+ IEnumerable importers = new[]
+ {
+ fileImporter,
+ targetItemImporter,
+ targetItemImporter2
+ };
+
+ fileImporter.Expect(fi => fi.CanImportOnRootLevel).Return(false);
+ targetItemImporter.Expect(fi => fi.CanImportOnRootLevel).Return(false);
+ targetItemImporter2.Expect(fi => fi.CanImportOnRootLevel).Return(true);
+
+ application.Expect(a => a.FileImporters).IgnoreArguments().Repeat.Any().Return(importers);
+
+ mocks.ReplayAll();
+
+ var guiImportHandler = new GuiImportHandler(gui);
+
+ var fileImporters = guiImportHandler.GetImporters(null);
+
+ Assert.AreEqual(1, fileImporters.Count);
+ Assert.AreSame(targetItemImporter2, fileImporters.First());
+
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void TargetItemFileImporterAreReturnedWhenMatch()
+ {
+ var application = mocks.Stub();
+ var fileImporter = mocks.Stub();
+ var targetItemImporter = mocks.Stub();
+ var targetItemImporterWhereCanImportIsFalse = mocks.Stub();
+ application.Stub(a => a.ProjectFilePath).Return(Directory.GetCurrentDirectory()).Repeat.Any();
+ gui.Application = application;
+
+ IEnumerable importers = new[]
+ {
+ fileImporter,
+ targetItemImporter,
+ targetItemImporterWhereCanImportIsFalse
+ };
+
+ fileImporter.Expect(fi => fi.SupportedItemTypes).Return(new[]
+ {
+ typeof(Int64)
+ });
+ fileImporter.Expect(fi => fi.CanImportOn(null)).IgnoreArguments().Return(true).Repeat.Any();
+
+ targetItemImporter.Expect(fi => fi.SupportedItemTypes).Return(new[]
+ {
+ typeof(Int64)
+ });
+ targetItemImporter.Expect(fi => fi.CanImportOn(null)).IgnoreArguments().Return(true).Repeat.Any();
+
+ targetItemImporterWhereCanImportIsFalse.Expect(fi => fi.SupportedItemTypes).Return(new[]
+ {
+ typeof(Int64)
+ });
+ targetItemImporterWhereCanImportIsFalse.Expect(fi => fi.CanImportOn(null)).IgnoreArguments().Return(false).Repeat.Any();
+
+ application.Expect(a => a.FileImporters).IgnoreArguments().Repeat.Any().Return(importers);
+
+ mocks.ReplayAll();
+
+ var guiImportHandler = new GuiImportHandler(gui);
+
+ var fileImporters = guiImportHandler.GetImporters((long) 1.0);
+
+ Assert.AreEqual(2, fileImporters.Count);
+
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void TargetItemFileImporterCanMatchOnSubtype()
+ {
+ //test verifies that an importer for type A matches on type B if B implements A
+
+ var application = mocks.Stub();
+ var targetItemImporter = mocks.Stub();
+ var plugin = mocks.Stub();
+
+ application.Stub(a => a.Plugins).Return(new[]
+ {
+ plugin
+ });
+ application.Stub(a => a.ProjectFilePath).Return(Directory.GetCurrentDirectory()).Repeat.Any();
+
+ gui.Application = application;
+
+ IEnumerable importers = new[]
+ {
+ targetItemImporter
+ };
+
+ targetItemImporter.Expect(fi => fi.SupportedItemTypes).Return(new[]
+ {
+ typeof(IList)
+ });
+ targetItemImporter.Expect(fi => fi.CanImportOn(null)).IgnoreArguments().Return(true).Repeat.Any();
+
+ application.Expect(a => a.FileImporters).IgnoreArguments().Repeat.Any().Return(importers);
+
+ mocks.ReplayAll();
+
+ var guiImportHandler = new GuiImportHandler(gui);
+
+ //get importers for subtype
+ var fileImporters = guiImportHandler.GetImporters(new List());
+
+ Assert.AreEqual(new[]
+ {
+ targetItemImporter
+ }, fileImporters);
+
+ mocks.VerifyAll();
+ }
+
+ [Test]
+ public void AllPluginsAreSearchedForFileImportersAndOnlyMatchingImportersAreReturned()
+ {
+ var application = mocks.Stub();
+ var fileImporter1 = mocks.Stub();
+ var fileImporter2 = mocks.Stub();
+ var fileImporter3 = mocks.Stub();
+ var plugin1 = mocks.Stub();
+
+ application.Stub(a => a.Plugins).Return(new[]
+ {
+ plugin1
+ });
+ application.Stub(a => a.ProjectFilePath).Return(Directory.GetCurrentDirectory()).Repeat.Any();
+ gui.Application = application;
+
+ IEnumerable importers = new[]
+ {
+ fileImporter1,
+ fileImporter2,
+ fileImporter3
+ };
+
+ fileImporter1.Expect(fi => fi.SupportedItemTypes).Return(new[]
+ {
+ typeof(Int32)
+ });
+ fileImporter2.Expect(fi => fi.SupportedItemTypes).Return(new[]
+ {
+ typeof(Int64)
+ });
+ fileImporter3.Expect(fi => fi.SupportedItemTypes).Return(new[]
+ {
+ typeof(Int16)
+ });
+
+ fileImporter1.Expect(fi => fi.CanImportOn(null)).IgnoreArguments().Return(true).Repeat.Any();
+ fileImporter2.Expect(fi => fi.CanImportOn(null)).IgnoreArguments().Return(true).Repeat.Any();
+ fileImporter3.Expect(fi => fi.CanImportOn(null)).IgnoreArguments().Return(true).Repeat.Any();
+
+ application.Expect(a => a.FileImporters).Repeat.Any().Return(importers).Repeat.Once();
+
+ mocks.ReplayAll();
+
+ var guiImportHandler = new GuiImportHandler(gui);
+
+ var fileImporters = guiImportHandler.GetImporters((long) 1.0);
+
+ Assert.AreEqual(1, fileImporters.Count);
+
+ mocks.VerifyAll();
+ }
+ }
+}
\ No newline at end of file
Index: Core/Common/test/Core.Common.Integration.Tests/Ringtoets/Application.Ringtoets/RingtoetsGuiIntegrationTest.cs
===================================================================
diff -u
--- Core/Common/test/Core.Common.Integration.Tests/Ringtoets/Application.Ringtoets/RingtoetsGuiIntegrationTest.cs (revision 0)
+++ Core/Common/test/Core.Common.Integration.Tests/Ringtoets/Application.Ringtoets/RingtoetsGuiIntegrationTest.cs (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -0,0 +1,267 @@
+using System;
+using System.Linq;
+using System.Threading;
+using Core.Common.Base.Workflow;
+using Core.Common.Gui;
+using Core.Common.TestUtils;
+using Core.GIS.SharpMap.Map;
+using Core.Plugins.CommonTools;
+using Core.Plugins.CommonTools.Gui;
+using Core.Plugins.ProjectExplorer;
+using Core.Plugins.SharpMapGis;
+using Core.Plugins.SharpMapGis.Gui;
+using NUnit.Framework;
+using SharpTestsEx;
+using Control = System.Windows.Controls.Control;
+
+namespace Core.Common.Integration.Tests.Ringtoets.Application.Ringtoets
+{
+ [TestFixture]
+ public class RingtoetsGuiIntegrationTest
+ {
+ [SetUp]
+ public void SetUp()
+ {
+ LogHelper.ResetLogging();
+ }
+
+ [Test]
+ public void DeleteProjectDataDirectoryShouldNotThrowExceptionOnNewProjectAndShouldNotHang()
+ {
+ using (var gui = new RingtoetsGui())
+ {
+ var app = gui.Application;
+
+ app.Plugins.Add(new CommonToolsApplicationPlugin());
+ app.Plugins.Add(new SharpMapGisApplicationPlugin());
+ gui.Plugins.Add(new ProjectExplorerGuiPlugin());
+ gui.Run();
+
+ gui.CommandHandler.TryCreateNewWTIProject();
+ gui.CommandHandler.TryCreateNewWTIProject();
+ }
+ }
+
+ [Test]
+ public void ProgressDialogIsModal()
+ {
+ if (!Environment.UserInteractive)
+ {
+ return; //progress dialog stuff isn't processed on non-interactive environment (see RingtoetsGui::UpdateProgressDialog)
+ }
+
+ if (GuiTestHelper.IsBuildServer)
+ {
+ return; // bleh (fails if users log in etc..)
+ }
+
+ using (var gui = new RingtoetsGui())
+ {
+ var app = gui.Application;
+
+ app.Plugins.Add(new CommonToolsApplicationPlugin());
+ app.Plugins.Add(new SharpMapGisApplicationPlugin());
+ gui.Plugins.Add(new ProjectExplorerGuiPlugin());
+ gui.Run();
+
+ var mainWindow = (Control) gui.MainWindow;
+ Action onShown = delegate
+ {
+ var testActivity = new TestActivity();
+ gui.Application.ActivityRunner.Enqueue(testActivity);
+ try
+ {
+ while (!gui.Application.ActivityRunner.IsRunningActivity(testActivity))
+ {
+ Thread.Sleep(0);
+ }
+
+ System.Windows.Forms.Application.DoEvents();
+
+ Assert.IsFalse(mainWindow.IsEnabled);
+ }
+ finally
+ {
+ testActivity.Done = true;
+ }
+
+ while (gui.Application.ActivityRunner.IsRunningActivity(testActivity))
+ {
+ Thread.Sleep(0);
+ }
+
+ System.Windows.Forms.Application.DoEvents();
+
+ Assert.IsTrue(mainWindow.IsEnabled);
+ };
+
+ WpfTestHelper.ShowModal(mainWindow, onShown);
+ }
+ }
+
+ [Test]
+ public void ClosingEmptyProjectShouldNotGiveException()
+ {
+ using (var gui = new RingtoetsGui())
+ {
+ gui.Run();
+ gui.CommandHandler.TryCloseWTIProject(); //should not trigger exception
+ }
+ }
+
+ [Test]
+ public void StartGuiWithToolboxDoesNotCrash()
+ {
+ using (var gui = new RingtoetsGui())
+ {
+ var app = gui.Application;
+
+ app.Plugins.Add(new CommonToolsApplicationPlugin());
+ app.Plugins.Add(new SharpMapGisApplicationPlugin());
+
+ gui.Run();
+ }
+ }
+
+ [Test]
+ public void StartWithCommonPluginsShouldBeFast()
+ {
+ TestHelper.AssertIsFasterThan(7500, StartWithCommonPlugins);
+ }
+
+ [Test]
+ public void CreateNewProjectAfterStartWithCommonPluginsShouldBeFast()
+ {
+ using (var gui = new RingtoetsGui())
+ {
+ var app = gui.Application;
+
+ app.Plugins.Add(new SharpMapGisApplicationPlugin());
+ app.Plugins.Add(new CommonToolsApplicationPlugin());
+ gui.Plugins.Add(new SharpMapGisGuiPlugin());
+ gui.Plugins.Add(new CommonToolsGuiPlugin());
+ gui.Plugins.Add(new ProjectExplorerGuiPlugin());
+
+ gui.Run();
+
+ Action onShown = () => TestHelper.AssertIsFasterThan(300, gui.Application.CreateNewProject);
+
+ WpfTestHelper.ShowModal((Control) gui.MainWindow, onShown);
+ }
+ }
+
+ [Test]
+ public void ExitShouldBeFast()
+ {
+ using (var gui = new RingtoetsGui())
+ {
+ var app = gui.Application;
+
+ app.Plugins.Add(new CommonToolsApplicationPlugin());
+ app.Plugins.Add(new SharpMapGisApplicationPlugin());
+ gui.Plugins.Add(new ProjectExplorerGuiPlugin());
+
+ gui.Run();
+
+ app.UserSettings["autosaveWindowLayout"] = false; // skip damagin of window layout
+
+ gui.MainWindow.Show();
+
+ for (int i = 0; i < 20; i++)
+ {
+ var map = new Map();
+ app.Project.Items.Add(map);
+ gui.CommandHandler.OpenView(map);
+ }
+ app.SaveProjectAs(TestHelper.GetCurrentMethodName() + ".dsproj");
+
+ TestHelper.AssertIsFasterThan(200, gui.Exit);
+ }
+ }
+
+ [Test]
+ public void GuiSelectionIsSetToProjectAfterStartWithProjectExplorer()
+ {
+ // initialize
+ using (var gui = new RingtoetsGui())
+ {
+ gui.Plugins.Add(new ProjectExplorerGuiPlugin());
+ gui.Run();
+
+ gui.Selection.Should().Be.EqualTo(gui.Application.Project);
+ }
+ }
+
+ [Test]
+ public void FormActionIsRunForMainWindow()
+ {
+ //testing testhelper + visible changed event of mainwindow.
+ //could be tested separately but the combination is vital to many tests. That's why this test is here.
+ using (var gui = new RingtoetsGui())
+ {
+ gui.Run();
+ int callCount = 0;
+ WpfTestHelper.ShowModal((Control) gui.MainWindow, () => callCount++);
+ Assert.AreEqual(1, callCount);
+ }
+ }
+
+ [Test]
+ public void SelectingProjectNodeSetsSelectedItemToProject()
+ {
+ using (var gui = new RingtoetsGui())
+ {
+ var app = gui.Application;
+
+ gui.Plugins.Add(new ProjectExplorerGuiPlugin());
+ gui.Run();
+
+ var projectExplorer = gui.ToolWindowViews.OfType().First();
+
+ var treeView = projectExplorer.TreeView;
+ treeView.SelectedNode = treeView.Nodes[0]; // project node
+
+ gui.Selection.Should().Be.EqualTo(app.Project);
+ }
+ }
+
+ private class TestActivity : Activity
+ {
+ public bool Done { get; set; }
+
+ protected override void OnInitialize()
+ {
+ while (!Done)
+ {
+ Thread.Sleep(0);
+ }
+
+ Status = ActivityStatus.Done;
+ }
+
+ protected override void OnExecute() {}
+
+ protected override void OnCancel() {}
+
+ protected override void OnCleanUp() {}
+
+ protected override void OnFinish() {}
+ }
+
+ private static void StartWithCommonPlugins()
+ {
+ using (var gui = new RingtoetsGui())
+ {
+ var app = gui.Application;
+
+ app.Plugins.Add(new SharpMapGisApplicationPlugin());
+ app.Plugins.Add(new CommonToolsApplicationPlugin());
+ gui.Plugins.Add(new ProjectExplorerGuiPlugin());
+
+ gui.Run();
+
+ WpfTestHelper.ShowModal((Control) gui.MainWindow);
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Core/Common/test/Core.Common.Integration.Tests/Ringtoets/Common.Core/RingtoetsApplicationIntegrationTest.cs
===================================================================
diff -u
--- Core/Common/test/Core.Common.Integration.Tests/Ringtoets/Common.Core/RingtoetsApplicationIntegrationTest.cs (revision 0)
+++ Core/Common/test/Core.Common.Integration.Tests/Ringtoets/Common.Core/RingtoetsApplicationIntegrationTest.cs (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -0,0 +1,44 @@
+using System.Threading;
+using Core.Common.Base;
+using Core.Common.Base.Workflow;
+using NUnit.Framework;
+
+namespace Core.Common.Integration.Tests.Ringtoets.Common.Core
+{
+ [TestFixture]
+ public class RingtoetsApplicationIntegrationTest
+ {
+ [Test]
+ public void RunManyActivitiesCheckForThreadingIssues()
+ {
+ var smallActivity = new SmallActivity();
+ using (var app = new RingtoetsApplication
+ {
+ WaitMethod = System.Windows.Forms.Application.DoEvents
+ })
+ {
+ for (int i = 0; i < 500; i++)
+ {
+ app.RunActivity(smallActivity);
+ }
+ }
+ }
+
+ private class SmallActivity : Activity
+ {
+ protected override void OnInitialize() {}
+
+ protected override void OnExecute()
+ {
+ Thread.Sleep(1);
+ Status = ActivityStatus.Done;
+ }
+
+ protected override void OnCancel() {}
+
+ protected override void OnCleanUp() {}
+
+ protected override void OnFinish() {}
+ }
+ }
+}
\ No newline at end of file
Index: Core/Common/test/Core.Common.TestUtils/TestDataPath.cs
===================================================================
diff -u -r8fe209f0e949bff16607d1631a74bd428fee3f62 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/test/Core.Common.TestUtils/TestDataPath.cs (.../TestDataPath.cs) (revision 8fe209f0e949bff16607d1631a74bd428fee3f62)
+++ Core/Common/test/Core.Common.TestUtils/TestDataPath.cs (.../TestDataPath.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -26,18 +26,15 @@
}
}
- public static class DeltaShell
- {
- public static readonly TestDataPath DeltaShellDeltaShellPluginsSharpMapGisTests =
- @"Core/Plugins/test/Core.Plugins.SharpMapGis.Tests/";
- }
-
public static class Ringtoets
{
public static class Piping
{
public static readonly TestDataPath IO = System.IO.Path.Combine("Ringtoets", "Piping", "test", "Ringtoets.Piping.IO.Test");
}
+
+ public static readonly TestDataPath CorePluginsSharpMapGisTests =
+ @"Core/Plugins/test/Core.Plugins.SharpMapGis.Tests/";
}
}
}
\ No newline at end of file
Index: Core/Common/test/Core.Common.TestUtils/TestHelper.cs
===================================================================
diff -u -r2a90c0c1be6114f72af65c42f0a6f334b30e4755 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/test/Core.Common.TestUtils/TestHelper.cs (.../TestHelper.cs) (revision 2a90c0c1be6114f72af65c42f0a6f334b30e4755)
+++ Core/Common/test/Core.Common.TestUtils/TestHelper.cs (.../TestHelper.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -353,7 +353,7 @@
private static string GetSolutionRoot()
{
- const string solutionName = "DeltaShell.sln";
+ const string solutionName = "Ringtoets.sln";
//get the current directory and scope up
//TODO find a faster safer method
string curDir = ".";
Index: Core/Common/test/Core.Common.Tests/App.config
===================================================================
diff -u -reee6c7815d1e418eac38c1c552fb279c0887ef55 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/test/Core.Common.Tests/App.config (.../App.config) (revision eee6c7815d1e418eac38c1c552fb279c0887ef55)
+++ Core/Common/test/Core.Common.Tests/App.config (.../App.config) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -6,7 +6,7 @@
-
+
@@ -27,11 +27,11 @@
-
+
-
+
Index: Core/Common/test/Core.Common.Tests/Core.Common.Tests.csproj
===================================================================
diff -u -rf4ac92fed567906b1a9ffad4bd6826a1e00db631 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/test/Core.Common.Tests/Core.Common.Tests.csproj (.../Core.Common.Tests.csproj) (revision f4ac92fed567906b1a9ffad4bd6826a1e00db631)
+++ Core/Common/test/Core.Common.Tests/Core.Common.Tests.csproj (.../Core.Common.Tests.csproj) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -82,8 +82,8 @@
-
-
+
+
Index: Core/Common/test/Core.Common.Tests/Core/AssemblyInfoTest.cs
===================================================================
diff -u -rdd1a980616ea0f7eaf5593353dc8012a09f4c8c1 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/test/Core.Common.Tests/Core/AssemblyInfoTest.cs (.../AssemblyInfoTest.cs) (revision dd1a980616ea0f7eaf5593353dc8012a09f4c8c1)
+++ Core/Common/test/Core.Common.Tests/Core/AssemblyInfoTest.cs (.../AssemblyInfoTest.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -10,7 +10,7 @@
[Test]
public void CheckForValidAssembly()
{
- AssemblyUtils.AssemblyInfo info = AssemblyUtils.GetAssemblyInfo((typeof(DeltaShellApplication)).Assembly);
+ AssemblyUtils.AssemblyInfo info = AssemblyUtils.GetAssemblyInfo((typeof(RingtoetsApplication)).Assembly);
Assert.AreEqual("Core.Common.Base", info.Title);
Assert.IsNotNull(info.Version);
Fisheye: Tag f1c02b2d47dc561deec70a24128d8dd49d9bed6a refers to a dead (removed) revision in file `Core/Common/test/Core.Common.Tests/Core/DelftShellApplicationTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag f1c02b2d47dc561deec70a24128d8dd49d9bed6a refers to a dead (removed) revision in file `Core/Common/test/Core.Common.Tests/Core/DeltaShellApplicationSettingsTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Core/Common/test/Core.Common.Tests/Core/RingtoetsApplicationSettingsTest.cs
===================================================================
diff -u
--- Core/Common/test/Core.Common.Tests/Core/RingtoetsApplicationSettingsTest.cs (revision 0)
+++ Core/Common/test/Core.Common.Tests/Core/RingtoetsApplicationSettingsTest.cs (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -0,0 +1,22 @@
+using Core.Common.Base;
+using Core.Common.Tests.TestObjects;
+using NUnit.Framework;
+
+namespace Core.Common.Tests.Core
+{
+ [TestFixture]
+ public class RingtoetsApplicationSettingsTest
+ {
+ [Test]
+ public void PropertyChangedWorksForWrappedSettings()
+ {
+ var settings = new TestSettings();
+
+ var wrappedSettings = new RingtoetsApplicationSettings(settings);
+ int callCount = 0;
+ wrappedSettings.PropertyChanged += (s, e) => callCount++;
+ wrappedSettings["Name"] = "kees";
+ Assert.AreEqual(1, callCount);
+ }
+ }
+}
\ No newline at end of file
Index: Core/Common/test/Core.Common.Tests/Core/RingtoetsApplicationTest.cs
===================================================================
diff -u
--- Core/Common/test/Core.Common.Tests/Core/RingtoetsApplicationTest.cs (revision 0)
+++ Core/Common/test/Core.Common.Tests/Core/RingtoetsApplicationTest.cs (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -0,0 +1,106 @@
+using System;
+using System.Collections.Generic;
+using System.Globalization;
+using System.Threading;
+using Core.Common.Base;
+using NUnit.Framework;
+using Rhino.Mocks;
+
+namespace Core.Common.Tests.Core
+{
+ [TestFixture]
+ public class RingtoetsApplicationTest
+ {
+ [Test]
+ [ExpectedException(typeof(InvalidOperationException))]
+ public void ApplicationShouldRunBeforeProjectCanBeOpened()
+ {
+ using (var app = new RingtoetsApplication())
+ {
+ app.OpenProject(null);
+ }
+ }
+
+ [Test]
+ [ExpectedException(typeof(InvalidOperationException))]
+ public void ApplicationShouldRunBeforeProjectCanBeCreated()
+ {
+ using (var app = new RingtoetsApplication())
+ {
+ app.OpenProject(null);
+ }
+ }
+
+ [Test]
+ [ExpectedException(typeof(InvalidOperationException))]
+ public void ApplicationRunCanBeCalledOnlyOnce()
+ {
+ using (var app = new RingtoetsApplication())
+ {
+ app.Run();
+ app.Run();
+ }
+ }
+
+ [Test]
+ public void ActivatePlugins()
+ {
+ var mocks = new MockRepository();
+
+ var plugin = mocks.StrictMock();
+
+ Expect.Call(plugin.Application = null).IgnoreArguments();
+ Expect.Call(plugin.Deactivate);
+ Expect.Call(plugin.GetDataItemInfos()).Return(new List()).Repeat.Any();
+ Expect.Call(plugin.GetFileImporters()).Return(new List());
+ Expect.Call(plugin.GetFileExporters()).Return(new List());
+
+ plugin.Activate();
+ LastCall.Repeat.Once();
+
+ mocks.ReplayAll();
+
+ using (var ringtoetsApplication = new RingtoetsApplication())
+ {
+ ringtoetsApplication.Plugins.Add(plugin);
+ ringtoetsApplication.Run();
+
+ ringtoetsApplication.Dispose();
+
+ mocks.VerifyAll();
+ }
+ }
+
+ [Test]
+ public void CurrentCultureIsChangedWhenTurkishOrAzeri()
+ {
+ Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
+ using (var ringtoetsApplication = new RingtoetsApplication())
+ {
+ ringtoetsApplication.Run();
+ Assert.AreEqual("en-US", Thread.CurrentThread.CurrentCulture.ToString());
+ }
+
+ Thread.CurrentThread.CurrentCulture = new CultureInfo("nl-NL");
+ using (var ringtoetsApplication = new RingtoetsApplication())
+ {
+ ringtoetsApplication.Run();
+ Assert.AreEqual("nl-NL", Thread.CurrentThread.CurrentCulture.ToString());
+ }
+
+ Thread.CurrentThread.CurrentCulture = new CultureInfo("tr-TR");
+ using (var ringtoetsApplication = new RingtoetsApplication())
+ {
+ ringtoetsApplication.Run();
+ Assert.AreEqual("en-US", Thread.CurrentThread.CurrentCulture.ToString());
+ }
+
+ Thread.CurrentThread.CurrentCulture = new CultureInfo("az");
+ using (var ringtoetsApplication = new RingtoetsApplication())
+ {
+ ringtoetsApplication.Run();
+ Assert.AreEqual("en-US", Thread.CurrentThread.CurrentCulture.ToString());
+ }
+ }
+ }
+}
\ No newline at end of file
Index: Core/Common/test/Core.Common.Tests/Gui/DelftShellGuiTests.cs
===================================================================
diff -u -rb7740a20087463e213caab7a0a6d8d33bdf3f3ef -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/test/Core.Common.Tests/Gui/DelftShellGuiTests.cs (.../DelftShellGuiTests.cs) (revision b7740a20087463e213caab7a0a6d8d33bdf3f3ef)
+++ Core/Common/test/Core.Common.Tests/Gui/DelftShellGuiTests.cs (.../DelftShellGuiTests.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -8,9 +8,9 @@
namespace Core.Common.Tests.Gui
{
[TestFixture]
- public class DeltaShellGuiTests
+ public class RingtoetsGuiTests
{
- private DeltaShellGui gui;
+ private RingtoetsGui gui;
[TestFixtureSetUp]
public void TestFixtureSetUp()
@@ -29,7 +29,7 @@
{
LogHelper.SetLoggingLevel(Level.Error);
- gui = new DeltaShellGui();
+ gui = new RingtoetsGui();
}
[TearDown]
Index: Core/Common/test/Core.Common.Tests/TestObjects/TestSettings.Designer.cs
===================================================================
diff -u -ra950714ad9510756331d862aa35695fa0b2ed03b -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/test/Core.Common.Tests/TestObjects/TestSettings.Designer.cs (.../TestSettings.Designer.cs) (revision a950714ad9510756331d862aa35695fa0b2ed03b)
+++ Core/Common/test/Core.Common.Tests/TestObjects/TestSettings.Designer.cs (.../TestSettings.Designer.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -1,7 +1,7 @@
//------------------------------------------------------------------------------
//
// This code was generated by a tool.
-// Runtime Version:4.0.30319.225
+// Runtime Version:4.0.30319.18063
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
@@ -12,7 +12,7 @@
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "10.0.0.0")]
+ [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
internal sealed partial class TestSettings : global::System.Configuration.ApplicationSettingsBase {
private static TestSettings defaultInstance = ((TestSettings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new TestSettings())));
Index: Core/Common/test/Core.Common.Tests/TestObjects/TestSettings.settings
===================================================================
diff -u -ra950714ad9510756331d862aa35695fa0b2ed03b -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/test/Core.Common.Tests/TestObjects/TestSettings.settings (.../TestSettings.settings) (revision a950714ad9510756331d862aa35695fa0b2ed03b)
+++ Core/Common/test/Core.Common.Tests/TestObjects/TestSettings.settings (.../TestSettings.settings) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -1,5 +1,5 @@
-
+
Index: Core/Common/test/Core.Common.Utils.Tests/TestHelperTests.cs
===================================================================
diff -u -r8fe209f0e949bff16607d1631a74bd428fee3f62 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/test/Core.Common.Utils.Tests/TestHelperTests.cs (.../TestHelperTests.cs) (revision 8fe209f0e949bff16607d1631a74bd428fee3f62)
+++ Core/Common/test/Core.Common.Utils.Tests/TestHelperTests.cs (.../TestHelperTests.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -33,12 +33,12 @@
[Test]
public void TestPredefinedTestPath()
{
- //common
+ // common
var path = TestHelper.GetTestDataPath(TestDataPath.Common.Base.DelftToolsTests);
Assert.IsTrue(Directory.Exists(path));
- //deltashell
- path = TestHelper.GetTestDataPath(TestDataPath.DeltaShell.DeltaShellDeltaShellPluginsSharpMapGisTests);
+ // Ringtoets
+ path = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.CorePluginsSharpMapGisTests);
Assert.IsTrue(Directory.Exists(path));
}
Index: Core/Common/uml/Core.Common.Gui.UML/ApplicationGui.cd
===================================================================
diff -u -reee6c7815d1e418eac38c1c552fb279c0887ef55 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Common/uml/Core.Common.Gui.UML/ApplicationGui.cd (.../ApplicationGui.cd) (revision eee6c7815d1e418eac38c1c552fb279c0887ef55)
+++ Core/Common/uml/Core.Common.Gui.UML/ApplicationGui.cd (.../ApplicationGui.cd) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -1,20 +1,11 @@
-
-
-
-
-
-
-
-
-
-
+
@@ -23,6 +14,15 @@
+
+
+
+
+
+
+
+
+
Index: Core/GIS/src/Core.GIS.SharpMap.Extensions/GdalConfiguration.cs
===================================================================
diff -u -ra950714ad9510756331d862aa35695fa0b2ed03b -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/GIS/src/Core.GIS.SharpMap.Extensions/GdalConfiguration.cs (.../GdalConfiguration.cs) (revision a950714ad9510756331d862aa35695fa0b2ed03b)
+++ Core/GIS/src/Core.GIS.SharpMap.Extensions/GdalConfiguration.cs (.../GdalConfiguration.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -60,8 +60,8 @@
{
// some code to handle tests: instead of adding gdal native to all test
// projects (+/- 10), I decided to handle those cases here..
- const string deltaShellTestDir = @"\test\";
- if (gdalPath.Contains(deltaShellTestDir))
+ const string ringtoetslTestDir = @"\test\";
+ if (gdalPath.Contains(ringtoetslTestDir))
{
var indexOfTestDir = gdalPath.IndexOf(@"\test\", StringComparison.InvariantCultureIgnoreCase);
var root = gdalPath.Substring(0, indexOfTestDir);
Index: Core/GIS/src/Core.GIS.SharpMap/Data/Providers/ShapeFile.cs
===================================================================
diff -u -r9f01c4daf5b7af6549045ed6ac404d18419c2555 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/GIS/src/Core.GIS.SharpMap/Data/Providers/ShapeFile.cs (.../ShapeFile.cs) (revision 9f01c4daf5b7af6549045ed6ac404d18419c2555)
+++ Core/GIS/src/Core.GIS.SharpMap/Data/Providers/ShapeFile.cs (.../ShapeFile.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -80,7 +80,6 @@
private bool _CoordsysReadFromFile = false;
private IEnvelope _Envelope;
private int _FeatureCount;
- private readonly bool _FileBasedIndex;
private string path;
private bool _IsOpen;
private ShapeType _ShapeType;
@@ -103,34 +102,16 @@
private unsafe byte* zeroPtr;
- public ShapeFile()
- {
- _FileBasedIndex = false;
- }
-
- ///
- /// Initializes a ShapeFile DataProvider without a file-based spatial index.
- ///
- /// Path to shape file
- public ShapeFile(string filename)
- : this(filename, false) {}
-
- ///
+ ///
/// Initializes a ShapeFile DataProvider.
+ /// If is true, the spatial index will be read from a local copy. If it doesn't exist, it will be generated and saved to [filename] + '.sidx'.
+ /// Using a file-based index is especially recommended for ASP.NET applications which will speed up start-up time when the cache has been emptied.
///
- ///
- /// If FileBasedIndex is true, the spatial index will be read from a local copy. If it doesn't exist,
- /// it will be generated and saved to [filename] + '.sidx'.
- /// Using a file-based index is especially recommended for ASP.NET applications which will speed up
- /// start-up time when the cache has been emptied.
- ///
- ///
/// Path to shape file
- /// Use file-based spatial index
- public ShapeFile(string filename, bool fileBasedIndex)
+ /// Use file-based spatial index.
+ public ShapeFile(string filename)
{
Open(filename);
- _FileBasedIndex = fileBasedIndex;
}
///
@@ -344,7 +325,7 @@
}
}
- private void InitializeShape(string filename, bool FileBasedIndex)
+ private void InitializeShape(string filename)
{
if (!File.Exists(filename))
{
@@ -998,18 +979,12 @@
// Get a Connector. The connector returned is guaranteed to be connected and ready to go.
// Pooling.Connector connector = Pooling.ConnectorPool.ConnectorPoolManager.RequestConnector(this,true);
- logNoShapeFile = true;
-
if (!_IsOpen || this.path != path)
{
if (!File.Exists(path))
{
- if (logNoShapeFile)
- {
- log.Error("Could not find " + path);
- logNoShapeFile = false;
- }
- return;
+ log.Error("Could not find " + path);
+ throw new FileNotFoundException("ShapeFile could not be opened",path);
}
try
@@ -1042,7 +1017,7 @@
zeroPtr = (byte*) shpFileMemoryMapView.ToPointer();
- InitializeShape(this.path, _FileBasedIndex);
+ InitializeShape(this.path);
if (dbaseFile != null)
{
Index: Core/GIS/src/Core.GIS.SharpMap/Rendering/Thematics/CustomTheme.cs
===================================================================
diff -u -r9f01c4daf5b7af6549045ed6ac404d18419c2555 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/GIS/src/Core.GIS.SharpMap/Rendering/Thematics/CustomTheme.cs (.../CustomTheme.cs) (revision 9f01c4daf5b7af6549045ed6ac404d18419c2555)
+++ Core/GIS/src/Core.GIS.SharpMap/Rendering/Thematics/CustomTheme.cs (.../CustomTheme.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -144,7 +144,7 @@
public IStyle GetStyle(T value) where T : IComparable, IComparable
{
- // TODO: This should use a delegate for GetStyle as well (but this isn't used by DeltaShell)
+ // TODO: This should use a delegate for GetStyle as well (but this isn't used by Ringtoets)
return DefaultStyle;
}
Index: Core/GIS/test/Core.GIS.SharpMap.Tests/Data/Providers/ShapeFileTests.cs
===================================================================
diff -u -r4fec1fea3a95fc784c1551e1cb489993c0319b2f -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/GIS/test/Core.GIS.SharpMap.Tests/Data/Providers/ShapeFileTests.cs (.../ShapeFileTests.cs) (revision 4fec1fea3a95fc784c1551e1cb489993c0319b2f)
+++ Core/GIS/test/Core.GIS.SharpMap.Tests/Data/Providers/ShapeFileTests.cs (.../ShapeFileTests.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -12,7 +12,7 @@
[Test]
public void ContainsShouldWorkForShapeFile()
{
- string path = TestHelper.GetTestDataPath(TestDataPath.DeltaShell.DeltaShellDeltaShellPluginsSharpMapGisTests, "Europe_Lakes.shp");
+ string path = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.CorePluginsSharpMapGisTests, "Europe_Lakes.shp");
var s = new ShapeFile(path);
var feature = s.Features[0];
s.Contains((IFeature) feature); // -> should not throw an exception
@@ -21,7 +21,7 @@
[Test]
public void GetFeatureShouldWorkForShapeFile()
{
- string path = TestHelper.GetTestDataPath(TestDataPath.DeltaShell.DeltaShellDeltaShellPluginsSharpMapGisTests, "Europe_Lakes.shp");
+ string path = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.CorePluginsSharpMapGisTests, "Europe_Lakes.shp");
var s = new ShapeFile(path);
var feature = s.Features[1];
Assert.LessOrEqual(0, s.IndexOf((IFeature) feature));
@@ -30,7 +30,7 @@
[Test]
public void GetFeatureShouldWorkForShapeFileWithoutObjectID()
{
- string path = TestHelper.GetTestDataPath(TestDataPath.DeltaShell.DeltaShellDeltaShellPluginsSharpMapGisTests, "gemeenten.shp");
+ string path = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.CorePluginsSharpMapGisTests, "gemeenten.shp");
var s = new ShapeFile(path);
var feature = s.Features[0];
Assert.LessOrEqual(0, s.IndexOf((IFeature) feature));
@@ -39,7 +39,7 @@
[Test]
public void FeatureCount()
{
- string path = TestHelper.GetTestDataPath(TestDataPath.DeltaShell.DeltaShellDeltaShellPluginsSharpMapGisTests, "Europe_Lakes.shp");
+ string path = TestHelper.GetTestDataPath(TestDataPath.Ringtoets.CorePluginsSharpMapGisTests, "Europe_Lakes.shp");
IFeatureProvider dataSource = new ShapeFile(path);
Assert.AreEqual(37, dataSource.Features.Count);
}
Index: Core/GIS/test/Core.GIS.SharpMap.Tests/Layers/VectorLayerTest.cs
===================================================================
diff -u -r9f01c4daf5b7af6549045ed6ac404d18419c2555 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/GIS/test/Core.GIS.SharpMap.Tests/Layers/VectorLayerTest.cs (.../VectorLayerTest.cs) (revision 9f01c4daf5b7af6549045ed6ac404d18419c2555)
+++ Core/GIS/test/Core.GIS.SharpMap.Tests/Layers/VectorLayerTest.cs (.../VectorLayerTest.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -57,7 +57,7 @@
public void LoadFromFile()
{
string filePath = Path.GetFullPath(TestHelper.GetDataDir() + @"\rivers.shp");
- IFeatureProvider dataSource = new ShapeFile(filePath, false);
+ IFeatureProvider dataSource = new ShapeFile(filePath);
VectorLayer vectorLayer = new VectorLayer("rivers", dataSource);
Assert.AreEqual("rivers", vectorLayer.Name);
Assert.AreEqual(dataSource, vectorLayer.DataSource);
Index: Core/GIS/test/Core.GIS.SharpMap.Tests/test-data/rivers.shp
===================================================================
diff -u
Binary files differ
Index: Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectTreeView.cs
===================================================================
diff -u -r2a90c0c1be6114f72af65c42f0a6f334b30e4755 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectTreeView.cs (.../ProjectTreeView.cs) (revision 2a90c0c1be6114f72af65c42f0a6f334b30e4755)
+++ Core/Plugins/src/Core.Plugins.ProjectExplorer/ProjectTreeView.cs (.../ProjectTreeView.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -12,7 +12,7 @@
namespace Core.Plugins.ProjectExplorer
{
///
- /// TODO: extract Clipboard-related methods into DeltaShell Clipboard class
+ /// TODO: extract Clipboard-related methods into Ringtoets Clipboard class
///
public partial class ProjectTreeView : UserControl, IView
{
Index: Core/Plugins/src/Core.Plugins.SharpMapGis.Gui/Forms/MapView.cs
===================================================================
diff -u -r9f01c4daf5b7af6549045ed6ac404d18419c2555 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Plugins/src/Core.Plugins.SharpMapGis.Gui/Forms/MapView.cs (.../MapView.cs) (revision 9f01c4daf5b7af6549045ed6ac404d18419c2555)
+++ Core/Plugins/src/Core.Plugins.SharpMapGis.Gui/Forms/MapView.cs (.../MapView.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -55,7 +55,7 @@
// hide for now
IsTabControlVisible = false;
- // add some tools here, to avoid references to DeltaShell projects in SharpMap
+ // add some tools here, to avoid references to Ringtoets projects in SharpMap
MapControl.Tools.Add(new ExportMapToImageMapTool());
Map = new Map(MapControl.ClientSize)
{
Index: Core/Plugins/src/Core.Plugins.SharpMapGis/FileBasedLayerFactory.cs
===================================================================
diff -u -ra950714ad9510756331d862aa35695fa0b2ed03b -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Plugins/src/Core.Plugins.SharpMapGis/FileBasedLayerFactory.cs (.../FileBasedLayerFactory.cs) (revision a950714ad9510756331d862aa35695fa0b2ed03b)
+++ Core/Plugins/src/Core.Plugins.SharpMapGis/FileBasedLayerFactory.cs (.../FileBasedLayerFactory.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -22,7 +22,7 @@
case ".shp":
//todo: optimize ogr featureprovider and replace shapefile by ogr provider
//var shapeFile = new OgrFeatureProvider(path, Path.GetFileNameWithoutExtension(path));
- var shapeFile = new ShapeFile(path, false);
+ var shapeFile = new ShapeFile(path);
var shapeFileLayer = SharpMapLayerFactory.CreateLayer(shapeFile);
shapeFileLayer.Name = fileName;
yield return shapeFileLayer;
Index: Core/Plugins/test/Core.Plugins.SharpMapGis.Tests/App.config
===================================================================
diff -u -ra950714ad9510756331d862aa35695fa0b2ed03b -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Plugins/test/Core.Plugins.SharpMapGis.Tests/App.config (.../App.config) (revision a950714ad9510756331d862aa35695fa0b2ed03b)
+++ Core/Plugins/test/Core.Plugins.SharpMapGis.Tests/App.config (.../App.config) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -5,7 +5,7 @@
-
+
@@ -15,11 +15,11 @@
-
+
-
+
Index: Core/Plugins/test/Core.Plugins.SharpMapGis.Tests/Forms/MapLayerTreeViewNodePresenterTest.cs
===================================================================
diff -u -ra950714ad9510756331d862aa35695fa0b2ed03b -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Plugins/test/Core.Plugins.SharpMapGis.Tests/Forms/MapLayerTreeViewNodePresenterTest.cs (.../MapLayerTreeViewNodePresenterTest.cs) (revision a950714ad9510756331d862aa35695fa0b2ed03b)
+++ Core/Plugins/test/Core.Plugins.SharpMapGis.Tests/Forms/MapLayerTreeViewNodePresenterTest.cs (.../MapLayerTreeViewNodePresenterTest.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -189,7 +189,7 @@
private static VectorLayer GetRiverLayer()
{
var path = TestHelper.GetDataDir() + @"\rivers.shp";
- var shapeFile = new ShapeFile(path, false);
+ var shapeFile = new ShapeFile(path);
return new VectorLayer(Path.GetFileName(path), shapeFile);
}
Index: Core/Plugins/test/Core.Plugins.SharpMapGis.Tests/Forms/MapLegendViewTest.cs
===================================================================
diff -u -r2a90c0c1be6114f72af65c42f0a6f334b30e4755 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Plugins/test/Core.Plugins.SharpMapGis.Tests/Forms/MapLegendViewTest.cs (.../MapLegendViewTest.cs) (revision 2a90c0c1be6114f72af65c42f0a6f334b30e4755)
+++ Core/Plugins/test/Core.Plugins.SharpMapGis.Tests/Forms/MapLegendViewTest.cs (.../MapLegendViewTest.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -4,6 +4,7 @@
using System.Windows.Forms;
using Core.Common.Base;
using Core.Common.Gui;
+using Core.Common.TestUtils;
using Core.Common.Utils.Reflection;
using Core.GIS.SharpMap.Data.Providers;
using Core.GIS.SharpMap.Layers;
@@ -35,9 +36,9 @@
var map = new Map();
mapLegendView.Map = map;
- const string path = DataPath + "rivers.shp";
+ string path = TestHelper.GetDataDir() + "rivers.shp";
- var shapeFile = mocks.StrictMock();
+ var shapeFile = mocks.StrictMock(path);
shapeFile.Expect(sf => sf.GetExtents()).Return(null).Repeat.Any();
shapeFile.Expect(sf => sf.FeaturesChanged += null).IgnoreArguments().Repeat.Once();
shapeFile.Expect(sf => sf.FeaturesChanged -= null).IgnoreArguments().Repeat.Twice();
@@ -108,8 +109,6 @@
MapLegendView.HideAllLayersButThisOne(layer1, map);
}
- private const string DataPath = @"..\..\..\..\..\test-data\DeltaShell\DeltaShell.Plugins.SharpMapGis.Tests\";
-
private MapLegendView CreateMapLegendView()
{
IGui gui = mocks.Stub();
Index: Core/Plugins/test/Core.Plugins.SharpMapGis.Tests/Forms/MapViewTest.cs
===================================================================
diff -u -rd2adfe19b0e0bcd9c677080952c93e2c06411182 -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Plugins/test/Core.Plugins.SharpMapGis.Tests/Forms/MapViewTest.cs (.../MapViewTest.cs) (revision d2adfe19b0e0bcd9c677080952c93e2c06411182)
+++ Core/Plugins/test/Core.Plugins.SharpMapGis.Tests/Forms/MapViewTest.cs (.../MapViewTest.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -56,11 +56,11 @@
{
Map map = new Map(new Size(2, 1));
- string rivers = DataPath + "rivers.shp";
- string cities = DataPath + "cities_europe.shp";
+ var rivers = Path.GetFullPath(TestHelper.GetDataDir() + "rivers.shp");
+ var cities = Path.GetFullPath(TestHelper.GetDataDir() + "cities_europe.shp");
- ShapeFile shapeFileRivers = new ShapeFile(rivers, false);
- ShapeFile shapeFileCities = new ShapeFile(cities, false);
+ ShapeFile shapeFileRivers = new ShapeFile(rivers);
+ ShapeFile shapeFileCities = new ShapeFile(cities);
VectorLayer vlRivers = new VectorLayer(Path.GetFileNameWithoutExtension(rivers), shapeFileRivers);
VectorLayer vlCities = new VectorLayer(Path.GetFileNameWithoutExtension(cities), shapeFileCities);
@@ -84,14 +84,14 @@
[Test]
[TestCase(@"osm\europe_western_europe_netherlands_location.shp", ShapeType.Point)]
[TestCase(@"osm\europe_western_europe_netherlands_water.shp", ShapeType.Polygon)]
- [TestCase(@"osm\europe_western_europe_netherlands_highway.shp", ShapeType.PolyLine)]
+ [TestCase(@"osm\europe_western_europe_netherlands_coastline.shp", ShapeType.PolyLine)]
public void RenderLargeShapefile(string filePath, ShapeType type)
{
LogHelper.ConfigureLogging(Level.Debug);
- var path = DataPath + filePath;
+ var path = Path.GetFullPath(TestHelper.GetDataDir() + filePath);
- ShapeFile shp;
+ ShapeFile shp = new ShapeFile(path);
Map.CoordinateSystemFactory = new OgrCoordinateSystemFactory();
var layer = new VectorLayer
@@ -105,7 +105,7 @@
var mapView = new MapView();
- using (var gui = new DeltaShellGui
+ using (var gui = new RingtoetsGui
{
Plugins =
{
@@ -123,7 +123,7 @@
{
TestHelper.AssertIsFasterThan(40000, () =>
{
- shp = new ShapeFile(path, true);
+
//layer.SimplifyGeometryDuringRendering = false;
layer.DataSource = shp;
@@ -166,7 +166,9 @@
[Test]
public void OpenMapViewWithVectorLayerAttributeTable()
{
- var shapefile = new ShapeFile(DataPath + "rivers.shp");
+ var rivers = Path.GetFullPath(TestHelper.GetDataDir() + "rivers.shp");
+
+ var shapefile = new ShapeFile(rivers);
var layer = new VectorLayer
{
DataSource = shapefile
@@ -195,7 +197,7 @@
[Test]
public void CloseLastTabCollapsesSplitter()
{
- var shapefile = new ShapeFile(DataPath + "rivers.shp");
+ var shapefile = new ShapeFile(TestHelper.GetDataDir() + "rivers.shp");
var layer = new VectorLayer
{
DataSource = shapefile
@@ -264,8 +266,6 @@
mocks.VerifyAll();
}
- private const string DataPath = @"..\..\..\..\..\test-data\DeltaShell\DeltaShell.Plugins.SharpMapGis.Tests\";
-
[TestFixtureSetUp]
public void TestFixtureSetUp()
{
Index: Core/Plugins/test/Core.Plugins.SharpMapGis.Tests/SharpMapGisPluginGuiIntegrationTest.cs
===================================================================
diff -u -rb7740a20087463e213caab7a0a6d8d33bdf3f3ef -rf1c02b2d47dc561deec70a24128d8dd49d9bed6a
--- Core/Plugins/test/Core.Plugins.SharpMapGis.Tests/SharpMapGisPluginGuiIntegrationTest.cs (.../SharpMapGisPluginGuiIntegrationTest.cs) (revision b7740a20087463e213caab7a0a6d8d33bdf3f3ef)
+++ Core/Plugins/test/Core.Plugins.SharpMapGis.Tests/SharpMapGisPluginGuiIntegrationTest.cs (.../SharpMapGisPluginGuiIntegrationTest.cs) (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -21,7 +21,7 @@
[Test]
public void SelectMultipleFeaturesUpdatesAllMaps()
{
- using (var gui = new DeltaShellGui())
+ using (var gui = new RingtoetsGui())
{
gui.Application.Plugins.Add(new SharpMapGisApplicationPlugin());
gui.Plugins.Add(new SharpMapGisGuiPlugin());
@@ -85,7 +85,7 @@
[Test]
public void SetMapSelectionDoesNotSetItAgain()
{
- using (var gui = new DeltaShellGui())
+ using (var gui = new RingtoetsGui())
{
gui.Application.Plugins.Add(new SharpMapGisApplicationPlugin());
gui.Plugins.Add(new SharpMapGisGuiPlugin());
Fisheye: Tag f1c02b2d47dc561deec70a24128d8dd49d9bed6a refers to a dead (removed) revision in file `DeltaShell.DotSettings'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag f1c02b2d47dc561deec70a24128d8dd49d9bed6a refers to a dead (removed) revision in file `DeltaShell.sln'.
Fisheye: No comparison available. Pass `N' to diff?
Fisheye: Tag f1c02b2d47dc561deec70a24128d8dd49d9bed6a refers to a dead (removed) revision in file `DeltaShell.sln.DotSettings'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Ringtoets.DotSettings
===================================================================
diff -u
--- Ringtoets.DotSettings (revision 0)
+++ Ringtoets.DotSettings (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -0,0 +1,543 @@
+
+ WARNING
+ <?xml version="1.0" encoding="utf-16"?><Profile name="DeltaresClean"><CSUseVar><BehavourStyle>CAN_CHANGE_TO_IMPLICIT</BehavourStyle><LocalVariableStyle>IMPLICIT_WHEN_INITIALIZER_HAS_TYPE</LocalVariableStyle><ForeachVariableStyle>ALWAYS_IMPLICIT</ForeachVariableStyle></CSUseVar><CSMakeFieldReadonly>True</CSMakeFieldReadonly><CSUseAutoProperty>True</CSUseAutoProperty><CSArrangeThisQualifier>True</CSArrangeThisQualifier><CSOptimizeUsings><OptimizeUsings>True</OptimizeUsings><EmbraceInRegion>False</EmbraceInRegion><RegionName></RegionName></CSOptimizeUsings><CSShortenReferences>True</CSShortenReferences><CSReformatCode>True</CSReformatCode><CSReorderTypeMembers>True</CSReorderTypeMembers><CSArrangeQualifiers>True</CSArrangeQualifiers><StyleCop.Documentation><SA1600ElementsMustBeDocumented>False</SA1600ElementsMustBeDocumented><SA1604ElementDocumentationMustHaveSummary>False</SA1604ElementDocumentationMustHaveSummary><SA1609PropertyDocumentationMustHaveValueDocumented>False</SA1609PropertyDocumentationMustHaveValueDocumented><SA1611ElementParametersMustBeDocumented>False</SA1611ElementParametersMustBeDocumented><SA1615ElementReturnValueMustBeDocumented>False</SA1615ElementReturnValueMustBeDocumented><SA1617VoidReturnValueMustNotBeDocumented>False</SA1617VoidReturnValueMustNotBeDocumented><SA1618GenericTypeParametersMustBeDocumented>False</SA1618GenericTypeParametersMustBeDocumented><SA1626SingleLineCommentsMustNotUseDocumentationStyleSlashes>False</SA1626SingleLineCommentsMustNotUseDocumentationStyleSlashes><SA1628DocumentationTextMustBeginWithACapitalLetter>False</SA1628DocumentationTextMustBeginWithACapitalLetter><SA1629DocumentationTextMustEndWithAPeriod>False</SA1629DocumentationTextMustEndWithAPeriod><SA1633SA1641UpdateFileHeader>Ignore</SA1633SA1641UpdateFileHeader><SA1639FileHeaderMustHaveSummary>False</SA1639FileHeaderMustHaveSummary><SA1642ConstructorSummaryDocumentationMustBeginWithStandardText>False</SA1642ConstructorSummaryDocumentationMustBeginWithStandardText><SA1643DestructorSummaryDocumentationMustBeginWithStandardText>False</SA1643DestructorSummaryDocumentationMustBeginWithStandardText><SA1644DocumentationHeadersMustNotContainBlankLines>False</SA1644DocumentationHeadersMustNotContainBlankLines></StyleCop.Documentation></Profile>
+ DeltaresClean
+ DeltaresClean
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ True
+ TOGETHER_SAME_LINE
+ SEPARATE
+ ALWAYS_ADD
+ ALWAYS_ADD
+ ALWAYS_ADD
+ ALWAYS_ADD
+ ALWAYS_ADD
+ ALWAYS_ADD
+ 1
+ 1
+ False
+ False
+ False
+ False
+ False
+ False
+ CHOP_ALWAYS
+ 130
+ False
+ <?xml version="1.0" encoding="utf-16"?>
+<Patterns xmlns="urn:schemas-jetbrains-com:member-reordering-patterns">
+ <TypePattern Priority="100" DisplayName="COM interface">
+ <TypePattern.Match>
+ <Or>
+ <And>
+ <Kind Is="Interface" />
+ <Or>
+ <HasAttribute Name="System.Runtime.InteropServices.InterfaceTypeAttribute" />
+ <HasAttribute Name="System.Runtime.InteropServices.ComImport" />
+ </Or>
+ </And>
+ <HasAttribute Name="System.Runtime.InteropServices.StructLayoutAttribute" />
+ </Or>
+ </TypePattern.Match>
+ </TypePattern>
+ <TypePattern Priority="100" DisplayName="Unit Tests">
+ <TypePattern.Match>
+ <And>
+ <Kind Is="Class" />
+ <HasAttribute Name="NUnit.Framework.TestFixtureAttribute" Inherited="True" />
+ </And>
+ </TypePattern.Match>
+ <Entry DisplayName="Fields">
+ <Entry.Match>
+ <Kind Is="Field" />
+ </Entry.Match>
+ <Entry.SortBy>
+ <Access />
+ </Entry.SortBy>
+ </Entry>
+ <Entry DisplayName="Properties">
+ <Entry.Match>
+ <Kind Is="Property" />
+ </Entry.Match>
+ <Entry.SortBy>
+ <Access />
+ </Entry.SortBy>
+ </Entry>
+ <Entry DisplayName="SetUp and TearDown methods">
+ <Entry.Match>
+ <And>
+ <Kind Is="Method" />
+ <Or>
+ <HasAttribute Name="NUnit.Framework.SetUpAttribute" Inherited="True" />
+ <HasAttribute Name="NUnit.Framework.TearDownAttribute" Inherited="True" />
+ <HasAttribute Name="NUnit.Framework.TestFixtureSetUpAttribute" Inherited="True" />
+ <HasAttribute Name="NUnit.Framework.TestFixtureTearDownAttribute" Inherited="True" />
+ </Or>
+ </And>
+ </Entry.Match>
+ <Entry.SortBy>
+ <Name />
+ </Entry.SortBy>
+ </Entry>
+ <Entry DisplayName="Test Methods">
+ <Entry.Match>
+ <And>
+ <Kind Is="Method" />
+ <HasAttribute Name="NUnit.Framework.TestAttribute" />
+ </And>
+ </Entry.Match>
+ </Entry>
+ <Entry DisplayName="Anything else" />
+ </TypePattern>
+ <TypePattern DisplayName="Other classes">
+ <Entry DisplayName="Event and Delegates">
+ <Entry.Match>
+ <Or>
+ <Kind Is="Event" />
+ <Kind Is="Delegate" />
+ </Or>
+ </Entry.Match>
+ <Entry.SortBy>
+ <Access />
+ </Entry.SortBy>
+ </Entry>
+ <Entry DisplayName="Enumerators (move to own class)">
+ <Entry.Match>
+ <Kind Is="Enum" />
+ </Entry.Match>
+ <Entry.SortBy>
+ <Access />
+ <Name />
+ </Entry.SortBy>
+ </Entry>
+ <Entry DisplayName="Constant and static fields">
+ <Entry.Match>
+ <Or>
+ <Kind Is="Constant" />
+ <And>
+ <Kind Is="Field" />
+ <Static />
+ </And>
+ </Or>
+ </Entry.Match>
+ <Entry.SortBy>
+ <Access />
+ <Kind Order="Constant Field" />
+ </Entry.SortBy>
+ </Entry>
+ <Entry DisplayName="Static Constructor">
+ <Entry.Match>
+ <And>
+ <Kind Is="Constructor" />
+ <Static />
+ </And>
+ </Entry.Match>
+ </Entry>
+ <Entry DisplayName="Other fields">
+ <Entry.Match>
+ <And>
+ <Kind Is="Field" />
+ <Not>
+ <Static />
+ </Not>
+ </And>
+ </Entry.Match>
+ <Entry.SortBy>
+ <Readonly />
+ <Access />
+ </Entry.SortBy>
+ </Entry>
+ <Entry DisplayName="Constructors">
+ <Entry.Match>
+ <Kind Is="Constructor" />
+ </Entry.Match>
+ <Entry.SortBy>
+ <Access />
+ </Entry.SortBy>
+ </Entry>
+ <Entry DisplayName="Public properties and indexers">
+ <Entry.Match>
+ <And>
+ <Access Is="Public" />
+ <Or>
+ <Kind Is="Property" />
+ <Kind Is="Indexer" />
+ </Or>
+ </And>
+ </Entry.Match>
+ </Entry>
+ <Entry DisplayName="Public (non-implementing) properties" Priority="100">
+ <Entry.Match>
+ <And>
+ <Access Is="Public" />
+ <Kind Is="Property" />
+ <Not>
+ <Or>
+ <ImplementsInterface />
+ <Override />
+ </Or>
+ </Not>
+ </And>
+ </Entry.Match>
+ </Entry>
+ <Entry DisplayName="Implemented Properties" Priority="100">
+ <Entry.Match>
+ <And>
+ <Kind Is="Property" />
+ <ImplementsInterface />
+ </And>
+ </Entry.Match>
+ <Entry.SortBy>
+ <ImplementsInterface Immediate="True" />
+ </Entry.SortBy>
+ </Entry>
+ <Entry DisplayName="Public methods">
+ <Entry.Match>
+ <And>
+ <Access Is="Public" />
+ <Kind Is="Method" />
+ </And>
+ </Entry.Match>
+ </Entry>
+ <Entry DisplayName="Public override methods" Priority="100">
+ <Entry.Match>
+ <And>
+ <Access Is="Public" />
+ <Kind Is="Method" />
+ <Override />
+ <Not>
+ <ImplementsInterface />
+ </Not>
+ </And>
+ </Entry.Match>
+ </Entry>
+ <Entry DisplayName="Implemented methods" Priority="100">
+ <Entry.Match>
+ <And>
+ <Kind Is="Method" />
+ <ImplementsInterface />
+ </And>
+ </Entry.Match>
+ <Entry.SortBy>
+ <ImplementsInterface Immediate="True" />
+ </Entry.SortBy>
+ </Entry>
+ <Entry DisplayName="Other (protected/private) members">
+ <Entry.Match>
+ <Kind Is="Member" />
+ </Entry.Match>
+ <Entry.SortBy>
+ <Access />
+ <Kind Order="Property Method" />
+ </Entry.SortBy>
+ </Entry>
+ <Entry DisplayName="Anything else" />
+ <Entry DisplayName="Sub types">
+ <Entry.Match>
+ <Kind Is="Type" />
+ </Entry.Match>
+ <Entry.SortBy>
+ <Name />
+ </Entry.SortBy>
+ </Entry>
+ </TypePattern>
+</Patterns>
+ <?xml version="1.0" encoding="utf-8" ?>
+
+<!--
+I. Overall
+
+I.1 Each pattern can have <Match>....</Match> element. For the given type declaration, the pattern with the match, evaluated to 'true' with the largest weight, will be used
+I.2 Each pattern consists of the sequence of <Entry>...</Entry> elements. Type member declarations are distributed between entries
+I.3 If pattern has RemoveAllRegions="true" attribute, then all regions will be cleared prior to reordering. Otherwise, only auto-generated regions will be cleared
+I.4 The contents of each entry is sorted by given keys (First key is primary, next key is secondary, etc). Then the declarations are grouped and en-regioned by given property
+
+II. Available match operands
+
+Each operand may have Weight="..." attribute. This weight will be added to the match weight if the operand is evaluated to 'true'.
+The default weight is 1
+
+II.1 Boolean functions:
+II.1.1 <And>....</And>
+II.1.2 <Or>....</Or>
+II.1.3 <Not>....</Not>
+
+II.2 Operands
+II.2.1 <Kind Is="..."/>. Kinds are: class, struct, interface, enum, delegate, type, constructor, destructor, property, indexer, method, operator, field, constant, event, member
+II.2.2 <Name Is="..." [IgnoreCase="true/false"] />. The 'Is' attribute contains regular expression
+II.2.3 <HasAttribute CLRName="..." [Inherit="true/false"] />. The 'CLRName' attribute contains regular expression
+II.2.4 <Access Is="..."/>. The 'Is' values are: public, protected, internal, protected-internal, private
+II.2.5 <Static/>
+II.2.6 <Abstract/>
+II.2.7 <Virtual/>
+II.2.8 <Override/>
+II.2.9 <Sealed/>
+II.2.10 <Readonly/>
+II.2.11 <ImplementsInterface CLRName="..."/>. The 'CLRName' attribute contains regular expression
+II.2.12 <HandlesEvent />
+-->
+
+<Patterns xmlns="urn:shemas-jetbrains-com:member-reordering-patterns">
+
+ <!--Do not reorder COM interfaces and structs marked by StructLayout attribute-->
+ <Pattern>
+ <Match>
+ <Or Weight="100">
+ <And>
+ <Kind Is="interface"/>
+ <Or>
+ <HasAttribute CLRName="System.Runtime.InteropServices.InterfaceTypeAttribute"/>
+ <HasAttribute CLRName="System.Runtime.InteropServices.ComImport"/>
+ </Or>
+ </And>
+ <HasAttribute CLRName="System.Runtime.InteropServices.StructLayoutAttribute"/>
+ </Or>
+ </Match>
+ </Pattern>
+
+ <!--Special formatting of NUnit test fixture-->
+ <Pattern RemoveAllRegions="true">
+ <Match>
+ <And Weight="100">
+ <Kind Is="class"/>
+ <HasAttribute CLRName="NUnit.Framework.TestFixtureAttribute" Inherit="true"/>
+ </And>
+ </Match>
+
+ <!--Setup/Teardow-->
+ <Entry>
+ <Match>
+ <And>
+ <Kind Is="method"/>
+ <Or>
+ <HasAttribute CLRName="NUnit.Framework.SetUpAttribute" Inherit="true"/>
+ <HasAttribute CLRName="NUnit.Framework.TearDownAttribute" Inherit="true"/>
+ <HasAttribute CLRName="NUnit.Framework.FixtureSetUpAttribute" Inherit="true"/>
+ <HasAttribute CLRName="NUnit.Framework.FixtureTearDownAttribute" Inherit="true"/>
+ </Or>
+ </And>
+ </Match>
+ </Entry>
+
+ <!--Test methods-->
+ <Entry>
+ <Match>
+ <And Weight="100">
+ <Kind Is="method"/>
+ <HasAttribute CLRName="NUnit.Framework.TestAttribute" Inherit="false"/>
+ </And>
+ </Match>
+ <Sort>
+ <Name/>
+ </Sort>
+ </Entry>
+
+ <!--All other members-->
+ <Entry/>
+
+ </Pattern>
+
+ <!--Default pattern-->
+ <Pattern>
+
+ <!--Public delegate and events-->
+ <Entry>
+ <Match>
+ <Or>
+ <Kind Is="event"/>
+ <Kind Is="delegate"/>
+ </Or>
+ </Match>
+ <Sort>
+ <Access/>
+ <Name/>
+ </Sort>
+ </Entry>
+
+ <!--Private/protected/internal enum-->
+ <Entry>
+ <Match>
+ <Kind Is="enum"/>
+ </Match>
+ <Sort>
+ <Access />
+ <Name/>
+ </Sort>
+ </Entry>
+
+ <!--Static fields and constants-->
+ <Entry>
+ <Match>
+ <Or>
+ <Kind Is="constant"/>
+ <And>
+ <Kind Is="field"/>
+ <Static/>
+ </And>
+ </Or>
+ </Match>
+ <Sort>
+ <Access />
+ <Kind Order="constant field"/>
+ </Sort>
+ </Entry>
+
+ <!--Static Constructor-->
+ <Entry>
+ <Match>
+ <And>
+ <Kind Is="constructor"/>
+ <Static/>
+ </And>
+ </Match>
+ </Entry>
+
+ <!--Instance Fields-->
+ <Entry>
+ <Match>
+ <And>
+ <Kind Is="field"/>
+ <Not>
+ <Static/>
+ </Not>
+ </And>
+ </Match>
+ <Sort>
+ <Readonly/>
+ <Access/>
+ <Name/>
+ </Sort>
+ </Entry>
+
+ <!--Private/protected/internal/public Constructors-->
+ <Entry>
+ <Match>
+ <Kind Is="constructor"/>
+ </Match>
+ <Sort>
+ <Access/>
+ </Sort>
+ </Entry>
+
+ <!--Public properties, indexers-->
+ <Entry>
+ <Match>
+ <And>
+ <Access Is="public"/>
+ <Or>
+ <Kind Is="property"/>
+ <Kind Is="indexer"/>
+ </Or>
+ </And>
+ </Match>
+ </Entry>
+
+ <!--public inherited property implementations -->
+ <Entry>
+ <Match>
+ <And Weight="100">
+ <Access Is="public"/>
+ <Kind Is="property"/>
+ <Override/>
+ <Not>
+ <ImplementsInterface/>
+ </Not>
+ </And>
+ </Match>
+ </Entry>
+
+ <!--public interface property implementations-->
+ <Entry>
+ <Match>
+ <And Weight="100">
+ <Kind Is="property"/>
+ <ImplementsInterface/>
+ </And>
+ </Match>
+ <Sort>
+ <ImplementsInterface Immediate="true"/>
+ </Sort>
+ </Entry>
+
+ <!--public methods -->
+ <Entry>
+ <Match>
+ <And>
+ <Access Is="public"/>
+ <Kind Is="method"/>
+ </And>
+ </Match>
+ </Entry>
+
+ <!--public inherited method implementations -->
+ <Entry>
+ <Match>
+ <And Weight="100">
+ <Access Is="public"/>
+ <Kind Is="method"/>
+ <Override/>
+ <Not>
+ <ImplementsInterface/>
+ </Not>
+ </And>
+ </Match>
+ </Entry>
+
+ <!--public interface method implementations-->
+ <Entry>
+ <Match>
+ <And Weight="100">
+ <Kind Is="method"/>
+ <ImplementsInterface/>
+ </And>
+ </Match>
+ <Sort>
+ <ImplementsInterface Immediate="true"/>
+ </Sort>
+ </Entry>
+
+ <!--private/protected/internal properties and methods -->
+ <Entry>
+ <Match>
+ <Kind Is="member"/>
+ </Match>
+ <Sort>
+ <Access />
+ <Kind Order="property method"/>
+ </Sort>
+ </Entry>
+
+ <!--all other members-->
+ <Entry/>
+
+ <!--nested types-->
+ <Entry>
+ <Match>
+ <Kind Is="type"/>
+ </Match>
+ <Sort>
+ <Name/>
+ </Sort>
+ </Entry>
+ </Pattern>
+
+</Patterns>
+
+ CustomLayout
+ True
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ <Policy Inspect="True" Prefix="" Suffix="" Style="aaBb" />
+ True
+ True
+ True
+ True
+ True
\ No newline at end of file
Index: Ringtoets.sln
===================================================================
diff -u
--- Ringtoets.sln (revision 0)
+++ Ringtoets.sln (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -0,0 +1,573 @@
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Core", "Core", "{89F6BC2C-78E6-42F1-A056-704C877B5453}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Application", "Application", "{57F5BCD5-5759-4C9F-A841-2A6C36A910C8}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Ringtoets", "Ringtoets", "{05D133D6-D7D8-4872-9B53-2753DD3F8BF9}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Common", "Common", "{9E35F3EA-D3C3-4D80-8399-689C49B68324}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "GIS", "GIS", "{0DC7B784-1BDC-4A94-B37A-EB5D44E9C3F6}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Plugins", "Plugins", "{FE36E7E0-D5F7-48E3-9730-D05443351EAD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Common.Version", "Core\Common\src\Core.Common.Version\Core.Common.Version.csproj", "{C90B77DA-E421-43CC-B82E-529651BC21AC}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{8261CCE1-98D7-465B-BC94-4ED239DE7F2E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Common.Utils", "Core\Common\src\Core.Common.Utils\Core.Common.Utils.csproj", "{F49BD8B2-332A-4C91-A196-8CCE0A2C7D98}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Common.Gui", "Core\Common\src\Core.Common.Gui\Core.Common.Gui.csproj", "{30E4C2AE-719E-4D70-9FA9-668A9767FBFA}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Common.Gui.Swf", "Core\Common\src\Core.Common.Gui.Swf\Core.Common.Gui.Swf.csproj", "{08205620-D756-4533-922C-D6A4C0038535}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Common.Base", "Core\Common\src\Core.Common.Base\Core.Common.Base.csproj", "{3BBFD65B-B277-4E50-AE6D-BD24C3434609}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Common.Controls", "Core\Common\src\Core.Common.Controls\Core.Common.Controls.csproj", "{9A2D67E6-26AC-4D17-B11A-2B4372F2F572}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Common.Controls.Swf", "Core\Common\src\Core.Common.Controls.Swf\Core.Common.Controls.Swf.csproj", "{3DBD23CE-5C4A-4A49-B51C-B268CB2B510E}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{0D9858E1-CF2D-4DE5-AC0E-64401900D531}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "uml", "uml", "{D89FA693-A8E9-4560-9957-B74B7E9391F0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Common.Utils.Tests", "Core\Common\test\Core.Common.Utils.Tests\Core.Common.Utils.Tests.csproj", "{7F937E31-02CA-41D9-B7D4-1079CF452C72}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Common.TestUtils", "Core\Common\test\Core.Common.TestUtils\Core.Common.TestUtils.csproj", "{D749EE4C-CE50-4C17-BF01-9A953028C126}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{C9F89C6E-CEA9-40CA-96A9-2A0368459B9F}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{75F0E289-C1EC-497F-934B-738987FC6E7A}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "uml", "uml", "{756CC6FA-CBC4-4176-81ED-23AD14EB125A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.GIS.GeoAPI", "Core\GIS\src\Core.GIS.GeoAPI\Core.GIS.GeoAPI.csproj", "{FFB69466-79DE-466A-ADA7-5C47C5C5CA3A}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{4B4F0984-5730-4E28-93E7-DDE0F29BA550}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{209AC67F-DCFA-4355-B45A-9D9A2E4593D2}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "uml", "uml", "{6124700D-1521-412B-9A14-798FB6007E93}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Common", "Common", "{041EDC04-3A1E-4FBA-BEB7-F391571C609F}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{0590D3BB-EB3E-4B53-BD64-1725E1CBB1F4}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{B5F4F5A5-FD36-405D-ABA1-56C270207C8F}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "uml", "uml", "{BC8DB1E0-0428-4FB1-9A63-028C749A8AF9}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Piping", "Piping", "{F8FFD6DD-19DA-47CE-A0BD-53F4E7D8BB86}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{3ED34ACD-41C9-4251-81EC-7493E0BFF57D}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "test", "test", "{1F0D20C2-7F04-431D-AF22-95A31FD53733}"
+EndProject
+Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "uml", "uml", "{492FFA2C-351E-48DB-BA51-B837657BAF2F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.GIS.GeoAPI.Extensions", "Core\GIS\src\Core.GIS.GeoAPI.Extensions\Core.GIS.GeoAPI.Extensions.csproj", "{016DBD27-99BF-489A-81B5-50D66964BB90}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.GIS.NetTopologySuite", "Core\GIS\src\Core.GIS.NetTopologySuite\Core.GIS.NetTopologySuite.csproj", "{5770DAA9-84E5-4770-AF43-F6B815894368}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.GIS.NetTopologySuite.Extensions", "Core\GIS\src\Core.GIS.NetTopologySuite.Extensions\Core.GIS.NetTopologySuite.Extensions.csproj", "{8A3636FB-31B4-4F4B-9165-F718F87A92DF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.GIS.SharpMap", "Core\GIS\src\Core.GIS.SharpMap\Core.GIS.SharpMap.csproj", "{C83777FC-AABB-47D9-911F-D76255D4D541}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.GIS.SharpMap.Api", "Core\GIS\src\Core.GIS.SharpMap.Api\Core.GIS.SharpMap.Api.csproj", "{A3C9DF74-978A-44B1-B55D-A72AC4221E3A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.GIS.SharpMap.Extensions", "Core\GIS\src\Core.GIS.SharpMap.Extensions\Core.GIS.SharpMap.Extensions.csproj", "{A4140C12-53F5-438C-8D24-9E48C504FECF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.GIS.SharpMap.UI", "Core\GIS\src\Core.GIS.SharpMap.UI\Core.GIS.SharpMap.UI.csproj", "{DD1CC1DB-4BF9-4C88-A100-733D84795F3A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.GIS.NetTopologySuite.Extensions.Tests", "Core\GIS\test\Core.GIS.NetTopologySuite.Extensions.Tests\Core.GIS.NetTopologySuite.Extensions.Tests.csproj", "{9D8E844F-20C7-4335-B3A9-2222976470DA}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.GIS.NetTopologySuite.Tests", "Core\GIS\test\Core.GIS.NetTopologySuite.Tests\Core.GIS.NetTopologySuite.Tests.csproj", "{FBA4B48A-CF75-4958-B1E5-412B75D29416}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.GIS.SharpMap.Extensions.Tests", "Core\GIS\test\Core.GIS.SharpMap.Extensions.Tests\Core.GIS.SharpMap.Extensions.Tests.csproj", "{9A1F1308-F324-4905-A52A-6D718825960E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.GIS.SharpMap.Tests", "Core\GIS\test\Core.GIS.SharpMap.Tests\Core.GIS.SharpMap.Tests.csproj", "{0C76DD99-AC5D-47C0-B76F-CE70092A9AC7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.GIS.SharpMap.UI.Tests", "Core\GIS\test\Core.GIS.SharpMap.UI.Tests\Core.GIS.SharpMap.UI.Tests.csproj", "{93708508-7B00-4A26-80DA-C73A7251BCF6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.GIS.SharpMapTestUtils", "Core\GIS\test\Core.GIS.SharpMapTestUtils\Core.GIS.SharpMapTestUtils.csproj", "{0A82E7D2-26F8-4A30-9787-7EEABCD7F470}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Plugins.CommonTools", "Core\Plugins\src\Core.Plugins.CommonTools\Core.Plugins.CommonTools.csproj", "{BEFDCC44-2638-4972-B353-42D14C7DA2C6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Plugins.CommonTools.Gui", "Core\Plugins\src\Core.Plugins.CommonTools.Gui\Core.Plugins.CommonTools.Gui.csproj", "{93E73FAB-FAE8-49C6-9ABB-27D24DF761F6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Plugins.ProjectExplorer", "Core\Plugins\src\Core.Plugins.ProjectExplorer\Core.Plugins.ProjectExplorer.csproj", "{ED20DBA9-D577-423F-A68D-A0A8130FB10B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Plugins.SharpMapGis", "Core\Plugins\src\Core.Plugins.SharpMapGis\Core.Plugins.SharpMapGis.csproj", "{696DAAEE-D1D8-42D0-86AC-471B970FB17E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Plugins.SharpMapGis.Gui", "Core\Plugins\src\Core.Plugins.SharpMapGis.Gui\Core.Plugins.SharpMapGis.Gui.csproj", "{0BC3751E-EC42-40A0-A7D3-B7C2AA66976E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Plugins.CommonTools.Tests", "Core\Plugins\test\Core.Plugins.CommonTools.Tests\Core.Plugins.CommonTools.Tests.csproj", "{8BD31773-6F6D-42EE-810D-0A5DAD809F9D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Plugins.ProjectExplorer.Tests", "Core\Plugins\test\Core.Plugins.ProjectExplorer.Tests\Core.Plugins.ProjectExplorer.Tests.csproj", "{07206938-9671-4DC7-BDE4-35B0F6E20DBC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Plugins.SharpMapGis.Tests", "Core\Plugins\test\Core.Plugins.SharpMapGis.Tests\Core.Plugins.SharpMapGis.Tests.csproj", "{4FDA4BD2-2C84-4C7C-9908-818884D52DBB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Application.Ringtoets", "Application\Application.Ringtoets\Application.Ringtoets.csproj", "{4A7D6720-4AA1-4F0B-A796-A0436DB3D7D7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Piping.Calculation", "Ringtoets\Piping\src\Ringtoets.Piping.Calculation\Ringtoets.Piping.Calculation.csproj", "{D64E4F0E-E341-496F-82B2-941AD202B4E3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Piping.Data", "Ringtoets\Piping\src\Ringtoets.Piping.Data\Ringtoets.Piping.Data.csproj", "{CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Piping.Forms", "Ringtoets\Piping\src\Ringtoets.Piping.Forms\Ringtoets.Piping.Forms.csproj", "{7CD038E1-E111-4969-ACED-22C5BD2974E1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Piping.IO", "Ringtoets\Piping\src\Ringtoets.Piping.IO\Ringtoets.Piping.IO.csproj", "{35B87B7A-7F50-4139-B563-589EE522B1ED}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Piping.Plugin", "Ringtoets\Piping\src\Ringtoets.Piping.Plugin\Ringtoets.Piping.Plugin.csproj", "{1D3D58B6-EF7E-401E-92A0-104067D222EE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Piping.Service", "Ringtoets\Piping\src\Ringtoets.Piping.Service\Ringtoets.Piping.Service.csproj", "{10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Piping.Calculation.Test", "Ringtoets\Piping\test\Ringtoets.Piping.Calculation.Test\Ringtoets.Piping.Calculation.Test.csproj", "{91389DA2-3FF4-4559-90B3-4061549789DD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Piping.Calculation.TestUtil", "Ringtoets\Piping\test\Ringtoets.Piping.Calculation.TestUtil\Ringtoets.Piping.Calculation.TestUtil.csproj", "{27E0A5C9-3ABF-426A-A3DA-7D0B83A218C8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Piping.Data.Test", "Ringtoets\Piping\test\Ringtoets.Piping.Data.Test\Ringtoets.Piping.Data.Test.csproj", "{19EB1C52-D90B-40F2-A7AF-364CC5D89F68}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Piping.Data.TestUtil", "Ringtoets\Piping\test\Ringtoets.Piping.Data.TestUtil\Ringtoets.Piping.Data.TestUtil.csproj", "{955E574D-67CE-4347-AA6B-7DF8A04ED754}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Piping.Forms.Test", "Ringtoets\Piping\test\Ringtoets.Piping.Forms.Test\Ringtoets.Piping.Forms.Test.csproj", "{622A8282-D872-4DD5-8B70-578A403F74FF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Piping.IO.Test", "Ringtoets\Piping\test\Ringtoets.Piping.IO.Test\Ringtoets.Piping.IO.Test.csproj", "{E4B0E068-F1A3-47BA-965F-0EC1E78E530A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Piping.Plugin.Test", "Ringtoets\Piping\test\Ringtoets.Piping.Plugin.Test\Ringtoets.Piping.Plugin.Test.csproj", "{9A5C8069-520E-49D3-AA62-E8FB19614A27}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Piping.Service.Test", "Ringtoets\Piping\test\Ringtoets.Piping.Service.Test\Ringtoets.Piping.Service.Test.csproj", "{D783543B-46A1-4848-A812-AF5A5259ED7E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Common.Tests", "Core\Common\test\Core.Common.Tests\Core.Common.Tests.csproj", "{E0990383-FB2E-47D1-99CD-9B9FA2929E5B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Common.Integration.Tests", "Core\Common\test\Core.Common.Integration.Tests\Core.Common.Integration.Tests.csproj", "{A6A434E0-AE5A-4D5B-97D7-532B00FBDFE9}"
+EndProject
+Project("{930C7802-8A8C-48F9-8165-68863BCCD9DD}") = "Application.Ringtoets.Setup", "Application\Application.Ringtoets.Setup\Application.Ringtoets.Setup.wixproj", "{3CCB05DB-C7B3-4EF7-B41D-22B6D2A3774E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Common.Gui.UML", "Core\Common\uml\Core.Common.Gui.UML\Core.Common.Gui.UML.csproj", "{EE2D52A2-9D3E-4056-8A21-F1725F67E5CF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Common.Base.UML", "Core\Common\uml\Core.Common.Base.UML\Core.Common.Base.UML.csproj", "{DD70F63E-6459-4C49-86EC-4DB87DCE9B01}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Common.Controls.UML", "Core\Common\uml\Core.Common.Controls.UML\Core.Common.Controls.UML.csproj", "{38C9E9C3-A3A9-49A0-A0DE-A4EDB9885A61}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Common.Controls.Swf.UML", "Core\Common\uml\Core.Common.Controls.Swf.UML\Core.Common.Controls.Swf.UML.csproj", "{8013D94E-E95F-4CDE-B480-7B6749312B90}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.GIS.GeoAPI.UML", "Core\GIS\uml\Core.GIS.GeoAPI.UML\Core.GIS.GeoAPI.UML.csproj", "{D12DB026-5354-4E11-8FD9-F50B5797EAB2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Piping.Calculation.UML", "Ringtoets\Piping\uml\Ringtoets.Piping.Calculation.UML\Ringtoets.Piping.Calculation.UML.csproj", "{55125A6D-59E7-40C9-AFFF-ED16610289A1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Piping.Data.UML", "Ringtoets\Piping\uml\Ringtoets.Piping.Data.UML\Ringtoets.Piping.Data.UML.csproj", "{5991C4E2-AC39-470C-8848-056B3A954FB1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Common.Base.Tests", "Core\Common\test\Core.Common.Base.Tests\Core.Common.Base.Tests.csproj", "{FAFDB463-9612-41F4-B3DD-FF9C6E7023BA}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Ringtoets.Piping.Integration.Test", "Ringtoets\Piping\test\Ringtoets.Piping.Integration.Test\Ringtoets.Piping.Integration.Test.csproj", "{813FFA92-1F3F-462B-B596-5919334007A9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Core.Common.Gui.Tests", "Core\Common\test\Core.Common.Gui.Test\Core.Common.Gui.Tests.csproj", "{D5EC1DF2-03C9-467B-B6AF-BE5AC83417F8}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ CreateInstaller|x86 = CreateInstaller|x86
+ Debug|x86 = Debug|x86
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {C90B77DA-E421-43CC-B82E-529651BC21AC}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {C90B77DA-E421-43CC-B82E-529651BC21AC}.CreateInstaller|x86.Build.0 = Release|x86
+ {C90B77DA-E421-43CC-B82E-529651BC21AC}.Debug|x86.ActiveCfg = Debug|x86
+ {C90B77DA-E421-43CC-B82E-529651BC21AC}.Debug|x86.Build.0 = Debug|x86
+ {C90B77DA-E421-43CC-B82E-529651BC21AC}.Release|x86.ActiveCfg = Release|x86
+ {C90B77DA-E421-43CC-B82E-529651BC21AC}.Release|x86.Build.0 = Release|x86
+ {F49BD8B2-332A-4C91-A196-8CCE0A2C7D98}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {F49BD8B2-332A-4C91-A196-8CCE0A2C7D98}.CreateInstaller|x86.Build.0 = Release|x86
+ {F49BD8B2-332A-4C91-A196-8CCE0A2C7D98}.Debug|x86.ActiveCfg = Debug|x86
+ {F49BD8B2-332A-4C91-A196-8CCE0A2C7D98}.Debug|x86.Build.0 = Debug|x86
+ {F49BD8B2-332A-4C91-A196-8CCE0A2C7D98}.Release|x86.ActiveCfg = Release|x86
+ {F49BD8B2-332A-4C91-A196-8CCE0A2C7D98}.Release|x86.Build.0 = Release|x86
+ {30E4C2AE-719E-4D70-9FA9-668A9767FBFA}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {30E4C2AE-719E-4D70-9FA9-668A9767FBFA}.CreateInstaller|x86.Build.0 = Release|x86
+ {30E4C2AE-719E-4D70-9FA9-668A9767FBFA}.Debug|x86.ActiveCfg = Debug|x86
+ {30E4C2AE-719E-4D70-9FA9-668A9767FBFA}.Debug|x86.Build.0 = Debug|x86
+ {30E4C2AE-719E-4D70-9FA9-668A9767FBFA}.Release|x86.ActiveCfg = Release|x86
+ {30E4C2AE-719E-4D70-9FA9-668A9767FBFA}.Release|x86.Build.0 = Release|x86
+ {08205620-D756-4533-922C-D6A4C0038535}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {08205620-D756-4533-922C-D6A4C0038535}.CreateInstaller|x86.Build.0 = Release|x86
+ {08205620-D756-4533-922C-D6A4C0038535}.Debug|x86.ActiveCfg = Debug|x86
+ {08205620-D756-4533-922C-D6A4C0038535}.Debug|x86.Build.0 = Debug|x86
+ {08205620-D756-4533-922C-D6A4C0038535}.Release|x86.ActiveCfg = Release|x86
+ {08205620-D756-4533-922C-D6A4C0038535}.Release|x86.Build.0 = Release|x86
+ {3BBFD65B-B277-4E50-AE6D-BD24C3434609}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {3BBFD65B-B277-4E50-AE6D-BD24C3434609}.CreateInstaller|x86.Build.0 = Release|x86
+ {3BBFD65B-B277-4E50-AE6D-BD24C3434609}.Debug|x86.ActiveCfg = Debug|x86
+ {3BBFD65B-B277-4E50-AE6D-BD24C3434609}.Debug|x86.Build.0 = Debug|x86
+ {3BBFD65B-B277-4E50-AE6D-BD24C3434609}.Release|x86.ActiveCfg = Release|x86
+ {3BBFD65B-B277-4E50-AE6D-BD24C3434609}.Release|x86.Build.0 = Release|x86
+ {9A2D67E6-26AC-4D17-B11A-2B4372F2F572}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {9A2D67E6-26AC-4D17-B11A-2B4372F2F572}.CreateInstaller|x86.Build.0 = Release|x86
+ {9A2D67E6-26AC-4D17-B11A-2B4372F2F572}.Debug|x86.ActiveCfg = Debug|x86
+ {9A2D67E6-26AC-4D17-B11A-2B4372F2F572}.Debug|x86.Build.0 = Debug|x86
+ {9A2D67E6-26AC-4D17-B11A-2B4372F2F572}.Release|x86.ActiveCfg = Release|x86
+ {9A2D67E6-26AC-4D17-B11A-2B4372F2F572}.Release|x86.Build.0 = Release|x86
+ {3DBD23CE-5C4A-4A49-B51C-B268CB2B510E}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {3DBD23CE-5C4A-4A49-B51C-B268CB2B510E}.CreateInstaller|x86.Build.0 = Release|x86
+ {3DBD23CE-5C4A-4A49-B51C-B268CB2B510E}.Debug|x86.ActiveCfg = Debug|x86
+ {3DBD23CE-5C4A-4A49-B51C-B268CB2B510E}.Debug|x86.Build.0 = Debug|x86
+ {3DBD23CE-5C4A-4A49-B51C-B268CB2B510E}.Release|x86.ActiveCfg = Release|x86
+ {3DBD23CE-5C4A-4A49-B51C-B268CB2B510E}.Release|x86.Build.0 = Release|x86
+ {7F937E31-02CA-41D9-B7D4-1079CF452C72}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {7F937E31-02CA-41D9-B7D4-1079CF452C72}.Debug|x86.ActiveCfg = Debug|x86
+ {7F937E31-02CA-41D9-B7D4-1079CF452C72}.Debug|x86.Build.0 = Debug|x86
+ {7F937E31-02CA-41D9-B7D4-1079CF452C72}.Release|x86.ActiveCfg = Release|x86
+ {7F937E31-02CA-41D9-B7D4-1079CF452C72}.Release|x86.Build.0 = Release|x86
+ {D749EE4C-CE50-4C17-BF01-9A953028C126}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {D749EE4C-CE50-4C17-BF01-9A953028C126}.Debug|x86.ActiveCfg = Debug|x86
+ {D749EE4C-CE50-4C17-BF01-9A953028C126}.Debug|x86.Build.0 = Debug|x86
+ {D749EE4C-CE50-4C17-BF01-9A953028C126}.Release|x86.ActiveCfg = Release|x86
+ {D749EE4C-CE50-4C17-BF01-9A953028C126}.Release|x86.Build.0 = Release|x86
+ {FFB69466-79DE-466A-ADA7-5C47C5C5CA3A}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {FFB69466-79DE-466A-ADA7-5C47C5C5CA3A}.CreateInstaller|x86.Build.0 = Release|x86
+ {FFB69466-79DE-466A-ADA7-5C47C5C5CA3A}.Debug|x86.ActiveCfg = Debug|x86
+ {FFB69466-79DE-466A-ADA7-5C47C5C5CA3A}.Debug|x86.Build.0 = Debug|x86
+ {FFB69466-79DE-466A-ADA7-5C47C5C5CA3A}.Release|x86.ActiveCfg = Release|x86
+ {FFB69466-79DE-466A-ADA7-5C47C5C5CA3A}.Release|x86.Build.0 = Release|x86
+ {016DBD27-99BF-489A-81B5-50D66964BB90}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {016DBD27-99BF-489A-81B5-50D66964BB90}.CreateInstaller|x86.Build.0 = Release|x86
+ {016DBD27-99BF-489A-81B5-50D66964BB90}.Debug|x86.ActiveCfg = Debug|x86
+ {016DBD27-99BF-489A-81B5-50D66964BB90}.Debug|x86.Build.0 = Debug|x86
+ {016DBD27-99BF-489A-81B5-50D66964BB90}.Release|x86.ActiveCfg = Release|x86
+ {016DBD27-99BF-489A-81B5-50D66964BB90}.Release|x86.Build.0 = Release|x86
+ {5770DAA9-84E5-4770-AF43-F6B815894368}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {5770DAA9-84E5-4770-AF43-F6B815894368}.CreateInstaller|x86.Build.0 = Release|x86
+ {5770DAA9-84E5-4770-AF43-F6B815894368}.Debug|x86.ActiveCfg = Debug|x86
+ {5770DAA9-84E5-4770-AF43-F6B815894368}.Debug|x86.Build.0 = Debug|x86
+ {5770DAA9-84E5-4770-AF43-F6B815894368}.Release|x86.ActiveCfg = Release|x86
+ {5770DAA9-84E5-4770-AF43-F6B815894368}.Release|x86.Build.0 = Release|x86
+ {8A3636FB-31B4-4F4B-9165-F718F87A92DF}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {8A3636FB-31B4-4F4B-9165-F718F87A92DF}.CreateInstaller|x86.Build.0 = Release|x86
+ {8A3636FB-31B4-4F4B-9165-F718F87A92DF}.Debug|x86.ActiveCfg = Debug|x86
+ {8A3636FB-31B4-4F4B-9165-F718F87A92DF}.Debug|x86.Build.0 = Debug|x86
+ {8A3636FB-31B4-4F4B-9165-F718F87A92DF}.Release|x86.ActiveCfg = Release|x86
+ {8A3636FB-31B4-4F4B-9165-F718F87A92DF}.Release|x86.Build.0 = Release|x86
+ {C83777FC-AABB-47D9-911F-D76255D4D541}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {C83777FC-AABB-47D9-911F-D76255D4D541}.CreateInstaller|x86.Build.0 = Release|x86
+ {C83777FC-AABB-47D9-911F-D76255D4D541}.Debug|x86.ActiveCfg = Debug|x86
+ {C83777FC-AABB-47D9-911F-D76255D4D541}.Debug|x86.Build.0 = Debug|x86
+ {C83777FC-AABB-47D9-911F-D76255D4D541}.Release|x86.ActiveCfg = Release|x86
+ {C83777FC-AABB-47D9-911F-D76255D4D541}.Release|x86.Build.0 = Release|x86
+ {A3C9DF74-978A-44B1-B55D-A72AC4221E3A}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {A3C9DF74-978A-44B1-B55D-A72AC4221E3A}.CreateInstaller|x86.Build.0 = Release|x86
+ {A3C9DF74-978A-44B1-B55D-A72AC4221E3A}.Debug|x86.ActiveCfg = Debug|x86
+ {A3C9DF74-978A-44B1-B55D-A72AC4221E3A}.Debug|x86.Build.0 = Debug|x86
+ {A3C9DF74-978A-44B1-B55D-A72AC4221E3A}.Release|x86.ActiveCfg = Release|x86
+ {A3C9DF74-978A-44B1-B55D-A72AC4221E3A}.Release|x86.Build.0 = Release|x86
+ {A4140C12-53F5-438C-8D24-9E48C504FECF}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {A4140C12-53F5-438C-8D24-9E48C504FECF}.CreateInstaller|x86.Build.0 = Release|x86
+ {A4140C12-53F5-438C-8D24-9E48C504FECF}.Debug|x86.ActiveCfg = Debug|x86
+ {A4140C12-53F5-438C-8D24-9E48C504FECF}.Debug|x86.Build.0 = Debug|x86
+ {A4140C12-53F5-438C-8D24-9E48C504FECF}.Release|x86.ActiveCfg = Release|x86
+ {A4140C12-53F5-438C-8D24-9E48C504FECF}.Release|x86.Build.0 = Release|x86
+ {DD1CC1DB-4BF9-4C88-A100-733D84795F3A}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {DD1CC1DB-4BF9-4C88-A100-733D84795F3A}.CreateInstaller|x86.Build.0 = Release|x86
+ {DD1CC1DB-4BF9-4C88-A100-733D84795F3A}.Debug|x86.ActiveCfg = Debug|x86
+ {DD1CC1DB-4BF9-4C88-A100-733D84795F3A}.Debug|x86.Build.0 = Debug|x86
+ {DD1CC1DB-4BF9-4C88-A100-733D84795F3A}.Release|x86.ActiveCfg = Release|x86
+ {DD1CC1DB-4BF9-4C88-A100-733D84795F3A}.Release|x86.Build.0 = Release|x86
+ {9D8E844F-20C7-4335-B3A9-2222976470DA}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {9D8E844F-20C7-4335-B3A9-2222976470DA}.Debug|x86.ActiveCfg = Debug|x86
+ {9D8E844F-20C7-4335-B3A9-2222976470DA}.Debug|x86.Build.0 = Debug|x86
+ {9D8E844F-20C7-4335-B3A9-2222976470DA}.Release|x86.ActiveCfg = Release|x86
+ {9D8E844F-20C7-4335-B3A9-2222976470DA}.Release|x86.Build.0 = Release|x86
+ {FBA4B48A-CF75-4958-B1E5-412B75D29416}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {FBA4B48A-CF75-4958-B1E5-412B75D29416}.Debug|x86.ActiveCfg = Debug|x86
+ {FBA4B48A-CF75-4958-B1E5-412B75D29416}.Debug|x86.Build.0 = Debug|x86
+ {FBA4B48A-CF75-4958-B1E5-412B75D29416}.Release|x86.ActiveCfg = Release|x86
+ {FBA4B48A-CF75-4958-B1E5-412B75D29416}.Release|x86.Build.0 = Release|x86
+ {9A1F1308-F324-4905-A52A-6D718825960E}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {9A1F1308-F324-4905-A52A-6D718825960E}.Debug|x86.ActiveCfg = Debug|x86
+ {9A1F1308-F324-4905-A52A-6D718825960E}.Debug|x86.Build.0 = Debug|x86
+ {9A1F1308-F324-4905-A52A-6D718825960E}.Release|x86.ActiveCfg = Release|x86
+ {9A1F1308-F324-4905-A52A-6D718825960E}.Release|x86.Build.0 = Release|x86
+ {0C76DD99-AC5D-47C0-B76F-CE70092A9AC7}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {0C76DD99-AC5D-47C0-B76F-CE70092A9AC7}.Debug|x86.ActiveCfg = Debug|x86
+ {0C76DD99-AC5D-47C0-B76F-CE70092A9AC7}.Debug|x86.Build.0 = Debug|x86
+ {0C76DD99-AC5D-47C0-B76F-CE70092A9AC7}.Release|x86.ActiveCfg = Release|x86
+ {0C76DD99-AC5D-47C0-B76F-CE70092A9AC7}.Release|x86.Build.0 = Release|x86
+ {93708508-7B00-4A26-80DA-C73A7251BCF6}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {93708508-7B00-4A26-80DA-C73A7251BCF6}.Debug|x86.ActiveCfg = Debug|x86
+ {93708508-7B00-4A26-80DA-C73A7251BCF6}.Debug|x86.Build.0 = Debug|x86
+ {93708508-7B00-4A26-80DA-C73A7251BCF6}.Release|x86.ActiveCfg = Release|x86
+ {93708508-7B00-4A26-80DA-C73A7251BCF6}.Release|x86.Build.0 = Release|x86
+ {0A82E7D2-26F8-4A30-9787-7EEABCD7F470}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {0A82E7D2-26F8-4A30-9787-7EEABCD7F470}.Debug|x86.ActiveCfg = Debug|x86
+ {0A82E7D2-26F8-4A30-9787-7EEABCD7F470}.Debug|x86.Build.0 = Debug|x86
+ {0A82E7D2-26F8-4A30-9787-7EEABCD7F470}.Release|x86.ActiveCfg = Release|x86
+ {0A82E7D2-26F8-4A30-9787-7EEABCD7F470}.Release|x86.Build.0 = Release|x86
+ {BEFDCC44-2638-4972-B353-42D14C7DA2C6}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {BEFDCC44-2638-4972-B353-42D14C7DA2C6}.CreateInstaller|x86.Build.0 = Release|x86
+ {BEFDCC44-2638-4972-B353-42D14C7DA2C6}.Debug|x86.ActiveCfg = Debug|x86
+ {BEFDCC44-2638-4972-B353-42D14C7DA2C6}.Debug|x86.Build.0 = Debug|x86
+ {BEFDCC44-2638-4972-B353-42D14C7DA2C6}.Release|x86.ActiveCfg = Release|x86
+ {BEFDCC44-2638-4972-B353-42D14C7DA2C6}.Release|x86.Build.0 = Release|x86
+ {93E73FAB-FAE8-49C6-9ABB-27D24DF761F6}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {93E73FAB-FAE8-49C6-9ABB-27D24DF761F6}.CreateInstaller|x86.Build.0 = Release|x86
+ {93E73FAB-FAE8-49C6-9ABB-27D24DF761F6}.Debug|x86.ActiveCfg = Debug|x86
+ {93E73FAB-FAE8-49C6-9ABB-27D24DF761F6}.Debug|x86.Build.0 = Debug|x86
+ {93E73FAB-FAE8-49C6-9ABB-27D24DF761F6}.Release|x86.ActiveCfg = Release|x86
+ {93E73FAB-FAE8-49C6-9ABB-27D24DF761F6}.Release|x86.Build.0 = Release|x86
+ {ED20DBA9-D577-423F-A68D-A0A8130FB10B}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {ED20DBA9-D577-423F-A68D-A0A8130FB10B}.CreateInstaller|x86.Build.0 = Release|x86
+ {ED20DBA9-D577-423F-A68D-A0A8130FB10B}.Debug|x86.ActiveCfg = Debug|x86
+ {ED20DBA9-D577-423F-A68D-A0A8130FB10B}.Debug|x86.Build.0 = Debug|x86
+ {ED20DBA9-D577-423F-A68D-A0A8130FB10B}.Release|x86.ActiveCfg = Release|x86
+ {ED20DBA9-D577-423F-A68D-A0A8130FB10B}.Release|x86.Build.0 = Release|x86
+ {696DAAEE-D1D8-42D0-86AC-471B970FB17E}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {696DAAEE-D1D8-42D0-86AC-471B970FB17E}.CreateInstaller|x86.Build.0 = Release|x86
+ {696DAAEE-D1D8-42D0-86AC-471B970FB17E}.Debug|x86.ActiveCfg = Debug|x86
+ {696DAAEE-D1D8-42D0-86AC-471B970FB17E}.Debug|x86.Build.0 = Debug|x86
+ {696DAAEE-D1D8-42D0-86AC-471B970FB17E}.Release|x86.ActiveCfg = Release|x86
+ {696DAAEE-D1D8-42D0-86AC-471B970FB17E}.Release|x86.Build.0 = Release|x86
+ {0BC3751E-EC42-40A0-A7D3-B7C2AA66976E}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {0BC3751E-EC42-40A0-A7D3-B7C2AA66976E}.CreateInstaller|x86.Build.0 = Release|x86
+ {0BC3751E-EC42-40A0-A7D3-B7C2AA66976E}.Debug|x86.ActiveCfg = Debug|x86
+ {0BC3751E-EC42-40A0-A7D3-B7C2AA66976E}.Debug|x86.Build.0 = Debug|x86
+ {0BC3751E-EC42-40A0-A7D3-B7C2AA66976E}.Release|x86.ActiveCfg = Release|x86
+ {0BC3751E-EC42-40A0-A7D3-B7C2AA66976E}.Release|x86.Build.0 = Release|x86
+ {8BD31773-6F6D-42EE-810D-0A5DAD809F9D}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {8BD31773-6F6D-42EE-810D-0A5DAD809F9D}.Debug|x86.ActiveCfg = Debug|x86
+ {8BD31773-6F6D-42EE-810D-0A5DAD809F9D}.Debug|x86.Build.0 = Debug|x86
+ {8BD31773-6F6D-42EE-810D-0A5DAD809F9D}.Release|x86.ActiveCfg = Release|x86
+ {8BD31773-6F6D-42EE-810D-0A5DAD809F9D}.Release|x86.Build.0 = Release|x86
+ {07206938-9671-4DC7-BDE4-35B0F6E20DBC}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {07206938-9671-4DC7-BDE4-35B0F6E20DBC}.Debug|x86.ActiveCfg = Debug|x86
+ {07206938-9671-4DC7-BDE4-35B0F6E20DBC}.Debug|x86.Build.0 = Debug|x86
+ {07206938-9671-4DC7-BDE4-35B0F6E20DBC}.Release|x86.ActiveCfg = Release|x86
+ {07206938-9671-4DC7-BDE4-35B0F6E20DBC}.Release|x86.Build.0 = Release|x86
+ {4FDA4BD2-2C84-4C7C-9908-818884D52DBB}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {4FDA4BD2-2C84-4C7C-9908-818884D52DBB}.Debug|x86.ActiveCfg = Debug|x86
+ {4FDA4BD2-2C84-4C7C-9908-818884D52DBB}.Debug|x86.Build.0 = Debug|x86
+ {4FDA4BD2-2C84-4C7C-9908-818884D52DBB}.Release|x86.ActiveCfg = Release|x86
+ {4FDA4BD2-2C84-4C7C-9908-818884D52DBB}.Release|x86.Build.0 = Release|x86
+ {4A7D6720-4AA1-4F0B-A796-A0436DB3D7D7}.CreateInstaller|x86.ActiveCfg = CreateInstaller|x86
+ {4A7D6720-4AA1-4F0B-A796-A0436DB3D7D7}.CreateInstaller|x86.Build.0 = CreateInstaller|x86
+ {4A7D6720-4AA1-4F0B-A796-A0436DB3D7D7}.Debug|x86.ActiveCfg = Debug|x86
+ {4A7D6720-4AA1-4F0B-A796-A0436DB3D7D7}.Debug|x86.Build.0 = Debug|x86
+ {4A7D6720-4AA1-4F0B-A796-A0436DB3D7D7}.Release|x86.ActiveCfg = Release|x86
+ {4A7D6720-4AA1-4F0B-A796-A0436DB3D7D7}.Release|x86.Build.0 = Release|x86
+ {D64E4F0E-E341-496F-82B2-941AD202B4E3}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {D64E4F0E-E341-496F-82B2-941AD202B4E3}.CreateInstaller|x86.Build.0 = Release|x86
+ {D64E4F0E-E341-496F-82B2-941AD202B4E3}.Debug|x86.ActiveCfg = Debug|x86
+ {D64E4F0E-E341-496F-82B2-941AD202B4E3}.Debug|x86.Build.0 = Debug|x86
+ {D64E4F0E-E341-496F-82B2-941AD202B4E3}.Release|x86.ActiveCfg = Release|x86
+ {D64E4F0E-E341-496F-82B2-941AD202B4E3}.Release|x86.Build.0 = Release|x86
+ {CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB}.CreateInstaller|x86.Build.0 = Release|x86
+ {CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB}.Debug|x86.ActiveCfg = Debug|x86
+ {CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB}.Debug|x86.Build.0 = Debug|x86
+ {CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB}.Release|x86.ActiveCfg = Release|x86
+ {CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB}.Release|x86.Build.0 = Release|x86
+ {7CD038E1-E111-4969-ACED-22C5BD2974E1}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {7CD038E1-E111-4969-ACED-22C5BD2974E1}.CreateInstaller|x86.Build.0 = Release|x86
+ {7CD038E1-E111-4969-ACED-22C5BD2974E1}.Debug|x86.ActiveCfg = Debug|x86
+ {7CD038E1-E111-4969-ACED-22C5BD2974E1}.Debug|x86.Build.0 = Debug|x86
+ {7CD038E1-E111-4969-ACED-22C5BD2974E1}.Release|x86.ActiveCfg = Release|x86
+ {7CD038E1-E111-4969-ACED-22C5BD2974E1}.Release|x86.Build.0 = Release|x86
+ {35B87B7A-7F50-4139-B563-589EE522B1ED}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {35B87B7A-7F50-4139-B563-589EE522B1ED}.CreateInstaller|x86.Build.0 = Release|x86
+ {35B87B7A-7F50-4139-B563-589EE522B1ED}.Debug|x86.ActiveCfg = Debug|x86
+ {35B87B7A-7F50-4139-B563-589EE522B1ED}.Debug|x86.Build.0 = Debug|x86
+ {35B87B7A-7F50-4139-B563-589EE522B1ED}.Release|x86.ActiveCfg = Release|x86
+ {35B87B7A-7F50-4139-B563-589EE522B1ED}.Release|x86.Build.0 = Release|x86
+ {1D3D58B6-EF7E-401E-92A0-104067D222EE}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {1D3D58B6-EF7E-401E-92A0-104067D222EE}.CreateInstaller|x86.Build.0 = Release|x86
+ {1D3D58B6-EF7E-401E-92A0-104067D222EE}.Debug|x86.ActiveCfg = Debug|x86
+ {1D3D58B6-EF7E-401E-92A0-104067D222EE}.Debug|x86.Build.0 = Debug|x86
+ {1D3D58B6-EF7E-401E-92A0-104067D222EE}.Release|x86.ActiveCfg = Release|x86
+ {1D3D58B6-EF7E-401E-92A0-104067D222EE}.Release|x86.Build.0 = Release|x86
+ {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.CreateInstaller|x86.Build.0 = Release|x86
+ {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Debug|x86.ActiveCfg = Debug|x86
+ {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Debug|x86.Build.0 = Debug|x86
+ {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Release|x86.ActiveCfg = Release|x86
+ {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5}.Release|x86.Build.0 = Release|x86
+ {91389DA2-3FF4-4559-90B3-4061549789DD}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {91389DA2-3FF4-4559-90B3-4061549789DD}.Debug|x86.ActiveCfg = Debug|x86
+ {91389DA2-3FF4-4559-90B3-4061549789DD}.Debug|x86.Build.0 = Debug|x86
+ {91389DA2-3FF4-4559-90B3-4061549789DD}.Release|x86.ActiveCfg = Release|x86
+ {91389DA2-3FF4-4559-90B3-4061549789DD}.Release|x86.Build.0 = Release|x86
+ {27E0A5C9-3ABF-426A-A3DA-7D0B83A218C8}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {27E0A5C9-3ABF-426A-A3DA-7D0B83A218C8}.Debug|x86.ActiveCfg = Debug|x86
+ {27E0A5C9-3ABF-426A-A3DA-7D0B83A218C8}.Debug|x86.Build.0 = Debug|x86
+ {27E0A5C9-3ABF-426A-A3DA-7D0B83A218C8}.Release|x86.ActiveCfg = Release|x86
+ {27E0A5C9-3ABF-426A-A3DA-7D0B83A218C8}.Release|x86.Build.0 = Release|x86
+ {19EB1C52-D90B-40F2-A7AF-364CC5D89F68}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {19EB1C52-D90B-40F2-A7AF-364CC5D89F68}.Debug|x86.ActiveCfg = Debug|x86
+ {19EB1C52-D90B-40F2-A7AF-364CC5D89F68}.Debug|x86.Build.0 = Debug|x86
+ {19EB1C52-D90B-40F2-A7AF-364CC5D89F68}.Release|x86.ActiveCfg = Release|x86
+ {19EB1C52-D90B-40F2-A7AF-364CC5D89F68}.Release|x86.Build.0 = Release|x86
+ {955E574D-67CE-4347-AA6B-7DF8A04ED754}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {955E574D-67CE-4347-AA6B-7DF8A04ED754}.Debug|x86.ActiveCfg = Debug|x86
+ {955E574D-67CE-4347-AA6B-7DF8A04ED754}.Debug|x86.Build.0 = Debug|x86
+ {955E574D-67CE-4347-AA6B-7DF8A04ED754}.Release|x86.ActiveCfg = Release|x86
+ {955E574D-67CE-4347-AA6B-7DF8A04ED754}.Release|x86.Build.0 = Release|x86
+ {622A8282-D872-4DD5-8B70-578A403F74FF}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {622A8282-D872-4DD5-8B70-578A403F74FF}.Debug|x86.ActiveCfg = Debug|x86
+ {622A8282-D872-4DD5-8B70-578A403F74FF}.Debug|x86.Build.0 = Debug|x86
+ {622A8282-D872-4DD5-8B70-578A403F74FF}.Release|x86.ActiveCfg = Release|x86
+ {622A8282-D872-4DD5-8B70-578A403F74FF}.Release|x86.Build.0 = Release|x86
+ {E4B0E068-F1A3-47BA-965F-0EC1E78E530A}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {E4B0E068-F1A3-47BA-965F-0EC1E78E530A}.Debug|x86.ActiveCfg = Debug|x86
+ {E4B0E068-F1A3-47BA-965F-0EC1E78E530A}.Debug|x86.Build.0 = Debug|x86
+ {E4B0E068-F1A3-47BA-965F-0EC1E78E530A}.Release|x86.ActiveCfg = Release|x86
+ {E4B0E068-F1A3-47BA-965F-0EC1E78E530A}.Release|x86.Build.0 = Release|x86
+ {9A5C8069-520E-49D3-AA62-E8FB19614A27}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {9A5C8069-520E-49D3-AA62-E8FB19614A27}.Debug|x86.ActiveCfg = Debug|x86
+ {9A5C8069-520E-49D3-AA62-E8FB19614A27}.Debug|x86.Build.0 = Debug|x86
+ {9A5C8069-520E-49D3-AA62-E8FB19614A27}.Release|x86.ActiveCfg = Release|x86
+ {9A5C8069-520E-49D3-AA62-E8FB19614A27}.Release|x86.Build.0 = Release|x86
+ {D783543B-46A1-4848-A812-AF5A5259ED7E}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {D783543B-46A1-4848-A812-AF5A5259ED7E}.Debug|x86.ActiveCfg = Debug|x86
+ {D783543B-46A1-4848-A812-AF5A5259ED7E}.Debug|x86.Build.0 = Debug|x86
+ {D783543B-46A1-4848-A812-AF5A5259ED7E}.Release|x86.ActiveCfg = Release|x86
+ {D783543B-46A1-4848-A812-AF5A5259ED7E}.Release|x86.Build.0 = Release|x86
+ {E0990383-FB2E-47D1-99CD-9B9FA2929E5B}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {E0990383-FB2E-47D1-99CD-9B9FA2929E5B}.Debug|x86.ActiveCfg = Debug|x86
+ {E0990383-FB2E-47D1-99CD-9B9FA2929E5B}.Debug|x86.Build.0 = Debug|x86
+ {E0990383-FB2E-47D1-99CD-9B9FA2929E5B}.Release|x86.ActiveCfg = Release|x86
+ {E0990383-FB2E-47D1-99CD-9B9FA2929E5B}.Release|x86.Build.0 = Release|x86
+ {A6A434E0-AE5A-4D5B-97D7-532B00FBDFE9}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {A6A434E0-AE5A-4D5B-97D7-532B00FBDFE9}.Debug|x86.ActiveCfg = Debug|x86
+ {A6A434E0-AE5A-4D5B-97D7-532B00FBDFE9}.Debug|x86.Build.0 = Debug|x86
+ {A6A434E0-AE5A-4D5B-97D7-532B00FBDFE9}.Release|x86.ActiveCfg = Release|x86
+ {A6A434E0-AE5A-4D5B-97D7-532B00FBDFE9}.Release|x86.Build.0 = Release|x86
+ {3CCB05DB-C7B3-4EF7-B41D-22B6D2A3774E}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {3CCB05DB-C7B3-4EF7-B41D-22B6D2A3774E}.CreateInstaller|x86.Build.0 = Release|x86
+ {3CCB05DB-C7B3-4EF7-B41D-22B6D2A3774E}.Debug|x86.ActiveCfg = Debug|x86
+ {3CCB05DB-C7B3-4EF7-B41D-22B6D2A3774E}.Release|x86.ActiveCfg = Release|x86
+ {EE2D52A2-9D3E-4056-8A21-F1725F67E5CF}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {EE2D52A2-9D3E-4056-8A21-F1725F67E5CF}.Debug|x86.ActiveCfg = Debug|x86
+ {EE2D52A2-9D3E-4056-8A21-F1725F67E5CF}.Release|x86.ActiveCfg = Release|x86
+ {DD70F63E-6459-4C49-86EC-4DB87DCE9B01}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {DD70F63E-6459-4C49-86EC-4DB87DCE9B01}.Debug|x86.ActiveCfg = Debug|x86
+ {DD70F63E-6459-4C49-86EC-4DB87DCE9B01}.Release|x86.ActiveCfg = Release|x86
+ {38C9E9C3-A3A9-49A0-A0DE-A4EDB9885A61}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {38C9E9C3-A3A9-49A0-A0DE-A4EDB9885A61}.Debug|x86.ActiveCfg = Debug|x86
+ {38C9E9C3-A3A9-49A0-A0DE-A4EDB9885A61}.Release|x86.ActiveCfg = Release|x86
+ {8013D94E-E95F-4CDE-B480-7B6749312B90}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {8013D94E-E95F-4CDE-B480-7B6749312B90}.Debug|x86.ActiveCfg = Debug|x86
+ {8013D94E-E95F-4CDE-B480-7B6749312B90}.Release|x86.ActiveCfg = Release|x86
+ {D12DB026-5354-4E11-8FD9-F50B5797EAB2}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {D12DB026-5354-4E11-8FD9-F50B5797EAB2}.Debug|x86.ActiveCfg = Debug|x86
+ {D12DB026-5354-4E11-8FD9-F50B5797EAB2}.Release|x86.ActiveCfg = Release|x86
+ {55125A6D-59E7-40C9-AFFF-ED16610289A1}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {55125A6D-59E7-40C9-AFFF-ED16610289A1}.Debug|x86.ActiveCfg = Debug|x86
+ {55125A6D-59E7-40C9-AFFF-ED16610289A1}.Release|x86.ActiveCfg = Release|x86
+ {5991C4E2-AC39-470C-8848-056B3A954FB1}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {5991C4E2-AC39-470C-8848-056B3A954FB1}.Debug|x86.ActiveCfg = Debug|x86
+ {5991C4E2-AC39-470C-8848-056B3A954FB1}.Release|x86.ActiveCfg = Release|x86
+ {FAFDB463-9612-41F4-B3DD-FF9C6E7023BA}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {FAFDB463-9612-41F4-B3DD-FF9C6E7023BA}.Debug|x86.ActiveCfg = Debug|x86
+ {FAFDB463-9612-41F4-B3DD-FF9C6E7023BA}.Debug|x86.Build.0 = Debug|x86
+ {FAFDB463-9612-41F4-B3DD-FF9C6E7023BA}.Release|x86.ActiveCfg = Release|x86
+ {FAFDB463-9612-41F4-B3DD-FF9C6E7023BA}.Release|x86.Build.0 = Release|x86
+ {813FFA92-1F3F-462B-B596-5919334007A9}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {813FFA92-1F3F-462B-B596-5919334007A9}.Debug|x86.ActiveCfg = Debug|x86
+ {813FFA92-1F3F-462B-B596-5919334007A9}.Debug|x86.Build.0 = Debug|x86
+ {813FFA92-1F3F-462B-B596-5919334007A9}.Release|x86.ActiveCfg = Release|x86
+ {813FFA92-1F3F-462B-B596-5919334007A9}.Release|x86.Build.0 = Release|x86
+ {D5EC1DF2-03C9-467B-B6AF-BE5AC83417F8}.CreateInstaller|x86.ActiveCfg = Release|x86
+ {D5EC1DF2-03C9-467B-B6AF-BE5AC83417F8}.CreateInstaller|x86.Build.0 = Release|x86
+ {D5EC1DF2-03C9-467B-B6AF-BE5AC83417F8}.Debug|x86.ActiveCfg = Debug|x86
+ {D5EC1DF2-03C9-467B-B6AF-BE5AC83417F8}.Debug|x86.Build.0 = Debug|x86
+ {D5EC1DF2-03C9-467B-B6AF-BE5AC83417F8}.Release|x86.ActiveCfg = Release|x86
+ {D5EC1DF2-03C9-467B-B6AF-BE5AC83417F8}.Release|x86.Build.0 = Release|x86
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+ GlobalSection(NestedProjects) = preSolution
+ {9E35F3EA-D3C3-4D80-8399-689C49B68324} = {89F6BC2C-78E6-42F1-A056-704C877B5453}
+ {0DC7B784-1BDC-4A94-B37A-EB5D44E9C3F6} = {89F6BC2C-78E6-42F1-A056-704C877B5453}
+ {FE36E7E0-D5F7-48E3-9730-D05443351EAD} = {89F6BC2C-78E6-42F1-A056-704C877B5453}
+ {4A7D6720-4AA1-4F0B-A796-A0436DB3D7D7} = {57F5BCD5-5759-4C9F-A841-2A6C36A910C8}
+ {3CCB05DB-C7B3-4EF7-B41D-22B6D2A3774E} = {57F5BCD5-5759-4C9F-A841-2A6C36A910C8}
+ {041EDC04-3A1E-4FBA-BEB7-F391571C609F} = {05D133D6-D7D8-4872-9B53-2753DD3F8BF9}
+ {F8FFD6DD-19DA-47CE-A0BD-53F4E7D8BB86} = {05D133D6-D7D8-4872-9B53-2753DD3F8BF9}
+ {8261CCE1-98D7-465B-BC94-4ED239DE7F2E} = {9E35F3EA-D3C3-4D80-8399-689C49B68324}
+ {0D9858E1-CF2D-4DE5-AC0E-64401900D531} = {9E35F3EA-D3C3-4D80-8399-689C49B68324}
+ {D89FA693-A8E9-4560-9957-B74B7E9391F0} = {9E35F3EA-D3C3-4D80-8399-689C49B68324}
+ {C9F89C6E-CEA9-40CA-96A9-2A0368459B9F} = {0DC7B784-1BDC-4A94-B37A-EB5D44E9C3F6}
+ {75F0E289-C1EC-497F-934B-738987FC6E7A} = {0DC7B784-1BDC-4A94-B37A-EB5D44E9C3F6}
+ {756CC6FA-CBC4-4176-81ED-23AD14EB125A} = {0DC7B784-1BDC-4A94-B37A-EB5D44E9C3F6}
+ {4B4F0984-5730-4E28-93E7-DDE0F29BA550} = {FE36E7E0-D5F7-48E3-9730-D05443351EAD}
+ {209AC67F-DCFA-4355-B45A-9D9A2E4593D2} = {FE36E7E0-D5F7-48E3-9730-D05443351EAD}
+ {6124700D-1521-412B-9A14-798FB6007E93} = {FE36E7E0-D5F7-48E3-9730-D05443351EAD}
+ {C90B77DA-E421-43CC-B82E-529651BC21AC} = {8261CCE1-98D7-465B-BC94-4ED239DE7F2E}
+ {F49BD8B2-332A-4C91-A196-8CCE0A2C7D98} = {8261CCE1-98D7-465B-BC94-4ED239DE7F2E}
+ {30E4C2AE-719E-4D70-9FA9-668A9767FBFA} = {8261CCE1-98D7-465B-BC94-4ED239DE7F2E}
+ {08205620-D756-4533-922C-D6A4C0038535} = {8261CCE1-98D7-465B-BC94-4ED239DE7F2E}
+ {3BBFD65B-B277-4E50-AE6D-BD24C3434609} = {8261CCE1-98D7-465B-BC94-4ED239DE7F2E}
+ {9A2D67E6-26AC-4D17-B11A-2B4372F2F572} = {8261CCE1-98D7-465B-BC94-4ED239DE7F2E}
+ {3DBD23CE-5C4A-4A49-B51C-B268CB2B510E} = {8261CCE1-98D7-465B-BC94-4ED239DE7F2E}
+ {7F937E31-02CA-41D9-B7D4-1079CF452C72} = {0D9858E1-CF2D-4DE5-AC0E-64401900D531}
+ {D749EE4C-CE50-4C17-BF01-9A953028C126} = {0D9858E1-CF2D-4DE5-AC0E-64401900D531}
+ {E0990383-FB2E-47D1-99CD-9B9FA2929E5B} = {0D9858E1-CF2D-4DE5-AC0E-64401900D531}
+ {A6A434E0-AE5A-4D5B-97D7-532B00FBDFE9} = {0D9858E1-CF2D-4DE5-AC0E-64401900D531}
+ {FAFDB463-9612-41F4-B3DD-FF9C6E7023BA} = {0D9858E1-CF2D-4DE5-AC0E-64401900D531}
+ {D5EC1DF2-03C9-467B-B6AF-BE5AC83417F8} = {0D9858E1-CF2D-4DE5-AC0E-64401900D531}
+ {EE2D52A2-9D3E-4056-8A21-F1725F67E5CF} = {D89FA693-A8E9-4560-9957-B74B7E9391F0}
+ {DD70F63E-6459-4C49-86EC-4DB87DCE9B01} = {D89FA693-A8E9-4560-9957-B74B7E9391F0}
+ {38C9E9C3-A3A9-49A0-A0DE-A4EDB9885A61} = {D89FA693-A8E9-4560-9957-B74B7E9391F0}
+ {8013D94E-E95F-4CDE-B480-7B6749312B90} = {D89FA693-A8E9-4560-9957-B74B7E9391F0}
+ {FFB69466-79DE-466A-ADA7-5C47C5C5CA3A} = {C9F89C6E-CEA9-40CA-96A9-2A0368459B9F}
+ {016DBD27-99BF-489A-81B5-50D66964BB90} = {C9F89C6E-CEA9-40CA-96A9-2A0368459B9F}
+ {5770DAA9-84E5-4770-AF43-F6B815894368} = {C9F89C6E-CEA9-40CA-96A9-2A0368459B9F}
+ {8A3636FB-31B4-4F4B-9165-F718F87A92DF} = {C9F89C6E-CEA9-40CA-96A9-2A0368459B9F}
+ {C83777FC-AABB-47D9-911F-D76255D4D541} = {C9F89C6E-CEA9-40CA-96A9-2A0368459B9F}
+ {A3C9DF74-978A-44B1-B55D-A72AC4221E3A} = {C9F89C6E-CEA9-40CA-96A9-2A0368459B9F}
+ {A4140C12-53F5-438C-8D24-9E48C504FECF} = {C9F89C6E-CEA9-40CA-96A9-2A0368459B9F}
+ {DD1CC1DB-4BF9-4C88-A100-733D84795F3A} = {C9F89C6E-CEA9-40CA-96A9-2A0368459B9F}
+ {9D8E844F-20C7-4335-B3A9-2222976470DA} = {75F0E289-C1EC-497F-934B-738987FC6E7A}
+ {FBA4B48A-CF75-4958-B1E5-412B75D29416} = {75F0E289-C1EC-497F-934B-738987FC6E7A}
+ {9A1F1308-F324-4905-A52A-6D718825960E} = {75F0E289-C1EC-497F-934B-738987FC6E7A}
+ {0C76DD99-AC5D-47C0-B76F-CE70092A9AC7} = {75F0E289-C1EC-497F-934B-738987FC6E7A}
+ {93708508-7B00-4A26-80DA-C73A7251BCF6} = {75F0E289-C1EC-497F-934B-738987FC6E7A}
+ {0A82E7D2-26F8-4A30-9787-7EEABCD7F470} = {75F0E289-C1EC-497F-934B-738987FC6E7A}
+ {D12DB026-5354-4E11-8FD9-F50B5797EAB2} = {756CC6FA-CBC4-4176-81ED-23AD14EB125A}
+ {BEFDCC44-2638-4972-B353-42D14C7DA2C6} = {4B4F0984-5730-4E28-93E7-DDE0F29BA550}
+ {93E73FAB-FAE8-49C6-9ABB-27D24DF761F6} = {4B4F0984-5730-4E28-93E7-DDE0F29BA550}
+ {ED20DBA9-D577-423F-A68D-A0A8130FB10B} = {4B4F0984-5730-4E28-93E7-DDE0F29BA550}
+ {696DAAEE-D1D8-42D0-86AC-471B970FB17E} = {4B4F0984-5730-4E28-93E7-DDE0F29BA550}
+ {0BC3751E-EC42-40A0-A7D3-B7C2AA66976E} = {4B4F0984-5730-4E28-93E7-DDE0F29BA550}
+ {8BD31773-6F6D-42EE-810D-0A5DAD809F9D} = {209AC67F-DCFA-4355-B45A-9D9A2E4593D2}
+ {07206938-9671-4DC7-BDE4-35B0F6E20DBC} = {209AC67F-DCFA-4355-B45A-9D9A2E4593D2}
+ {4FDA4BD2-2C84-4C7C-9908-818884D52DBB} = {209AC67F-DCFA-4355-B45A-9D9A2E4593D2}
+ {0590D3BB-EB3E-4B53-BD64-1725E1CBB1F4} = {041EDC04-3A1E-4FBA-BEB7-F391571C609F}
+ {B5F4F5A5-FD36-405D-ABA1-56C270207C8F} = {041EDC04-3A1E-4FBA-BEB7-F391571C609F}
+ {BC8DB1E0-0428-4FB1-9A63-028C749A8AF9} = {041EDC04-3A1E-4FBA-BEB7-F391571C609F}
+ {3ED34ACD-41C9-4251-81EC-7493E0BFF57D} = {F8FFD6DD-19DA-47CE-A0BD-53F4E7D8BB86}
+ {1F0D20C2-7F04-431D-AF22-95A31FD53733} = {F8FFD6DD-19DA-47CE-A0BD-53F4E7D8BB86}
+ {492FFA2C-351E-48DB-BA51-B837657BAF2F} = {F8FFD6DD-19DA-47CE-A0BD-53F4E7D8BB86}
+ {D64E4F0E-E341-496F-82B2-941AD202B4E3} = {3ED34ACD-41C9-4251-81EC-7493E0BFF57D}
+ {CE994CC9-6F6A-48AC-B4BE-02C30A21F4DB} = {3ED34ACD-41C9-4251-81EC-7493E0BFF57D}
+ {7CD038E1-E111-4969-ACED-22C5BD2974E1} = {3ED34ACD-41C9-4251-81EC-7493E0BFF57D}
+ {35B87B7A-7F50-4139-B563-589EE522B1ED} = {3ED34ACD-41C9-4251-81EC-7493E0BFF57D}
+ {1D3D58B6-EF7E-401E-92A0-104067D222EE} = {3ED34ACD-41C9-4251-81EC-7493E0BFF57D}
+ {10B8D63D-87E8-46DF-ACA9-A8CF22EE8FB5} = {3ED34ACD-41C9-4251-81EC-7493E0BFF57D}
+ {91389DA2-3FF4-4559-90B3-4061549789DD} = {1F0D20C2-7F04-431D-AF22-95A31FD53733}
+ {27E0A5C9-3ABF-426A-A3DA-7D0B83A218C8} = {1F0D20C2-7F04-431D-AF22-95A31FD53733}
+ {19EB1C52-D90B-40F2-A7AF-364CC5D89F68} = {1F0D20C2-7F04-431D-AF22-95A31FD53733}
+ {955E574D-67CE-4347-AA6B-7DF8A04ED754} = {1F0D20C2-7F04-431D-AF22-95A31FD53733}
+ {622A8282-D872-4DD5-8B70-578A403F74FF} = {1F0D20C2-7F04-431D-AF22-95A31FD53733}
+ {E4B0E068-F1A3-47BA-965F-0EC1E78E530A} = {1F0D20C2-7F04-431D-AF22-95A31FD53733}
+ {9A5C8069-520E-49D3-AA62-E8FB19614A27} = {1F0D20C2-7F04-431D-AF22-95A31FD53733}
+ {D783543B-46A1-4848-A812-AF5A5259ED7E} = {1F0D20C2-7F04-431D-AF22-95A31FD53733}
+ {813FFA92-1F3F-462B-B596-5919334007A9} = {1F0D20C2-7F04-431D-AF22-95A31FD53733}
+ {55125A6D-59E7-40C9-AFFF-ED16610289A1} = {492FFA2C-351E-48DB-BA51-B837657BAF2F}
+ {5991C4E2-AC39-470C-8848-056B3A954FB1} = {492FFA2C-351E-48DB-BA51-B837657BAF2F}
+ EndGlobalSection
+ GlobalSection(TextTemplating) = postSolution
+ TextTemplating = 1
+ EndGlobalSection
+ GlobalSection(NDepend) = preSolution
+ Project = ".\build\DeltaShell.ndproj"
+ EndGlobalSection
+EndGlobal
Index: Ringtoets.sln.DotSettings
===================================================================
diff -u
--- Ringtoets.sln.DotSettings (revision 0)
+++ Ringtoets.sln.DotSettings (revision f1c02b2d47dc561deec70a24128d8dd49d9bed6a)
@@ -0,0 +1,7 @@
+
+ DO_NOT_SHOW
+ D:\WTI\Ringtoets.DotSettings
+ ..\Ringtoets.DotSettings
+ True
+ True
+ 1
\ No newline at end of file