Changing Nodes' text

When I programatically change text on all of the GoText instances placed on GoView it works just fine, all of them are changed and the original one on the GoPalette is unchanged. When I do it with my GoMultiTextNodes’ headers, the original changes, which is not even on the GoView, and all other stay untouched (on GoView). Can somebody please explain what am I missing? Thanx.

The code I use to change texts is as follows:
private void button3_Click(object sender, EventArgs e) { foreach (GoObject obj in goView1.Document) { BlockType1 n1 = obj as BlockType1; GoText n2 = obj as GoText; if (n1 != null) n1.header.Text = textBox1.Text; if (n2 != null) n2.Text = textBox1.Text; } }

It sure sounds like your BlockType1 instances have a “header” field/property that is referring to the GoText object in the original GoMultiTextNode node in the GoPalette, rather than to the copy that is in the same node.

I don't know how you implemented that "header" field/property, but it sure sounds like you need to implement a CopyChildren override to keep that (and any other reference fields) up-to-date when the node is copied.
All of the example classes do this, as also recommended in the documentation.