27#include <com/sun/star/ui/dialogs/XFilePickerListener.hpp>
28#include <com/sun/star/uno/Reference.hxx>
32#include <osl/interlck.h>
45 ,
public IFileDialogEvents
46 ,
public IFileDialogControlEvents
61 void** ppObject)
override;
62 virtual ULONG STDMETHODCALLTYPE
AddRef()
override;
63 virtual ULONG STDMETHODCALLTYPE
Release()
override;
69 STDMETHODIMP
OnFileOk(IFileDialog* pDialog)
override;
72 IShellItem* pFolder)
override;
80 FDE_SHAREVIOLATION_RESPONSE* pResponse)
override;
82 STDMETHODIMP
OnTypeChange(IFileDialog* pDialog)
override;
86 FDE_OVERWRITE_RESPONSE* pResponse)
override;
94 DWORD nIDItem )
override;
97 DWORD nIDCtl )
override;
101 BOOL bChecked )
override;
104 DWORD nIDCtl )
override;
110 virtual void addFilePickerListener(
const css::uno::Reference< css::ui::dialogs::XFilePickerListener >& xListener );
113 virtual void removeFilePickerListener(
const css::uno::Reference< css::ui::dialogs::XFilePickerListener >& xListener );
158 ::sal_Int16 nControlID);
oslInterlockedCount m_nRefCount
ref count for AddRef/Release()
virtual HRESULT STDMETHODCALLTYPE QueryInterface(REFIID rIID, void **ppObject) override
virtual void addFilePickerListener(const css::uno::Reference< css::ui::dialogs::XFilePickerListener > &xListener)
virtual ULONG STDMETHODCALLTYPE Release() override
void stopListening()
stop listening for file picker events on the internally cached dialog COM object.
STDMETHODIMP OnItemSelected(IFileDialogCustomize *pCustomize, DWORD nIDCtl, DWORD nIDItem) override
virtual void removeFilePickerListener(const css::uno::Reference< css::ui::dialogs::XFilePickerListener > &xListener)
IVistaFilePickerInternalNotify * m_pInternalNotify
virtual ULONG STDMETHODCALLTYPE AddRef() override
STDMETHODIMP OnFileOk(IFileDialog *pDialog) override
STDMETHODIMP OnFolderChanging(IFileDialog *pDialog, IShellItem *pFolder) override
comphelper::OMultiTypeInterfaceContainerHelper2 m_lListener
used to inform file picker listener asynchronously.
STDMETHODIMP OnControlActivating(IFileDialogCustomize *pCustomize, DWORD nIDCtl) override
STDMETHODIMP OnButtonClicked(IFileDialogCustomize *pCustomize, DWORD nIDCtl) override
void startListening(const TFileDialog &pBroadcaster)
start listening for file picker events on the given file open dialog COM object.
@ E_CONTROL_STATE_CHANGED
@ E_FILE_SELECTION_CHANGED
virtual ~VistaFilePickerEventHandler()
STDMETHODIMP OnSelectionChange(IFileDialog *pDialog) override
TFileDialog m_pDialog
cached file dialog instance (there we listen for events)
STDMETHODIMP OnCheckButtonToggled(IFileDialogCustomize *pCustomize, DWORD nIDCtl, BOOL bChecked) override
DWORD m_nListenerHandle
unique handle for this listener provided by the broadcaster on registration time
STDMETHODIMP OnTypeChange(IFileDialog *pDialog) override
VistaFilePickerEventHandler(IVistaFilePickerInternalNotify *pInternalNotify)
STDMETHODIMP OnFolderChange(IFileDialog *pDialog) override
STDMETHODIMP OnShareViolation(IFileDialog *pDialog, IShellItem *pItem, FDE_SHAREVIOLATION_RESPONSE *pResponse) override
void impl_sendEvent(EEventType eEventType, ::sal_Int16 nControlID)
STDMETHODIMP OnOverwrite(IFileDialog *pDialog, IShellItem *pItem, FDE_OVERWRITE_RESPONSE *pResponse) override
sal::systools::COMReference< IFileDialog > TFileDialog
const wchar_t *typedef BOOL