GStatusBar.cpp 825 B

1234567891011121314151617181920212223242526272829303132333435
  1. #include <LibGUI/GStatusBar.h>
  2. #include <LibGUI/GLabel.h>
  3. #include <LibGUI/GBoxLayout.h>
  4. #include <SharedGraphics/Painter.h>
  5. GStatusBar::GStatusBar(GWidget* parent)
  6. : GWidget(parent)
  7. {
  8. set_size_policy(SizePolicy::Fill, SizePolicy::Fixed);
  9. set_preferred_size({ 0, 16 });
  10. set_layout(make<GBoxLayout>(Orientation::Horizontal));
  11. m_label = new GLabel(this);
  12. m_label->set_fill_with_background_color(false);
  13. }
  14. GStatusBar::~GStatusBar()
  15. {
  16. }
  17. void GStatusBar::set_text(String&& text)
  18. {
  19. m_label->set_text(move(text));
  20. }
  21. String GStatusBar::text() const
  22. {
  23. return m_label->text();
  24. }
  25. void GStatusBar::paint_event(GPaintEvent&)
  26. {
  27. Painter painter(*this);
  28. painter.fill_rect({ 0, 1, width(), height() - 1 }, Color::LightGray);
  29. painter.draw_line({ 0, 0 }, { width() - 1, 0 }, Color::DarkGray);
  30. }