2024-01-05 19:03:36 +01:00
|
|
|
// Copyright (c) 2024 The Chromium Embedded Framework Authors. All rights
|
2012-04-19 22:31:46 +02:00
|
|
|
// 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.
|
|
|
|
//
|
2024-01-05 19:03:36 +01:00
|
|
|
// $hash=078b4a154c1021906b8ee3084107203f058127dc$
|
2017-05-17 11:29:28 +02:00
|
|
|
//
|
2012-04-19 22:31:46 +02:00
|
|
|
|
|
|
|
#include "libcef_dll/cpptoc/context_menu_handler_cpptoc.h"
|
2024-04-30 17:45:07 +02:00
|
|
|
|
2012-04-19 22:31:46 +02:00
|
|
|
#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"
|
2015-09-09 16:05:39 +02:00
|
|
|
#include "libcef_dll/ctocpp/run_context_menu_callback_ctocpp.h"
|
2022-05-27 11:03:31 +02:00
|
|
|
#include "libcef_dll/ctocpp/run_quick_menu_callback_ctocpp.h"
|
2019-01-23 16:42:12 +01:00
|
|
|
#include "libcef_dll/shutdown_checker.h"
|
2012-04-19 22:31:46 +02:00
|
|
|
|
2015-04-26 20:40:01 +02:00
|
|
|
namespace {
|
|
|
|
|
2012-04-19 22:31:46 +02:00
|
|
|
// MEMBER FUNCTIONS - Body may be edited by hand.
|
|
|
|
|
|
|
|
void CEF_CALLBACK context_menu_handler_on_before_context_menu(
|
2017-05-17 11:29:28 +02:00
|
|
|
struct _cef_context_menu_handler_t* self,
|
|
|
|
cef_browser_t* browser,
|
|
|
|
struct _cef_frame_t* frame,
|
|
|
|
struct _cef_context_menu_params_t* params,
|
2012-04-19 22:31:46 +02:00
|
|
|
struct _cef_menu_model_t* model) {
|
2019-01-23 16:42:12 +01:00
|
|
|
shutdown_checker::AssertNotShutdown();
|
|
|
|
|
2012-04-19 22:31:46 +02:00
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
|
|
|
|
DCHECK(self);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!self) {
|
2012-04-19 22:31:46 +02:00
|
|
|
return;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2012-04-19 22:31:46 +02:00
|
|
|
// Verify param: browser; type: refptr_diff
|
|
|
|
DCHECK(browser);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!browser) {
|
2012-04-19 22:31:46 +02:00
|
|
|
return;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2012-04-19 22:31:46 +02:00
|
|
|
// Verify param: frame; type: refptr_diff
|
|
|
|
DCHECK(frame);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!frame) {
|
2012-04-19 22:31:46 +02:00
|
|
|
return;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2012-04-19 22:31:46 +02:00
|
|
|
// Verify param: params; type: refptr_diff
|
|
|
|
DCHECK(params);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!params) {
|
2012-04-19 22:31:46 +02:00
|
|
|
return;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2012-04-19 22:31:46 +02:00
|
|
|
// Verify param: model; type: refptr_diff
|
|
|
|
DCHECK(model);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!model) {
|
2012-04-19 22:31:46 +02:00
|
|
|
return;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2012-04-19 22:31:46 +02:00
|
|
|
|
|
|
|
// Execute
|
|
|
|
CefContextMenuHandlerCppToC::Get(self)->OnBeforeContextMenu(
|
2017-05-17 11:29:28 +02:00
|
|
|
CefBrowserCToCpp::Wrap(browser), CefFrameCToCpp::Wrap(frame),
|
2012-04-19 22:31:46 +02:00
|
|
|
CefContextMenuParamsCToCpp::Wrap(params),
|
|
|
|
CefMenuModelCToCpp::Wrap(model));
|
|
|
|
}
|
|
|
|
|
2015-09-09 16:05:39 +02:00
|
|
|
int CEF_CALLBACK context_menu_handler_run_context_menu(
|
2017-05-17 11:29:28 +02:00
|
|
|
struct _cef_context_menu_handler_t* self,
|
|
|
|
cef_browser_t* browser,
|
|
|
|
struct _cef_frame_t* frame,
|
|
|
|
struct _cef_context_menu_params_t* params,
|
2015-09-09 16:05:39 +02:00
|
|
|
struct _cef_menu_model_t* model,
|
|
|
|
cef_run_context_menu_callback_t* callback) {
|
2019-01-23 16:42:12 +01:00
|
|
|
shutdown_checker::AssertNotShutdown();
|
|
|
|
|
2015-09-09 16:05:39 +02:00
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
|
|
|
|
DCHECK(self);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!self) {
|
2015-09-09 16:05:39 +02:00
|
|
|
return 0;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2015-09-09 16:05:39 +02:00
|
|
|
// Verify param: browser; type: refptr_diff
|
|
|
|
DCHECK(browser);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!browser) {
|
2015-09-09 16:05:39 +02:00
|
|
|
return 0;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2015-09-09 16:05:39 +02:00
|
|
|
// Verify param: frame; type: refptr_diff
|
|
|
|
DCHECK(frame);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!frame) {
|
2015-09-09 16:05:39 +02:00
|
|
|
return 0;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2015-09-09 16:05:39 +02:00
|
|
|
// Verify param: params; type: refptr_diff
|
|
|
|
DCHECK(params);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!params) {
|
2015-09-09 16:05:39 +02:00
|
|
|
return 0;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2015-09-09 16:05:39 +02:00
|
|
|
// Verify param: model; type: refptr_diff
|
|
|
|
DCHECK(model);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!model) {
|
2015-09-09 16:05:39 +02:00
|
|
|
return 0;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2015-09-09 16:05:39 +02:00
|
|
|
// Verify param: callback; type: refptr_diff
|
|
|
|
DCHECK(callback);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!callback) {
|
2015-09-09 16:05:39 +02:00
|
|
|
return 0;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2015-09-09 16:05:39 +02:00
|
|
|
|
|
|
|
// Execute
|
|
|
|
bool _retval = CefContextMenuHandlerCppToC::Get(self)->RunContextMenu(
|
2017-05-17 11:29:28 +02:00
|
|
|
CefBrowserCToCpp::Wrap(browser), CefFrameCToCpp::Wrap(frame),
|
|
|
|
CefContextMenuParamsCToCpp::Wrap(params), CefMenuModelCToCpp::Wrap(model),
|
2015-09-09 16:05:39 +02:00
|
|
|
CefRunContextMenuCallbackCToCpp::Wrap(callback));
|
|
|
|
|
|
|
|
// Return type: bool
|
|
|
|
return _retval;
|
|
|
|
}
|
|
|
|
|
2012-04-19 22:31:46 +02:00
|
|
|
int CEF_CALLBACK context_menu_handler_on_context_menu_command(
|
2017-05-17 11:29:28 +02:00
|
|
|
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,
|
|
|
|
cef_event_flags_t event_flags) {
|
2019-01-23 16:42:12 +01:00
|
|
|
shutdown_checker::AssertNotShutdown();
|
|
|
|
|
2012-04-19 22:31:46 +02:00
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
|
|
|
|
DCHECK(self);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!self) {
|
2012-04-19 22:31:46 +02:00
|
|
|
return 0;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2012-04-19 22:31:46 +02:00
|
|
|
// Verify param: browser; type: refptr_diff
|
|
|
|
DCHECK(browser);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!browser) {
|
2012-04-19 22:31:46 +02:00
|
|
|
return 0;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2012-04-19 22:31:46 +02:00
|
|
|
// Verify param: frame; type: refptr_diff
|
|
|
|
DCHECK(frame);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!frame) {
|
2012-04-19 22:31:46 +02:00
|
|
|
return 0;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2012-04-19 22:31:46 +02:00
|
|
|
// Verify param: params; type: refptr_diff
|
|
|
|
DCHECK(params);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!params) {
|
2012-04-19 22:31:46 +02:00
|
|
|
return 0;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2012-04-19 22:31:46 +02:00
|
|
|
|
|
|
|
// Execute
|
|
|
|
bool _retval = CefContextMenuHandlerCppToC::Get(self)->OnContextMenuCommand(
|
2017-05-17 11:29:28 +02:00
|
|
|
CefBrowserCToCpp::Wrap(browser), CefFrameCToCpp::Wrap(frame),
|
|
|
|
CefContextMenuParamsCToCpp::Wrap(params), command_id, event_flags);
|
2012-04-19 22:31:46 +02:00
|
|
|
|
|
|
|
// Return type: bool
|
|
|
|
return _retval;
|
|
|
|
}
|
|
|
|
|
|
|
|
void CEF_CALLBACK context_menu_handler_on_context_menu_dismissed(
|
2017-05-17 11:29:28 +02:00
|
|
|
struct _cef_context_menu_handler_t* self,
|
|
|
|
cef_browser_t* browser,
|
2012-04-19 22:31:46 +02:00
|
|
|
struct _cef_frame_t* frame) {
|
2019-01-23 16:42:12 +01:00
|
|
|
shutdown_checker::AssertNotShutdown();
|
|
|
|
|
2012-04-19 22:31:46 +02:00
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
|
|
|
|
DCHECK(self);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!self) {
|
2012-04-19 22:31:46 +02:00
|
|
|
return;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2012-04-19 22:31:46 +02:00
|
|
|
// Verify param: browser; type: refptr_diff
|
|
|
|
DCHECK(browser);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!browser) {
|
2012-04-19 22:31:46 +02:00
|
|
|
return;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2012-04-19 22:31:46 +02:00
|
|
|
// Verify param: frame; type: refptr_diff
|
|
|
|
DCHECK(frame);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!frame) {
|
2012-04-19 22:31:46 +02:00
|
|
|
return;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2012-04-19 22:31:46 +02:00
|
|
|
|
|
|
|
// Execute
|
|
|
|
CefContextMenuHandlerCppToC::Get(self)->OnContextMenuDismissed(
|
2017-05-17 11:29:28 +02:00
|
|
|
CefBrowserCToCpp::Wrap(browser), CefFrameCToCpp::Wrap(frame));
|
2012-04-19 22:31:46 +02:00
|
|
|
}
|
|
|
|
|
2022-05-27 11:03:31 +02:00
|
|
|
int CEF_CALLBACK context_menu_handler_run_quick_menu(
|
|
|
|
struct _cef_context_menu_handler_t* self,
|
|
|
|
cef_browser_t* browser,
|
|
|
|
struct _cef_frame_t* frame,
|
|
|
|
const cef_point_t* location,
|
|
|
|
const cef_size_t* size,
|
|
|
|
cef_quick_menu_edit_state_flags_t edit_state_flags,
|
|
|
|
cef_run_quick_menu_callback_t* callback) {
|
|
|
|
shutdown_checker::AssertNotShutdown();
|
|
|
|
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
|
|
|
|
DCHECK(self);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!self) {
|
2022-05-27 11:03:31 +02:00
|
|
|
return 0;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2022-05-27 11:03:31 +02:00
|
|
|
// Verify param: browser; type: refptr_diff
|
|
|
|
DCHECK(browser);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!browser) {
|
2022-05-27 11:03:31 +02:00
|
|
|
return 0;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2022-05-27 11:03:31 +02:00
|
|
|
// Verify param: frame; type: refptr_diff
|
|
|
|
DCHECK(frame);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!frame) {
|
2022-05-27 11:03:31 +02:00
|
|
|
return 0;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2022-05-27 11:03:31 +02:00
|
|
|
// Verify param: location; type: simple_byref_const
|
|
|
|
DCHECK(location);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!location) {
|
2022-05-27 11:03:31 +02:00
|
|
|
return 0;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2022-05-27 11:03:31 +02:00
|
|
|
// Verify param: size; type: simple_byref_const
|
|
|
|
DCHECK(size);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!size) {
|
2022-05-27 11:03:31 +02:00
|
|
|
return 0;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2022-05-27 11:03:31 +02:00
|
|
|
// Verify param: callback; type: refptr_diff
|
|
|
|
DCHECK(callback);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!callback) {
|
2022-05-27 11:03:31 +02:00
|
|
|
return 0;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2022-05-27 11:03:31 +02:00
|
|
|
|
|
|
|
// Translate param: location; type: simple_byref_const
|
|
|
|
CefPoint locationVal = location ? *location : CefPoint();
|
|
|
|
// Translate param: size; type: simple_byref_const
|
|
|
|
CefSize sizeVal = size ? *size : CefSize();
|
|
|
|
|
|
|
|
// Execute
|
|
|
|
bool _retval = CefContextMenuHandlerCppToC::Get(self)->RunQuickMenu(
|
|
|
|
CefBrowserCToCpp::Wrap(browser), CefFrameCToCpp::Wrap(frame), locationVal,
|
|
|
|
sizeVal, edit_state_flags, CefRunQuickMenuCallbackCToCpp::Wrap(callback));
|
|
|
|
|
|
|
|
// Return type: bool
|
|
|
|
return _retval;
|
|
|
|
}
|
|
|
|
|
|
|
|
int CEF_CALLBACK context_menu_handler_on_quick_menu_command(
|
|
|
|
struct _cef_context_menu_handler_t* self,
|
|
|
|
cef_browser_t* browser,
|
|
|
|
struct _cef_frame_t* frame,
|
|
|
|
int command_id,
|
|
|
|
cef_event_flags_t event_flags) {
|
|
|
|
shutdown_checker::AssertNotShutdown();
|
|
|
|
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
|
|
|
|
DCHECK(self);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!self) {
|
2022-05-27 11:03:31 +02:00
|
|
|
return 0;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2022-05-27 11:03:31 +02:00
|
|
|
// Verify param: browser; type: refptr_diff
|
|
|
|
DCHECK(browser);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!browser) {
|
2022-05-27 11:03:31 +02:00
|
|
|
return 0;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2022-05-27 11:03:31 +02:00
|
|
|
// Verify param: frame; type: refptr_diff
|
|
|
|
DCHECK(frame);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!frame) {
|
2022-05-27 11:03:31 +02:00
|
|
|
return 0;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2022-05-27 11:03:31 +02:00
|
|
|
|
|
|
|
// Execute
|
|
|
|
bool _retval = CefContextMenuHandlerCppToC::Get(self)->OnQuickMenuCommand(
|
|
|
|
CefBrowserCToCpp::Wrap(browser), CefFrameCToCpp::Wrap(frame), command_id,
|
|
|
|
event_flags);
|
|
|
|
|
|
|
|
// Return type: bool
|
|
|
|
return _retval;
|
|
|
|
}
|
|
|
|
|
|
|
|
void CEF_CALLBACK context_menu_handler_on_quick_menu_dismissed(
|
|
|
|
struct _cef_context_menu_handler_t* self,
|
|
|
|
cef_browser_t* browser,
|
|
|
|
struct _cef_frame_t* frame) {
|
|
|
|
shutdown_checker::AssertNotShutdown();
|
|
|
|
|
|
|
|
// AUTO-GENERATED CONTENT - DELETE THIS COMMENT BEFORE MODIFYING
|
|
|
|
|
|
|
|
DCHECK(self);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!self) {
|
2022-05-27 11:03:31 +02:00
|
|
|
return;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2022-05-27 11:03:31 +02:00
|
|
|
// Verify param: browser; type: refptr_diff
|
|
|
|
DCHECK(browser);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!browser) {
|
2022-05-27 11:03:31 +02:00
|
|
|
return;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2022-05-27 11:03:31 +02:00
|
|
|
// Verify param: frame; type: refptr_diff
|
|
|
|
DCHECK(frame);
|
2023-01-02 23:47:15 +01:00
|
|
|
if (!frame) {
|
2022-05-27 11:03:31 +02:00
|
|
|
return;
|
2023-01-02 23:47:15 +01:00
|
|
|
}
|
2022-05-27 11:03:31 +02:00
|
|
|
|
|
|
|
// Execute
|
|
|
|
CefContextMenuHandlerCppToC::Get(self)->OnQuickMenuDismissed(
|
|
|
|
CefBrowserCToCpp::Wrap(browser), CefFrameCToCpp::Wrap(frame));
|
|
|
|
}
|
|
|
|
|
2015-04-26 20:40:01 +02:00
|
|
|
} // namespace
|
|
|
|
|
2012-04-19 22:31:46 +02:00
|
|
|
// CONSTRUCTOR - Do not edit by hand.
|
|
|
|
|
2015-04-26 20:40:01 +02:00
|
|
|
CefContextMenuHandlerCppToC::CefContextMenuHandlerCppToC() {
|
|
|
|
GetStruct()->on_before_context_menu =
|
2012-04-19 22:31:46 +02:00
|
|
|
context_menu_handler_on_before_context_menu;
|
2015-09-09 16:05:39 +02:00
|
|
|
GetStruct()->run_context_menu = context_menu_handler_run_context_menu;
|
2015-04-26 20:40:01 +02:00
|
|
|
GetStruct()->on_context_menu_command =
|
2012-04-19 22:31:46 +02:00
|
|
|
context_menu_handler_on_context_menu_command;
|
2015-04-26 20:40:01 +02:00
|
|
|
GetStruct()->on_context_menu_dismissed =
|
2012-04-19 22:31:46 +02:00
|
|
|
context_menu_handler_on_context_menu_dismissed;
|
2022-05-27 11:03:31 +02:00
|
|
|
GetStruct()->run_quick_menu = context_menu_handler_run_quick_menu;
|
|
|
|
GetStruct()->on_quick_menu_command =
|
|
|
|
context_menu_handler_on_quick_menu_command;
|
|
|
|
GetStruct()->on_quick_menu_dismissed =
|
|
|
|
context_menu_handler_on_quick_menu_dismissed;
|
2012-04-19 22:31:46 +02:00
|
|
|
}
|
|
|
|
|
2019-01-23 16:42:12 +01:00
|
|
|
// DESTRUCTOR - Do not edit by hand.
|
|
|
|
|
|
|
|
CefContextMenuHandlerCppToC::~CefContextMenuHandlerCppToC() {
|
|
|
|
shutdown_checker::AssertNotShutdown();
|
|
|
|
}
|
|
|
|
|
2017-05-17 11:29:28 +02:00
|
|
|
template <>
|
|
|
|
CefRefPtr<CefContextMenuHandler> CefCppToCRefCounted<
|
|
|
|
CefContextMenuHandlerCppToC,
|
|
|
|
CefContextMenuHandler,
|
|
|
|
cef_context_menu_handler_t>::UnwrapDerived(CefWrapperType type,
|
|
|
|
cef_context_menu_handler_t* s) {
|
2023-05-08 17:15:02 +02:00
|
|
|
DCHECK(false) << "Unexpected class type: " << type;
|
2020-01-15 14:53:19 +01:00
|
|
|
return nullptr;
|
2015-04-26 20:40:01 +02:00
|
|
|
}
|
|
|
|
|
2017-05-17 11:29:28 +02:00
|
|
|
template <>
|
|
|
|
CefWrapperType CefCppToCRefCounted<CefContextMenuHandlerCppToC,
|
|
|
|
CefContextMenuHandler,
|
|
|
|
cef_context_menu_handler_t>::kWrapperType =
|
2015-04-26 20:40:01 +02:00
|
|
|
WT_CONTEXT_MENU_HANDLER;
|