39 lines
843 B
C++
Executable File
39 lines
843 B
C++
Executable File
/**
|
|
* @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
|