20#include <com/sun/star/lang/XServiceInfo.hpp>
21#include <com/sun/star/uno/Sequence.h>
22#include <com/sun/star/uno/Any.h>
23#include <com/sun/star/lang/XInitialization.hpp>
24#include <com/sun/star/beans/XPropertyAccess.hpp>
25#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
26#include <com/sun/star/ui/dialogs/ExecutableDialogResults.hpp>
27#include <com/sun/star/document/XExporter.hpp>
43class SdHtmlOptionsDialog :
public cppu::WeakImplHelper
58 SdHtmlOptionsDialog();
61 virtual void SAL_CALL acquire() noexcept override;
62 virtual
void SAL_CALL release() noexcept override;
65 virtual
void SAL_CALL initialize( const
Sequence< Any > & aArguments ) override;
68 virtual OUString SAL_CALL getImplementationName() override;
69 virtual
sal_Bool SAL_CALL supportsService( const OUString& ServiceName ) override;
70 virtual
Sequence< OUString > SAL_CALL getSupportedServiceNames() override;
73 virtual
Sequence< PropertyValue > SAL_CALL getPropertyValues() override;
74 virtual
void SAL_CALL setPropertyValues( const css::
uno::
Sequence< css::beans::PropertyValue > & aProps ) override;
77 virtual sal_Int16 SAL_CALL execute() override;
78 virtual
void SAL_CALL setTitle( const OUString& aTitle ) override;
81 virtual
void SAL_CALL setSourceDocument( const css::
uno::
Reference< css::lang::XComponent >& xDoc ) override;
87SdHtmlOptionsDialog::SdHtmlOptionsDialog() :
92void SAL_CALL SdHtmlOptionsDialog::acquire() noexcept
94 OWeakObject::acquire();
97void SAL_CALL SdHtmlOptionsDialog::release() noexcept
99 OWeakObject::release();
103void SAL_CALL SdHtmlOptionsDialog::initialize(
const Sequence< Any > & )
108OUString SAL_CALL SdHtmlOptionsDialog::getImplementationName()
110 return "com.sun.star.comp.draw.SdHtmlOptionsDialog";
113sal_Bool SAL_CALL SdHtmlOptionsDialog::supportsService(
const OUString& rServiceName )
120 return {
"com.sun.star.ui.dialog.FilterOptionsDialog" };
126 auto pProp = std::find_if(std::cbegin(maMediaDescriptor), std::cend(maMediaDescriptor),
127 [](
const PropertyValue& rProp) {
return rProp.Name ==
"FilterData"; });
128 auto i =
static_cast<sal_Int32
>(std::distance(std::cbegin(maMediaDescriptor), pProp));
129 sal_Int32
nCount = maMediaDescriptor.getLength();
131 maMediaDescriptor.realloc( ++nCount );
134 auto& el = maMediaDescriptor.getArray()[
i ];
135 el.Name =
"FilterData";
136 el.Value <<= maFilterDataSequence;
137 return maMediaDescriptor;
142 maMediaDescriptor = aProps;
144 auto pProp = std::find_if(std::cbegin(maMediaDescriptor), std::cend(maMediaDescriptor),
145 [](
const PropertyValue& rProp) {
return rProp.Name ==
"FilterData"; });
146 if (pProp != std::cend(maMediaDescriptor))
147 pProp->Value >>= maFilterDataSequence;
151void SdHtmlOptionsDialog::setTitle(
const OUString& )
155sal_Int16 SdHtmlOptionsDialog::execute()
157 sal_Int16 nRet = ExecutableDialogResults::CANCEL;
161 if( pDlg->Execute() )
163 pDlg->GetParameterSequence( maFilterDataSequence );
164 nRet = ExecutableDialogResults::OK;
168 nRet = ExecutableDialogResults::CANCEL;
178 if ( xServiceInfo.is() )
180 if ( xServiceInfo->supportsService(
"com.sun.star.presentation.PresentationDocument" ) )
185 else if ( xServiceInfo->supportsService(
"com.sun.star.drawing.DrawingDocument" ) )
191 throw IllegalArgumentException();
195extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
197 css::uno::Sequence<css::uno::Any>
const &)
199 return cppu::acquire(
new SdHtmlOptionsDialog());
SAL_DLLPUBLIC_EXPORT css::uno::XInterface * com_sun_star_comp_draw_SdHtmlOptionsDialog_get_implementation(css::uno::XComponentContext *, css::uno::Sequence< css::uno::Any > const &)
virtual VclPtr< AbstractSdPublishingDlg > CreateSdPublishingDlg(weld::Window *pWindow, DocumentType eDocType)=0
static SD_DLLPUBLIC SdAbstractDialogFactory * Create()
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)