| Index: ui/message_center/views/notification_view_md.h
|
| diff --git a/ui/message_center/views/notification_view_md.h b/ui/message_center/views/notification_view_md.h
|
| new file mode 100644
|
| index 0000000000000000000000000000000000000000..c4d76ecfc1d6d5aab4034df13ad9d950e192d945
|
| --- /dev/null
|
| +++ b/ui/message_center/views/notification_view_md.h
|
| @@ -0,0 +1,104 @@
|
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
| +// Use of this source code is governed by a BSD-style license that can be
|
| +// found in the LICENSE file.
|
| +
|
| +#ifndef UI_MESSAGE_CENTER_VIEWS_NOTIFICATION_VIEW_MD_H_
|
| +#define UI_MESSAGE_CENTER_VIEWS_NOTIFICATION_VIEW_MD_H_
|
| +
|
| +#include <vector>
|
| +
|
| +#include "base/gtest_prod_util.h"
|
| +#include "base/macros.h"
|
| +#include "ui/message_center/message_center_export.h"
|
| +#include "ui/message_center/views/message_view.h"
|
| +#include "ui/views/controls/button/button.h"
|
| +#include "ui/views/controls/button/image_button.h"
|
| +#include "ui/views/view_targeter_delegate.h"
|
| +
|
| +namespace views {
|
| +class BoxLayout;
|
| +class ImageView;
|
| +}
|
| +
|
| +namespace message_center {
|
| +
|
| +class BoundedLabel;
|
| +class NotificationButton;
|
| +
|
| +// View that displays all current types of notification (web, basic, image, and
|
| +// list) except the custom notification. Future notification types may be
|
| +// handled by other classes, in which case instances of those classes would be
|
| +// returned by the Create() factory method below.
|
| +class MESSAGE_CENTER_EXPORT NotificationViewMD
|
| + : public MessageView,
|
| + public views::ButtonListener,
|
| + public views::ViewTargeterDelegate {
|
| + public:
|
| + NotificationViewMD(MessageCenterController* controller,
|
| + const Notification& notification);
|
| + ~NotificationViewMD() override;
|
| +
|
| + // Overridden from views::View:
|
| + void Layout() override;
|
| + void OnFocus() override;
|
| + void ScrollRectToVisible(const gfx::Rect& rect) override;
|
| + gfx::NativeCursor GetCursor(const ui::MouseEvent& event) override;
|
| + void OnMouseEntered(const ui::MouseEvent& event) override;
|
| + void OnMouseExited(const ui::MouseEvent& event) override;
|
| +
|
| + // Overridden from MessageView:
|
| + void UpdateWithNotification(const Notification& notification) override;
|
| + void ButtonPressed(views::Button* sender, const ui::Event& event) override;
|
| + bool IsCloseButtonFocused() const override;
|
| + void RequestFocusOnCloseButton() override;
|
| + void UpdateControlButtonsVisibility() override;
|
| +
|
| + // views::ViewTargeterDelegate:
|
| + views::View* TargetForRect(views::View* root, const gfx::Rect& rect) override;
|
| +
|
| + private:
|
| + void CreateOrUpdateViews(const Notification& notification);
|
| +
|
| + void CreateOrUpdateContextTitleView(const Notification& notification);
|
| + void CreateOrUpdateTitleView(const Notification& notification);
|
| + void CreateOrUpdateMessageView(const Notification& notification);
|
| + void CreateOrUpdateProgressBarView(const Notification& notification);
|
| + void CreateOrUpdateListItemViews(const Notification& notification);
|
| + void CreateOrUpdateIconView(const Notification& notification);
|
| + void CreateOrUpdateSmallIconView(const Notification& notification);
|
| + void CreateOrUpdateImageView(const Notification& notification);
|
| + void CreateOrUpdateActionButtonViews(const Notification& notification);
|
| + void CreateOrUpdateCloseButtonView(const Notification& notification);
|
| + void CreateOrUpdateSettingsButtonView(const Notification& notification);
|
| +
|
| + // Describes whether the view should display a hand pointer or not.
|
| + bool clickable_;
|
| +
|
| + // Views in the top view
|
| + views::BoxLayout* layout_ = nullptr;
|
| +
|
| + // Views in the top view
|
| + views::View* top_view_ = nullptr;
|
| + BoundedLabel* context_title_view_ = nullptr;
|
| +
|
| + // Views in the main view
|
| + views::View* main_view_ = nullptr;
|
| + BoundedLabel* title_view_ = nullptr;
|
| + BoundedLabel* message_view_ = nullptr;
|
| +
|
| + // Views in the bottom view
|
| + views::View* bottom_view_ = nullptr;
|
| +
|
| + // Views in the floating controller
|
| + std::unique_ptr<views::ImageButton> settings_button_;
|
| + std::unique_ptr<views::ImageButton> close_button_;
|
| + std::unique_ptr<views::ImageView> small_image_view_;
|
| +
|
| + std::vector<NotificationButton*> action_buttons_;
|
| +
|
| + DISALLOW_COPY_AND_ASSIGN(NotificationViewMD);
|
| +};
|
| +
|
| +} // namespace message_center
|
| +
|
| +#endif // UI_MESSAGE_CENTER_VIEWS_NOTIFICATION_VIEW_MD_H_
|
|
|