Separate Simple Backend creation from initialization.
[chromium-blink-merge.git] / ui / message_center / views / message_simple_view.h
blobb5774c617832d128d63ed8cea24b9cade71c5923
1 // Copyright (c) 2012 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.
5 #ifndef UI_MESSAGE_CENTER_VIEWS_MESSAGE_SIMPLE_VIEW_H_
6 #define UI_MESSAGE_CENTER_VIEWS_MESSAGE_SIMPLE_VIEW_H_
8 #include "ui/message_center/views/message_view.h"
10 namespace message_center {
12 class Notification;
13 class NotificationChangeObserver;
15 // A simple view for a notification entry (icon + message + buttons).
16 class MessageSimpleView : public MessageView {
17 public:
18 MessageSimpleView(const Notification& notification,
19 NotificationChangeObserver* observer);
20 virtual ~MessageSimpleView();
22 // Overridden from MessageView:
23 virtual void ButtonPressed(views::Button* sender,
24 const ui::Event& event) OVERRIDE;
26 protected:
27 // Overridden from views::View:
28 virtual gfx::Size GetPreferredSize() OVERRIDE;
29 virtual int GetHeightForWidth(int width) OVERRIDE;
30 virtual void Layout() OVERRIDE;
32 MessageSimpleView();
34 private:
35 void SetUpView(const Notification& notification);
37 scoped_ptr<views::ImageButton> old_style_close_button_;
38 scoped_ptr<views::View> content_view_;
40 DISALLOW_COPY_AND_ASSIGN(MessageSimpleView);
43 } // namespace message_center
45 #endif // UI_MESSAGE_CENTER_VIEWS_MESSAGE_SIMPLE_VIEW_H_