LibreOffice Module dtrans (master)  1
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
DragSource Class Reference

#include <source.hxx>

Inheritance diagram for DragSource:
[legend]
Collaboration diagram for DragSource:
[legend]

Public Member Functions

 DragSource (const Reference< XComponentContext > &rxContext)
 
virtual ~DragSource () override
 
 DragSource (const DragSource &)=delete
 
DragSourceoperator= (const DragSource &)=delete
 
virtual void SAL_CALL initialize (const Sequence< Any > &aArguments) override
 aArguments contains a machine id More...
 
virtual sal_Bool SAL_CALL isDragImageSupported () override
 XDragSource. More...
 
virtual sal_Int32 SAL_CALL getDefaultCursor (sal_Int8 dragAction) override
 
virtual void SAL_CALL startDrag (const DragGestureEvent &trigger, sal_Int8 sourceActions, sal_Int32 cursor, sal_Int32 image, const Reference< XTransferable > &trans, const Reference< XDragSourceListener > &listener) override
 Notifies the XDragSourceListener by calling dragDropEnd. More...
 
virtual OUString SAL_CALL getImplementationName () override
 
virtual sal_Bool SAL_CALL supportsService (const OUString &ServiceName) override
 
virtual Sequence< OUString > SAL_CALL getSupportedServiceNames () override
 
virtual HRESULT STDMETHODCALLTYPE QueryInterface (REFIID riid, void __RPC_FAR *__RPC_FAR *ppvObject) override
 IDropTarget. More...
 
virtual ULONG STDMETHODCALLTYPE AddRef () override
 
virtual ULONG STDMETHODCALLTYPE Release () override
 
virtual HRESULT STDMETHODCALLTYPE QueryContinueDrag (BOOL fEscapePressed, DWORD grfKeyState) override
 IDropSource. More...
 
virtual HRESULT STDMETHODCALLTYPE GiveFeedback (DWORD dwEffect) override
 

Public Attributes

long m_RunningDndOperationCount
 
DWORD m_threadIdWindow
 
Reference< XDragSourceContext > m_currentContext
 
IDataObjectPtr m_spDataObject
 
sal_Int8 m_sourceActions
 
- Public Attributes inherited from MutexDummy
osl::Mutex m_mutex
 

Private Member Functions

void StartDragImpl (const DragGestureEvent &trigger, sal_Int8 sourceActions, sal_Int32 cursor, sal_Int32 image, const Reference< XTransferable > &trans, const Reference< XDragSourceListener > &listener)
 First start a new drag and drop thread if the last one has finished. More...
 

Private Attributes

Reference< XComponentContext > m_xContext
 
HWND m_hAppWindow
 
short m_MouseButton
 

Detailed Description

Definition at line 48 of file source.hxx.

Constructor & Destructor Documentation

DragSource::DragSource ( const Reference< XComponentContext > &  rxContext)
explicit

Definition at line 51 of file source.cxx.

References m_xContext.

DragSource::~DragSource ( )
overridevirtual

Definition at line 61 of file source.cxx.

DragSource::DragSource ( const DragSource )
delete

Member Function Documentation

ULONG STDMETHODCALLTYPE DragSource::AddRef ( )
overridevirtual

Definition at line 210 of file source.cxx.

Referenced by QueryInterface().

sal_Int32 SAL_CALL DragSource::getDefaultCursor ( sal_Int8  dragAction)
overridevirtual

Definition at line 144 of file source.cxx.

OUString SAL_CALL DragSource::getImplementationName ( )
overridevirtual

Definition at line 279 of file source.cxx.

References DNDSOURCE_IMPL_NAME.

Sequence< OUString > SAL_CALL DragSource::getSupportedServiceNames ( )
overridevirtual

Definition at line 289 of file source.cxx.

References DNDSOURCE_SERVICE_NAME.

HRESULT STDMETHODCALLTYPE DragSource::GiveFeedback ( DWORD  dwEffect)
overridevirtual

