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

Side by Side Diff: athena/home/home_card_impl.cc

Issue 641683003: C++11 override style change for athena (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: rebase Created 6 years, 1 month 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
« no previous file with comments | « athena/home/home_card_impl.h ('k') | athena/home/minimized_home.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 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 #include "athena/home/home_card_impl.h" 5 #include "athena/home/home_card_impl.h"
6 6
7 #include <cmath> 7 #include <cmath>
8 #include <limits> 8 #include <limits>
9 9
10 #include "athena/env/public/athena_env.h" 10 #include "athena/env/public/athena_env.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
62 } 62 }
63 63
64 } // namespace 64 } // namespace
65 65
66 // Makes sure the homecard is center-aligned horizontally and bottom-aligned 66 // Makes sure the homecard is center-aligned horizontally and bottom-aligned
67 // vertically. 67 // vertically.
68 class HomeCardLayoutManager : public aura::LayoutManager { 68 class HomeCardLayoutManager : public aura::LayoutManager {
69 public: 69 public:
70 HomeCardLayoutManager() : home_card_(nullptr), minimized_layer_(nullptr) {} 70 HomeCardLayoutManager() : home_card_(nullptr), minimized_layer_(nullptr) {}
71 71
72 virtual ~HomeCardLayoutManager() {} 72 ~HomeCardLayoutManager() override {}
73 73
74 void Layout(bool animate, gfx::Tween::Type tween_type) { 74 void Layout(bool animate, gfx::Tween::Type tween_type) {
75 // |home_card| could be detached from the root window (e.g. when it is being 75 // |home_card| could be detached from the root window (e.g. when it is being
76 // destroyed). 76 // destroyed).
77 if (!home_card_ || !home_card_->IsVisible() || !home_card_->GetRootWindow()) 77 if (!home_card_ || !home_card_->IsVisible() || !home_card_->GetRootWindow())
78 return; 78 return;
79 79
80 scoped_ptr<ui::ScopedLayerAnimationSettings> settings; 80 scoped_ptr<ui::ScopedLayerAnimationSettings> settings;
81 if (animate) { 81 if (animate) {
82 settings.reset(new ui::ScopedLayerAnimationSettings( 82 settings.reset(new ui::ScopedLayerAnimationSettings(
(...skipping 12 matching lines...) Expand all
95 private: 95 private:
96 void UpdateMinimizedHomeBounds() { 96 void UpdateMinimizedHomeBounds() {
97 gfx::Rect minimized_bounds = minimized_layer_->parent()->bounds(); 97 gfx::Rect minimized_bounds = minimized_layer_->parent()->bounds();
98 minimized_bounds.set_y( 98 minimized_bounds.set_y(
99 minimized_bounds.bottom() - kHomeCardMinimizedHeight); 99 minimized_bounds.bottom() - kHomeCardMinimizedHeight);
100 minimized_bounds.set_height(kHomeCardMinimizedHeight); 100 minimized_bounds.set_height(kHomeCardMinimizedHeight);
101 minimized_layer_->SetBounds(minimized_bounds); 101 minimized_layer_->SetBounds(minimized_bounds);
102 } 102 }
103 103
104 // aura::LayoutManager: 104 // aura::LayoutManager:
105 virtual void OnWindowResized() override { 105 void OnWindowResized() override {
106 Layout(false, gfx::Tween::LINEAR); 106 Layout(false, gfx::Tween::LINEAR);
107 UpdateMinimizedHomeBounds(); 107 UpdateMinimizedHomeBounds();
108 } 108 }
109 virtual void OnWindowAddedToLayout(aura::Window* child) override { 109 void OnWindowAddedToLayout(aura::Window* child) override {
110 if (!home_card_) { 110 if (!home_card_) {
111 home_card_ = child; 111 home_card_ = child;
112 Layout(false, gfx::Tween::LINEAR); 112 Layout(false, gfx::Tween::LINEAR);
113 } 113 }
114 } 114 }
115 virtual void OnWillRemoveWindowFromLayout(aura::Window* child) override { 115 void OnWillRemoveWindowFromLayout(aura::Window* child) override {
116 if (home_card_ == child) 116 if (home_card_ == child)
117 home_card_ = nullptr; 117 home_card_ = nullptr;
118 } 118 }
119 virtual void OnWindowRemovedFromLayout(aura::Window* child) override { 119 void OnWindowRemovedFromLayout(aura::Window* child) override {}
120 } 120 void OnChildWindowVisibilityChanged(aura::Window* child,
121 virtual void OnChildWindowVisibilityChanged(aura::Window* child, 121 bool visible) override {
122 bool visible) override {
123 if (home_card_ == child) 122 if (home_card_ == child)
124 Layout(false, gfx::Tween::LINEAR); 123 Layout(false, gfx::Tween::LINEAR);
125 } 124 }
126 virtual void SetChildBounds(aura::Window* child, 125 void SetChildBounds(aura::Window* child,
127 const gfx::Rect& requested_bounds) override { 126 const gfx::Rect& requested_bounds) override {
128 SetChildBoundsDirect(child, requested_bounds); 127 SetChildBoundsDirect(child, requested_bounds);
129 } 128 }
130 129
131 aura::Window* home_card_; 130 aura::Window* home_card_;
132 ui::Layer* minimized_layer_; 131 ui::Layer* minimized_layer_;
133 132
134 DISALLOW_COPY_AND_ASSIGN(HomeCardLayoutManager); 133 DISALLOW_COPY_AND_ASSIGN(HomeCardLayoutManager);
135 }; 134 };
136 135
137 // The container view of home card contents of each state. 136 // The container view of home card contents of each state.
138 class HomeCardView : public views::WidgetDelegateView, 137 class HomeCardView : public views::WidgetDelegateView,
139 public AthenaStartPageView::Observer { 138 public AthenaStartPageView::Observer {
140 public: 139 public:
141 HomeCardView(app_list::AppListViewDelegate* view_delegate, 140 HomeCardView(app_list::AppListViewDelegate* view_delegate,
142 aura::Window* container, 141 aura::Window* container,
143 HomeCardGestureManager::Delegate* gesture_delegate) 142 HomeCardGestureManager::Delegate* gesture_delegate)
144 : gesture_delegate_(gesture_delegate) { 143 : gesture_delegate_(gesture_delegate) {
145 SetLayoutManager(new views::FillLayout()); 144 SetLayoutManager(new views::FillLayout());
146 // Ideally AppListMainView should be used here and have AthenaStartPageView 145 // Ideally AppListMainView should be used here and have AthenaStartPageView
147 // as its child view, so that custom pages and apps grid are available in 146 // as its child view, so that custom pages and apps grid are available in
148 // the home card. 147 // the home card.
149 // TODO(mukai): make it so after the detailed UI has been fixed. 148 // TODO(mukai): make it so after the detailed UI has been fixed.
150 main_view_ = new AthenaStartPageView(view_delegate); 149 main_view_ = new AthenaStartPageView(view_delegate);
151 main_view_->AddObserver(this); 150 main_view_->AddObserver(this);
152 AddChildView(main_view_); 151 AddChildView(main_view_);
153 } 152 }
154 153
155 virtual ~HomeCardView() { main_view_->RemoveObserver(this); } 154 ~HomeCardView() override { main_view_->RemoveObserver(this); }
156 155
157 void SetStateProgress(HomeCard::State from_state, 156 void SetStateProgress(HomeCard::State from_state,
158 HomeCard::State to_state, 157 HomeCard::State to_state,
159 float progress) { 158 float progress) {
160 // TODO(mukai): not clear the focus, but simply close the virtual keyboard. 159 // TODO(mukai): not clear the focus, but simply close the virtual keyboard.
161 GetFocusManager()->ClearFocus(); 160 GetFocusManager()->ClearFocus();
162 if (from_state == HomeCard::VISIBLE_CENTERED) 161 if (from_state == HomeCard::VISIBLE_CENTERED)
163 main_view_->SetLayoutState(1.0f - progress); 162 main_view_->SetLayoutState(1.0f - progress);
164 else if (to_state == HomeCard::VISIBLE_CENTERED) 163 else if (to_state == HomeCard::VISIBLE_CENTERED)
165 main_view_->SetLayoutState(progress); 164 main_view_->SetLayoutState(progress);
(...skipping 10 matching lines...) Expand all
176 175
177 main_view_->SetLayoutStateWithAnimation( 176 main_view_->SetLayoutStateWithAnimation(
178 (state == HomeCard::VISIBLE_CENTERED) ? 1.0f : 0.0f, tween_type); 177 (state == HomeCard::VISIBLE_CENTERED) ? 1.0f : 0.0f, tween_type);
179 } 178 }
180 179
181 void ClearGesture() { 180 void ClearGesture() {
182 gesture_manager_.reset(); 181 gesture_manager_.reset();
183 } 182 }
184 183
185 // views::View: 184 // views::View:
186 virtual void OnGestureEvent(ui::GestureEvent* event) override { 185 void OnGestureEvent(ui::GestureEvent* event) override {
187 if (!gesture_manager_ && 186 if (!gesture_manager_ &&
188 event->type() == ui::ET_GESTURE_SCROLL_BEGIN) { 187 event->type() == ui::ET_GESTURE_SCROLL_BEGIN) {
189 gesture_manager_.reset(new HomeCardGestureManager( 188 gesture_manager_.reset(new HomeCardGestureManager(
190 gesture_delegate_, 189 gesture_delegate_,
191 GetWidget()->GetNativeWindow()->GetRootWindow()->bounds())); 190 GetWidget()->GetNativeWindow()->GetRootWindow()->bounds()));
192 } 191 }
193 192
194 if (gesture_manager_) 193 if (gesture_manager_)
195 gesture_manager_->ProcessGestureEvent(event); 194 gesture_manager_->ProcessGestureEvent(event);
196 } 195 }
197 virtual bool OnMousePressed(const ui::MouseEvent& event) override { 196 bool OnMousePressed(const ui::MouseEvent& event) override {
198 if (HomeCard::Get()->GetState() == HomeCard::VISIBLE_MINIMIZED && 197 if (HomeCard::Get()->GetState() == HomeCard::VISIBLE_MINIMIZED &&
199 event.IsLeftMouseButton() && event.GetClickCount() == 1) { 198 event.IsLeftMouseButton() && event.GetClickCount() == 1) {
200 athena::WindowManager::Get()->EnterOverview(); 199 athena::WindowManager::Get()->EnterOverview();
201 return true; 200 return true;
202 } 201 }
203 return false; 202 return false;
204 } 203 }
205 204
206 private: 205 private:
207 void UpdateShadow(bool should_show) { 206 void UpdateShadow(bool should_show) {
208 wm::SetShadowType( 207 wm::SetShadowType(
209 GetWidget()->GetNativeWindow(), 208 GetWidget()->GetNativeWindow(),
210 should_show ? wm::SHADOW_TYPE_RECTANGULAR : wm::SHADOW_TYPE_NONE); 209 should_show ? wm::SHADOW_TYPE_RECTANGULAR : wm::SHADOW_TYPE_NONE);
211 } 210 }
212 211
213 // views::WidgetDelegate: 212 // views::WidgetDelegate:
214 virtual views::View* GetContentsView() override { 213 views::View* GetContentsView() override { return this; }
215 return this;
216 }
217 214
218 // AthenaStartPageView::Observer: 215 // AthenaStartPageView::Observer:
219 virtual void OnLayoutStateChanged(float new_state) override { 216 void OnLayoutStateChanged(float new_state) override {
220 if (new_state == 1.0f) 217 if (new_state == 1.0f)
221 HomeCard::Get()->SetState(HomeCard::VISIBLE_CENTERED); 218 HomeCard::Get()->SetState(HomeCard::VISIBLE_CENTERED);
222 } 219 }
223 220
224 AthenaStartPageView* main_view_; 221 AthenaStartPageView* main_view_;
225 scoped_ptr<HomeCardGestureManager> gesture_manager_; 222 scoped_ptr<HomeCardGestureManager> gesture_manager_;
226 HomeCardGestureManager::Delegate* gesture_delegate_; 223 HomeCardGestureManager::Delegate* gesture_delegate_;
227 224
228 DISALLOW_COPY_AND_ASSIGN(HomeCardView); 225 DISALLOW_COPY_AND_ASSIGN(HomeCardView);
229 }; 226 };
(...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after
440 instance = nullptr; 437 instance = nullptr;
441 } 438 }
442 439
443 // static 440 // static
444 HomeCard* HomeCard::Get() { 441 HomeCard* HomeCard::Get() {
445 DCHECK(instance); 442 DCHECK(instance);
446 return instance; 443 return instance;
447 } 444 }
448 445
449 } // namespace athena 446 } // namespace athena
OLDNEW
« no previous file with comments | « athena/home/home_card_impl.h ('k') | athena/home/minimized_home.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698