1) Thanks, had no idea that even existed lol ..
2) I already have the method needed to change icons/text/colors of the tree items, i just dont have the expand event that i leveraged anymore .. The reason I used the expand event is because the filesystem/sourcecontrol check I have to execute to get the states (which icons, text, etc) is very expensive, so I was able to only process the update on items contained within a node (instead of all projects/files) ..
3) That was good enough to solve my issue, thanks!
My event registration changed from:
EVT_TREE_ITEM_EXPANDING(ID_ProjectManager, YBCBPlugin::OnPrjMgrTreeItemExpanding)
to this:
EVT_TREE_ITEM_EXPANDING(Manager::Get()->GetProjectManager()->GetUI().GetTree()->GetId(), YBCBPlugin::OnPrjMgrTreeItemExpanding)
The only concern I have is there is no protection from this not returning null (due to the event-reg code fires when the sharedobject/plugin is loaded into mem:
Manager::Get()->GetProjectManager();