summaryrefslogtreecommitdiffstats
path: root/ash/launcher/launcher_view.h
diff options
context:
space:
mode:
authordcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-20 01:52:42 +0000
committerdcheng@chromium.org <dcheng@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-04-20 01:52:42 +0000
commite2dced44d39c58376c2cc5fdd85e78fb6cafec8d (patch)
treeb2a4757e4511d9aec2e0e87345ece0feb6c8f280 /ash/launcher/launcher_view.h
parent150f339aee07be3bc9ea10f35c4d1b7e03459155 (diff)
downloadchromium_src-e2dced44d39c58376c2cc5fdd85e78fb6cafec8d.zip
chromium_src-e2dced44d39c58376c2cc5fdd85e78fb6cafec8d.tar.gz
chromium_src-e2dced44d39c58376c2cc5fdd85e78fb6cafec8d.tar.bz2
Implement LauncherIconObserver.
This will be used to listen for changes in the launcher view so that panels can be correctly drawn over the corresponding launcher icon. BUG=124115 TEST=aura_shell_unittests Committed: https://src.chromium.org/viewvc/chrome?view=rev&revision=133089 Review URL: https://chromiumcodereview.appspot.com/10116011 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@133120 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/launcher/launcher_view.h')
-rw-r--r--ash/launcher/launcher_view.h11
1 files changed, 11 insertions, 0 deletions
diff --git a/ash/launcher/launcher_view.h b/ash/launcher/launcher_view.h
index dc1d8d1..f367c3a 100644
--- a/ash/launcher/launcher_view.h
+++ b/ash/launcher/launcher_view.h
@@ -11,6 +11,7 @@
#include "ash/launcher/launcher_button_host.h"
#include "ash/launcher/launcher_model_observer.h"
+#include "base/observer_list.h"
#include "ui/views/context_menu_controller.h"
#include "ui/views/controls/button/button.h"
#include "ui/views/focus/focus_manager.h"
@@ -27,6 +28,7 @@ namespace ash {
class LauncherDelegate;
struct LauncherItem;
+class LauncherIconObserver;
class LauncherModel;
namespace internal {
@@ -66,6 +68,9 @@ class ASH_EXPORT LauncherView : public views::View,
// isn't know.
gfx::Rect GetIdealBoundsOfItemIcon(LauncherID id);
+ void AddIconObserver(LauncherIconObserver* observer);
+ void RemoveIconObserver(LauncherIconObserver* observer);
+
// Returns true if we're showing a menu.
bool IsShowingMenu() const;
@@ -169,6 +174,10 @@ class ASH_EXPORT LauncherView : public views::View,
// item in |model_|.
scoped_ptr<views::ViewModel> view_model_;
+ // Last index of a launcher button that is visible
+ // (does not go into overflow).
+ int last_visible_index_;
+
scoped_ptr<views::BoundsAnimator> bounds_animator_;
views::ImageButton* overflow_button_;
@@ -198,6 +207,8 @@ class ASH_EXPORT LauncherView : public views::View,
scoped_ptr<views::MenuRunner> launcher_menu_runner_;
#endif
+ ObserverList<LauncherIconObserver> observers_;
+
DISALLOW_COPY_AND_ASSIGN(LauncherView);
};