glanceables_view.h 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. // Copyright 2022 The Chromium Authors. All rights reserved.
  2. // Use of this source code is governed by a BSD-style license that can be
  3. // found in the LICENSE file.
  4. #ifndef ASH_GLANCEABLES_GLANCEABLES_VIEW_H_
  5. #define ASH_GLANCEABLES_GLANCEABLES_VIEW_H_
  6. #include "ash/ash_export.h"
  7. #include "ui/views/view.h"
  8. namespace views {
  9. class BoxLayout;
  10. class Label;
  11. } // namespace views
  12. namespace ash {
  13. class GlanceablesWeatherView;
  14. class GlanceablesWelcomeLabel;
  15. // Container view for the "welcome back" glanceables screen shown on login.
  16. class ASH_EXPORT GlanceablesView : public views::View {
  17. public:
  18. GlanceablesView();
  19. GlanceablesView(const GlanceablesView&) = delete;
  20. GlanceablesView& operator=(const GlanceablesView&) = delete;
  21. ~GlanceablesView() override;
  22. // views::View:
  23. void OnBoundsChanged(const gfx::Rect& previous_bounds) override;
  24. void OnThemeChanged() override;
  25. GlanceablesWelcomeLabel* welcome_label_for_test() { return welcome_label_; }
  26. GlanceablesWeatherView* weather_view_for_test() { return weather_view_; }
  27. private:
  28. views::BoxLayout* layout_ = nullptr;
  29. GlanceablesWelcomeLabel* welcome_label_ = nullptr;
  30. GlanceablesWeatherView* weather_view_ = nullptr;
  31. views::Label* up_next_label_ = nullptr;
  32. views::Label* restore_session_label_ = nullptr;
  33. };
  34. } // namespace ash
  35. #endif // ASH_GLANCEABLES_GLANCEABLES_VIEW_H_