OLD | NEW |
| (Empty) |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 #include "ash/shell/window_watcher_launcher_item_delegate.h" | |
6 | |
7 #include "ash/shell/window_watcher.h" | |
8 #include "ash/wm/window_util.h" | |
9 #include "ui/aura/window.h" | |
10 | |
11 namespace ash { | |
12 namespace shell { | |
13 | |
14 WindowWatcherLauncherItemDelegate::WindowWatcherLauncherItemDelegate( | |
15 ash::LauncherID id, | |
16 ash::shell::WindowWatcher* watcher) | |
17 : id_(id), | |
18 watcher_(watcher) { | |
19 DCHECK_GT(id_, 0); | |
20 DCHECK(watcher_); | |
21 } | |
22 | |
23 WindowWatcherLauncherItemDelegate::~WindowWatcherLauncherItemDelegate() { | |
24 } | |
25 | |
26 void WindowWatcherLauncherItemDelegate::ItemSelected(const ui::Event& event) { | |
27 aura::Window* window = watcher_->GetWindowByID(id_); | |
28 if (window->type() == aura::client::WINDOW_TYPE_PANEL) | |
29 ash::wm::MoveWindowToEventRoot(window, event); | |
30 window->Show(); | |
31 ash::wm::ActivateWindow(window); | |
32 } | |
33 | |
34 base::string16 WindowWatcherLauncherItemDelegate::GetTitle() { | |
35 return watcher_->GetWindowByID(id_)->title(); | |
36 } | |
37 | |
38 ui::MenuModel* WindowWatcherLauncherItemDelegate::CreateContextMenu( | |
39 aura::RootWindow* root_window) { | |
40 return NULL; | |
41 } | |
42 | |
43 ash::LauncherMenuModel* | |
44 WindowWatcherLauncherItemDelegate::CreateApplicationMenu( | |
45 int event_flags) { | |
46 return NULL; | |
47 } | |
48 | |
49 bool WindowWatcherLauncherItemDelegate::IsDraggable() { | |
50 return true; | |
51 } | |
52 | |
53 bool WindowWatcherLauncherItemDelegate::ShouldShowTooltip() { | |
54 return true; | |
55 } | |
56 | |
57 } // namespace shell | |
58 } // namespace ash | |
OLD | NEW |