1 #include "GDCore/Events/Event.h"
2 #include "GDCore/Events/EventsList.h"
13 for (
size_t i = 0; i < list.
size(); ++i) {
15 if (event.CanHaveSubEvents() &&
16 event.GetSubEvents().Contains(eventToContain)) {
17 event.SetFolded(
false);
18 UnfoldWhenContaining(event.GetSubEvents(), eventToContain);
24 for (
size_t i = 0; i < list.
size(); ++i) {
26 event.SetFolded(
true);
27 if (event.CanHaveSubEvents() && event.GetSubEvents().size() > 0) {
28 FoldAll(event.GetSubEvents());
39 const int8_t maxLevel,
40 const std::size_t currentLevel = 0) {
41 if (maxLevel >= 0 && currentLevel > maxLevel)
return;
43 for (
size_t i = 0; i < list.
size(); ++i) {
45 event.SetFolded(
false);
46 if (event.CanHaveSubEvents() && event.GetSubEvents().size() > 0 &&
47 (maxLevel == -1 || currentLevel <= maxLevel)) {
48 UnfoldToLevel(event.GetSubEvents(), maxLevel, currentLevel + 1);
Definition: EventsListUnfolder.h:4
static void UnfoldWhenContaining(gd::EventsList &list, const gd::BaseEvent &eventToContain)
Recursively unfold all the event lists containing the specified event.
Definition: EventsListUnfolder.h:11
static void UnfoldToLevel(gd::EventsList &list, const int8_t maxLevel, const std::size_t currentLevel=0)
Recursively unfold all the events until a certain level of depth. 0 is the top level....
Definition: EventsListUnfolder.h:38
Base class defining an event.
Definition: Event.h:43
A list of events.
Definition: EventsList.h:32
size_t size() const
Alias for GetEventsCount()
Definition: EventsList.h:175