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,
// AcceleratorHandler:
virtual bool IsCommandEnabled(int command_id) const OVERRIDE { return true; }
virtual bool OnAcceleratorFired(int command_id,
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;
}
const ui::Accelerator& accelerator) OVERRIDE;
// HomeCardLayoutManager::Delegate:
virtual aura::Window* GetNativeWindow() OVERRIDE {
if (state_ == HIDDEN)
return NULL;
return home_card_widget_ ? home_card_widget_->GetNativeWindow() : NULL;
}
virtual aura::Window* GetNativeWindow() OVERRIDE;
// HomeCardGestureManager::Delegate:
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 OnGestureEnded(State final_state) OVERRIDE;
virtual void OnGestureProgressed(
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.
}
State from_state, State to_state, float progress) OVERRIDE;
// WindowManagerObserver:
virtual void OnOverviewModeEnter() OVERRIDE {
SetState(VISIBLE_BOTTOM);
}
virtual void OnOverviewModeExit() OVERRIDE {
SetState(VISIBLE_MINIMIZED);
}
virtual void OnOverviewModeEnter() OVERRIDE;
virtual void OnOverviewModeExit() OVERRIDE;
// aura::client::ActivationChangeObserver:
virtual void OnWindowActivated(aura::Window* gained_active,
aura::Window* lost_active) OVERRIDE {
if (state_ != HIDDEN &&
gained_active != home_card_widget_->GetNativeWindow()) {
SetState(VISIBLE_MINIMIZED);
}
}
aura::Window* lost_active) OVERRIDE;
scoped_ptr<AppModelBuilder> model_builder_;
......@@ -478,6 +430,47 @@ HomeCardImpl::~HomeCardImpl() {
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) {
if (state_ == state)
return;
......@@ -522,45 +515,67 @@ void HomeCardImpl::UpdateVirtualKeyboardBounds(
}
}
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);
bool HomeCardImpl::OnAcceleratorFired(int command_id,
const ui::Accelerator& accelerator) {
DCHECK_EQ(COMMAND_SHOW_HOME_CARD, command_id);
container->SetLayoutManager(layout_manager_);
wm::SetChildWindowVisibilityChangesAnimated(container);
if (state_ == VISIBLE_CENTERED && original_state_ != VISIBLE_BOTTOM)
SetState(VISIBLE_MINIMIZED);
else if (state_ == VISIBLE_MINIMIZED)
SetState(VISIBLE_CENTERED);
return true;
}
view_delegate_.reset(new AppListViewDelegate(model_builder_.get()));
if (search_provider_)
view_delegate_->RegisterSearchProvider(search_provider_.get());
aura::Window* HomeCardImpl::GetNativeWindow() {
if (state_ == HIDDEN)
return NULL;
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);
return home_card_widget_ ? home_card_widget_->GetNativeWindow() : NULL;
}
SetState(VISIBLE_MINIMIZED);
home_card_view_->Layout();
void HomeCardImpl::OnGestureEnded(State final_state) {
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_ =
aura::client::GetActivationClient(container->GetRootWindow());
if (activation_client_)
activation_client_->AddObserver(this);
void HomeCardImpl::OnGestureProgressed(
State from_state, State to_state, float progress) {
// 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.
}
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::OnOverviewModeEnter() {
SetState(VISIBLE_BOTTOM);
}
void HomeCardImpl::OnOverviewModeExit() {
SetState(VISIBLE_MINIMIZED);
}
void HomeCardImpl::OnWindowActivated(aura::Window* gained_active,
aura::Window* lost_active) {
if (state_ != HIDDEN &&
gained_active != home_card_widget_->GetNativeWindow()) {
SetState(VISIBLE_MINIMIZED);
}
}
} // 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