Make ui::single_container release children on destroy
This commit is contained in:
parent
e568ecf14c
commit
11b904c890
6 changed files with 7 additions and 14 deletions
|
|
@ -15,8 +15,6 @@ namespace psemek::ui
|
||||||
virtual std::optional<geom::vector<float, 2>> min_size() const { return min_size_; }
|
virtual std::optional<geom::vector<float, 2>> min_size() const { return min_size_; }
|
||||||
virtual std::optional<geom::vector<float, 2>> max_size() const { return max_size_; }
|
virtual std::optional<geom::vector<float, 2>> max_size() const { return max_size_; }
|
||||||
|
|
||||||
~frame() override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
std::optional<geom::vector<float, 2>> min_size_;
|
std::optional<geom::vector<float, 2>> min_size_;
|
||||||
std::optional<geom::vector<float, 2>> max_size_;
|
std::optional<geom::vector<float, 2>> max_size_;
|
||||||
|
|
|
||||||
|
|
@ -38,8 +38,6 @@ namespace psemek::ui
|
||||||
void draw(painter & p) const override;
|
void draw(painter & p) const override;
|
||||||
void post_draw(painter & p) const override;
|
void post_draw(painter & p) const override;
|
||||||
|
|
||||||
~scroller() override;
|
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
virtual float width() const;
|
virtual float width() const;
|
||||||
|
|
|
||||||
|
|
@ -13,6 +13,8 @@ namespace psemek::ui
|
||||||
virtual std::shared_ptr<element> set_child(std::shared_ptr<element> c);
|
virtual std::shared_ptr<element> set_child(std::shared_ptr<element> c);
|
||||||
virtual std::shared_ptr<element> child() { return child_; }
|
virtual std::shared_ptr<element> child() { return child_; }
|
||||||
|
|
||||||
|
~single_container() override;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
std::shared_ptr<element> child_;
|
std::shared_ptr<element> child_;
|
||||||
element * children_[1]{nullptr};
|
element * children_[1]{nullptr};
|
||||||
|
|
|
||||||
|
|
@ -22,9 +22,4 @@ namespace psemek::ui
|
||||||
post_reshape();
|
post_reshape();
|
||||||
}
|
}
|
||||||
|
|
||||||
frame::~frame()
|
|
||||||
{
|
|
||||||
release_children();
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -291,11 +291,6 @@ namespace psemek::ui
|
||||||
p.end_stencil();
|
p.end_stencil();
|
||||||
}
|
}
|
||||||
|
|
||||||
scroller::~scroller()
|
|
||||||
{
|
|
||||||
release_children();
|
|
||||||
}
|
|
||||||
|
|
||||||
float scroller::width() const
|
float scroller::width() const
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
|
|
||||||
|
|
@ -15,4 +15,9 @@ namespace psemek::ui
|
||||||
return old;
|
return old;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
single_container::~single_container()
|
||||||
|
{
|
||||||
|
release_children();
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue