| ofs | hex dump | ascii |
|---|
| 0000 | 89 50 4e 47 0d 0a 1a 0a 00 00 00 0d 49 48 44 52 00 00 00 40 00 00 00 40 08 06 00 00 00 aa 69 71 | .PNG........IHDR...@...@......iq |
| 0020 | de 00 00 00 04 73 42 49 54 08 08 08 08 7c 08 64 88 00 00 00 09 70 48 59 73 00 00 01 bb 00 00 01 | .....sBIT....|.d.....pHYs....... |
| 0040 | bb 01 3a ec e3 e2 00 00 00 19 74 45 58 74 53 6f 66 74 77 61 72 65 00 77 77 77 2e 69 6e 6b 73 63 | ..:.......tEXtSoftware.www.inksc |
| 0060 | 61 70 65 2e 6f 72 67 9b ee 3c 1a 00 00 05 ff 49 44 41 54 78 da ed 5b 7d 4c 1b 65 1c 86 99 21 fb | ape.org..<.....IDATx..[}L.e...!. |
| 0080 | 08 13 1c 31 ba 39 36 b7 c4 18 13 8d 7f 2c 4a 34 26 c6 cd 84 18 a3 26 a2 19 5b 48 dc 16 07 6a 34 | ...1.96......,J4&.....&..[H...j4 |
| 00a0 | fc 01 16 97 68 43 58 04 37 da f2 d1 96 52 3e 0d db f4 e8 31 27 7e 04 b3 65 e1 63 46 12 f6 75 78 | ....hCX.7....R>....1'~..e.cF..ux |
| 00c0 | fd 58 b9 2b 5d a1 05 da 2b 5f 23 81 0d 78 fd bd d7 16 3b c2 f7 2a dc b5 f7 c7 93 de bd 77 f7 e6 | .X.+]...+_#..x....;..*.......w.. |
| 00e0 | 9e a7 bf f7 f7 3e ef c7 45 21 84 a2 c4 02 13 eb ad 33 31 1c 4d d3 83 5b 43 55 67 94 98 04 30 b2 | .....>..E!.......31.M..[CUg...0. |
| 0100 | 5c 87 89 e5 c6 bb d8 81 27 22 52 00 ab 15 3d 6a b1 8c 6e 0f 65 9d a2 12 e0 ff 80 d8 9a c0 41 33 | \.......'"R...=j..n.e.........A3 |
| 0120 | e3 cd 8c 58 01 a0 fd b3 00 64 b5 0e ef 8d 48 01 cc 36 cf bb 66 d6 9b 2d e5 80 48 15 a0 b3 13 6d | ...X.....d....H..6..f..-..H....m |
| 0140 | 64 18 ef b6 48 ce 01 ed 80 51 ab 75 2c 31 52 7b 81 9f 40 00 c6 6a e5 e2 a4 1c 20 09 10 89 dd 20 | d...H....Q.u,1R{..@..j.......... |
| 0160 | 98 20 33 eb 51 c3 f1 86 d5 d6 51 d5 4b 25 eb 5d 54 75 65 1f 95 a3 b1 53 f1 22 4b 82 5e 2b 36 42 | ..3.Q.....Q.K%.]Tue....S."K.^+6B |
| 0180 | e6 9e e1 3d ab 79 1e 13 ae e8 a3 26 f4 4e 0a f9 d0 a5 17 95 00 b4 95 7b 1e 04 78 6b a5 cf c9 e5 | ...=.y.....&.N.........{..xk.... |
| 01a0 | f2 0d 0a 2d f9 7e 69 53 f3 3f ff 91 e7 d1 1b d6 ed bb a4 a4 3e 4e a1 36 64 29 34 06 56 a9 31 20 | ...-.~iS.?..........>N.6d)4.V.1. |
| 01c0 | a5 8e 44 15 f6 9b b3 02 54 3a a9 22 51 0d 85 69 9b e7 65 9a f1 bc 49 d9 87 e3 17 25 ae bb b0 17 | ..D.....T:."Q..i..e...I....%.... |
| 01e0 | 88 17 03 e9 51 9e b8 0f 53 4a 6d 43 43 49 53 f3 07 10 fa f9 40 3e 8d a0 e9 18 c1 13 77 38 1c 9b | ....Q...SJmCCIS.....@>......w8.. |
| 0200 | 20 ec 8b 01 f7 70 fb 9f 85 8d bb 3c 37 17 14 a9 c9 37 94 9a 86 8b 40 76 3a 88 f8 10 44 c0 f7 c5 | .....p.....<7....7....@v:...D... |
| 0220 | 3a 62 97 e8 7a 81 4e a7 73 33 90 ed 0a 22 3e 09 18 09 3a 1f bb 66 ec 7d 45 a1 69 f8 18 88 de 0a | :b..z.N.s3...">...:..f.}E.i..... |
| 0240 | 22 8d 61 56 6a 0d 99 a7 4f ff b0 45 b4 dd 20 64 fd d2 00 51 23 eb 49 c7 63 01 28 8f c6 4d 01 ca | ".aVj...O..E...d...Q#.I.c.(..M.. |
| 0260 | 4c f8 5a 27 e5 b8 5f 5c de 18 20 3d 03 68 86 28 48 c1 f7 89 da 07 dc ea ef df 02 04 a7 f8 6e 8f | L.Z'.._\...=.h.(H.............n. |
| 0280 | f1 1e 6e ed cb 7d b5 cd 29 6b 07 30 6d 7d b2 a3 26 db d0 6e 63 b7 7b 02 5f 3f 47 b6 4c 28 d5 64 | ..n..}..)k.0m}..&..nc.{._?G.L(.d |
| 02a0 | b9 52 dd f8 5c d8 18 21 0b e3 7d 2d f0 ef 63 e3 d3 e6 cc ed 00 f2 c8 8f 89 56 57 6e 22 44 c8 45 | .R..\..!..}-..c..........VWn"D.E |
| 02c0 | 7c 0f 65 71 15 85 9d 13 04 72 ef f8 05 70 20 24 07 01 64 03 41 02 a0 96 3e d9 4b fc 34 39 8e 10 | |.eq.....r...p.$..d.A...>.K.49.. |
| 02e0 | 9f 3b 14 88 00 d5 a9 89 a8 f6 d0 49 54 93 56 80 2a d3 92 56 6d 7b ef b8 9f 0a 24 3b 6c 80 5a 5d | .;.........IT.V.*..Vm{....$;l.Z] |
| 0300 | b2 6c 20 3e 8d c9 b7 3b 65 bf d2 34 8a c1 23 43 5f 13 e1 8e 0a 47 80 da b4 3f 01 88 47 dd 61 2b | .l.>...;e..4..#C_....G...?..G.a+ |
| 0320 | 14 45 3f c4 f0 17 af 03 a0 9b 26 67 af b1 c7 fd e4 55 e7 c9 a4 ab 2e d9 7e 9c 0c a1 bc c2 2f d0 | .E?.......&g.....U......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);
}
}
|