void InitializeCATIDs()
{
// The following properties classes are specific to Nemerle so we can use their GUIDs directly
//
AddCATIDMapping(typeof(NemerleProjectNodeProperties), typeof(NemerleProjectNodeProperties).GUID);
AddCATIDMapping(typeof(NemerleFileNodeProperties), typeof(NemerleFileNodeProperties).GUID);
AddCATIDMapping(typeof(NemerleOAFileItem), typeof(NemerleOAFileItem).GUID);
// The following are not specific to Nemerle and as such we need a separate GUID
// (we simply used guidgen.exe to create new guids)
//
AddCATIDMapping(typeof(FolderNodeProperties), new Guid(NemerleConstants.FolderNodePropertiesGuidString));
// This one we use the same as Nemerle file nodes since both refer to files
//
AddCATIDMapping(typeof(FileNodeProperties), typeof(NemerleFileNodeProperties).GUID);
// Because our property page pass itself as the object to display in its grid,
// we need to make it have the same CATID as the browse object of the project node
// so that filtering is possible.
//
AddCATIDMapping(typeof(NemerleGeneralPropertyPage), typeof(NemerleProjectNodeProperties).GUID);
// We could also provide CATIDs for references and the references container node, if we wanted to.
}