Home | History | Annotate | Download | only in shelf
      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 #ifndef ASH_SHELF_SHELF_MENU_MODEL_H_
      6 #define ASH_SHELF_SHELF_MENU_MODEL_H_
      7 
      8 #include "ash/ash_export.h"
      9 #include "ui/base/models/simple_menu_model.h"
     10 
     11 namespace ash {
     12 
     13 // A special menu model which keeps track of an "active" menu item.
     14 class ASH_EXPORT ShelfMenuModel : public ui::SimpleMenuModel {
     15  public:
     16   explicit ShelfMenuModel(ui::SimpleMenuModel::Delegate* delegate)
     17       : ui::SimpleMenuModel(delegate) {}
     18 
     19   // Returns |true| when the given |command_id| is active and needs to be drawn
     20   // in a special state.
     21   virtual bool IsCommandActive(int command_id) const = 0;
     22 
     23  private:
     24   DISALLOW_COPY_AND_ASSIGN(ShelfMenuModel);
     25 };
     26 
     27 }  // namespace ash
     28 
     29 #endif  // ASH_SHELF_SHELF_MENU_MODEL_H_
     30