#include #include #include #include class PlYaTrackerConfig final : public emRecFileModel, public emStructRec { public: static emRef Acquire(emContext& context, const emString& name, bool common = true); virtual const char* GetFormatName() const; emStringRec URL; emStringRec Token; protected: PlYaTrackerConfig(emContext& context, const emString& name); }; emRef PlYaTrackerConfig::Acquire(emContext& context, const emString& name, bool common) { EM_IMPL_ACQUIRE(PlYaTrackerConfig, context, name, common) } const char* PlYaTrackerConfig::GetFormatName() const { return "PlYaTracker"; } PlYaTrackerConfig::PlYaTrackerConfig(emContext& context, const emString& name) : emRecFileModel(context, name), emStructRec(), URL(this, "URL"), Token(this, "Token") { PostConstruct(*this); } class PlYaTrackerFilePanel : public emFilePanel { public: PlYaTrackerFilePanel(ParentArg parent, const emString& name, emRef config); private: emRef Config; }; PlYaTrackerFilePanel::PlYaTrackerFilePanel(ParentArg parent, const emString& name, emRef config) : emFilePanel(parent, name, config), Config(config) {} extern "C" { emPanel* PlYaTrackerPluginFunc(emPanel::ParentArg parent, const emString& name, const emString& path, emFpPlugin* plugin, emString* errorBuf) { return new PlYaTrackerFilePanel( parent, name, PlYaTrackerConfig::Acquire(parent.GetRootContext(), path)); } }