mirror of
https://github.com/chylex/TweetDuck.git
synced 2025-08-16 06:31:42 +02:00
.github
.idea
bld
lib
linux
resources
windows
TweetDuck
TweetDuck.Browser
TweetDuck.Video
TweetImpl.CefSharp
Adapters
Component
Dialogs
Handlers
CefByteArrayResourceHandler.cs
CefContextMenuHandler.cs
CefDownloadRequestClient.cs
CefDragHandler.cs
CefFileDialogHandler.cs
CefJsDialogHandler.cs
CefLifeSpanHandler.cs
CefRequestHandler.cs
CefResourceHandlerFactory.cs
CefResourceRequestHandler.cs
CefResourceRequestHandlerFactory.cs
CefResponseFilter.cs
CefSchemeHandlerFactory.cs
Properties
TweetImpl.CefSharp.csproj
TweetLib.WinForms.Legacy
.gitattributes
.gitignore
LICENSE.md
README.md
TweetDuck.sln
TweetDuck.sln.DotSettings
Version.cs
global.json
33 lines
1.4 KiB
C#
33 lines
1.4 KiB
C#
using CefSharp;
|
|
using TweetImpl.CefSharp.Adapters;
|
|
using TweetLib.Browser.CEF.Logic;
|
|
using TweetLib.Browser.Contexts;
|
|
|
|
namespace TweetImpl.CefSharp.Handlers {
|
|
public abstract class CefContextMenuHandler : IContextMenuHandler {
|
|
private readonly ContextMenuLogic<IMenuModel> logic;
|
|
|
|
protected CefContextMenuHandler(TweetLib.Browser.Interfaces.IContextMenuHandler? handler) {
|
|
this.logic = new ContextMenuLogic<IMenuModel>(handler, CefMenuModelAdapter.Instance);
|
|
}
|
|
|
|
protected abstract Context CreateContext(IContextMenuParams parameters);
|
|
|
|
public virtual void OnBeforeContextMenu(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model) {
|
|
logic.OnBeforeContextMenu(model, CreateContext(parameters));
|
|
}
|
|
|
|
public virtual bool OnContextMenuCommand(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IContextMenuParams parameters, CefMenuCommand commandId, CefEventFlags eventFlags) {
|
|
return logic.OnContextMenuCommand((int) commandId);
|
|
}
|
|
|
|
public virtual void OnContextMenuDismissed(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame) {
|
|
logic.OnContextMenuDismissed();
|
|
}
|
|
|
|
public bool RunContextMenu(IWebBrowser chromiumWebBrowser, IBrowser browser, IFrame frame, IContextMenuParams parameters, IMenuModel model, IRunContextMenuCallback callback) {
|
|
return logic.RunContextMenu();
|
|
}
|
|
}
|
|
}
|