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

Side by Side Diff: ash/system/tray/tray_views.h

Issue 10078009: Add an accessible name to the restart button (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Code review fixes Created 8 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
« no previous file with comments | « ash/system/settings/tray_settings.cc ('k') | ash/system/tray/tray_views.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 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 ASH_SYSTEM_TRAY_TRAY_VIEWS_H_ 5 #ifndef ASH_SYSTEM_TRAY_TRAY_VIEWS_H_
6 #define ASH_SYSTEM_TRAY_TRAY_VIEWS_H_ 6 #define ASH_SYSTEM_TRAY_TRAY_VIEWS_H_
7 #pragma once 7 #pragma once
8 8
9 #include "ui/gfx/font.h" 9 #include "ui/gfx/font.h"
10 #include "ui/gfx/size.h" 10 #include "ui/gfx/size.h"
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
42 }; 42 };
43 43
44 // A focusable view that performs an action when user clicks on it, or presses 44 // A focusable view that performs an action when user clicks on it, or presses
45 // enter or space when focused. 45 // enter or space when focused.
46 class ActionableView : public views::View { 46 class ActionableView : public views::View {
47 public: 47 public:
48 ActionableView(); 48 ActionableView();
49 49
50 virtual ~ActionableView(); 50 virtual ~ActionableView();
51 51
52 // Set the accessible name.
53 void SetAccessibleName(const string16& name);
54 const string16& accessible_name() const { return accessible_name_; }
55
52 protected: 56 protected:
53 // Performs an action when user clicks on the view (on mouse-press event), or 57 // Performs an action when user clicks on the view (on mouse-press event), or
54 // presses a key when this view is in focus. Returns true if the event has 58 // presses a key when this view is in focus. Returns true if the event has
55 // been handled and an action was performed. Returns false otherwise. 59 // been handled and an action was performed. Returns false otherwise.
56 virtual bool PerformAction(const views::Event& event) = 0; 60 virtual bool PerformAction(const views::Event& event) = 0;
57 61
58 // Overridden from views::View. 62 // Overridden from views::View.
59 virtual bool OnKeyPressed(const views::KeyEvent& event) OVERRIDE; 63 virtual bool OnKeyPressed(const views::KeyEvent& event) OVERRIDE;
60 virtual bool OnMousePressed(const views::MouseEvent& event) OVERRIDE; 64 virtual bool OnMousePressed(const views::MouseEvent& event) OVERRIDE;
65 virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE;
61 virtual void OnPaintFocusBorder(gfx::Canvas* canvas) OVERRIDE; 66 virtual void OnPaintFocusBorder(gfx::Canvas* canvas) OVERRIDE;
62 67
63 private: 68 private:
69 string16 accessible_name_;
70
64 DISALLOW_COPY_AND_ASSIGN(ActionableView); 71 DISALLOW_COPY_AND_ASSIGN(ActionableView);
65 }; 72 };
66 73
67 class ViewClickListener { 74 class ViewClickListener {
68 public: 75 public:
69 virtual ~ViewClickListener() {} 76 virtual ~ViewClickListener() {}
70 virtual void ClickedOn(views::View* sender) = 0; 77 virtual void ClickedOn(views::View* sender) = 0;
71 }; 78 };
72 79
73 // A view that changes background color on hover, and triggers a callback in the 80 // A view that changes background color on hover, and triggers a callback in the
74 // associated ViewClickListener on click. The view can also be forced to 81 // associated ViewClickListener on click. The view can also be forced to
75 // maintain a fixed height. 82 // maintain a fixed height.
76 class HoverHighlightView : public ActionableView { 83 class HoverHighlightView : public ActionableView {
77 public: 84 public:
78 explicit HoverHighlightView(ViewClickListener* listener); 85 explicit HoverHighlightView(ViewClickListener* listener);
79 virtual ~HoverHighlightView(); 86 virtual ~HoverHighlightView();
80 87
81 // Convenience function for adding an icon and a label. 88 // Convenience function for adding an icon and a label. This also sets the
89 // accessible name.
82 void AddIconAndLabel(const SkBitmap& image, 90 void AddIconAndLabel(const SkBitmap& image,
83 const string16& text, 91 const string16& text,
84 gfx::Font::FontStyle style); 92 gfx::Font::FontStyle style);
85 93
86 // Convenience function for adding a label with padding on the left for a 94 // Convenience function for adding a label with padding on the left for a
87 // blank icon. 95 // blank icon. This also sets the accessible name.
88 void AddLabel(const string16& text, gfx::Font::FontStyle style); 96 void AddLabel(const string16& text, gfx::Font::FontStyle style);
89 97
90 // Set the accessible name. Should be used if this doesn't match the label.
91 void SetAccessibleName(const string16& name);
92
93 void set_highlight_color(SkColor color) { highlight_color_ = color; } 98 void set_highlight_color(SkColor color) { highlight_color_ = color; }
94 void set_default_color(SkColor color) { default_color_ = color; } 99 void set_default_color(SkColor color) { default_color_ = color; }
95 void set_fixed_height(int height) { fixed_height_ = height; } 100 void set_fixed_height(int height) { fixed_height_ = height; }
96 101
97 private: 102 private:
98 // Overridden from ActionableView. 103 // Overridden from ActionableView.
99 virtual bool PerformAction(const views::Event& event) OVERRIDE; 104 virtual bool PerformAction(const views::Event& event) OVERRIDE;
100 105
101 // Overridden from views::View. 106 // Overridden from views::View.
102 virtual gfx::Size GetPreferredSize() OVERRIDE; 107 virtual gfx::Size GetPreferredSize() OVERRIDE;
103 virtual void OnMouseEntered(const views::MouseEvent& event) OVERRIDE; 108 virtual void OnMouseEntered(const views::MouseEvent& event) OVERRIDE;
104 virtual void OnMouseExited(const views::MouseEvent& event) OVERRIDE; 109 virtual void OnMouseExited(const views::MouseEvent& event) OVERRIDE;
105 virtual void GetAccessibleState(ui::AccessibleViewState* state) OVERRIDE;
106 virtual void OnEnabledChanged() OVERRIDE; 110 virtual void OnEnabledChanged() OVERRIDE;
107 virtual void OnPaintBackground(gfx::Canvas* canvas) OVERRIDE; 111 virtual void OnPaintBackground(gfx::Canvas* canvas) OVERRIDE;
108 112
109 ViewClickListener* listener_; 113 ViewClickListener* listener_;
110 string16 accessible_name_;
111 SkColor highlight_color_; 114 SkColor highlight_color_;
112 SkColor default_color_; 115 SkColor default_color_;
113 int fixed_height_; 116 int fixed_height_;
114 bool hover_; 117 bool hover_;
115 118
116 DISALLOW_COPY_AND_ASSIGN(HoverHighlightView); 119 DISALLOW_COPY_AND_ASSIGN(HoverHighlightView);
117 }; 120 };
118 121
119 // A custom scroll-view that has a specified dimension. 122 // A custom scroll-view that has a specified dimension.
120 class FixedSizedScrollView : public views::ScrollView { 123 class FixedSizedScrollView : public views::ScrollView {
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
200 views::View* CreateDetailedHeaderEntry(int string_id, 203 views::View* CreateDetailedHeaderEntry(int string_id,
201 ViewClickListener* listener); 204 ViewClickListener* listener);
202 205
203 // Sets up a Label properly for the tray (sets color, font etc.). 206 // Sets up a Label properly for the tray (sets color, font etc.).
204 void SetupLabelForTray(views::Label* label); 207 void SetupLabelForTray(views::Label* label);
205 208
206 } // namespace internal 209 } // namespace internal
207 } // namespace ash 210 } // namespace ash
208 211
209 #endif // ASH_SYSTEM_TRAY_TRAY_VIEWS_H_ 212 #endif // ASH_SYSTEM_TRAY_TRAY_VIEWS_H_
OLDNEW
« no previous file with comments | « ash/system/settings/tray_settings.cc ('k') | ash/system/tray/tray_views.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698