aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Utils/ThrowUtil.cs
blob: 69dbb5ad0427470f49ebff97adacde7a194afe4f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)

using System;
using System.Globalization;

namespace Tango.Scripting.Editors.Utils
{
	/// <summary>
	/// Contains exception-throwing helper methods.
	/// </summary>
	static class ThrowUtil
	{
		/// <summary>
		/// Throws an ArgumentNullException if <paramref name="val"/> is null; otherwise
		/// returns val.
		/// </summary>
		/// <example>
		/// Use this method to throw an ArgumentNullException when using parameters for base
		/// constructor calls.
		/// <code>
		/// public VisualLineText(string text) : base(ThrowUtil.CheckNotNull(text, "text").Length)
		/// </code>
		/// </example>
		public static T CheckNotNull<T>(T val, string parameterName) where T : class
		{
			if (val == null)
				throw new ArgumentNullException(parameterName);
			return val;
		}
		
		public static int CheckNotNegative(int val, string parameterName)
		{
			if (val < 0)
				throw new ArgumentOutOfRangeException(parameterName, val, "value must not be negative");
			return val;
		}
		
		public static int CheckInRangeInclusive(int val, string parameterName, int lower, int upper)
		{
			if (val < lower || val > upper)
				throw new ArgumentOutOfRangeException(parameterName, val, "Expected: " + lower.ToString(CultureInfo.InvariantCulture) + " <= " + parameterName + " <= " + upper.ToString(CultureInfo.InvariantCulture));
			return val;
		}
		
		public static InvalidOperationException NoDocumentAssigned()
		{
			return new InvalidOperationException("Document is null");
		}
		
		public static InvalidOperationException NoValidCaretPosition()
		{
			return new InvalidOperationException("Could not find a valid caret position in the line");
		}
	}
}
s="c1">/// <returns></returns> TaskItem PushTaskItem(String message); /// <summary> /// Creates and push a new bar item from the specified framework element. /// </summary> /// <param name="element">The element.</param> /// <returns></returns> BarItem PushBarItem(FrameworkElement element); /// <summary> /// Pushes the specified bar item. /// </summary> /// <param name="barItem">The bar item.</param> /// <returns></returns> BarItem PushBarItem(BarItem barItem); /// <summary> /// Removed the specified task item from the queue. /// </summary> /// <param name="taskItem">The task item.</param> void PopTaskItem(TaskItem taskItem); /// <summary> /// Removed the specified bar item. /// </summary> /// <param name="barItem">The bar item.</param> void PopBarItem(BarItem barItem); /// <summary> /// Creates a new instance of the specified View type and displays it as a modal dialog. /// </summary> /// <typeparam name="View">The type of the view.</typeparam> /// <typeparam name="VM">The type of the view model.</typeparam> /// <param name="onAccept">Accept button callback.</param> /// <param name="onCancel">Cancel button callback.</param> void ShowModalDialog<View, VM>(Action<VM> onAccept, Action onCancel) where View : FrameworkElement where VM : DialogViewVM; /// <summary> /// Creates a new view by a naming convention of the specified view model type. /// </summary> /// <typeparam name="VM">The type of the view model.</typeparam> /// <param name="onAccept">Accept button callback.</param> /// <param name="onCancel">Cancel button callback.</param> void ShowModalDialog<VM>(Action<VM> onAccept, Action onCancel) where VM : DialogViewVM; /// <summary> /// Shows the specified view with the specified view model as it's data context. /// </summary> /// <typeparam name="VM">The type of the mm.</typeparam> /// <typeparam name="View">The type of the view.</typeparam> /// <param name="vm">The view model.</param> /// <param name="onAccept">The accept action.</param> /// <param name="onCancel">The cancel action.</param> void ShowModalDialog<VM, View>(VM vm, Action<VM> onAccept, Action onCancel) where View : FrameworkElement where VM : DialogViewVM; /// <summary> /// Shows the specified view with the specified view model as it's data context. /// </summary> /// <typeparam name="VM">The type of the mm.</typeparam> /// <typeparam name="View">The type of the view.</typeparam> /// <param name="vm">The view model.</param> /// <param name="view">The view.</param> /// <param name="onAccept">The accept action.</param> /// <param name="onCancel">The cancel action.</param> void ShowModalDialog<VM, View>(VM vm, View view, Action<VM> onAccept, Action onCancel) where View : FrameworkElement where VM : DialogViewVM; /// <summary> /// Creates a new view by a naming convention of the specified view model type. /// </summary> /// <typeparam name="VM">The type of the view model.</typeparam> /// <param name="onAccept">Accept button callback.</param> void ShowModalDialog<VM>(Action<VM> onAccept) where VM : DialogViewVM; /// <summary> /// Display a message box. /// </summary> /// <param name="icon">The icon.</param> /// <param name="iconColor">Color of the icon.</param> /// <param name="message">The message.</param> /// <param name="hasCancel">if set to <c>true</c> displays the cancel button.</param> /// <returns></returns> bool? ShowMessageBox(PackIconKind icon, Brush iconColor, String message, bool hasCancel); /// <summary> /// Shows an information message box. /// </summary> /// <param name="message">The message.</param> void ShowInfo(String message); /// <summary> /// Shows warning message box. /// </summary> /// <param name="message">The message.</param> void ShowWarning(String message); /// <summary> /// Shows an error message box. /// </summary> /// <param name="message">The message.</param> void ShowError(String message); /// <summary> /// Shows a question message box. /// </summary> /// <param name="message">The message.</param> bool ShowQuestion(String message); /// <summary> /// Shows a question message box with an error icon. /// </summary> /// <param name="message">The message.</param> bool ShowErrorQuestion(String message); /// <summary> /// Shows a dialog with a text input field and returns the response. /// </summary> /// <param name="message">The message.</param> /// <param name="hint">Text field hint.</param> /// <param name="defaultResponse">Optional default response.</param> /// <returns></returns> String ShowTextInput(String message, String hint, String defaultResponse = null); } }