As an experiment I ran the following code today
if (Manager::Get()->GetEditorManager()->GetEditor(ii)->GetClassInfo()->IsKindOf(CLASSINFO(cbEditor)))
yea_or_nay = _T("yea");
else yea_or_nay = _T("nay");
DEBUG_LOG(F(_T("cbEditor: %s "), yea_or_nay.wx_str()));
if (Manager::Get()->GetEditorManager()->GetEditor(ii)->GetClassInfo()->IsKindOf(CLASSINFO(EditorBase)))
yea_or_nay = _T("yea");
else yea_or_nay = _T("nay");
DEBUG_LOG(F(_T("EditorBase: %s "), yea_or_nay.wx_str()));
if (Manager::Get()->GetEditorManager()->GetEditor(ii)->GetClassInfo()->IsKindOf(CLASSINFO(StartHerePage)))
yea_or_nay = _T("yea");
else yea_or_nay = _T("nay");
DEBUG_LOG(F(_T("StartHerePage: %s "), yea_or_nay.wx_str()));
if (Manager::Get()->GetEditorManager()->GetEditor(ii)->GetClassInfo()->IsKindOf(CLASSINFO(wxTextCtrl)))
yea_or_nay = _T("yea");
else yea_or_nay = _T("nay");
DEBUG_LOG(F(_T("wxTextCtrl: %s "), yea_or_nay.wx_str()));
And this was the result
cbEditor: yea //could be right; cbEditors are commonly handled by the EditorManager
EditorBase: yea //reveals no new information; cbEditor is derived from EditorBase
StartHerePage: yea //Bullshit. StartHerePage is derived from EditorBase, not cbEditor.
wxTextCtrl: nay //sanity check
I note also that in established source, IsKindOf is only ever used with a widgets class... I conclude that isKindOf is not supported by code blocks classes.
Is there some other way of determining one codeblocks class from another? Or did I cock this up somehow?