23#include <com/sun/star/frame/Desktop.hpp>
24#include <com/sun/star/frame/XTerminateListener.hpp>
26#include <com/sun/star/lang/XServiceInfo.hpp>
27#include <com/sun/star/lang/XInitialization.hpp>
28#include <com/sun/star/awt/XWindow.hpp>
29#include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
30#include <com/sun/star/beans/PropertyValue.hpp>
35using namespace ::
cppu;
47 css::ui::dialogs::XExecutableDialog,
53 explicit XMLFilterDialogComponent(
const Reference< XComponentContext >& rxContext );
65 virtual void SAL_CALL setTitle(
const OUString& aTitle )
override;
66 virtual sal_Int16 SAL_CALL execute( )
override;
69 virtual void SAL_CALL initialize(
const Sequence< Any >& aArguments )
override;
72 virtual void SAL_CALL queryTermination(
const EventObject& Event )
override;
73 virtual void SAL_CALL notifyTermination(
const EventObject& Event )
override;
74 virtual void SAL_CALL
disposing(
const EventObject& Source )
override;
78 virtual void disposing(std::unique_lock<std::mutex>& rGuard)
override;
81 css::uno::Reference<css::awt::XWindow>
mxParent;
82 css::uno::Reference< XComponentContext >
mxContext;
84 std::shared_ptr<XMLFilterSettingsDialog> mxDialog;
89XMLFilterDialogComponent::XMLFilterDialogComponent(
const css::uno::Reference< XComponentContext >& rxContext)
92 Reference< XDesktop2 > xDesktop = Desktop::create( rxContext );
93 Reference< XTerminateListener > xListener(
this );
94 xDesktop->addTerminateListener( xListener );
97OUString SAL_CALL XMLFilterDialogComponent::getImplementationName()
99 return "com.sun.star.comp.ui.XSLTFilterDialog";
109Sequence< OUString > SAL_CALL XMLFilterDialogComponent::getSupportedServiceNames()
111 return {
"com.sun.star.ui.dialogs.XSLTFilterDialog" };
114sal_Bool SAL_CALL XMLFilterDialogComponent::supportsService(
const OUString& ServiceName)
121void XMLFilterDialogComponent::disposing(std::unique_lock<std::mutex>& rGuard)
128 mxDialog->response(RET_CLOSE);
135void SAL_CALL XMLFilterDialogComponent::queryTermination(
const EventObject& )
143void SAL_CALL XMLFilterDialogComponent::notifyTermination(
const EventObject& )
148 mxDialog->response(RET_CLOSE);
155void SAL_CALL XMLFilterDialogComponent::disposing(
const EventObject& )
159void SAL_CALL XMLFilterDialogComponent::setTitle(
const OUString& )
163sal_Int16 SAL_CALL XMLFilterDialogComponent::execute()
167 bool bLaunch =
false;
170 Reference< XComponent > xKeepAlive(
this );
175 mxDialog->UpdateWindow();
191void SAL_CALL XMLFilterDialogComponent::initialize(
const Sequence< Any >& aArguments )
193 for(
const Any& rArgument : aArguments)
195 PropertyValue aProperty;
196 if(rArgument >>= aProperty)
198 if( aProperty.Name ==
"ParentWindow" )
207extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface*
209 css::uno::XComponentContext* context, css::uno::Sequence<css::uno::Any>
const&)
211 return cppu::acquire(
new XMLFilterDialogComponent(context));
unotools::WeakReference< AnimationNode > mxParent
static weld::Window * GetFrameWeld(const css::uno::Reference< css::awt::XWindow > &rWindow)
const css::uno::Sequence< sal_Int8 > & getSeq() const
virtual void disposing(std::unique_lock< std::mutex > &)
virtual css::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() override
static bool runAsync(const std::shared_ptr< DialogController > &rController, const std::function< void(sal_Int32)> &)
css::uno::Sequence< OUString > getSupportedServiceNames()
OUString getImplementationName()
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
SAL_DLLPUBLIC_EXPORT css::uno::XInterface * filter_XSLTFilterDialog_get_implementation(css::uno::XComponentContext *context, css::uno::Sequence< css::uno::Any > const &)