GDevelop Core
Core library for developing platforms and tools compatible with GDevelop.
ProjectBrowserHelper.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 namespace gd {
9 class Project;
10 class Layout;
11 class String;
12 class EventsFunctionsExtension;
13 class EventsFunction;
14 class EventsBasedBehavior;
15 class EventsBasedObject;
16 class EventsBasedObjectVariant;
17 class ArbitraryEventsWorker;
18 class ArbitraryEventsWorkerWithContext;
19 class ReadOnlyArbitraryEventsWorkerWithContext;
20 class ArbitraryEventsFunctionsWorker;
21 class ArbitraryObjectsWorker;
22 class ArbitraryEventBasedBehaviorsWorker;
23 class ArbitraryBehaviorSharedDataWorker;
24 class VariablesContainer;
25 } // namespace gd
26 
27 namespace gd {
28 
32 class GD_CORE_API ProjectBrowserHelper {
33 public:
40  static void ExposeProjectEvents(gd::Project &project,
42 
49  static void ExposeProjectEvents(gd::Project &project,
51 
58  static void
59  ExposeProjectEventsWithoutExtensions(gd::Project &project,
61 
68  static void ExposeProjectEventsWithoutExtensions(
70 
76  static void ExposeProjectEventsWithoutExtensions(
77  gd::Project &project,
79 
84  static void ExposeLayoutEventsAndExternalEvents(gd::Project &project, gd::Layout &layout,
86 
91  static void ExposeLayoutEventsAndExternalEvents(gd::Project &project, gd::Layout &layout,
93 
99  static void
100  ExposeLayoutEventsAndDependencies(gd::Project &project, gd::Layout &layout,
101  gd::ArbitraryEventsWorker &worker);
102 
110  static void ExposeEventsFunctionsExtensionEvents(
111  gd::Project &project,
112  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
113  gd::ArbitraryEventsWorker &worker);
114 
122  static void ExposeEventsFunctionsExtensionEvents(
123  gd::Project &project,
124  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
126 
131  static void ExposeEventsFunctionsExtensionEvents(
132  gd::Project &project,
133  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
135 
143  static void ExposeEventsBasedBehaviorEvents(
144  gd::Project &project, const gd::EventsBasedBehavior &eventsBasedBehavior,
145  gd::ArbitraryEventsWorker &worker);
146 
154  static void ExposeEventsBasedBehaviorEvents(
155  gd::Project &project,
156  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
157  const gd::EventsBasedBehavior &eventsBasedBehavior,
159 
167  static void ExposeEventsBasedBehaviorEvents(
168  gd::Project &project,
169  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
170  const gd::EventsBasedBehavior &eventsBasedBehavior,
171  gd::VariablesContainer &propertyVariablesContainer,
173 
178  static void ExposeEventsBasedBehaviorEvents(
179  gd::Project &project,
180  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
181  const gd::EventsBasedBehavior &eventsBasedBehavior,
183 
191  static void
192  ExposeEventsBasedObjectEvents(gd::Project &project,
193  const gd::EventsBasedObject &eventsBasedObject,
194  gd::ArbitraryEventsWorker &worker);
195 
203  static void ExposeEventsBasedObjectEvents(
204  gd::Project &project,
205  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
206  const gd::EventsBasedObject &eventsBasedObject,
208 
216  static void ExposeEventsBasedObjectEvents(
217  gd::Project &project,
218  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
219  const gd::EventsBasedObject &eventsBasedObject,
220  gd::VariablesContainer &propertyVariablesContainer,
222 
227  static void ExposeEventsBasedObjectEvents(
228  gd::Project &project,
229  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
230  const gd::EventsBasedObject &eventsBasedObject,
232 
239  static void ExposeProjectObjects(gd::Project &project,
241 
247  static void ExposeLayoutObjects(gd::Layout &layout,
249 
257  static void ExposeEventsFunctionsExtensionObjects(
258  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
260 
268  static void ExposeEventsBasedObjectVariantObjects(
269  gd::EventsBasedObjectVariant &eventsBasedObjectVariant,
271 
279  static void ExposeProjectFunctions(gd::Project &project,
281 
288  static void ExposeProjectEventBasedBehaviors(
290 
297  static void ExposeProjectSharedDatas(gd::Project &project,
299 };
300 
301 } // namespace gd
ArbitraryBehaviorSharedDataWorker is an abstract class used to browse shared data and do some work on...
Definition: ArbitraryBehaviorSharedDataWorker.h:29
ArbitraryEventsFunctionsWorker is an abstract class used to browse event-based behaviors and do some ...
Definition: ArbitraryEventBasedBehaviorsWorker.h:29
ArbitraryEventsFunctionsWorker is an abstract class used to browse functions signatures and do some w...
Definition: ArbitraryEventsFunctionsWorker.h:30
ArbitraryEventsWorker is an abstract class used to browse events (and instructions) and do some work ...
Definition: ArbitraryEventsWorker.h:118
An events worker that will know about the context (the objects container). Useful for workers working...
Definition: ArbitraryEventsWorker.h:143
ArbitraryObjectsWorker is an abstract class used to browse objects (and behaviors) and do some work o...
Definition: ArbitraryObjectsWorker.h:30
Represents a behavior that is implemented with events.
Definition: EventsBasedBehavior.h:31
Represents an object that is implemented with events.
Definition: EventsBasedObject.h:32
Represents a variation of style of an events-based object.
Definition: EventsBasedObjectVariant.h:26
Hold a list of Events Functions (gd::EventsFunction) and Events Based Behaviors.
Definition: EventsFunctionsExtension.h:41
Represent a layout ( also called a scene ) of a project.
Definition: Layout.h:41
Expose a subset of the project to workers.
Definition: ProjectBrowserHelper.h:32
Base class representing a project (game), including all resources, scenes, objects,...
Definition: Project.h:51
An events worker that will know about the context (the objects container). Useful for workers working...
Definition: ArbitraryEventsWorker.h:284
Class defining a container for gd::Variable.
Definition: VariablesContainer.h:29
Definition: CommonTools.h:24