#include "Browser.h" bool IsTopicGroup(const char *path) { return ToLower(GetFileExt(path)) == ".tpp" && (!IsFullPath(path) || !FileExists(path)); } struct TopicModule : public IdeModule { virtual String GetID() { return "TopicModule"; } virtual Image FileIcon(const char *path) { return IsTopicGroup(path) ? TopicImg::Group() : Null; } virtual IdeDesigner *CreateDesigner(const char *path, byte cs) { if(IsTopicGroup(path)) { TopicEditor *d = new TopicEditor; d->PersistentFindReplace(TheIde()->IsPersistentFindReplace()); d->Open(path); return d; } return NULL; } virtual void Serialize(Stream& s) { TopicEditor::SerializeEditPos(s); } }; void InitializeTopicModule() { RegisterIdeModule(Single()); }