2019-02-20 04:39:46 +03:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <LibGUI/GWidget.h>
|
|
|
|
|
|
|
|
class GAction;
|
|
|
|
|
|
|
|
class GToolBar : public GWidget {
|
|
|
|
public:
|
|
|
|
explicit GToolBar(GWidget* parent);
|
|
|
|
virtual ~GToolBar() override;
|
|
|
|
|
2019-02-25 14:43:52 +03:00
|
|
|
void add_action(Retained<GAction>&&);
|
2019-02-20 04:39:46 +03:00
|
|
|
void add_separator();
|
|
|
|
|
|
|
|
virtual const char* class_name() const override { return "GToolBar"; }
|
2019-03-16 14:57:04 +03:00
|
|
|
|
|
|
|
private:
|
2019-02-20 04:39:46 +03:00
|
|
|
virtual void paint_event(GPaintEvent&) override;
|
|
|
|
|
|
|
|
struct Item {
|
|
|
|
enum Type { Invalid, Separator, Action };
|
|
|
|
Type type { Invalid };
|
|
|
|
RetainPtr<GAction> action;
|
|
|
|
};
|
|
|
|
Vector<OwnPtr<Item>> m_items;
|
|
|
|
};
|