diff options
Diffstat (limited to 'ui/aura_shell/launcher/launcher_model.cc')
-rw-r--r-- | ui/aura_shell/launcher/launcher_model.cc | 43 |
1 files changed, 14 insertions, 29 deletions
diff --git a/ui/aura_shell/launcher/launcher_model.cc b/ui/aura_shell/launcher/launcher_model.cc index 58ab9d3..43a6d00 100644 --- a/ui/aura_shell/launcher/launcher_model.cc +++ b/ui/aura_shell/launcher/launcher_model.cc @@ -5,36 +5,22 @@ #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) { +LauncherModel::LauncherModel() { } LauncherModel::~LauncherModel() { - for (Items::iterator i = items_.begin(); i != items_.end(); ++i) { - delete i->view; - i->view = 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 +28,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) { |