Spis treści
Podstawowym sposobem komunikacji aplikacji POS z użytkownikiem są notyfikacje i komunikaty. Notyfikacje, inaczej powiadomienia, pozwalają na przekazanie krótkiej informacji nieblokującej pracy użytkownika, w postaci prostokątnego bloczka pojawiającego się z prawej strony ekranu pod sekcją statusową. Komunikaty natomiast służą do przekazania dłuższych lub ważnych informacji, nie pozwalając użytkownikowi ich zignorować, ponieważ prezentowane są w postaci widoku komunikatu. Powszechnie stosowane w przypadku wystąpienia błędów.
Notyfikacje (powiadomienia)
Każda notyfikacja składa się z prezentowanej treści (zbyt długi tekst, powyżej 6 wierszy, będzie ucinany) oraz ikony. Wyróżniamy trzy typu powiadomień różniące się ikoną:
- Informacja
- Ostrzeżenie
- Błąd
Po wywołaniu powiadomienia, pojawia się ono z prawej strony ekranu i znika po domyślnie po trzech sekundach. Czas prezentacji notyfikacji można zmienić w pliku konfiguracyjnym aplikacji, poprzez modyfikację wartości klucza NotificationTimeout. W przypadku, gdy użytkownik najedzie myszką na notyfikację, nie zniknie ona i będzie prezentowane tak długo, jak długo kursor myszki będzie znajdował się w jej obszarze. Jeżeli w trakcie prezentacji powiadomienia, pojawi się kolejne, to pierwsze przesunie się poniżej. Na ekranie w jednej chwili możliwe jest wyświetlenie pięciu powiadomień. Gdy będzie ich więcej, kolejne zostaną zbuforowane i zaprezentowane w momencie znikania aktualnie widocznych.
W celu wyświetlenie notyfikacji należy skorzystać z serwisu INotificationService (każdy viewmodel ma dostęp do tego serwisu poprzez właściwość NotificationService) i wywołać metodę Show(string msg, NotifyIcon icon), gdzie parametr msg to treść komunikatu, a icon to enum określający typ powiadomienia (czyli ikonkę).
Komunikaty
Komunikaty prezentowane są za pomocą widoku komunikatu (charakterystyka tego widoku została opisana w artykule Wprowadzenie). Każdy komunikat składa się z nagłówka (krótkiego tytułu prezentowanego większą czcionką w porównaniu do właściwego komunikatu), tekstu komunikatu (nie ograniczonego znakowo, przy dłuższym tekście pojawi się suwak pozwalający na jego przewijanie), opcjonalnej ikony (wybór z kilku predefiniowanych) oraz co najmniej jednego przycisku. Konfiguracja przycisków jest zależna od typu komunikatu, ale może być także definiowana własna.
W celu wyświetlenie komunikatu należy skorzystać z serwisu IMonitService (każdy viewmodel ma dostęp do tego serwisu poprzez właściwość MonitService) i wywołać jedną z metod, w zależności od potrzeb:
- ShowInformation
Metoda wyświetla komunikat informacyjny. Ikona informacyjna i przycisk OK.
- ShowError
Metoda wyświetla komunikat błędu. Ikona błędu i przycisk OK.
- ShowQuestion
Metoda wyświetla komunikat pytający. Ikona pytania i przyciski: TAK, NIE.
- Show
Metoda wyświetlająca komunikat dowolnie zdefiniowanego typu. Możemy określić jaka będzie ikona (wybrać z predefiniowanych: informacja, pytanie, ostrzeżenie, błąd lub brak). Wskazać jakie będą dostępne przyciski akcji (OK, TAK/NIE) lub zdefiniować własne.