GDevelop Core
Core library for developing platforms and tools compatible with GDevelop.
InstructionOrExpressionContainerMetadata.h
1 /*
2  * GDevelop Core
3  * Copyright 2008-2016 Florian Rival ([email protected]). All rights
4  * reserved. This project is released under the MIT License.
5  */
6 #pragma once
7 
8 #include <map>
9 
10 #include "GDCore/Extensions/Metadata/ExpressionMetadata.h"
11 #include "GDCore/Extensions/Metadata/InstructionMetadata.h"
12 #include "GDCore/String.h"
13 
14 namespace gd {
15 class Behavior;
16 class BehaviorsSharedData;
17 class MultipleInstructionMetadata;
18 class InstructionMetadata;
19 class ExpressionMetadata;
20 } // namespace gd
21 
22 namespace gd {
23 
31 public:
34 
40  virtual gd::InstructionMetadata &
41  AddCondition(const gd::String &name_, const gd::String &fullname_,
42  const gd::String &description_, const gd::String &sentence_,
43  const gd::String &group_, const gd::String &icon_,
44  const gd::String &smallicon_) = 0;
45 
51  virtual gd::InstructionMetadata &
52  AddAction(const gd::String &name_, const gd::String &fullname_,
53  const gd::String &description_, const gd::String &sentence_,
54  const gd::String &group_, const gd::String &icon_,
55  const gd::String &smallicon_) = 0;
56 
60  virtual gd::InstructionMetadata &
61  AddScopedCondition(const gd::String &name_, const gd::String &fullname_,
62  const gd::String &description_,
63  const gd::String &sentence_, const gd::String &group_,
64  const gd::String &icon_, const gd::String &smallicon_) = 0;
65 
69  virtual gd::InstructionMetadata &
70  AddScopedAction(const gd::String &name_, const gd::String &fullname_,
71  const gd::String &description_, const gd::String &sentence_,
72  const gd::String &group_, const gd::String &icon_,
73  const gd::String &smallicon_) = 0;
77  virtual gd::ExpressionMetadata &
78  AddExpression(const gd::String &name_, const gd::String &fullname_,
79  const gd::String &description_, const gd::String &group_,
80  const gd::String &smallicon_) = 0;
81 
85  virtual gd::ExpressionMetadata &
86  AddStrExpression(const gd::String &name_, const gd::String &fullname_,
87  const gd::String &description_, const gd::String &group_,
88  const gd::String &smallicon_) = 0;
89 
97  const gd::String &type, const gd::String &name,
98  const gd::String &fullname, const gd::String &description,
99  const gd::String &sentenceName, const gd::String &group,
100  const gd::String &icon) = 0;
101 
111  const gd::String &type, const gd::String &name,
112  const gd::String &fullname, const gd::String &description,
113  const gd::String &sentenceName, const gd::String &group,
114  const gd::String &icon) = 0;
115 
122  virtual gd::InstructionMetadata &
123  AddDuplicatedAction(const gd::String &newActionName,
124  const gd::String &copiedActionName) = 0;
125 
132  virtual gd::InstructionMetadata &
133  AddDuplicatedCondition(const gd::String &newConditionName,
134  const gd::String &copiedConditionName) = 0;
135 
137  SetFullName(const gd::String &fullname_) = 0;
139  SetDescription(const gd::String &description_) = 0;
140 
149  SetIncludeFile(const gd::String &includeFile) = 0;
150 
155  AddIncludeFile(const gd::String &includeFile) = 0;
156 
161  virtual const gd::String &GetHelpPath() const = 0;
162 
171  SetHelpPath(const gd::String &path) = 0;
172 
173  virtual const gd::String &GetName() const = 0;
174  virtual const gd::String &GetFullName() const = 0;
175  virtual const gd::String &GetDescription() const = 0;
176  virtual const gd::String &GetIconFilename() const = 0;
177 
182  virtual std::map<gd::String, gd::InstructionMetadata> &GetAllActions() = 0;
183 
187  virtual std::map<gd::String, gd::InstructionMetadata> &GetAllConditions() = 0;
188 
192  virtual std::map<gd::String, gd::ExpressionMetadata> &GetAllExpressions() = 0;
193 
197  virtual std::map<gd::String, gd::ExpressionMetadata> &
199 
200 private:
201 };
202 
203 } // namespace gd
Describe user-friendly information about an expression, its parameters and the function name as well ...
Definition: ExpressionMetadata.h:47
Describe user-friendly information about an instruction (action or condition), its parameters and the...
Definition: InstructionMetadata.h:38
Contains user-friendly information about instructions and expressions (usually for a behavior or an o...
Definition: InstructionOrExpressionContainerMetadata.h:30
virtual InstructionOrExpressionContainerMetadata & SetHelpPath(const gd::String &path)=0
virtual gd::MultipleInstructionMetadata AddExpressionAndConditionAndAction(const gd::String &type, const gd::String &name, const gd::String &fullname, const gd::String &description, const gd::String &sentenceName, const gd::String &group, const gd::String &icon)=0
Declare a new expression, condition and action as being part of the behavior.
virtual std::map< gd::String, gd::ExpressionMetadata > & GetAllExpressions()=0
virtual std::map< gd::String, gd::InstructionMetadata > & GetAllConditions()=0
virtual std::map< gd::String, gd::InstructionMetadata > & GetAllActions()=0
Return a reference to a map containing the names of the actions (as keys) and the metadata associated...
virtual std::map< gd::String, gd::ExpressionMetadata > & GetAllStrExpressions()=0
virtual InstructionOrExpressionContainerMetadata & SetIncludeFile(const gd::String &includeFile)=0
Erase any existing include file and add the specified include.
virtual gd::InstructionMetadata & AddScopedAction(const gd::String &name_, const gd::String &fullname_, const gd::String &description_, const gd::String &sentence_, const gd::String &group_, const gd::String &icon_, const gd::String &smallicon_)=0
virtual gd::ExpressionMetadata & AddExpression(const gd::String &name_, const gd::String &fullname_, const gd::String &description_, const gd::String &group_, const gd::String &smallicon_)=0
virtual gd::InstructionMetadata & AddCondition(const gd::String &name_, const gd::String &fullname_, const gd::String &description_, const gd::String &sentence_, const gd::String &group_, const gd::String &icon_, const gd::String &smallicon_)=0
virtual gd::InstructionMetadata & AddAction(const gd::String &name_, const gd::String &fullname_, const gd::String &description_, const gd::String &sentence_, const gd::String &group_, const gd::String &icon_, const gd::String &smallicon_)=0
virtual InstructionOrExpressionContainerMetadata & AddIncludeFile(const gd::String &includeFile)=0
Add a file to the already existing include files.
virtual const gd::String & GetHelpPath() const =0
virtual gd::MultipleInstructionMetadata AddExpressionAndCondition(const gd::String &type, const gd::String &name, const gd::String &fullname, const gd::String &description, const gd::String &sentenceName, const gd::String &group, const gd::String &icon)=0
Declare a new expression and condition as being part of the behavior.
virtual gd::ExpressionMetadata & AddStrExpression(const gd::String &name_, const gd::String &fullname_, const gd::String &description_, const gd::String &group_, const gd::String &smallicon_)=0
virtual gd::InstructionMetadata & AddDuplicatedCondition(const gd::String &newConditionName, const gd::String &copiedConditionName)=0
Create a new condition which is the duplicate of the specified one.
virtual gd::InstructionMetadata & AddScopedCondition(const gd::String &name_, const gd::String &fullname_, const gd::String &description_, const gd::String &sentence_, const gd::String &group_, const gd::String &icon_, const gd::String &smallicon_)=0
virtual gd::InstructionMetadata & AddDuplicatedAction(const gd::String &newActionName, const gd::String &copiedActionName)=0
Create a new action which is the duplicate of the specified one.
A "composite" metadata that can be used to easily declare both an expression and a related condition ...
Definition: MultipleInstructionMetadata.h:24
String represents an UTF8 encoded string.
Definition: String.h:31
Definition: CommonTools.h:24