Definition at line 264 of file source.cxx.

void SAL_CALL DragSource::initialize ( const Sequence< Any > &  aArguments)
overridevirtual

aArguments contains a machine id

Definition at line 131 of file source.cxx.

References m_hAppWindow.

sal_Bool SAL_CALL DragSource::isDragImageSupported ( )
overridevirtual

XDragSource.

Definition at line 139 of file source.cxx.

DragSource& DragSource::operator= ( const DragSource )
delete
HRESULT STDMETHODCALLTYPE DragSource::QueryContinueDrag ( BOOL  fEscapePressed,
DWORD  grfKeyState 
)
overridevirtual

IDropSource.

Definition at line 224 of file source.cxx.

References dndOleKeysToAction(), m_currentContext, m_MouseButton, and m_sourceActions.

HRESULT STDMETHODCALLTYPE DragSource::QueryInterface ( REFIID  riid,
void __RPC_FAR *__RPC_FAR *  ppvObject 
)
overridevirtual

IDropTarget.

Definition at line 189 of file source.cxx.

References AddRef().

ULONG STDMETHODCALLTYPE DragSource::Release ( )
overridevirtual

Definition at line 216 of file source.cxx.

void SAL_CALL DragSource::startDrag ( const DragGestureEvent &  trigger,
sal_Int8  sourceActions,
sal_Int32  cursor,
sal_Int32  image,
const Reference< XTransferable > &  trans,
const Reference< XDragSourceListener > &  listener 
)
overridevirtual

Notifies the XDragSourceListener by calling dragDropEnd.

Definition at line 151 of file source.cxx.

References m_RunningDndOperationCount, and StartDragImpl().

void DragSource::StartDragImpl ( const DragGestureEvent &  trigger,
sal_Int8  sourceActions,
sal_Int32  cursor,
sal_Int32  image,
const Reference< XTransferable > &  trans,
const Reference< XDragSourceListener > &  listener 
)
private

First start a new drag and drop thread if the last one has finished.

???? Do we really need a separate thread for every Dnd operation or only if the source thread is a MTA thread ????

Definition at line 74 of file source.cxx.

References CDTransObjFactory::createDataObjFromTransferable(), DndOleSTAFunc(), g_XTransferable, m_currentContext, m_hAppWindow, m_MouseButton, m_sourceActions, m_spDataObject, m_threadIdWindow, and m_xContext.

Referenced by startDrag().

sal_Bool SAL_CALL DragSource::supportsService ( const OUString &  ServiceName)
overridevirtual

Definition at line 284 of file source.cxx.

References cppu::supportsService().

Member Data Documentation

Reference<XDragSourceContext> DragSource::m_currentContext

Definition at line 78 of file source.hxx.

Referenced by DndOleSTAFunc(), QueryContinueDrag(), and StartDragImpl().

HWND DragSource::m_hAppWindow
private

Definition at line 55 of file source.hxx.

Referenced by initialize(), and StartDragImpl().

short DragSource::m_MouseButton
private

Definition at line 58 of file source.hxx.

Referenced by QueryContinueDrag(), and StartDragImpl().

long DragSource::m_RunningDndOperationCount

Definition at line 71 of file source.hxx.

Referenced by DndOleSTAFunc(), and startDrag().

sal_Int8 DragSource::m_sourceActions

Definition at line 83 of file source.hxx.

Referenced by DndOleSTAFunc(), QueryContinueDrag(), and StartDragImpl().

IDataObjectPtr DragSource::m_spDataObject

Definition at line 81 of file source.hxx.

Referenced by DndOleSTAFunc(), and StartDragImpl().

DWORD DragSource::m_threadIdWindow

Definition at line 76 of file source.hxx.

Referenced by DndOleSTAFunc(), and StartDragImpl().

Reference<XComponentContext> DragSource::m_xContext
private

Definition at line 54 of file source.hxx.

Referenced by StartDragImpl().


The documentation for this class was generated from the following files: