[ Web Proxy ]
URL:
Viewing: https://raw.githubusercontent.com/cztomczak/cefpython/cefpython31/cefpython/drag_handler.pyx [Back]  [Original]

# Copyright (c) 2012-2014 The CEF Python authors. All rights reserved.
# License: New BSD License.
# Website: http://code.google.com/p/cefpython/

class Drag:
    Operation = {
        "None": DRAG_OPERATION_NONE,
        "Copy": DRAG_OPERATION_COPY,
        "Link": DRAG_OPERATION_LINK,
        "Generic": DRAG_OPERATION_GENERIC,
        "Private": DRAG_OPERATION_PRIVATE,
        "Move" : DRAG_OPERATION_MOVE,
        "Delete": DRAG_OPERATION_DELETE,
        "Every": DRAG_OPERATION_EVERY,
    }

cdef public cpp_bool DragHandler_OnDragStart(
        CefRefPtr[CefBrowser] browser,
        CefRefPtr[CefDragData] dragData,
        cef_drag_operations_mask_t mask
        ) except * with gil:
    cdef PyBrowser pyBrowser
    cdef PyDragData pyDragData
    cdef object callback
    cdef py_bool ret
    try:
        pyBrowser = GetPyBrowser(browser)
        pyDragData = CreatePyDragData(dragData)
        callback = pyBrowser.GetClientCallback("OnDragStart")
        if callback:
            # The max value for mask is UINT_MAX.
            ret = callback(pyBrowser, pyDragData, mask)
            return bool(ret)
        else:
            return False
    except:
        (exc_type, exc_value, exc_trace) = sys.exc_info()
        sys.excepthook(exc_type, exc_value, exc_trace)

cdef public cpp_bool DragHandler_OnDragEnter(
        CefRefPtr[CefBrowser] browser,
        CefRefPtr[CefDragData] dragData,
        cef_drag_operations_mask_t mask
        ) except * with gil:
    cdef PyBrowser pyBrowser
    cdef PyDragData pyDragData
    cdef object callback
    cdef py_bool ret
    try:
        pyBrowser = GetPyBrowser(browser)
        pyDragData = CreatePyDragData(dragData)
        callback = pyBrowser.GetClientCallback("OnDragEnter")
        if callback:
            # The max value for mask is UINT_MAX.
            ret = callback(pyBrowser, pyDragData, mask)
            return bool(ret)
        else:
            return False
    except:
        (exc_type, exc_value, exc_trace) = sys.exc_info()
        sys.excepthook(exc_type, exc_value, exc_trace)

Web Proxy Viewer  |  New URL  |  Original Page