summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2010-07-21 15:32:50 +0200
committerJens-Heiner Rechtien <hr@openoffice.org>2010-07-21 15:32:50 +0200
commitbc025b80d7f8e706f326c91f73b466015729ca7c (patch)
tree41eebb37f75dc942c2e8d10c979ae473def6b1ad
parentac74bf3e16242e9de3824f03f65df34fdbc95bcd (diff)
parent83c66972e75dd44f17b7268005093a255e719441 (diff)
CWS-TOOLING: integrate CWS unoawt2
-rw-r--r--scripting/source/dlgprov/dlgprov.cxx25
-rw-r--r--scripting/source/dlgprov/dlgprov.hxx5
2 files changed, 30 insertions, 0 deletions
diff --git a/scripting/source/dlgprov/dlgprov.cxx b/scripting/source/dlgprov/dlgprov.cxx
index 49c07a4787..e9e12993c4 100644
--- a/scripting/source/dlgprov/dlgprov.cxx
+++ b/scripting/source/dlgprov/dlgprov.cxx
@@ -766,6 +766,31 @@ static ::rtl::OUString aResourceResolverPropName = ::rtl::OUString::createFromAs
return xDialog;
}
+ Reference < XDialog > DialogProviderImpl::createDialogWithArguments(
+ const ::rtl::OUString& URL, const Sequence< NamedValue >& Arguments )
+ throw (IllegalArgumentException, RuntimeException)
+ {
+ ::comphelper::NamedValueCollection aArguments( Arguments );
+
+ Reference< XWindowPeer > xParentPeer;
+ if ( aArguments.has( "ParentWindow" ) )
+ {
+ const Any aParentWindow( aArguments.get( "ParentWindow" ) );
+ if ( !( aParentWindow >>= xParentPeer ) )
+ {
+ const Reference< XControl > xParentControl( aParentWindow, UNO_QUERY );
+ if ( xParentControl.is() )
+ xParentPeer = xParentControl->getPeer();
+ }
+ }
+
+ const Reference< XInterface > xHandler( aArguments.get( "EventHandler" ), UNO_QUERY );
+
+ Reference < XControl > xControl = DialogProviderImpl::createDialogImpl( URL, xHandler, xParentPeer, true );
+ Reference< XDialog > xDialog( xControl, UNO_QUERY );
+ return xDialog;
+ }
+
Reference< XWindow > DialogProviderImpl::createContainerWindow(
const ::rtl::OUString& URL, const ::rtl::OUString& WindowType,
const Reference< XWindowPeer >& xParent, const Reference< XInterface >& xHandler )
diff --git a/scripting/source/dlgprov/dlgprov.hxx b/scripting/source/dlgprov/dlgprov.hxx
index 098e1d9378..82faef2f86 100644
--- a/scripting/source/dlgprov/dlgprov.hxx
+++ b/scripting/source/dlgprov/dlgprov.hxx
@@ -138,6 +138,11 @@ namespace dlgprov
const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& xHandler )
throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference < ::com::sun::star::awt::XDialog > SAL_CALL createDialogWithArguments(
+ const ::rtl::OUString& URL,
+ const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::NamedValue >& Arguments )
+ throw (::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::uno::RuntimeException);
+
virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow > SAL_CALL createContainerWindow(
const ::rtl::OUString& URL, const ::rtl::OUString& WindowType,
const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer >& xParent,