1c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// Use of this source code is governed by a BSD-style license that can be 3c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath// found in the LICENSE file. 4c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 5c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "ui/views/controls/menu/menu_2.h" 6c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 7c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "ui/base/models/menu_model.h" 8c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath#include "ui/views/controls/menu/menu_listener.h" 9c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 10c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathnamespace views { 11c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 12c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan KamathMenu2::Menu2(ui::MenuModel* model) 13c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath : model_(model), 14c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath wrapper_(MenuWrapper::CreateWrapper(model)) { 15c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath Rebuild(); 16c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath} 17c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 18c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan KamathMenu2::~Menu2() {} 19c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 20c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan KamathHMENU Menu2::GetNativeMenu() const { 21c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath return wrapper_->GetNativeMenu(); 22c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath} 23c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 24c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathvoid Menu2::RunMenuAt(const gfx::Point& point, Alignment alignment) { 25c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath wrapper_->RunMenuAt(point, alignment); 26c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath} 27c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 28c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathvoid Menu2::RunContextMenuAt(const gfx::Point& point) { 29c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath RunMenuAt(point, ALIGN_TOPLEFT); 30c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath} 31c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 32c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathvoid Menu2::CancelMenu() { 33c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath wrapper_->CancelMenu(); 34c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath} 35c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 36c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathvoid Menu2::Rebuild() { 37c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath wrapper_->Rebuild(NULL); 38c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath} 39c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 40c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathvoid Menu2::UpdateStates() { 41c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath wrapper_->UpdateStates(); 42c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath} 43c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 44c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan KamathMenuWrapper::MenuAction Menu2::GetMenuAction() const { 45c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath return wrapper_->GetMenuAction(); 46c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath} 47c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 48c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathvoid Menu2::AddMenuListener(MenuListener* listener) { 49c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath wrapper_->AddMenuListener(listener); 50c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath} 51c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 52c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathvoid Menu2::RemoveMenuListener(MenuListener* listener) { 53c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath wrapper_->RemoveMenuListener(listener); 54c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath} 55c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 56c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamathvoid Menu2::SetMinimumWidth(int width) { 57c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath wrapper_->SetMinimumWidth(width); 58c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath} 59c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath 60c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath} // namespace 61c981c48f5bc9aefeffc0bcb0cc3934c2fae179ddNarayan Kamath