MCPcopy Create free account
hub / github.com/OpenLoco/OpenLoco / open

Function open

src/OpenLoco/src/Ui/Windows/ObjectLoadError.cpp:55–84  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

53 static const WindowEventList& getEvents();
54
55 Window* open(const std::vector<ObjectHeader>& list)
56 {
57 _loadErrorObjectsList = list;
58 std::sort(_loadErrorObjectsList.begin(), _loadErrorObjectsList.end(), [](const auto& lhs, const auto& rhs) { return lhs.getName() < rhs.getName(); });
59
60 Window* window = WindowManager::bringToFront(WindowType::objectLoadError);
61 if (window != nullptr)
62 {
63 WindowManager::invalidate(WindowType::objectLoadError);
64 return window;
65 }
66
67 window = WindowManager::createWindowCentred(
68 WindowType::objectLoadError,
69 kWindowSize,
70 WindowFlags::stickToFront,
71 getEvents());
72
73 window->setWidgets(_widgets);
74 window->initScrollWidgets();
75
76 auto interface = ObjectManager::get<InterfaceSkinObject>();
77 window->setColour(WindowColour::primary, interface->windowTitlebarColour);
78 window->setColour(WindowColour::secondary, interface->windowOptionsColour);
79
80 window->rowCount = static_cast<uint16_t>(_loadErrorObjectsList.size());
81 window->rowHover = -1;
82
83 return window;
84 }
85
86 static void draw(Ui::Window& self, Gfx::DrawingContext& drawingCtx)
87 {

Callers

nothing calls this directly

Calls 10

bringToFrontFunction · 0.85
createWindowCentredFunction · 0.85
getNameMethod · 0.80
setWidgetsMethod · 0.80
initScrollWidgetsMethod · 0.80
invalidateFunction · 0.50
beginMethod · 0.45
endMethod · 0.45
setColourMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected