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

Unified Diff: ash/system/tray/tray_utils.h

Issue 9753019: ash: Add a bluetooth entry in the uber tray. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: comment Created 8 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: ash/system/tray/tray_utils.h
diff --git a/ash/system/tray/tray_utils.h b/ash/system/tray/tray_utils.h
new file mode 100644
index 0000000000000000000000000000000000000000..bca5e4cd0fbdbe8ed85a1d04c49ba692358b414a
--- /dev/null
+++ b/ash/system/tray/tray_utils.h
@@ -0,0 +1,67 @@
+// 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 ASH_SYSTEM_TRAY_TRAY_UTILS_H_
Ben Goodger (Google) 2012/03/21 15:52:14 tray_views.h
sadrul 2012/03/21 16:16:42 Done.
+#define ASH_SYSTEM_TRAY_TRAY_UTILS_H_
+#pragma once
+
+#include "ui/gfx/font.h"
+#include "ui/gfx/size.h"
+#include "ui/views/controls/image_view.h"
+#include "ui/views/view.h"
+
+class SkBitmap;
+
+namespace ash {
+namespace internal {
+
+// An image view with that always has a fixed width (kTrayPopupDetailsIconWidth)
+class FixedWidthImageView : public views::ImageView {
+ public:
+ FixedWidthImageView();
+ virtual ~FixedWidthImageView();
+
+ private:
+ virtual gfx::Size GetPreferredSize() OVERRIDE;
+
+ DISALLOW_COPY_AND_ASSIGN(FixedWidthImageView);
+};
+
+class ViewClickListener {
+ public:
+ virtual ~ViewClickListener() {}
+ virtual void ClickedOn(views::View* sender) = 0;
+};
+
+// A view that changes background color on hover, and triggers a callback in the
+// associated ViewClickListener on click.
+class HoverHighlightView : public views::View {
+ public:
+ explicit HoverHighlightView(ViewClickListener* listener);
+ virtual ~HoverHighlightView();
+
+ // Convenience function for adding an icon and a label.
+ void AddIconAndLabel(const SkBitmap& image,
+ const string16& text,
+ gfx::Font::FontStyle style);
+
+ // Convenience function for adding a label with padding on the left for a
+ // blank icon.
+ void AddLabel(const string16& text);
+
+ private:
+ // Overridden from views::View.
+ virtual bool OnMousePressed(const views::MouseEvent& event) OVERRIDE;
+ virtual void OnMouseEntered(const views::MouseEvent& event) OVERRIDE;
+ virtual void OnMouseExited(const views::MouseEvent& event) OVERRIDE;
+
+ ViewClickListener* listener_;
+
+ DISALLOW_COPY_AND_ASSIGN(HoverHighlightView);
+};
+
+} // namespace internal
+} // namespace ash
+
+#endif // ASH_SYSTEM_TRAY_TRAY_UTILS_H_

Powered by Google App Engine
This is Rietveld 408576698