Hint values


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.

I spoke too quickly--that list is supposed to be complete for all the GoObject class subhints. I forgot to mention the separate table of document hints with GoDocument.RaiseChanged. But there are others that are missing: GoLayer hints: public const int GoLayer.ChangedObject = 901; public const int InsertedObject = 902; public const int RemovedObject = 903; public const int ChangedObjectLayer = 904; public const int ChangedAllowView = 910; public const int ChangedAllowSelect = 911; public const int ChangedAllowMove = 912; public const int ChangedAllowCopy = 913; public const int ChangedAllowResize = 914; public const int ChangedAllowReshape = 915; public const int ChangedAllowDelete = 916; public const int ChangedAllowInsert = 917; public const int ChangedAllowLink = 918; public const int ChangedAllowEdit = 919; public const int ChangedAllowPrint = 920; public const int ChangedIdentifier = 930;

GoLayerCollection hints:
public const int GoLayerCollection.InsertedLayer = 801;

public const int RemovedLayer = 802;

public const int MovedLayer = 803; public const int ChangedDefault = 804; Note that the GoObject.Changed method hints are actually subhints that occur with a GoDocument.Changed event hint corresponding to GoLayer.ChangedObject. The documentation for each method does refer to the other method, but obviously not clearly enough! As always, we need to improve the documentation.


Thank you.