ash_notification_input_container.h 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // Copyright 2021 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_SYSTEM_MESSAGE_CENTER_ASH_NOTIFICATION_INPUT_CONTAINER_H_
  5. #define ASH_SYSTEM_MESSAGE_CENTER_ASH_NOTIFICATION_INPUT_CONTAINER_H_
  6. #include "ash/ash_export.h"
  7. #include "ui/message_center/views/notification_input_container.h"
  8. namespace ash {
  9. // Customized NotificationInputContainer for notifications on ChromeOS. This
  10. // view is used to display an editable textfield for inline-reply and a
  11. // send button.
  12. class ASH_EXPORT AshNotificationInputContainer
  13. : public message_center::NotificationInputContainer {
  14. public:
  15. explicit AshNotificationInputContainer(
  16. message_center::NotificationInputDelegate* delegate);
  17. AshNotificationInputContainer(const AshNotificationInputContainer&) = delete;
  18. AshNotificationInputContainer& operator=(
  19. const AshNotificationInputContainer&) = delete;
  20. ~AshNotificationInputContainer() override;
  21. private:
  22. // message_center::NotificationInputContainer:
  23. views::BoxLayout* InstallLayoutManager() override;
  24. views::InkDropContainerView* InstallInkDrop() override;
  25. gfx::Insets GetTextfieldPadding() const override;
  26. int GetDefaultPlaceholderStringId() const override;
  27. void StyleTextfield() override;
  28. gfx::Insets GetSendButtonPadding() const override;
  29. void SetSendButtonHighlightPath() override;
  30. void UpdateButtonImage() override;
  31. // views::View:
  32. void OnThemeChanged() override;
  33. };
  34. } // namespace ash
  35. #endif // ASH_SYSTEM_MESSAGE_CENTER_ASH_NOTIFICATION_INPUT_CONTAINER_H_