2008-06-28 11:55:30 +04:00
|
|
|
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
2012-05-21 15:12:37 +04:00
|
|
|
/* 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/. */
|
2008-06-28 11:55:30 +04:00
|
|
|
|
|
|
|
#ifndef nsINativeMenuService_h_
|
|
|
|
#define nsINativeMenuService_h_
|
|
|
|
|
|
|
|
#include "nsISupports.h"
|
|
|
|
|
|
|
|
class nsIWidget;
|
|
|
|
class nsIContent;
|
2017-12-05 20:05:51 +03:00
|
|
|
namespace mozilla {
|
|
|
|
namespace dom {
|
|
|
|
class Element;
|
|
|
|
}
|
|
|
|
} // namespace mozilla
|
2008-06-28 11:55:30 +04:00
|
|
|
|
|
|
|
// {90DF88F9-F084-4EF3-829A-49496E636DED}
|
|
|
|
#define NS_INATIVEMENUSERVICE_IID \
|
2018-11-30 13:46:48 +03:00
|
|
|
{ \
|
2008-06-28 11:55:30 +04:00
|
|
|
0x90DF88F9, 0xF084, 0x4EF3, { \
|
|
|
|
0x82, 0x9A, 0x49, 0x49, 0x6E, 0x63, 0x6D, 0xED \
|
|
|
|
} \
|
|
|
|
}
|
|
|
|
|
|
|
|
class nsINativeMenuService : public nsISupports {
|
|
|
|
public:
|
2014-03-28 12:45:02 +04:00
|
|
|
NS_DECLARE_STATIC_IID_ACCESSOR(NS_INATIVEMENUSERVICE_IID)
|
2008-06-28 11:55:30 +04:00
|
|
|
// Given a top-level window widget and a menu bar DOM node, sets up native
|
|
|
|
// menus. Once created, native menus are controlled via the DOM, including
|
|
|
|
// destruction.
|
2017-12-05 20:05:51 +03:00
|
|
|
NS_IMETHOD CreateNativeMenuBar(nsIWidget* aParent,
|
|
|
|
mozilla::dom::Element* aMenuBarNode) = 0;
|
2008-06-28 11:55:30 +04:00
|
|
|
};
|
|
|
|
|
2014-03-28 12:45:02 +04:00
|
|
|
NS_DEFINE_STATIC_IID_ACCESSOR(nsINativeMenuService, NS_INATIVEMENUSERVICE_IID)
|
|
|
|
|
2008-06-28 11:55:30 +04:00
|
|
|
#endif // nsINativeMenuService_h_
|