Home | History | Annotate | Download | only in shell
      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
      3 // found in the LICENSE file.
      4 
      5 #ifndef ASH_SHELL_LAUNCHER_DELEGATE_IMPL_H_
      6 #define ASH_SHELL_LAUNCHER_DELEGATE_IMPL_H_
      7 
      8 #include "ash/launcher/launcher_delegate.h"
      9 #include "base/compiler_specific.h"
     10 
     11 namespace aura {
     12 class Window;
     13 }
     14 
     15 namespace ash {
     16 namespace shell {
     17 
     18 class WindowWatcher;
     19 
     20 class LauncherDelegateImpl : public ash::LauncherDelegate {
     21  public:
     22   explicit LauncherDelegateImpl(WindowWatcher* watcher);
     23   virtual ~LauncherDelegateImpl();
     24 
     25   void set_watcher(WindowWatcher* watcher) { watcher_ = watcher; }
     26 
     27   // LauncherDelegate overrides:
     28   virtual void ItemSelected(const ash::LauncherItem& item,
     29                            const ui::Event& event) OVERRIDE;
     30   virtual base::string16 GetTitle(const ash::LauncherItem& item) OVERRIDE;
     31   virtual ui::MenuModel* CreateContextMenu(
     32       const ash::LauncherItem& item,
     33       aura::RootWindow* root) OVERRIDE;
     34   virtual ash::LauncherMenuModel* CreateApplicationMenu(
     35       const ash::LauncherItem&,
     36       int event_flags) OVERRIDE;
     37   virtual ash::LauncherID GetIDByWindow(aura::Window* window) OVERRIDE;
     38   virtual bool IsDraggable(const ash::LauncherItem& item) OVERRIDE;
     39   virtual bool ShouldShowTooltip(const LauncherItem& item) OVERRIDE;
     40   virtual void OnLauncherCreated(Launcher* launcher) OVERRIDE;
     41   virtual void OnLauncherDestroyed(Launcher* launcher) OVERRIDE;
     42   virtual bool IsPerAppLauncher() OVERRIDE;
     43   virtual LauncherID GetLauncherIDForAppID(const std::string& app_id) OVERRIDE;
     44   virtual void PinAppWithID(const std::string& app_id) OVERRIDE;
     45   virtual bool IsAppPinned(const std::string& app_id) OVERRIDE;
     46   virtual void UnpinAppsWithID(const std::string& app_id) OVERRIDE;
     47 
     48  private:
     49   // Used to update Launcher. Owned by main.
     50   WindowWatcher* watcher_;
     51 
     52   DISALLOW_COPY_AND_ASSIGN(LauncherDelegateImpl);
     53 };
     54 
     55 }  // namespace shell
     56 }  // namespace ash
     57 
     58 #endif  // ASH_SHELL_LAUNCHER_DELEGATE_IMPL_H_
     59