blob: 8c6f0b00f4a7ea2d58d8b79592d8200c923c9d8a (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
#include "cru/ui/controls/ContentControl.hpp"
namespace cru::ui::controls {
Control* ContentControl::GetChild() const {
if (GetChildren().empty()) return nullptr;
return GetChildren()[0];
}
void ContentControl::SetChild(Control* child) {
Control* old_child = nullptr;
if (!GetChildren().empty()) {
old_child = GetChildren()[0];
this->RemoveChild(0);
}
if (child) {
this->AddChild(child, 0);
}
OnChildChanged(old_child, child);
}
void ContentControl::OnChildChanged(Control* old_child, Control* new_child) {
if (container_render_object_) {
if (old_child) {
container_render_object_->RemoveChild(0);
}
if (new_child) {
container_render_object_->AddChild(new_child->GetRenderObject(), 0);
}
}
}
} // namespace cru::ui::controls
|