nsINativeMenuService.h 1.0 KB

12345678910111213141516171819202122232425262728293031
  1. /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
  2. /* This Source Code Form is subject to the terms of the Mozilla Public
  3. * License, v. 2.0. If a copy of the MPL was not distributed with this
  4. * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
  5. #ifndef nsINativeMenuService_h_
  6. #define nsINativeMenuService_h_
  7. #include "nsISupports.h"
  8. class nsIWidget;
  9. class nsIContent;
  10. // {90DF88F9-F084-4EF3-829A-49496E636DED}
  11. #define NS_INATIVEMENUSERVICE_IID \
  12. { 0x90DF88F9, 0xF084, 0x4EF3, \
  13. { 0x82, 0x9A, 0x49, 0x49, 0x6E, 0x63, 0x6D, 0xED} }
  14. class nsINativeMenuService : public nsISupports {
  15. public:
  16. NS_DECLARE_STATIC_IID_ACCESSOR(NS_INATIVEMENUSERVICE_IID)
  17. // Given a top-level window widget and a menu bar DOM node, sets up native
  18. // menus. Once created, native menus are controlled via the DOM, including
  19. // destruction.
  20. NS_IMETHOD CreateNativeMenuBar(nsIWidget* aParent, nsIContent* aMenuBarNode)=0;
  21. };
  22. NS_DEFINE_STATIC_IID_ACCESSOR(nsINativeMenuService, NS_INATIVEMENUSERVICE_IID)
  23. #endif // nsINativeMenuService_h_