mirror of
https://github.com/RGBCube/serenity
synced 2025-05-19 22:05:06 +00:00
LibGUI: Allow overriding the button size when constructing GToolBar
This makes it easy to create a toolbar housing buttons of a size other than 16x16.
This commit is contained in:
parent
0d2495e4e7
commit
d22d9874f7
2 changed files with 8 additions and 6 deletions
|
@ -5,19 +5,20 @@
|
||||||
#include <LibGUI/GToolBar.h>
|
#include <LibGUI/GToolBar.h>
|
||||||
|
|
||||||
GToolBar::GToolBar(GWidget* parent)
|
GToolBar::GToolBar(GWidget* parent)
|
||||||
: GToolBar(Orientation::Horizontal, parent)
|
: GToolBar(Orientation::Horizontal, 16, parent)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
GToolBar::GToolBar(Orientation orientation, GWidget* parent)
|
GToolBar::GToolBar(Orientation orientation, int button_size, GWidget* parent)
|
||||||
: GWidget(parent)
|
: GWidget(parent)
|
||||||
|
, m_button_size(button_size)
|
||||||
{
|
{
|
||||||
if (orientation == Orientation::Horizontal) {
|
if (orientation == Orientation::Horizontal) {
|
||||||
set_size_policy(SizePolicy::Fill, SizePolicy::Fixed);
|
set_size_policy(SizePolicy::Fill, SizePolicy::Fixed);
|
||||||
set_preferred_size(0, 28);
|
set_preferred_size(0, button_size + 12);
|
||||||
} else {
|
} else {
|
||||||
set_size_policy(SizePolicy::Fixed, SizePolicy::Fill);
|
set_size_policy(SizePolicy::Fixed, SizePolicy::Fill);
|
||||||
set_preferred_size(28, 0);
|
set_preferred_size(button_size + 12, 0);
|
||||||
}
|
}
|
||||||
set_layout(make<GBoxLayout>(orientation));
|
set_layout(make<GBoxLayout>(orientation));
|
||||||
layout()->set_spacing(0);
|
layout()->set_spacing(0);
|
||||||
|
@ -46,7 +47,7 @@ void GToolBar::add_action(GAction& action)
|
||||||
button->set_size_policy(SizePolicy::Fixed, SizePolicy::Fixed);
|
button->set_size_policy(SizePolicy::Fixed, SizePolicy::Fixed);
|
||||||
ASSERT(button->size_policy(Orientation::Horizontal) == SizePolicy::Fixed);
|
ASSERT(button->size_policy(Orientation::Horizontal) == SizePolicy::Fixed);
|
||||||
ASSERT(button->size_policy(Orientation::Vertical) == SizePolicy::Fixed);
|
ASSERT(button->size_policy(Orientation::Vertical) == SizePolicy::Fixed);
|
||||||
button->set_preferred_size(24, 24);
|
button->set_preferred_size(m_button_size + 8, m_button_size + 8);
|
||||||
|
|
||||||
m_items.append(move(item));
|
m_items.append(move(item));
|
||||||
}
|
}
|
||||||
|
|
|
@ -18,7 +18,7 @@ public:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
explicit GToolBar(GWidget* parent);
|
explicit GToolBar(GWidget* parent);
|
||||||
explicit GToolBar(Orientation, GWidget* parent);
|
explicit GToolBar(Orientation, int button_size, GWidget* parent);
|
||||||
|
|
||||||
virtual void paint_event(GPaintEvent&) override;
|
virtual void paint_event(GPaintEvent&) override;
|
||||||
|
|
||||||
|
@ -33,5 +33,6 @@ private:
|
||||||
RefPtr<GAction> action;
|
RefPtr<GAction> action;
|
||||||
};
|
};
|
||||||
NonnullOwnPtrVector<Item> m_items;
|
NonnullOwnPtrVector<Item> m_items;
|
||||||
|
int m_button_size { 16 };
|
||||||
bool m_has_frame { true };
|
bool m_has_frame { true };
|
||||||
};
|
};
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue