Hallo in die Runde,
ich versuche mich gerade daran ein Kernel Plugin für das Input Assignment zu schreiben. Goto -> From. Es gibt einen Node Goto der einen Namen hat und in den ein Signal reingeht. Und es kann mehrere From Nodes geben, die dieses Signal ausgeben, wenn sie auf den gleichen Namen hören. Also quasi einfach nur eine Signalweiterleitung um mehrere Connectionsets miteinander verbinden zu können. Das Ganz funktioniert auch tatsächlich schon aber ich habe an einer Stelle ein Problem bei dem ich um Rat bitten will:
Im Bild unten sieht man das Fenster für die Einstellungen des From Nodes. Es gibt nur eine relevante Einstellung, nämlich den Namen des Goto Nodes mit dem verknüpft werden soll.
Hierzu habe ich einen Parameter definiert:
protected override IEnumerable<GenericParameter> ParametersInternal
{
get
{
yield return new GenericParameter(PARAlabelName, GraphNodeParameters.GraphNodeParameterType, typeof(string), enumValues: GotoFromManager.Instance.GetAvailableLabelNameEnumValues()) { ... };
}
}
Wobei GotoFromManager.Instance.GetAvailableLabelNameEnumValues() eine IList<string> zurückgibt.
Mein Problem ist jetzt dass die Auswahlliste für diesen Parameter nur einmalig beim Erzeugen eines neuen Nodes abgerufen aber danach nie wieder aktualisiert wird. Ich finde keine Möglichkeit das UI zu benachrichtigen, dass es bitte diese ComboBox aktualisieren soll. Das Problem tritt nämlich auch dann auf, wenn ich schon einen From Node erzeugt habe und danach eine Goto Node erzeuge. Der Name dieses neuen Goto Nodes erscheint nie in der Auswahlliste. Ich habe bereits OnProcessRequested() und OnPropertyChanged(...) mit entsprechendem Argument ausprobiert.
Vielleicht könnte mir jemand sagen, ob das überhaupt geht, dass man aus dem Code heraus hier eine Aktualisierung antriggert bzw. wie das geht.
Vielen Dank, LG