Events
Es ist möglich, Änderungen in der Profilstruktur über Event-Handler abzufangen.
Beispiel, Schreiben in eine Log-Datei bei jeder Änderung
public bool InitializePoolChangedEvent()
{
// Führt das Speichern aus
this.Pool.Changed += Pool_ChangedMethode
}
private void Pool_ChangedMethod(object sender, EventArgs e)
{
// In Log-Datei schreiben
loggingObject.Log("info: Profilbaum wurde geändert");
}
Das Changed event wird ausgelöst, wenn ein Profil hinzugefügt oder entfernt wird
Beispiel, Prüfen der Gesamten Baumstruktur nach jeder Änderung
public bool InitializePoolChangedEvent()
{
// Führt das Speichern aus
this.Pool.Changed += Pool_ChangedMethode
}
private void Pool_ChangedMethod(object sender, EventArgs e)
{
// Prüfe alle Profile auf Name = XY
foreach (PrintingProfile prof in Pool.PrintingProfiles.Values)
{
if(!prof.First(name).Equals("XY"))
{
XMsgBox.Show("Das Profil darf nur XY heißen", XMsgBoxIcon.Warning);
}
}
}