Adds the option of aligning the launcher to the left or right. There
is a ton of rough edges after this patch, but I don't want this patch
to get any bigger.
BUG=121962
TEST=covered by tests.
[email protected]
Review URL: https://chromiumcodereview.appspot.com/10388036
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@136312 0039d316-1c4b-4281-b951-d872f2087c98
diff --git a/ash/launcher/launcher_alignment_menu.h b/ash/launcher/launcher_alignment_menu.h
new file mode 100644
index 0000000..0c3d23f
--- /dev/null
+++ b/ash/launcher/launcher_alignment_menu.h
@@ -0,0 +1,43 @@
+// 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 ASH_WM_LAUNCHER_LAUNCHER_ALIGNMENT_MENU_H_
+#define ASH_WM_LAUNCHER_LAUNCHER_ALIGNMENT_MENU_H_
+#pragma once
+
+#include "ash/ash_export.h"
+#include "base/basictypes.h"
+#include "ui/base/models/simple_menu_model.h"
+
+namespace ash {
+
+// Submenu for choosing the alignment of the launcher.
+class ASH_EXPORT LauncherAlignmentMenu : public ui::SimpleMenuModel,
+ public ui::SimpleMenuModel::Delegate {
+ public:
+ LauncherAlignmentMenu();
+ virtual ~LauncherAlignmentMenu();
+
+ // ui::SimpleMenuModel::Delegate overrides:
+ virtual bool IsCommandIdChecked(int command_id) const OVERRIDE;
+ virtual bool IsCommandIdEnabled(int command_id) const OVERRIDE;
+ virtual bool GetAcceleratorForCommandId(
+ int command_id,
+ ui::Accelerator* accelerator) OVERRIDE;
+ virtual void ExecuteCommand(int command_id) OVERRIDE;
+
+ private:
+ enum MenuItem {
+ // Offset so as not to interfere with other menus.
+ MENU_ALIGN_LEFT = 500,
+ MENU_ALIGN_RIGHT,
+ MENU_ALIGN_BOTTOM,
+ };
+
+ DISALLOW_COPY_AND_ASSIGN(LauncherAlignmentMenu);
+};
+
+} // namespace ash
+
+#endif // ASH_WM_LAUNCHER_LAUNCHER_ALIGNMENT_MENU_H_