blob: 4a4b5e7ca232b44e4451f20cbb22c9f633473bd4 [file] [log] [blame]
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_UI_APP_LIST_CHROME_APP_LIST_ITEM_H_
#define CHROME_BROWSER_UI_APP_LIST_CHROME_APP_LIST_ITEM_H_
#include "ui/app_list/app_list_item_model.h"
// Base class of all chrome app list items. Chrome's AppListViewDelegate assumes
// all items are derived from this class and calls Activate when an item is
// activated.
class ChromeAppListItem : public app_list::AppListItemModel {
public:
enum Type {
TYPE_APP,
TYPE_OTHER,
};
// Activates the item. |event_flags| holds flags of a mouse/keyboard event
// associated with this activation.
virtual void Activate(int event_flags) = 0;
Type type() const { return type_; }
protected:
explicit ChromeAppListItem(Type type) : type_(type) {}
virtual ~ChromeAppListItem() {}
private:
Type type_;
DISALLOW_COPY_AND_ASSIGN(ChromeAppListItem);
};
#endif // CHROME_BROWSER_UI_APP_LIST_CHROME_APP_LIST_ITEM_H_