aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Scripting/Tango.Scripting.Editors/Properties/AssemblyInfo.cs
blob: 119bc64c09900479b6e4e4057af8269b69ac1f29 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
pre { line-height: 125%; }
td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
.highlight .hll { background-color: #ffffcc }
.highlight .c { color: #888888 } /* Comment */
.highlight .err { color: #a61717; background-color: #e3d2d2 } /* Error */
.highlight .k { color: #008800; font-weight: bold } /* Keyword */
.highlight .ch { color: #888888 } /* Comment.Hashbang */
.highlight .cm { color: #888888 } /* Comment.Multiline */
.highlight .cp { color: #cc0000; font-weight: bold } /* Comment.Preproc */
.highlight .cpf { colo
// 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)

#region Using directives

using System;
using System.Reflection;
using System.Resources;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using System.Windows;
using System.Windows.Markup;

#endregion

// General Information about an assembly is controlled through the following 
// set of attributes. Change these attribute values to modify the information
// associated with an assembly.
[assembly: System.Runtime.InteropServices.ComVisible(false)]
[assembly: AssemblyVersion("1.0.0.0")]
[assembly: NeutralResourcesLanguage("en-US")]

[assembly: System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2243:AttributeStringLiteralsShouldParseCorrectly",
    Justification = "AssemblyInformationalVersion does not need to be a parsable version")]
[assembly: AssemblyTitle("Tango.Scripting.Editors")]
[assembly: AssemblyDescription("WPF-based extensible text editor")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCulture("")]

//[assembly: CLSCompliant(true)]

[assembly: ThemeInfo(
	ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
	//(used if a resource is not found in the page,
	// or application resource dictionaries)
	ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
	//(used if a resource is not found in the page,
	// app, or any theme specific resource dictionaries)
)]
highlight .sd { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Doc */ .highlight .s2 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Double */ .highlight .se { color: #0044dd; background-color: #fff0f0 } /* Literal.String.Escape */ .highlight .sh { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Heredoc */ .highlight .si { color: #3333bb; background-color: #fff0f0 } /* Literal.String.Interpol */ .highlight .sx { color: #22bb22; background-color: #f0fff0 } /* Literal.String.Other */ .highlight .sr { color: #008800; background-color: #fff0ff } /* Literal.String.Regex */ .highlight .s1 { color: #dd2200; background-color: #fff0f0 } /* Literal.String.Single */ .highlight .ss { color: #aa6600; background-color: #fff0f0 } /* Literal.String.Symbol */ .highlight .bp { color: #003388 } /* Name.Builtin.Pseudo */ .highlight .fm { color: #0066bb; font-weight: bold } /* Name.Function.Magic */ .highlight .vc { color: #336699 } /* Name.Variable.Class */ .highlight .vg { color: #dd7700 } /* Name.Variable.Global */ .highlight .vi { color: #3333bb } /* Name.Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
using MaterialDesignThemes.Wpf;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Media;
using Tango.SharedUI;

namespace Tango.MachineStudio.Common.Notifications
{
    /// <summary>
    /// Represents the Machine Studio user notification provider responsible for displaying information, alerts and dialogs to the user.
    /// </summary>
    public interface INotificationProvider
    {
        /// <summary>
        /// Gets the collection of active task items.
        /// </summary>
        ObservableCollection<TaskItem> TaskItems { get; }

        /// <summary>
        /// Gets the collection of active bar items.
        /// </summary>
        ObservableCollection<BarItem> BarItems { get; }

        /// <summary>
        /// Gets the current displayed task item.
        /// </summary>
        TaskItem CurrentTaskItem { get; }

        /// <summary>
        /// Gets a value indicating whether there are any queued task items.
        /// </summary>
        bool HasTaskItems { get; }

        /// <summary>
        /// Pushes the specified task item to the queue.
        /// </summary>
        /// <param name="taskItem">The task item.</param>
        void PushTaskItem(TaskItem taskItem);

        /// <summary>
        /// Create and push a new task item from the specified message.
        /// </summary>
        /// <param name="message">The message.</param>
        /// <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);
    }
}