GWidget: Add set_size_policy(Orientation, Policy).

This allows you to set the policy for a single orientation rather than
both at the same time.
This commit is contained in:
Andreas Kling 2019-07-27 09:34:28 +02:00
parent 10c35d345a
commit 7dc7f11ed8
Notes: sideshowbarker 2024-07-19 13:02:31 +09:00
2 changed files with 9 additions and 0 deletions

View file

@ -404,6 +404,14 @@ void GWidget::set_preferred_size(const Size& size)
invalidate_layout();
}
void GWidget::set_size_policy(Orientation orientation, SizePolicy policy)
{
if (orientation == Orientation::Horizontal)
set_size_policy(policy, m_vertical_size_policy);
else
set_size_policy(m_horizontal_size_policy, policy);
}
void GWidget::set_size_policy(SizePolicy horizontal_policy, SizePolicy vertical_policy)
{
if (m_horizontal_size_policy == horizontal_policy && m_vertical_size_policy == vertical_policy)

View file

@ -44,6 +44,7 @@ public:
SizePolicy vertical_size_policy() const { return m_vertical_size_policy; }
SizePolicy size_policy(Orientation orientation) { return orientation == Orientation::Horizontal ? m_horizontal_size_policy : m_vertical_size_policy; }
void set_size_policy(SizePolicy horizontal_policy, SizePolicy vertical_policy);
void set_size_policy(Orientation, SizePolicy);
Size preferred_size() const { return m_preferred_size; }
void set_preferred_size(const Size&);