mirror of
https://bitbucket.org/chromiumembedded/cef
synced 2025-06-05 21:39:12 +02:00
Add context menu support (issue #509):
- Add new CefContextMenuHandler, CefContextMenuParams and CefMenuModel classes. - Add cef_strings.grd and related infrastructure for supporting translation of CEF strings. - Generate include/cef_pack_resources.h and include/cef_pack_strings.h files at build time that include all IDs used by CEF pack files. git-svn-id: https://chromiumembedded.googlecode.com/svn/trunk@595 5089003a-bbd8-11dd-ad1f-f1f9622dbc98
This commit is contained in:
132
libcef_dll/cpptoc/context_menu_handler_cpptoc.cc
Normal file
132
libcef_dll/cpptoc/context_menu_handler_cpptoc.cc
Normal file
@ -0,0 +1,132 @@
|
||||
// Copyright (c) 2012 The Chromium Embedded Framework Authors. All rights
|
||||
// reserved. Use of this source code is governed by a BSD-style license that
|
||||
// can be found in the LICENSE file.
|
||||
//
|
||||
// ---------------------------------------------------------------------------
|
||||
//
|
||||
// This file was generated by the CEF translator tool. If making changes by
|
||||
// hand only do so within the body of existing method and function
|
||||
// implementations. See the translator.README.txt file in the tools directory
|
||||
// for more information.
|
||||
//
|
||||
|
||||
#include "libcef_dll/cpptoc/context_menu_handler_cpptoc.h"
|
||||
#include "libcef_dll/ctocpp/browser_ctocpp.h"
|
||||
#include "libcef_dll/ctocpp/context_menu_params_ctocpp.h"
|
||||
#include "libcef_dll/ctocpp/frame_ctocpp.h"
|
||||
#include "libcef_dll/ctocpp/menu_model_ctocpp.h"
|
||||
|
||||
|
||||
// MEMBER FUNCTIONS - Body may be edited by hand.
|
||||
|
||||
void CEF_CALLBACK context_menu_handler_on_before_context_menu(
|
||||
struct _cef_context_menu_handler_t* self, cef_browser_t* browser,
|
||||
struct _cef_frame_t* frame, struct _cef_context_menu_params_t* params,
|
||||
struct _cef_menu_model_t* model) {
|
||||
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||
|
||||
DCHECK(self);
|
||||
if (!self)
|
||||
return;
|
||||
// Verify param: browser; type: refptr_diff
|
||||
DCHECK(browser);
|
||||
if (!browser)
|
||||
return;
|
||||
// Verify param: frame; type: refptr_diff
|
||||
DCHECK(frame);
|
||||
if (!frame)
|
||||
return;
|
||||
// Verify param: params; type: refptr_diff
|
||||
DCHECK(params);
|
||||
if (!params)
|
||||
return;
|
||||
// Verify param: model; type: refptr_diff
|
||||
DCHECK(model);
|
||||
if (!model)
|
||||
return;
|
||||
|
||||
// Execute
|
||||
CefContextMenuHandlerCppToC::Get(self)->OnBeforeContextMenu(
|
||||
CefBrowserCToCpp::Wrap(browser),
|
||||
CefFrameCToCpp::Wrap(frame),
|
||||
CefContextMenuParamsCToCpp::Wrap(params),
|
||||
CefMenuModelCToCpp::Wrap(model));
|
||||
}
|
||||
|
||||
int CEF_CALLBACK context_menu_handler_on_context_menu_command(
|
||||
struct _cef_context_menu_handler_t* self, cef_browser_t* browser,
|
||||
struct _cef_frame_t* frame, struct _cef_context_menu_params_t* params,
|
||||
int command_id, enum cef_event_flags_t event_flags) {
|
||||
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||
|
||||
DCHECK(self);
|
||||
if (!self)
|
||||
return 0;
|
||||
// Verify param: browser; type: refptr_diff
|
||||
DCHECK(browser);
|
||||
if (!browser)
|
||||
return 0;
|
||||
// Verify param: frame; type: refptr_diff
|
||||
DCHECK(frame);
|
||||
if (!frame)
|
||||
return 0;
|
||||
// Verify param: params; type: refptr_diff
|
||||
DCHECK(params);
|
||||
if (!params)
|
||||
return 0;
|
||||
|
||||
// Execute
|
||||
bool _retval = CefContextMenuHandlerCppToC::Get(self)->OnContextMenuCommand(
|
||||
CefBrowserCToCpp::Wrap(browser),
|
||||
CefFrameCToCpp::Wrap(frame),
|
||||
CefContextMenuParamsCToCpp::Wrap(params),
|
||||
command_id,
|
||||
event_flags);
|
||||
|
||||
// Return type: bool
|
||||
return _retval;
|
||||
}
|
||||
|
||||
void CEF_CALLBACK context_menu_handler_on_context_menu_dismissed(
|
||||
struct _cef_context_menu_handler_t* self, cef_browser_t* browser,
|
||||
struct _cef_frame_t* frame) {
|
||||
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
||||
|
||||
DCHECK(self);
|
||||
if (!self)
|
||||
return;
|
||||
// Verify param: browser; type: refptr_diff
|
||||
DCHECK(browser);
|
||||
if (!browser)
|
||||
return;
|
||||
// Verify param: frame; type: refptr_diff
|
||||
DCHECK(frame);
|
||||
if (!frame)
|
||||
return;
|
||||
|
||||
// Execute
|
||||
CefContextMenuHandlerCppToC::Get(self)->OnContextMenuDismissed(
|
||||
CefBrowserCToCpp::Wrap(browser),
|
||||
CefFrameCToCpp::Wrap(frame));
|
||||
}
|
||||
|
||||
|
||||
// CONSTRUCTOR - Do not edit by hand.
|
||||
|
||||
CefContextMenuHandlerCppToC::CefContextMenuHandlerCppToC(
|
||||
CefContextMenuHandler* cls)
|
||||
: CefCppToC<CefContextMenuHandlerCppToC, CefContextMenuHandler,
|
||||
cef_context_menu_handler_t>(cls) {
|
||||
struct_.struct_.on_before_context_menu =
|
||||
context_menu_handler_on_before_context_menu;
|
||||
struct_.struct_.on_context_menu_command =
|
||||
context_menu_handler_on_context_menu_command;
|
||||
struct_.struct_.on_context_menu_dismissed =
|
||||
context_menu_handler_on_context_menu_dismissed;
|
||||
}
|
||||
|
||||
#ifndef NDEBUG
|
||||
template<> long CefCppToC<CefContextMenuHandlerCppToC, CefContextMenuHandler,
|
||||
cef_context_menu_handler_t>::DebugObjCt = 0;
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user