|
@@ -129,6 +129,8 @@ public:
|
|
|
void stop_timer();
|
|
|
bool has_timer() const { return m_timer_id; }
|
|
|
|
|
|
+ ErrorOr<void> try_add_child(Object&);
|
|
|
+
|
|
|
void add_child(Object&);
|
|
|
void insert_child_before(Object& new_child, Object& before_child);
|
|
|
void remove_child(Object&);
|
|
@@ -164,6 +166,14 @@ public:
|
|
|
return child;
|
|
|
}
|
|
|
|
|
|
+ template<class T, class... Args>
|
|
|
+ inline ErrorOr<NonnullRefPtr<T>> try_add(Args&&... args)
|
|
|
+ {
|
|
|
+ auto child = TRY(T::try_create(forward<Args>(args)...));
|
|
|
+ TRY(try_add_child(*child));
|
|
|
+ return child;
|
|
|
+ }
|
|
|
+
|
|
|
virtual bool is_visible_for_timer_purposes() const;
|
|
|
|
|
|
bool is_being_inspected() const { return m_inspector_count; }
|