aboutsummaryrefslogtreecommitdiff
path: root/include/cru/ui/controls/NoChildControl.h
blob: f22fd85e93edf23f8436b4f97935ab3a00708cdd (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#pragma once
#include "Control.h"

namespace cru::ui::controls {
class CRU_UI_API NoChildControl : public Control {
 protected:
  NoChildControl() = default;

 public:
  NoChildControl(const NoChildControl& other) = delete;
  NoChildControl(NoChildControl&& other) = delete;
  NoChildControl& operator=(const NoChildControl& other) = delete;
  NoChildControl& operator=(NoChildControl&& other) = delete;
  ~NoChildControl() override = default;

 public:
  void ForEachChild(const std::function<void(Control*)>& callback) override;

  void RemoveChild(Control* child) override;
};
}  // namespace cru::ui::controls