bool IRenderWebBrowser.StartDragging(IDragData dragData, DragOperationsMask mask, int x, int y) { var dataObject = new DataObject(); dataObject.SetText(dragData.FragmentText, TextDataFormat.Text); dataObject.SetText(dragData.FragmentText, TextDataFormat.UnicodeText); dataObject.SetText(dragData.FragmentHtml, TextDataFormat.Html); // TODO: The following code block *should* handle images, but GetFileContents is // not yet implemented. //if (dragData.IsFile) //{ // var bmi = new BitmapImage(); // bmi.BeginInit(); // bmi.StreamSource = dragData.GetFileContents(); // bmi.EndInit(); // dataObject.SetImage(bmi); //} UiThreadRunAsync(delegate { var results = DragDrop.DoDragDrop(this, dataObject, GetDragEffects(mask)); managedCefBrowserAdapter.OnDragSourceEndedAt(0, 0, GetDragOperationsMask(results)); managedCefBrowserAdapter.OnDragSourceSystemDragEnded(); }); return(true); }
private static DragDropEffects GetDragEffects(DragOperationsMask mask) { if ((mask & DragOperationsMask.Every) == DragOperationsMask.Every) { return(DragDropEffects.All); } if ((mask & DragOperationsMask.Copy) == DragOperationsMask.Copy) { return(DragDropEffects.Copy); } if ((mask & DragOperationsMask.Move) == DragOperationsMask.Move) { return(DragDropEffects.Move); } if ((mask & DragOperationsMask.Link) == DragOperationsMask.Link) { return(DragDropEffects.Link); } return(DragDropEffects.None); }
/// <summary> /// Gets the drag effects. /// </summary> /// <param name="mask">The mask.</param> /// <returns>DragDropEffects.</returns> public static DragDropEffects GetDragEffects(this DragOperationsMask mask) { if ((mask & DragOperationsMask.Every) == DragOperationsMask.Every) { // return all effects (!= DragDropEffects.All, which doesn't include Link) return(DragDropEffects.Scroll | DragDropEffects.Copy | DragDropEffects.Move | DragDropEffects.Link); } if ((mask & DragOperationsMask.Copy) == DragOperationsMask.Copy) { return(DragDropEffects.Copy); } if ((mask & DragOperationsMask.Move) == DragOperationsMask.Move) { return(DragDropEffects.Move); } if ((mask & DragOperationsMask.Link) == DragOperationsMask.Link) { return(DragDropEffects.Link); } return(DragDropEffects.None); }
/// <summary> /// Called when an external drag event enters the browser window. /// </summary> /// <param name="chromiumWebBrowser">the ChromiumWebBrowser control</param> /// <param name="browser">the browser object</param> /// <param name="dragData">contains the drag event data</param> /// <param name="mask">represents the type of drag operation</param> /// <returns>Return false for default drag handling behavior or true to cancel the drag event. </returns> bool IDragHandler.OnDragEnter(IWebBrowser chromiumWebBrowser, IBrowser browser, IDragData dragData, DragOperationsMask mask) { return(OnDragEnter(chromiumWebBrowser, browser, dragData, mask)); }
public bool OnDragEnter(IWebBrowser chromiumWebBrowser, IBrowser browser, IDragData dragData, DragOperationsMask mask) { return(false); }
public virtual void UpdateDragCursor(DragOperationsMask operation) { }
public bool OnDragEnter(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask) { return(logic.OnDragEnter(dragData)); }
void IRenderWebBrowser.UpdateDragCursor(DragOperationsMask operation) { RenderHandler?.UpdateDragCursor(operation); }
public void cwb_DragDrop(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask) { //MessageBox.Show(e.Data.ToString()); DragFileName = dragData.FileNames[0]; }
bool IDragHandler.OnDragEnter(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask) { return false; }
bool IDragHandler.OnDragEnter(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask) { // Returning true cancels the drag (no idea why...) #CEFLogic return(true); }
void IRenderHandler.UpdateDragCursor(DragOperationsMask operation) { }
public bool OnDragEnter(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask) { return(true);// false;//throw new NotImplementedException(); }
bool IDragHandler.OnDragEnter(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask) { // Returning true cancels the drag (no idea why...) #CEFLogic return true; }
void IRenderWebBrowser.UpdateDragCursor(DragOperationsMask operation) { //TODO: Someone should implement this }
public bool OnDragEnter(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask) => false;
public bool OnDragEnter(IWebBrowser browser, IDragData dragData, DragOperationsMask mask) { return false; }
protected virtual void UpdateDragCursor(DragOperationsMask operation) { RenderHandler?.UpdateDragCursor(operation); }
public bool StartDragging(IDragData dragData, DragOperationsMask mask, int x, int y) { //TODO: Implement return(false); }
public bool OnDragEnter(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask) { return(true); // return true 禁止拖入文件 }
bool IRenderWebBrowser.StartDragging(IDragData dragData, DragOperationsMask mask, int x, int y) { var dataObject = new DataObject(); dataObject.SetText(dragData.FragmentText, TextDataFormat.Text); dataObject.SetText(dragData.FragmentText, TextDataFormat.UnicodeText); dataObject.SetText(dragData.FragmentHtml, TextDataFormat.Html); // TODO: The following code block *should* handle images, but GetFileContents is // not yet implemented. //if (dragData.IsFile) //{ // var bmi = new BitmapImage(); // bmi.BeginInit(); // bmi.StreamSource = dragData.GetFileContents(); // bmi.EndInit(); // dataObject.SetImage(bmi); //} UiThreadRunAsync(delegate { var results = DragDrop.DoDragDrop(this, dataObject, GetDragEffects(mask)); managedCefBrowserAdapter.OnDragSourceEndedAt(0, 0, GetDragOperationsMask(results)); managedCefBrowserAdapter.OnDragSourceSystemDragEnded(); }); return true; }
public bool OnDragEnter(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask) { if (dragData.FragmentText != "") { return(false); } main.cwb_DragDrop(browserControl, browser, dragData, mask); return(false); }
protected virtual void UpdateDragCursor(DragOperationsMask operation) { }
bool IDragHandler.OnDragEnter(IWebBrowser ChromiumBrowser, IBrowser browser, IDragData dragData, DragOperationsMask mask) { return(false); }
public bool OnDragEnter(IWebBrowser chromiumWebBrowser, IBrowser browser, IDragData dragData, DragOperationsMask mask) { var filesDragging = OwnerWebView.FilesDragging; if (filesDragging != null) { var fileNames = dragData.FileNames; if (fileNames != null) { filesDragging(fileNames.ToArray()); } } var textDragging = OwnerWebView.TextDragging; if (textDragging != null) { var textContent = dragData.FragmentText; if (!string.IsNullOrEmpty(textContent)) { textDragging(textContent); } } return(false); }
bool IRenderWebBrowser.StartDragging(IDragData dragData, DragOperationsMask mask, int x, int y) { return false; }
public bool OnDragEnter(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask) { void TriggerDragStart(string type, string data = null) { browserControl.ExecuteScriptAsync("window.TDGF_onGlobalDragStart", type, data); } requestHandler.BlockNextUserNavUrl = dragData.LinkUrl; // empty if not a link if (dragData.IsLink) { TriggerDragStart("link", dragData.LinkUrl); } else if (dragData.IsFragment) { TriggerDragStart("text", dragData.FragmentText.Trim()); } else { TriggerDragStart("unknown"); } return(false); }
private static DragDropEffects GetDragEffects(DragOperationsMask mask) { if ((mask & DragOperationsMask.Every) == DragOperationsMask.Every) { return DragDropEffects.All; } if ((mask & DragOperationsMask.Copy) == DragOperationsMask.Copy) { return DragDropEffects.Copy; } if ((mask & DragOperationsMask.Move) == DragOperationsMask.Move) { return DragDropEffects.Move; } if ((mask & DragOperationsMask.Link) == DragOperationsMask.Link) { return DragDropEffects.Link; } return DragDropEffects.None; }
void IRenderWebBrowser.UpdateDragCursor(DragOperationsMask operation) { }
/// <summary> /// Starts dragging. /// </summary> /// <param name="dragData">The drag data.</param> /// <param name="mask">The mask.</param> /// <param name="x">The x.</param> /// <param name="y">The y.</param> /// <returns><c>true</c> if XXXX, <c>false</c> otherwise.</returns> bool IRenderWebBrowser.StartDragging(IDragData dragData, DragOperationsMask mask, int x, int y) { return(RenderHandler?.StartDragging(dragData, mask, x, y) ?? false); }
public bool OnDragEnter(IWebBrowser chromiumWebBrowser, IBrowser browser, IDragData dragData, DragOperationsMask mask) => true;
public bool OnDragEnter(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask) { if (dragData.IsFile) { Files = dragData.FileNames; } return(false); }
public virtual bool StartDragging(IDragData dragData, DragOperationsMask mask, int x, int y) { return(false); }
protected virtual bool StartDragging(IDragData dragData, DragOperationsMask mask, int x, int y) { return(RenderHandler?.StartDragging(dragData, mask, x, y) ?? false); }
bool IRenderWebBrowser.StartDragging(IDragData dragData, DragOperationsMask mask, int x, int y) { return(false); }
/// <summary> /// Called when an external drag event enters the browser window. /// </summary> /// <param name="browserControl">The ChromiumWebBrowser control</param> /// <param name="browser">The browser object</param> /// <param name="dragData">Contains the drag event data</param> /// <param name="mask">Represents the type of drag operation</param> /// <returns>Return false for default drag handling behavior or true to cancel the drag event.</returns> public bool OnDragEnter(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask) { var items = new List <FsFile>(); try { if (dragData.IsFile) { foreach (var path in dragData.FileNames) { if (File.Exists(path)) { var file = new FileInfo(path); items.Add(new FsFile() { Name = file.Name, Path = file.FullName, Size = file.Length, Type = Utils.GetMimeType(file.Extension), LastModified = (long)Utils.ConvertToUnixTimestamp(file.LastWriteTime) }); } else if (Directory.Exists(path)) { var dir = new DirectoryInfo(path); items.Add(new FsFile() { Name = dir.Name, Path = dir.FullName, Type = "directory", LastModified = (long)Utils.ConvertToUnixTimestamp(dir.LastWriteTime) }); } } } OsEvent.Emit(replyMsgName, null, items); } catch (Exception e) { OsEvent.Emit(replyMsgName, e); } return(false); }