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 
108  static void ExposeLayoutEventsAndDependencies(
109  gd::Project &project, gd::Layout &layout,
111 
119  static void ExposeEventsFunctionsExtensionEvents(
120  gd::Project &project,
121  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
122  gd::ArbitraryEventsWorker &worker);
123 
131  static void ExposeEventsFunctionsExtensionEvents(
132  gd::Project &project,
133  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
135 
140  static void ExposeEventsFunctionsExtensionEvents(
141  gd::Project &project,
142  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
144 
152  static void ExposeEventsBasedBehaviorEvents(
153  gd::Project &project, const gd::EventsBasedBehavior &eventsBasedBehavior,
154  gd::ArbitraryEventsWorker &worker);
155 
163  static void ExposeEventsBasedBehaviorEvents(
164  gd::Project &project,
165  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
166  const gd::EventsBasedBehavior &eventsBasedBehavior,
168 
176  static void ExposeEventsBasedBehaviorEvents(
177  gd::Project &project,
178  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
179  const gd::EventsBasedBehavior &eventsBasedBehavior,
180  gd::VariablesContainer &propertyVariablesContainer,
182 
187  static void ExposeEventsBasedBehaviorEvents(
188  gd::Project &project,
189  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
190  const gd::EventsBasedBehavior &eventsBasedBehavior,
192 
200  static void
201  ExposeEventsBasedObjectEvents(gd::Project &project,
202  const gd::EventsBasedObject &eventsBasedObject,
203  gd::ArbitraryEventsWorker &worker);
204 
212  static void ExposeEventsBasedObjectEvents(
213  gd::Project &project,
214  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
215  const gd::EventsBasedObject &eventsBasedObject,
217 
225  static void ExposeEventsBasedObjectEvents(
226  gd::Project &project,
227  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
228  const gd::EventsBasedObject &eventsBasedObject,
229  gd::VariablesContainer &propertyVariablesContainer,
231 
236  static void ExposeEventsBasedObjectEvents(
237  gd::Project &project,
238  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
239  const gd::EventsBasedObject &eventsBasedObject,
241 
248  static void ExposeProjectObjects(gd::Project &project,
250 
256  static void ExposeLayoutObjects(gd::Layout &layout,
258 
266  static void ExposeEventsFunctionsExtensionObjects(
267  const gd::EventsFunctionsExtension &eventsFunctionsExtension,
269 
277  static void ExposeEventsBasedObjectVariantObjects(
278  gd::EventsBasedObjectVariant &eventsBasedObjectVariant,
280 
288  static void ExposeProjectFunctions(gd::Project &project,
290 
297  static void ExposeProjectEventBasedBehaviors(
299 
306  static void ExposeProjectSharedDatas(gd::Project &project,
308 };
309 
310 } // 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:29
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