Disable view source for Developer Tools.
[chromium-blink-merge.git] / chrome / browser / ui / gtk / status_icons / status_icon_gtk.h
blob142ce9b941f2877686e738a6777b64b7894ad49c
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
3 // found in the LICENSE file.
5 #ifndef CHROME_BROWSER_UI_GTK_STATUS_ICONS_STATUS_ICON_GTK_H_
6 #define CHROME_BROWSER_UI_GTK_STATUS_ICONS_STATUS_ICON_GTK_H_
8 #include <gtk/gtk.h>
10 #include "base/compiler_specific.h"
11 #include "chrome/browser/status_icons/desktop_notification_balloon.h"
12 #include "chrome/browser/status_icons/status_icon.h"
13 #include "ui/base/gtk/gtk_signal.h"
15 class MenuGtk;
17 class StatusIconGtk : public StatusIcon {
18 public:
19 StatusIconGtk();
20 virtual ~StatusIconGtk();
22 // Overridden from StatusIcon:
23 virtual void SetImage(const gfx::ImageSkia& image) OVERRIDE;
24 virtual void SetPressedImage(const gfx::ImageSkia& image) OVERRIDE;
25 virtual void SetToolTip(const base::string16& tool_tip) OVERRIDE;
26 virtual void DisplayBalloon(const gfx::ImageSkia& icon,
27 const base::string16& title,
28 const base::string16& contents) OVERRIDE;
30 // Exposed for testing.
31 CHROMEGTK_CALLBACK_0(StatusIconGtk, void, OnClick);
33 protected:
34 // Overridden from StatusIcon.
35 virtual void UpdatePlatformContextMenu(
36 StatusIconMenuModel* menu) OVERRIDE;
38 private:
39 // Callback invoked when user right-clicks on the status icon.
40 CHROMEGTK_CALLBACK_2(StatusIconGtk, void, OnPopupMenu, guint, guint);
42 // The currently-displayed icon for the window.
43 GtkStatusIcon* icon_;
45 // The context menu for this icon (if any).
46 scoped_ptr<MenuGtk> menu_;
48 // Notification balloon.
49 DesktopNotificationBalloon notification_;
51 DISALLOW_COPY_AND_ASSIGN(StatusIconGtk);
54 #endif // CHROME_BROWSER_UI_GTK_STATUS_ICONS_STATUS_ICON_GTK_H_