| Index: ui/aura_shell/launcher/launcher_model.cc
|
| diff --git a/ui/aura_shell/launcher/launcher_model.cc b/ui/aura_shell/launcher/launcher_model.cc
|
| index 58ab9d36e8688cfc2e1f54d99d8a259abf983a38..f51fab1b2061362bf01976945f98b71958fb28b7 100644
|
| --- a/ui/aura_shell/launcher/launcher_model.cc
|
| +++ b/ui/aura_shell/launcher/launcher_model.cc
|
| @@ -5,36 +5,28 @@
|
| #include "ui/aura_shell/launcher/launcher_model.h"
|
|
|
| #include "ui/aura_shell/launcher/launcher_model_observer.h"
|
| -#include "views/view.h"
|
|
|
| namespace aura_shell {
|
|
|
| -LauncherModel::LauncherModel() : selected_index_(-1) {
|
| +// static
|
| +LauncherModel* LauncherModel::instance_ = NULL;
|
| +
|
| +LauncherModel::LauncherModel() {
|
| + instance_ = this;
|
| }
|
|
|
| LauncherModel::~LauncherModel() {
|
| - for (Items::iterator i = items_.begin(); i != items_.end(); ++i) {
|
| - delete i->view;
|
| - i->view = NULL;
|
| - }
|
| + if (instance_ == this)
|
| + instance_ = NULL;
|
| }
|
|
|
| -void LauncherModel::AddItem(views::View* view, int index, bool draggable) {
|
| +void LauncherModel::Add(int index, const LauncherItem& item) {
|
| DCHECK(index >= 0 && index <= item_count());
|
| - Item item;
|
| - item.view = view;
|
| - item.draggable = draggable;
|
| items_.insert(items_.begin() + index, item);
|
| FOR_EACH_OBSERVER(LauncherModelObserver, observers_,
|
| LauncherItemAdded(index));
|
| }
|
|
|
| -void LauncherModel::RemoveItem(views::View* view) {
|
| - int index = IndexOfItemByView(view);
|
| - if (index != -1)
|
| - RemoveItemAt(index);
|
| -}
|
| -
|
| void LauncherModel::RemoveItemAt(int index) {
|
| DCHECK(index >= 0 && index < item_count());
|
| items_.erase(items_.begin() + index);
|
| @@ -42,22 +34,21 @@ void LauncherModel::RemoveItemAt(int index) {
|
| LauncherItemRemoved(index));
|
| }
|
|
|
| -void LauncherModel::SetSelectedIndex(int index) {
|
| - if (index == selected_index_)
|
| - return;
|
| - DCHECK(selected_index_ == -1 ||
|
| - (selected_index_ >= 0 && selected_index_ < item_count()));
|
| - selected_index_ = index;
|
| +void LauncherModel::SetTabbedImages(int index,
|
| + const LauncherTabbedImages& images) {
|
| + DCHECK(index >= 0 && index < item_count());
|
| + DCHECK_EQ(TYPE_TABBED, items_[index].type);
|
| + items_[index].tab_images = images;
|
| FOR_EACH_OBSERVER(LauncherModelObserver, observers_,
|
| - LauncherSelectionChanged());
|
| + LauncherItemImagesChanged(index));
|
| }
|
|
|
| -int LauncherModel::IndexOfItemByView(views::View* view) {
|
| - for (Items::const_iterator i = items_.begin(); i != items_.end(); ++i) {
|
| - if (i->view == view)
|
| - return i - items_.begin();
|
| - }
|
| - return -1;
|
| +void LauncherModel::SetAppImage(int index, const SkBitmap& image) {
|
| + DCHECK(index >= 0 && index < item_count());
|
| + DCHECK_EQ(TYPE_APP, items_[index].type);
|
| + items_[index].app_image = image;
|
| + FOR_EACH_OBSERVER(LauncherModelObserver, observers_,
|
| + LauncherItemImagesChanged(index));
|
| }
|
|
|
| void LauncherModel::AddObserver(LauncherModelObserver* observer) {
|
|
|