コード例 #1
0
        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);
        }
コード例 #2
0
 public bool OnDragEnter(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask)
 {
     if (dragData.IsFile)
     {
         Files = dragData.FileNames;
     }
     return(false);
 }
コード例 #3
0
            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);
            }
コード例 #4
0
        private static void Source_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
        {
            IDragData source = TreeFinder.FindInterface <IDragData>(sender as FrameworkElement);

            if (source == null)
            {
                Debug.Assert(false, "In order to complete drag operation IDragData must be implement by the source.");
            }

            var dragObject = source.GetDragObject( );

            ObjectType = dragObject.GetType( );

            DragDrop.DoDragDrop(sender as DependencyObject, dragObject, DragDropEffects.Copy);
        }
コード例 #5
0
        /// <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);
        }
コード例 #6
0
        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);
            }

            if (dragData.IsLink)
            {
                TriggerDragStart("link", dragData.LinkUrl);
            }
            else if (dragData.IsFragment)
            {
                TriggerDragStart("text", dragData.FragmentText.Trim());
            }
            else
            {
                TriggerDragStart("unknown");
            }

            return(false);
        }
コード例 #7
0
 public bool OnDragEnter(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask) =>
 false;
コード例 #8
0
 public void cwb_DragDrop(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask)
 {
     //MessageBox.Show(e.Data.ToString());
     DragFileName = dragData.FileNames[0];
 }
コード例 #9
0
ファイル: DragDropHandler.cs プロジェクト: wwwK/Nacollector
 public bool OnDragEnter(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask)
 {
     return(true); // return true 禁止拖入文件
 }
コード例 #10
0
 protected virtual bool StartDragging(IDragData dragData, DragOperationsMask mask, int x, int y)
 {
     return(RenderHandler?.StartDragging(dragData, mask, x, y) ?? false);
 }
コード例 #11
0
 public bool StartDragging(IDragData dragData, DragOperationsMask mask, int x, int y)
 {
     // Returning false to abort drag operations.
     return(false);
 }
コード例 #12
0
 public virtual bool StartDragging(IDragData dragData, DragOperationsMask mask, int x, int y)
 {
     return(false);
 }
コード例 #13
0
 bool IRenderWebBrowser.StartDragging(IDragData dragData, DragOperationsMask mask, int x, int y)
 {
     return false;
 }
コード例 #14
0
ファイル: DragHandler.cs プロジェクト: ithanshui/CefSharp
 bool IDragHandler.OnDragEnter(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask)
 {
     return false;
 }
コード例 #15
0
ファイル: DragHandler.cs プロジェクト: numbersint/CefSharp
 public bool OnDragEnter(IWebBrowser browser, IDragData dragData, DragOperationsMask mask)
 {
     return false;
 }
コード例 #16
0
ファイル: CefDragHandler.cs プロジェクト: chylex/TweetDuck
 public bool OnDragEnter(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask)
 {
     return(logic.OnDragEnter(dragData));
 }
コード例 #17
0
            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);
            }
コード例 #18
0
 public bool StartDragging(IDragData dragData, DragOperationsMask mask, int x, int y)
 {
     //TODO: Implement
     return(false);
 }
コード例 #19
0
ファイル: DragHandler .cs プロジェクト: zzhnysr/CefSharp
 /// <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));
 }
コード例 #20
0
 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;
 }
コード例 #22
0
        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;
        }
コード例 #23
0
 bool IDragHandler.OnDragEnter(IWebBrowser browserControl, IBrowser browser, IDragData dragData, DragOperationsMask mask)
 {
     // Returning true cancels the drag (no idea why...) #CEFLogic
     return(true);
 }
コード例 #24
0
 /// <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);
 }
コード例 #25
0
 bool IDragHandler.OnDragEnter(IWebBrowser ChromiumBrowser, IBrowser browser, IDragData dragData, DragOperationsMask mask)
 {
     return(false);
 }
コード例 #26
0
 public bool OnDragEnter(IWebBrowser chromiumWebBrowser, IBrowser browser, IDragData dragData, DragOperationsMask mask)
 {
     return(false);
 }
コード例 #27
0
ファイル: DragHandler.cs プロジェクト: wbsdty331/ing
 public bool OnDragEnter(IWebBrowser chromiumWebBrowser, IBrowser browser, IDragData dragData, DragOperationsMask mask) => true;
コード例 #28
0
ファイル: ChromiumWebBrowser.cs プロジェクト: poloab/CefSharp
 bool IRenderWebBrowser.StartDragging(IDragData dragData, DragOperationsMask mask, int x, int y)
 {
     return(false);
 }
コード例 #29
0
 bool IDragHandler.OnDragEnter(IWebBrowser chromiumWebBrowser, IBrowser browser, IDragData dragData, DragOperationsMask mask)
 {
     dragData.Dispose();
     return true;
 }