We need to work backwards to determine which “hints” we need to filter for. We can see the values in the debugger of course, but being that they are not enumerations, the debugger of course cannot match a value to a symbol. We’ve seen the list in the GoObject docs, but that list shows none of the values we’re trying to match up. Would it be possible to obtain a list of the GoDiagram hint values and their associated descriptions/symbols?
The table in the documentation for the GoObject.Changed method is supposed to be complete for all of the hints that are used by GoDiagram’s classes. Of course, user-defined hints, including those produced by example classes, cannot be included in that table.
What values are you seeing? Have you searched for that number in your sources?
For example when dropping a node on a canvas, hint values coming through document changed are 902, 100, 202. On deleting the node, hint value is 903. All the values listed in the GoObject docs appear to be 1000 and greater. (I knew C header files were good for something :) )
I see some of those values now under their respective objects in the debugger. e.g. 0x386 is layer inserted object. Of course it’s not always straightforward to identify the members as hint values, so we pretty much had to look for a value of 0x386 and search for its symbol, InsertedObject, in the Go docs.
public const int GoLayerCollection.InsertedLayer = 801;
public const int RemovedLayer = 802;