/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
/* This Source Code Form is subject to the terms of the Mozilla Public
 * License, v. 2.0. If a copy of the MPL was not distributed with this
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */

#include "nsISupports.idl"

interface nsIDOMElement;
interface nsIDOMKeyEvent;

[scriptable, uuid(689ebf3d-0184-450a-9bfa-5a26be0e7a8c)]
interface nsIMenuBoxObject : nsISupports
{
  void openMenu(in boolean openFlag);

  attribute nsIDOMElement activeChild;

  boolean handleKeyPress(in nsIDOMKeyEvent keyEvent);

  // true if the menu or menubar was opened via a keypress.
  readonly attribute boolean openedWithKey;
};

%{C++
class nsIBoxObject;

nsresult
NS_NewMenuBoxObject(nsIBoxObject** aResult);

%}
