/** * @RDE_HEADER@ * Interface for Script Editor - Topic Editor for specific Topic Type * $Id$ * $HeadURL$ * $Author$ * * Created by Mike Wille, SLSE, 2017-04-27 */ #pragma once #include "topic_editor_utils.h" namespace TopicEditorBase // TODO: mv to PluginInterfaces? { class TopicEditor; class Interface { public: virtual ~Interface() = default; /* * Called each time if * a.) a topic is selected on the track timeline of the ScriptEditor * b.) a topic button is clicked within the ScriptEditor */ virtual TopicEditor *createTopicEditor(const TopicData &) = 0; virtual bool initTopicEditor() { return true; } // Called once if a topic has been added to the SkriptEditor menu virtual void finishTopicEditor() {} // Called once if if the SkriptEditor is closed }; } // namespace TopicEditorBase