#include #include #include #include #include GStatusBar::GStatusBar(GWidget* parent) : GWidget(parent) { set_size_policy(SizePolicy::Fill, SizePolicy::Fixed); set_preferred_size({ 0, 20 }); set_layout(make(Orientation::Horizontal)); layout()->set_margins({ 4, 2, 4, 2 }); m_label = new GLabel(this); m_label->set_frame_shadow(GFrame::Shadow::Sunken); m_label->set_frame_shape(GFrame::Shape::Panel); m_label->set_frame_thickness(1); m_label->set_text_alignment(TextAlignment::CenterLeft); } GStatusBar::~GStatusBar() { } void GStatusBar::set_text(String&& text) { m_label->set_text(move(text)); } String GStatusBar::text() const { return m_label->text(); } void GStatusBar::paint_event(GPaintEvent& event) { Painter painter(*this); painter.set_clip_rect(event.rect()); GStyle::the().paint_surface(painter, rect()); }