Commit 0af01dd8 authored by pkotwicz@chromium.org's avatar pkotwicz@chromium.org

Move the implementation of HomeCardImpl out of the class declaration

BUG=None
TEST=None

Review URL: https://codereview.chromium.org/463733003

Cr-Commit-Position: refs/heads/master@{#289281}
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@289281 0039d316-1c4b-4281-b951-d872f2087c98
parent e71c585d
...@@ -369,71 +369,23 @@ class HomeCardImpl : public HomeCard, ...@@ -369,71 +369,23 @@ class HomeCardImpl : public HomeCard,
// AcceleratorHandler: // AcceleratorHandler:
virtual bool IsCommandEnabled(int command_id) const OVERRIDE { return true; } virtual bool IsCommandEnabled(int command_id) const OVERRIDE { return true; }
virtual bool OnAcceleratorFired(int command_id, virtual bool OnAcceleratorFired(int command_id,
const ui::Accelerator& accelerator) OVERRIDE { const ui::Accelerator& accelerator) OVERRIDE;
DCHECK_EQ(COMMAND_SHOW_HOME_CARD, command_id);
if (state_ == VISIBLE_CENTERED && original_state_ != VISIBLE_BOTTOM)
SetState(VISIBLE_MINIMIZED);
else if (state_ == VISIBLE_MINIMIZED)
SetState(VISIBLE_CENTERED);
return true;
}
// HomeCardLayoutManager::Delegate: // HomeCardLayoutManager::Delegate:
virtual aura::Window* GetNativeWindow() OVERRIDE { virtual aura::Window* GetNativeWindow() OVERRIDE;
if (state_ == HIDDEN)
return NULL;
return home_card_widget_ ? home_card_widget_->GetNativeWindow() : NULL;
}
// HomeCardGestureManager::Delegate: // HomeCardGestureManager::Delegate:
virtual void OnGestureEnded(State final_state) OVERRIDE { virtual void OnGestureEnded(State final_state) OVERRIDE;
home_card_view_->ClearGesture();
if (state_ != final_state &&
(state_ == VISIBLE_MINIMIZED || final_state == VISIBLE_MINIMIZED)) {
WindowManager::GetInstance()->ToggleOverview();
} else {
state_ = final_state;
home_card_view_->SetState(final_state);
layout_manager_->Layout();
}
}
virtual void OnGestureProgressed( virtual void OnGestureProgressed(
State from_state, State to_state, float progress) OVERRIDE { State from_state, State to_state, float progress) OVERRIDE;
// Do not update |state_| but update the look of home_card_view.
// TODO(mukai): allow mixed visual of |from_state| and |to_state|.
home_card_view_->SetState(to_state);
gfx::Rect screen_bounds =
home_card_widget_->GetNativeWindow()->GetRootWindow()->bounds();
home_card_widget_->SetBounds(gfx::Tween::RectValueBetween(
progress,
GetBoundsForState(screen_bounds, from_state),
GetBoundsForState(screen_bounds, to_state)));
// TODO(mukai): signals the update to the window manager so that it shows
// the intermediate visual state of overview mode.
}
// WindowManagerObserver: // WindowManagerObserver:
virtual void OnOverviewModeEnter() OVERRIDE { virtual void OnOverviewModeEnter() OVERRIDE;
SetState(VISIBLE_BOTTOM); virtual void OnOverviewModeExit() OVERRIDE;
}
virtual void OnOverviewModeExit() OVERRIDE {
SetState(VISIBLE_MINIMIZED);
}
// aura::client::ActivationChangeObserver: // aura::client::ActivationChangeObserver:
virtual void OnWindowActivated(aura::Window* gained_active, virtual void OnWindowActivated(aura::Window* gained_active,
aura::Window* lost_active) OVERRIDE { aura::Window* lost_active) OVERRIDE;
if (state_ != HIDDEN &&
gained_active != home_card_widget_->GetNativeWindow()) {
SetState(VISIBLE_MINIMIZED);
}
}
scoped_ptr<AppModelBuilder> model_builder_; scoped_ptr<AppModelBuilder> model_builder_;
...@@ -478,6 +430,47 @@ HomeCardImpl::~HomeCardImpl() { ...@@ -478,6 +430,47 @@ HomeCardImpl::~HomeCardImpl() {
instance = NULL; instance = NULL;
} }
void HomeCardImpl::Init() {
InstallAccelerators();
ScreenManager::ContainerParams params("HomeCardContainer", CP_HOME_CARD);
params.can_activate_children = true;
aura::Window* container = ScreenManager::Get()->CreateContainer(params);
layout_manager_ = new HomeCardLayoutManager(this);
container->SetLayoutManager(layout_manager_);
wm::SetChildWindowVisibilityChangesAnimated(container);
view_delegate_.reset(new AppListViewDelegate(model_builder_.get()));
if (search_provider_)
view_delegate_->RegisterSearchProvider(search_provider_.get());
home_card_view_ = new HomeCardView(view_delegate_.get(), container, this);
home_card_widget_ = new views::Widget();
views::Widget::InitParams widget_params(
views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
widget_params.parent = container;
widget_params.delegate = home_card_view_;
widget_params.opacity = views::Widget::InitParams::TRANSLUCENT_WINDOW;
home_card_widget_->Init(widget_params);
SetState(VISIBLE_MINIMIZED);
home_card_view_->Layout();
activation_client_ =
aura::client::GetActivationClient(container->GetRootWindow());
if (activation_client_)
activation_client_->AddObserver(this);
}
void HomeCardImpl::InstallAccelerators() {
const AcceleratorData accelerator_data[] = {
{TRIGGER_ON_PRESS, ui::VKEY_L, ui::EF_CONTROL_DOWN,
COMMAND_SHOW_HOME_CARD, AF_NONE},
};
AcceleratorManager::Get()->RegisterAccelerators(
accelerator_data, arraysize(accelerator_data), this);
}
void HomeCardImpl::SetState(HomeCard::State state) { void HomeCardImpl::SetState(HomeCard::State state) {
if (state_ == state) if (state_ == state)
return; return;
...@@ -522,45 +515,67 @@ void HomeCardImpl::UpdateVirtualKeyboardBounds( ...@@ -522,45 +515,67 @@ void HomeCardImpl::UpdateVirtualKeyboardBounds(
} }
} }
void HomeCardImpl::Init() { bool HomeCardImpl::OnAcceleratorFired(int command_id,
InstallAccelerators(); const ui::Accelerator& accelerator) {
ScreenManager::ContainerParams params("HomeCardContainer", CP_HOME_CARD); DCHECK_EQ(COMMAND_SHOW_HOME_CARD, command_id);
params.can_activate_children = true;
aura::Window* container = ScreenManager::Get()->CreateContainer(params);
layout_manager_ = new HomeCardLayoutManager(this);
container->SetLayoutManager(layout_manager_); if (state_ == VISIBLE_CENTERED && original_state_ != VISIBLE_BOTTOM)
wm::SetChildWindowVisibilityChangesAnimated(container); SetState(VISIBLE_MINIMIZED);
else if (state_ == VISIBLE_MINIMIZED)
SetState(VISIBLE_CENTERED);
return true;
}
view_delegate_.reset(new AppListViewDelegate(model_builder_.get())); aura::Window* HomeCardImpl::GetNativeWindow() {
if (search_provider_) if (state_ == HIDDEN)
view_delegate_->RegisterSearchProvider(search_provider_.get()); return NULL;
home_card_view_ = new HomeCardView(view_delegate_.get(), container, this); return home_card_widget_ ? home_card_widget_->GetNativeWindow() : NULL;
home_card_widget_ = new views::Widget(); }
views::Widget::InitParams widget_params(
views::Widget::InitParams::TYPE_WINDOW_FRAMELESS);
widget_params.parent = container;
widget_params.delegate = home_card_view_;
widget_params.opacity = views::Widget::InitParams::TRANSLUCENT_WINDOW;
home_card_widget_->Init(widget_params);
SetState(VISIBLE_MINIMIZED); void HomeCardImpl::OnGestureEnded(State final_state) {
home_card_view_->Layout(); home_card_view_->ClearGesture();
if (state_ != final_state &&
(state_ == VISIBLE_MINIMIZED || final_state == VISIBLE_MINIMIZED)) {
WindowManager::GetInstance()->ToggleOverview();
} else {
state_ = final_state;
home_card_view_->SetState(final_state);
layout_manager_->Layout();
}
}
activation_client_ = void HomeCardImpl::OnGestureProgressed(
aura::client::GetActivationClient(container->GetRootWindow()); State from_state, State to_state, float progress) {
if (activation_client_) // Do not update |state_| but update the look of home_card_view.
activation_client_->AddObserver(this); // TODO(mukai): allow mixed visual of |from_state| and |to_state|.
home_card_view_->SetState(to_state);
gfx::Rect screen_bounds =
home_card_widget_->GetNativeWindow()->GetRootWindow()->bounds();
home_card_widget_->SetBounds(gfx::Tween::RectValueBetween(
progress,
GetBoundsForState(screen_bounds, from_state),
GetBoundsForState(screen_bounds, to_state)));
// TODO(mukai): signals the update to the window manager so that it shows the
// intermediate visual state of overview mode.
} }
void HomeCardImpl::InstallAccelerators() { void HomeCardImpl::OnOverviewModeEnter() {
const AcceleratorData accelerator_data[] = { SetState(VISIBLE_BOTTOM);
{TRIGGER_ON_PRESS, ui::VKEY_L, ui::EF_CONTROL_DOWN, }
COMMAND_SHOW_HOME_CARD, AF_NONE},
}; void HomeCardImpl::OnOverviewModeExit() {
AcceleratorManager::Get()->RegisterAccelerators( SetState(VISIBLE_MINIMIZED);
accelerator_data, arraysize(accelerator_data), this); }
void HomeCardImpl::OnWindowActivated(aura::Window* gained_active,
aura::Window* lost_active) {
if (state_ != HIDDEN &&
gained_active != home_card_widget_->GetNativeWindow()) {
SetState(VISIBLE_MINIMIZED);
}
} }
} // namespace } // namespace
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment