Unterschriftenfunktionsprototyp soweit fertig Alle Dateien werden von unserem Server bereitgestellt Code-Optimierungen Aufklappbare Elemente haben jetzt ein Pfeilicon Fat-Client: SettingsKeys eingeführt Aufgaben nur noch im Hilfeplan anlegbar Debug-Ausgabe
132 lines
4.2 KiB
C#
132 lines
4.2 KiB
C#
using System;
|
|
using System.Collections.ObjectModel;
|
|
using System.ComponentModel;
|
|
using System.Runtime.CompilerServices;
|
|
using System.Windows.Media;
|
|
using BeWo.Annotations;
|
|
|
|
namespace BeWo.View.Detail
|
|
{
|
|
public partial class DebugMessageLogView : INotifyPropertyChanged
|
|
{
|
|
private ObservableCollection<DebugWindowMessage> _DebugMessageList;
|
|
|
|
public ObservableCollection<DebugWindowMessage> DebugMessageList
|
|
{
|
|
get => _DebugMessageList;
|
|
|
|
set
|
|
{
|
|
if(!Equals(_DebugMessageList, value))
|
|
{
|
|
_DebugMessageList = value;
|
|
OnPropertyChanged(nameof(DebugMessageList));
|
|
}
|
|
}
|
|
}
|
|
|
|
public DebugMessageLogView()
|
|
{
|
|
InitializeComponent();
|
|
|
|
DebugMessageList = new ObservableCollection<DebugWindowMessage>();
|
|
|
|
DataContext = this;
|
|
}
|
|
|
|
public void LogMessage(string message)
|
|
{
|
|
DebugMessageList.Add(new DebugWindowMessage(message));
|
|
}
|
|
|
|
public void LogMessage(string message, DebugWindowMessageColor debugWindowMessageColor)
|
|
{
|
|
DebugMessageList.Add(new DebugWindowMessage(message, debugWindowMessageColor));
|
|
}
|
|
|
|
public void LogMessage(string message, Color color)
|
|
{
|
|
DebugMessageList.Add(new DebugWindowMessage(message, color));
|
|
}
|
|
|
|
public event PropertyChangedEventHandler PropertyChanged;
|
|
|
|
[NotifyPropertyChangedInvocator]
|
|
protected virtual void OnPropertyChanged([CallerMemberName] string propertyName = null)
|
|
{
|
|
PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(propertyName));
|
|
}
|
|
}
|
|
|
|
public class DebugWindowMessage
|
|
{
|
|
public string MessageText { get; }
|
|
|
|
public DebugWindowMessageColor DebugWindowMessageColor { get; }
|
|
|
|
public Color CustomColor { get; }
|
|
|
|
public SolidColorBrush TextColor
|
|
{
|
|
get
|
|
{
|
|
switch(DebugWindowMessageColor)
|
|
{
|
|
case DebugWindowMessageColor.Blue:
|
|
return new SolidColorBrush(Colors.DodgerBlue);
|
|
case DebugWindowMessageColor.Black:
|
|
return new SolidColorBrush(Colors.Black);
|
|
case DebugWindowMessageColor.Green:
|
|
return new SolidColorBrush(Colors.MediumSeaGreen);
|
|
case DebugWindowMessageColor.Orange:
|
|
return new SolidColorBrush(Color.FromRgb(255, 90, 0));
|
|
case DebugWindowMessageColor.Red:
|
|
return new SolidColorBrush(Colors.Red);
|
|
case DebugWindowMessageColor.Yellow:
|
|
return new SolidColorBrush(Colors.Yellow);
|
|
case DebugWindowMessageColor.Purple:
|
|
return new SolidColorBrush(Colors.Purple);
|
|
case DebugWindowMessageColor.Custom:
|
|
return new SolidColorBrush(CustomColor);
|
|
default:
|
|
return new SolidColorBrush(Colors.Black);
|
|
|
|
}
|
|
}
|
|
}
|
|
|
|
public DebugWindowMessage(string messageText)
|
|
{
|
|
MessageText = $"{DateTime.Now:dd.MM.yyyy HH:mm:ss}: {messageText}";
|
|
DebugWindowMessageColor = DebugWindowMessageColor.Black;
|
|
CustomColor = Colors.Black;
|
|
}
|
|
|
|
public DebugWindowMessage(string messageText, DebugWindowMessageColor debugWindowMessageColor)
|
|
{
|
|
MessageText = $"{DateTime.Now:dd.MM.yyyy HH:mm:ss}: {messageText}";
|
|
DebugWindowMessageColor = debugWindowMessageColor;
|
|
CustomColor = Colors.Black;
|
|
}
|
|
|
|
public DebugWindowMessage(string messageText, Color customColor)
|
|
{
|
|
MessageText = $"{DateTime.Now:dd.MM.yyyy HH:mm:ss}: {messageText}";
|
|
DebugWindowMessageColor = DebugWindowMessageColor.Custom;
|
|
CustomColor = customColor;
|
|
}
|
|
}
|
|
|
|
public enum DebugWindowMessageColor
|
|
{
|
|
Black,
|
|
Green,
|
|
Yellow,
|
|
Red,
|
|
Orange,
|
|
Blue,
|
|
Custom,
|
|
Purple
|
|
}
|
|
}
|