123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- using System.Collections.Generic;
- using System.ComponentModel;
- using System.Runtime.CompilerServices;
- using System.Windows;
- using System.Windows.Controls;
- namespace Compdfkit_Tools.PDFControl
- {
- public enum SignatureStatus
- {
- None,
- Valid,
- Invalid,
- Unknown
- }
- public partial class SignatureStatusBarControl : UserControl, INotifyPropertyChanged
- {
- private string _messageString;
- public string MessageString
- {
- get => _messageString;
- set => UpdateProper(ref _messageString, value);
- }
- private string validString = "The signature is valid and the document has not been tampered with";
- private string invalidString = "At least one signature is invalid";
- private string unknownString = "There's something wrong with at least one of the signatures";
-
- private SignatureStatus _status;
- public SignatureStatus Status
- {
- get => _status;
- set
- {
- _status = value;
- SetStatus(_status);
- }
- }
- public SignatureStatusBarControl(SignatureStatus status = SignatureStatus.None)
- {
- InitializeComponent();
- SetStatus(status);
- DataContext = this;
- }
-
- private void SetStatus(SignatureStatus status)
- {
- ValidBorder.Visibility = Visibility.Collapsed;
- InvalidBorder.Visibility = Visibility.Collapsed;
- UnknownBorder.Visibility = Visibility.Collapsed;
- switch (status)
- {
- case SignatureStatus.None:
- MessageString = "";
- break;
- case SignatureStatus.Valid:
- ValidBorder.Visibility = Visibility.Visible;
- MessageString = validString;
- break;
- case SignatureStatus.Invalid:
- InvalidBorder.Visibility = Visibility.Visible;
- MessageString = invalidString;
- break;
- case SignatureStatus.Unknown:
- UnknownBorder.Visibility = Visibility.Visible;
- MessageString = unknownString;
- break;
- }
- }
- public event PropertyChangedEventHandler PropertyChanged;
- protected void UpdateProper<T>(ref T properValue,
- T newValue,
- [CallerMemberName] string properName = "")
- {
- if (object.Equals(properValue, newValue))
- return;
- properValue = newValue;
- OnPropertyChanged(properName);
- }
- protected void OnPropertyChanged([CallerMemberName] string propertyName = "") =>
- PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
-
-
- }
- }
|