Home | History | Annotate | Download | only in launcher
      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 CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_APP_MENU_ITEM_V2APP_H_
      6 #define CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_APP_MENU_ITEM_V2APP_H_
      7 
      8 #include <string>
      9 
     10 #include "chrome/browser/ui/ash/launcher/chrome_launcher_app_menu_item.h"
     11 
     12 namespace gfx {
     13 class image;
     14 }
     15 
     16 class ChromeLauncherController;
     17 
     18 // A menu item controller for a running V2 application. It gets created when an
     19 // application list gets created. It's main purpose is to add the activation
     20 // method to the |ChromeLauncherAppMenuItem| class.
     21 class ChromeLauncherAppMenuItemV2App : public ChromeLauncherAppMenuItem {
     22  public:
     23   ChromeLauncherAppMenuItemV2App(
     24       const base::string16 title,
     25       const gfx::Image* icon,
     26       const std::string& app_id,
     27       ChromeLauncherController* launcher_controller,
     28       int app_index,
     29       bool has_leading_separator);
     30   virtual bool IsEnabled() const OVERRIDE;
     31   virtual void Execute(int event_flags) OVERRIDE;
     32 
     33  private:
     34   // The owning class which can be used to validate the controller.
     35   ChromeLauncherController* launcher_controller_;
     36 
     37   // The application ID.
     38   const std::string app_id_;
     39 
     40   // The index for the given application.
     41   const int app_index_;
     42 
     43   DISALLOW_COPY_AND_ASSIGN(ChromeLauncherAppMenuItemV2App);
     44 };
     45 
     46 #endif  // CHROME_BROWSER_UI_ASH_LAUNCHER_CHROME_LAUNCHER_APP_MENU_ITEM_V2APP_H_
     47