Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(142)

Side by Side Diff: chrome/browser/ui/gtk/infobars/confirm_infobar_gtk.h

Issue 14327008: Add InitWidgets() phase for GTK infobars. (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #ifndef CHROME_BROWSER_UI_GTK_INFOBARS_CONFIRM_INFOBAR_GTK_H_ 5 #ifndef CHROME_BROWSER_UI_GTK_INFOBARS_CONFIRM_INFOBAR_GTK_H_
6 #define CHROME_BROWSER_UI_GTK_INFOBARS_CONFIRM_INFOBAR_GTK_H_ 6 #define CHROME_BROWSER_UI_GTK_INFOBARS_CONFIRM_INFOBAR_GTK_H_
7 7
8 #include "base/basictypes.h" 8 #include "base/basictypes.h"
9 #include "chrome/browser/infobars/confirm_infobar_delegate.h" 9 #include "chrome/browser/infobars/confirm_infobar_delegate.h"
10 #include "chrome/browser/ui/gtk/infobars/infobar_gtk.h" 10 #include "chrome/browser/ui/gtk/infobars/infobar_gtk.h"
11 #include "ui/base/gtk/gtk_signal.h" 11 #include "ui/base/gtk/gtk_signal.h"
12 12
13 typedef struct _GtkSizeGroup GtkSizeGroup; 13 typedef struct _GtkSizeGroup GtkSizeGroup;
14 typedef struct _GtkWidget GtkWidget; 14 typedef struct _GtkWidget GtkWidget;
15 15
16 // An infobar that shows a message, up to two optional buttons, and an optional, 16 // An infobar that shows a message, up to two optional buttons, and an optional,
17 // right-aligned link. This is commonly used to do things like: 17 // right-aligned link. This is commonly used to do things like:
18 // "Would you like to do X? [Yes] [No] _Learn More_ [x]" 18 // "Would you like to do X? [Yes] [No] _Learn More_ [x]"
19 class ConfirmInfoBarGtk : public InfoBarGtk { 19 class ConfirmInfoBarGtk : public InfoBarGtk {
20 public: 20 public:
21 ConfirmInfoBarGtk(InfoBarService* owner, 21 ConfirmInfoBarGtk(InfoBarService* owner,
22 ConfirmInfoBarDelegate* delegate); 22 ConfirmInfoBarDelegate* delegate);
23 23
24 private: 24 private:
25 virtual ~ConfirmInfoBarGtk(); 25 virtual ~ConfirmInfoBarGtk();
26 26
27 // InfoBarGtk:
28 virtual void InitWidgets() OVERRIDE;
29
30 ConfirmInfoBarDelegate* GetDelegate();
31
27 // Adds a button to the info bar by type. It will do nothing if the delegate 32 // Adds a button to the info bar by type. It will do nothing if the delegate
28 // doesn't specify a button of the given type. 33 // doesn't specify a button of the given type.
29 void AddButton(ConfirmInfoBarDelegate::InfoBarButton type); 34 void AddButton(ConfirmInfoBarDelegate::InfoBarButton type);
30 35
31 CHROMEGTK_CALLBACK_0(ConfirmInfoBarGtk, void, OnOkButton); 36 CHROMEGTK_CALLBACK_0(ConfirmInfoBarGtk, void, OnOkButton);
32 CHROMEGTK_CALLBACK_0(ConfirmInfoBarGtk, void, OnCancelButton); 37 CHROMEGTK_CALLBACK_0(ConfirmInfoBarGtk, void, OnCancelButton);
33 CHROMEGTK_CALLBACK_0(ConfirmInfoBarGtk, void, OnLinkClicked); 38 CHROMEGTK_CALLBACK_0(ConfirmInfoBarGtk, void, OnLinkClicked);
34 39
35 GtkWidget* confirm_hbox_; 40 GtkWidget* confirm_hbox_;
36 41
37 GtkSizeGroup* size_group_; 42 GtkSizeGroup* size_group_;
38 43
39 DISALLOW_COPY_AND_ASSIGN(ConfirmInfoBarGtk); 44 DISALLOW_COPY_AND_ASSIGN(ConfirmInfoBarGtk);
40 }; 45 };
41 46
42 #endif // CHROME_BROWSER_UI_GTK_INFOBARS_CONFIRM_INFOBAR_GTK_H_ 47 #endif // CHROME_BROWSER_UI_GTK_INFOBARS_CONFIRM_INFOBAR_GTK_H_
OLDNEW
« no previous file with comments | « chrome/browser/ui/gtk/infobars/before_translate_infobar_gtk.cc ('k') | chrome/browser/ui/gtk/infobars/confirm_infobar_gtk.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698