37#include <com/sun/star/beans/PropertyAttribute.hpp>
38#include <com/sun/star/frame/FrameSearchFlag.hpp>
39#include <com/sun/star/frame/TerminationVetoException.hpp>
40#include <com/sun/star/task/XInteractionAbort.hpp>
41#include <com/sun/star/task/XInteractionApprove.hpp>
42#include <com/sun/star/document/XInteractionFilterSelect.hpp>
43#include <com/sun/star/task/ErrorCodeRequest.hpp>
44#include <com/sun/star/frame/DispatchResultState.hpp>
45#include <com/sun/star/lang/DisposedException.hpp>
46#include <com/sun/star/util/CloseVetoException.hpp>
47#include <com/sun/star/util/XCloseable.hpp>
48#include <com/sun/star/frame/XTerminateListener2.hpp>
68 ActiveFrame, DispatchRecorderSupplier, IsPlugged, SuspendQuickstartVeto,
75 return "com.sun.star.comp.framework.Desktop";
85 return {
"com.sun.star.frame.Desktop" };
107 OUString sUntitledPrefix =
FwkResId(STR_UNTITLED_DOCUMENT) +
" ";
112 pNumbers->setUntitledPrefix ( sUntitledPrefix );
116 SAL_WARN_IF( !
m_xFramesHelper.is(),
"fwk.desktop",
"Desktop::Desktop(): Frames helper is not valid. XFrames, XIndexAccess and XElementAccess are not supported!");
117 SAL_WARN_IF( !
m_xDispatchHelper.is(),
"fwk.desktop",
"Desktop::Desktop(): Dispatch helper is not valid. XDispatch will not work correctly!" );
145 ,
cppu::OPropertySetHelper(
cppu::WeakComponentImplHelperBase::rBHelper )
147 , m_bIsTerminated(false)
148 , m_bIsShutdown(false)
149 , m_bSession ( false )
153 , m_bSuspendQuickstartVeto( false )
171 css::uno::Any aRet = Desktop_BASE::queryInterface( _rType );
172 if ( !aRet.hasValue() )
173 aRet = OPropertySetHelper::queryInterface( _rType );
180 Desktop_BASE::getTypes(),
193 css::uno::Reference< css::frame::XTerminateListener > xPipeTerminator =
m_xPipeTerminator;
194 css::uno::Reference< css::frame::XTerminateListener > xQuickLauncher =
m_xQuickLauncher;
195 css::uno::Reference< css::frame::XTerminateListener > xSWThreadManager =
m_xSWThreadManager;
196 css::uno::Reference< css::frame::XTerminateListener > xSfxTerminator =
m_xSfxTerminator;
238 if( bAskQuickStart && xQuickLauncher.is() )
240 xQuickLauncher->queryTermination(
aEvent );
241 lCalledTerminationListener.push_back( xQuickLauncher );
244 if ( xSWThreadManager.is() )
246 xSWThreadManager->queryTermination(
aEvent );
247 lCalledTerminationListener.push_back( xSWThreadManager );
250 if ( xPipeTerminator.is() )
252 xPipeTerminator->queryTermination(
aEvent );
253 lCalledTerminationListener.push_back( xPipeTerminator );
256 if ( xSfxTerminator.is() )
258 xSfxTerminator->queryTermination(
aEvent );
259 lCalledTerminationListener.push_back( xSfxTerminator );
262 catch(
const css::frame::TerminationVetoException&)
273 if (!bRestartableMainLoop)
286 if( bAskQuickStart && xQuickLauncher.is() )
287 xQuickLauncher->notifyTermination(
aEvent );
289 if ( xSWThreadManager.is() )
290 xSWThreadManager->notifyTermination(
aEvent );
292 if ( xPipeTerminator.is() )
293 xPipeTerminator->notifyTermination(
aEvent );
321 css::uno::Reference<css::frame::XTerminateListener> xSfxTerminator =
m_xSfxTerminator;
325 std::vector< css::uno::Reference<css::frame::XTerminateListener> > xComponentDllListeners;
327 for (
auto& xListener : xComponentDllListeners)
328 xListener->notifyTermination(
aEvent);
329 xComponentDllListeners.clear();
333 if (xSfxTerminator.is())
334 xSfxTerminator->notifyTermination(
aEvent);
339 class QuickstartSuppressor
344 QuickstartSuppressor(Desktop*
const pDesktop, css::uno::Reference< css::frame::XTerminateListener > xQuickLauncher)
348 SAL_INFO(
"fwk.desktop",
"temporary removing Quickstarter");
352 ~QuickstartSuppressor()
354 SAL_INFO(
"fwk.desktop",
"readding Quickstarter");
372 css::uno::Reference< css::lang::XServiceInfo > xInfo( xListener, css::uno::UNO_QUERY );
414 css::uno::Reference< css::lang::XServiceInfo > xInfo( xListener, css::uno::UNO_QUERY );
499 css::uno::Reference< css::lang::XComponent > xComponent;
504 css::uno::Reference< css::frame::XFrame > xCurrentFrame =
getCurrentFrame();
505 if( xCurrentFrame.is() )
536 css::uno::Reference< css::frame::XFramesSupplier > xLast(
getActiveFrame(), css::uno::UNO_QUERY );
539 css::uno::Reference< css::frame::XFramesSupplier > xNext( xLast->getActiveFrame(), css::uno::UNO_QUERY );
543 xNext.set( xNext->getActiveFrame(), css::uno::UNO_QUERY );
566 const OUString& sTargetFrameName,
567 sal_Int32 nSearchFlags ,
568 const css::uno::Sequence< css::beans::PropertyValue >& lArguments )
573 SAL_INFO(
"fwk.desktop",
"loadComponentFromURL" );
575 css::uno::Reference< css::frame::XComponentLoader > xThis(
this);
578 bool bOnMainThread = aDescriptor.getUnpackedValueOrDefault(
"OnMainThread",
false);
589 nSearchFlags, lArguments));
594 nSearchFlags, lArguments);
619 SAL_INFO(
"fwk.desktop",
"Desktop::getTasks(): Use of obsolete interface XTaskSupplier");
641 SAL_INFO(
"fwk.desktop",
"Desktop::getActiveTask(): Use of obsolete interface XTaskSupplier");
665 const OUString& sTargetFrameName ,
666 sal_Int32 nSearchFlags )
675 if (
aURL.Protocol.equalsIgnoreAsciiCase(
".uno:") )
683 return css::uno::Reference< css::frame::XDispatch >();
692css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > > SAL_CALL
Desktop::queryDispatches(
const css::uno::Sequence< css::frame::DispatchDescriptor >& lQueries )
716 css::uno::Reference< css::frame::XDispatchProviderInterception > xInterceptionHelper(
m_xDispatchHelper, css::uno::UNO_QUERY );
717 xInterceptionHelper->registerDispatchProviderInterceptor( xInterceptor );
724 css::uno::Reference< css::frame::XDispatchProviderInterception > xInterceptionHelper(
m_xDispatchHelper, css::uno::UNO_QUERY );
725 xInterceptionHelper->releaseDispatchProviderInterceptor( xInterceptor );
781 if( xLastActiveChild !=
xFrame )
784 if( xLastActiveChild.is() )
786 xLastActiveChild->deactivate();
812 return css::uno::Reference< css::awt::XWindow >();
821 return css::uno::Reference< css::frame::XFramesSupplier >();
861 const css::uno::Reference< css::frame::XController >& )
868 return css::uno::Reference< css::awt::XWindow >();
873 return css::uno::Reference< css::frame::XController >();
916css::uno::Reference< css::frame::XFrame > SAL_CALL
Desktop::findFrame(
const OUString& sTargetFrameName ,
917 sal_Int32 nSearchFlags )
919 css::uno::Reference< css::frame::XFrame >
xTarget;
963 ( sTargetFrameName.isEmpty() )
984 (nSearchFlags & css::frame::FrameSearchFlag::SELF) &&
1001 (nSearchFlags & css::frame::FrameSearchFlag::TASKS)
1015 (nSearchFlags & css::frame::FrameSearchFlag::CHILDREN)
1027 (nSearchFlags & css::frame::FrameSearchFlag::CREATE)
1045 assert(
m_bIsShutdown &&
"Desktop disposed before terminating it");
1067 css::uno::Reference< css::uno::XInterface > xThis (
static_cast< ::
cppu::OWeakObject*
>(
this), css::uno::UNO_QUERY );
1068 css::lang::EventObject
aEvent( xThis );
1077 css::uno::Reference< css::lang::XEventListener > xFramesHelper(
m_xFramesHelper, css::uno::UNO_QUERY );
1078 if( xFramesHelper.is() )
1079 xFramesHelper->disposing(
aEvent );
1091 std::vector< css::uno::Reference<css::frame::XTerminateListener> > xComponentDllListeners;
1093 for (
auto& xListener: xComponentDllListeners)
1095 xListener->disposing(
aEvent);
1097 xComponentDllListeners.clear();
1122 SAL_WARN_IF( !xListener.is(),
"fwk.desktop",
"Desktop::addEventListener(): Invalid parameter detected!" );
1134 SAL_WARN_IF( !xListener.is(),
"fwk.desktop",
"Desktop::removeEventListener(): Invalid parameter detected!" );
1164 if(
aEvent.State == css::frame::DispatchResultState::SUCCESS )
1166 css::uno::Reference< css::frame::XFrame > xLastFrame;
1167 if (
aEvent.Result >>= xLastFrame )
1183 SAL_WARN(
"fwk.desktop",
"Desktop::disposing(): Algorithm error! Normally desktop is temp. listener ... not all the time. So this method shouldn't be called." );
1206void SAL_CALL
Desktop::handle(
const css::uno::Reference< css::task::XInteractionRequest >& xRequest )
1220 css::uno::Any aRequest = xRequest->getRequest();
1223 css::uno::Sequence< css::uno::Reference< css::task::XInteractionContinuation > > lContinuations = xRequest->getContinuations();
1224 css::uno::Reference< css::task::XInteractionAbort > xAbort;
1225 css::uno::Reference< css::task::XInteractionApprove > xApprove;
1226 css::uno::Reference< css::document::XInteractionFilterSelect > xFilterSelect;
1227 bool bAbort =
false;
1229 sal_Int32
nCount=lContinuations.getLength();
1230 for( sal_Int32 nStep=0; nStep<
nCount; ++nStep )
1233 xAbort.set( lContinuations[nStep], css::uno::UNO_QUERY );
1235 if( ! xApprove.is() )
1236 xApprove.set( lContinuations[nStep], css::uno::UNO_QUERY );
1238 if( ! xFilterSelect.is() )
1239 xFilterSelect.set( lContinuations[nStep], css::uno::UNO_QUERY );
1244 css::task::ErrorCodeRequest aErrorCodeRequest;
1245 if( aRequest >>= aErrorCodeRequest )
1248 if (xApprove.is() && bWarning)
1257 else if( xAbort.is() )
1322 css::uno::Any& aOldValue ,
1324 const css::uno::Any& aValue )
1332 bool bReturn =
false;
1336 case PropHandle::SuspendQuickstartVeto:
1343 case PropHandle::DispatchRecorderSupplier :
1350 case PropHandle::Title :
1378 const css::uno::Any& aValue )
1390 case PropHandle::Title: aValue >>=
m_sTitle;
1409 sal_Int32 nHandle )
const
1419 case PropHandle::IsPlugged : aValue <<=
false;
1425 case PropHandle::Title: aValue <<=
m_sTitle;
1435 {{
"ActiveFrame", PropHandle::ActiveFrame,
1437 (css::beans::PropertyAttribute::TRANSIENT
1438 | css::beans::PropertyAttribute::READONLY)},
1439 {
"DispatchRecorderSupplier",
1440 PropHandle::DispatchRecorderSupplier,
1442 css::beans::PropertyAttribute::TRANSIENT},
1445 (css::beans::PropertyAttribute::TRANSIENT
1446 | css::beans::PropertyAttribute::READONLY)},
1447 {
"SuspendQuickstartVeto", PropHandle::SuspendQuickstartVeto,
1449 css::beans::PropertyAttribute::TRANSIENT},
1451 css::beans::PropertyAttribute::TRANSIENT}},
1480 static css::uno::Reference< css::beans::XPropertySetInfo > xInfo(
1511 css::uno::Reference< css::lang::XComponent > xComponent;
1513 css::uno::Reference< css::frame::XController >
xController =
xFrame->getController();
1517 xComponent =
xFrame->getComponentWindow();
1553 css::uno::Reference< css::frame::XTerminateListener > xListener(aIterator.
next(), css::uno::UNO_QUERY);
1554 if ( ! xListener.is() )
1556 xListener->queryTermination(
aEvent );
1557 lCalledListener.push_back(xListener);
1559 catch(
const css::frame::TerminationVetoException& )
1564 catch(
const css::uno::Exception& )
1581 for (
const css::uno::Reference<css::frame::XTerminateListener>& xListener : lCalledListener)
1586 css::uno::Reference< css::frame::XTerminateListener2 > xListenerGeneration2(xListener, css::uno::UNO_QUERY);
1587 if ( ! xListenerGeneration2.is() )
1589 xListenerGeneration2->cancelTermination(
aEvent );
1591 catch(
const css::uno::Exception& )
1609 css::frame::XTerminateListener* pTerminateListener =
1610 static_cast< css::frame::XTerminateListener*
>(aIterator.
next());
1611 css::uno::Reference< css::lang::XServiceInfo > xInfo( pTerminateListener, css::uno::UNO_QUERY );
1615 if ( xInfo->getImplementationName() !=
"com.sun.star.comp.svt.TransferableHelperTerminateListener" )
1619 pTerminateListener->notifyTermination(
aEvent );
1624 catch(
const css::uno::Exception& )
1649 static_cast< css::frame::XTerminateListener*
>(aIterator.
next())->notifyTermination(
aEvent );
1651 catch(
const css::uno::Exception& )
1667 ::sal_Int32 c = lFrames.getLength();
1669 ::sal_Int32 nNonClosedFrames = 0;
1671 for(
i=0;
i<c; ++
i )
1675 css::uno::Reference< css::frame::XFrame >
xFrame = lFrames[
i];
1679 bool bSuspended =
false;
1680 css::uno::Reference< css::frame::XController >
xController =
xFrame->getController();
1697 css::uno::Reference< css::util::XCloseable > xClose(
xFrame, css::uno::UNO_QUERY );
1702 xClose->close(
false);
1704 catch(
const css::util::CloseVetoException&)
1731 catch(
const css::lang::DisposedException&)
1741 return (nNonClosedFrames < 1);
1749 css::uno::Reference<css::uno::XComponentContext>
const & context)
1760 css::uno::Reference<css::uno::XComponentContext>
const & context)
1762 static auto const instance = createDesktop(context);
1766extern "C" SAL_DLLPUBLIC_EXPORT css::uno::XInterface *
1768 css::uno::XComponentContext *context,
1769 css::uno::Sequence<css::uno::Any>
const &)
constexpr OUStringLiteral sImplementationName
static bool IsInExecute()
static void addKeyValue(SAL_UNUSED_PARAMETER const OUString &, SAL_UNUSED_PARAMETER const OUString &, SAL_UNUSED_PARAMETER tAddKeyHandling)
static void ProcessEventsToIdle()
css::uno::XInterface * next()
bool hasMoreElements() const
OInterfaceContainerHelper2 * getContainer(const css::uno::Type &rKey) const
sal_Int32 removeInterface(const css::uno::Type &rKey, const css::uno::Reference< css::uno::XInterface > &rxIFace)
sal_Int32 addInterface(const css::uno::Type &rKey, const css::uno::Reference< css::uno::XInterface > &r)
void disposeAndClear(const css::lang::EventObject &rEvt)
static css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL createPropertySetInfo(IPropertyArrayHelper &rProperties)
css::uno::Sequence< css::uno::Type > getTypes()
css::uno::Type const & get()
virtual css::uno::Reference< css::lang::XComponent > SAL_CALL loadComponentFromURL(const OUString &sURL, const OUString &sTargetFrameName, sal_Int32 nSearchFlags, const css::uno::Sequence< css::beans::PropertyValue > &lArguments) override
virtual void SAL_CALL setName(const OUString &sName) override
bool terminateQuickstarterToo()
virtual void SAL_CALL setFastPropertyValue_NoBroadcast(sal_Int32 nHandle, const css::uno::Any &aValue) override
virtual css::uno::Reference< css::container::XEnumerationAccess > SAL_CALL getComponents() override
virtual void SAL_CALL activate() override
comphelper::OMultiTypeInterfaceContainerHelper2 m_aListenerContainer
array of child tasks (children of desktop are tasks; and tasks are also frames - But pure frames are ...
virtual void SAL_CALL setCreator(const css::uno::Reference< css::frame::XFramesSupplier > &xCreator) override
bool m_bSession
when true, the call came from session manager the method is Desktop::terminateQuickstarterToo() this ...
virtual void SAL_CALL deactivate() override
OUString m_sName
ref counted class to support disabling commands defined by configuration file
virtual ::sal_Int32 SAL_CALL leaseNumber(const css::uno::Reference< css::uno::XInterface > &xComponent) override
FrameContainer m_aChildTaskContainer
reference to factory, which has create this instance
virtual void SAL_CALL setActiveFrame(const css::uno::Reference< css::frame::XFrame > &xFrame) override
ELoadState m_eLoadState
helper to dispatch something for new tasks, created by "_blank"!
css::uno::Reference< css::frame::XTerminateListener > m_xSWThreadManager
special terminate listener which loads images asynchronous for current open documents.
virtual void SAL_CALL dispatchFinished(const css::frame::DispatchResultEvent &aEvent) override
virtual css::uno::Reference< css::container::XEnumerationAccess > SAL_CALL getTasks() override
bool m_bIsShutdown
check flag to protect us against dispose before terminate! see dispose() for further information!
virtual css::uno::Reference< css::frame::XFrame > SAL_CALL getCurrentFrame() override
virtual css::uno::Reference< css::awt::XWindow > SAL_CALL getContainerWindow() override
virtual void SAL_CALL removeEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) override
virtual OUString SAL_CALL getUntitledPrefix() override
virtual OUString SAL_CALL getName() override
std::vector< css::uno::Reference< css::frame::XTerminateListener > > m_xComponentDllListeners
virtual void SAL_CALL addTerminateListener(const css::uno::Reference< css::frame::XTerminateListener > &xListener) override
css::uno::Reference< css::uno::XComponentContext > m_xContext
virtual void SAL_CALL addEventListener(const css::uno::Reference< css::lang::XEventListener > &xListener) override
virtual css::uno::Reference< css::frame::XDispatch > SAL_CALL queryDispatch(const css::util::URL &aURL, const OUString &sTargetFrameName, sal_Int32 nSearchFlags) override
virtual css::uno::Sequence< OUString > SAL_CALL getSupportedServiceNames() override
virtual OUString SAL_CALL getImplementationName() override
virtual void SAL_CALL disposing() override
virtual css::uno::Reference< css::frame::XFrame > SAL_CALL findFrame(const OUString &sTargetFrameName, sal_Int32 nSearchFlags) override
Desktop(css::uno::Reference< css::uno::XComponentContext > xContext)
virtual css::uno::Reference< css::awt::XWindow > SAL_CALL getComponentWindow() override
virtual ~Desktop() override
virtual void SAL_CALL releaseDispatchProviderInterceptor(const css::uno::Reference< css::frame::XDispatchProviderInterceptor > &xInterceptor) override
bool m_bSuspendQuickstartVeto
hold information about state of asynchron loading of component for loadComponentFromURL()!
virtual void SAL_CALL removeFrameActionListener(const css::uno::Reference< css::frame::XFrameActionListener > &xListener) override
void impl_sendNotifyTerminationEvent()
calls notifyTermination() on every registered termination listener.
css::uno::Reference< css::frame::XDispatchProvider > m_xDispatchHelper
helper for XFrames, XIndexAccess, XElementAccess and implementation of a childcontainer!
bool m_bIsTerminated
check flag to protect against multiple terminate runs
virtual void SAL_CALL getFastPropertyValue(css::uno::Any &aValue, sal_Int32 nHandle) const override
virtual sal_Bool SAL_CALL setComponent(const css::uno::Reference< css::awt::XWindow > &xComponentWindow, const css::uno::Reference< css::frame::XController > &xController) override
virtual sal_Bool SAL_CALL terminate() override
virtual css::uno::Reference< css::frame::XTask > SAL_CALL getActiveTask() override
virtual css::uno::Reference< css::frame::XFramesSupplier > SAL_CALL getCreator() override
virtual css::uno::Reference< css::frame::XFrame > SAL_CALL getActiveFrame() override
bool impl_closeFrames(bool bAllowUI)
try to close all open frames.
virtual void SAL_CALL releaseNumberForComponent(const css::uno::Reference< css::uno::XInterface > &xComponent) override
css::uno::Reference< css::frame::XTerminateListener > m_xSfxTerminator
special terminate listener shutting down the SfxApplication.
css::uno::Reference< css::lang::XComponent > impl_getFrameComponent(const css::uno::Reference< css::frame::XFrame > &xFrame) const
css::uno::Reference< css::frame::XTerminateListener > m_xPipeTerminator
special terminate listener to close pipe and block external requests during/after termination process...
virtual sal_Bool SAL_CALL isActive() override
virtual void SAL_CALL removeTerminateListener(const css::uno::Reference< css::frame::XTerminateListener > &xListener) override
css::uno::Reference< css::frame::XTerminateListener > m_xQuickLauncher
special terminate listener shown inside system tray (quick starter) Will hinder the office on shutdow...
virtual css::uno::Reference< css::lang::XComponent > SAL_CALL getCurrentComponent() override
virtual css::uno::Reference< css::frame::XController > SAL_CALL getController() override
virtual sal_Bool SAL_CALL supportsService(OUString const &ServiceName) override
virtual void SAL_CALL registerDispatchProviderInterceptor(const css::uno::Reference< css::frame::XDispatchProviderInterceptor > &xInterceptor) override
virtual void SAL_CALL initialize(const css::uno::Reference< css::awt::XWindow > &xWindow) override
virtual void SAL_CALL contextChanged() override
css::uno::Reference< css::frame::XFrames > m_xFramesHelper
container for ALL Listener
virtual sal_Bool SAL_CALL isTop() override
bool impl_sendQueryTerminationEvent(TTerminateListenerList &lCalledListener)
calls queryTermination() on every registered termination listener.
virtual css::uno::Any SAL_CALL queryInterface(const css::uno::Type &type) override
void impl_sendCancelTerminationEvent(const TTerminateListenerList &lCalledListener)
calls cancelTermination() on every termination listener where queryTermination() was called before.
virtual css::uno::Reference< css::beans::XPropertySetInfo > SAL_CALL getPropertySetInfo() override
virtual css::uno::Sequence< css::uno::Reference< css::frame::XDispatch > > SAL_CALL queryDispatches(const css::uno::Sequence< css::frame::DispatchDescriptor > &lQueries) override
virtual css::uno::Sequence< css::uno::Type > SAL_CALL getTypes() override
virtual ::cppu::IPropertyArrayHelper &SAL_CALL getInfoHelper() override
css::uno::Reference< css::frame::XDispatchRecorderSupplier > m_xDispatchRecorderSupplier
::std::vector< css::uno::Reference< css::frame::XTerminateListener > > TTerminateListenerList
used temporary to know which listener was already called or not.
virtual void SAL_CALL addFrameActionListener(const css::uno::Reference< css::frame::XFrameActionListener > &xListener) override
css::uno::Reference< css::frame::XUntitledNumbers > m_xTitleNumberGenerator
virtual void SAL_CALL handle(const css::uno::Reference< css::task::XInteractionRequest > &xRequest) override
void impl_sendTerminateToClipboard()
calls notifyTermination() on the clipboard listener
virtual css::uno::Reference< css::frame::XFrames > SAL_CALL getFrames() override
TransactionManager m_aTransactionManager
std::unique_ptr< SvtCommandOptions > m_xCommandOptions
don't ask quickstart for a veto
virtual void SAL_CALL releaseNumber(::sal_Int32 nNumber) override
virtual sal_Bool SAL_CALL convertFastPropertyValue(css::uno::Any &aConvertedValue, css::uno::Any &aOldValue, sal_Int32 nHandle, const css::uno::Any &aValue) override
implement a helper for XDispatchProvider interface @descr The result of a queryDispatch() call depend...
void clear()
-****************************************************************************************************...
void setActive(const css::uno::Reference< css::frame::XFrame > &xFrame)
-****************************************************************************************************...
css::uno::Reference< css::frame::XFrame > searchOnAllChildrens(const OUString &sName) const
special helper for Frame::findFrame()
css::uno::Reference< css::frame::XFrame > getActive() const
-****************************************************************************************************...
css::uno::Sequence< css::uno::Reference< css::frame::XFrame > > getAllElements() const
replacement for deprecated index access
css::uno::Reference< css::frame::XFrame > searchOnDirectChildrens(std::u16string_view sName) const
-****************************************************************************************************...
implements a helper to support interception with additional functionality.
static css::uno::Reference< css::lang::XComponent > loadComponentFromURL(const css::uno::Reference< css::frame::XComponentLoader > &xLoader, const css::uno::Reference< css::uno::XComponentContext > &xContext, const OUString &sURL, const OUString &sTarget, sal_Int32 nFlags, const css::uno::Sequence< css::beans::PropertyValue > &lArgs)
implement XFrames, XIndexAccess and XElementAccess interfaces as helper for services @descr Use this ...
static bool willPropertyBeChanged(const css::uno::Any &aCurrentValue, const css::uno::Any &aNewValue, css::uno::Any &aOldValue, css::uno::Any &aChangedValue)
checks if given property will be changed by this settings.
css::uno::Reference< css::frame::XFrame > createTask(const OUString &sName, const utl::MediaDescriptor &rDescriptor)
void setWorkingMode(EWorkingMode eMode)
EWorkingMode getWorkingMode() const
Desktop *const m_pDesktop
SAL_DLLPUBLIC_EXPORT css::uno::XInterface * com_sun_star_comp_framework_Desktop_get_implementation(css::uno::XComponentContext *context, css::uno::Sequence< css::uno::Any > const &)
css::uno::Reference< css::frame::XTerminateListener > m_xQuickLauncher
Reference< XInterface > xTarget
OUString FwkResId(TranslateId aId)
css::uno::Reference< css::uno::XComponentContext > m_xContext
#define SAL_WARN_IF(condition, area, stream)
#define SAL_WARN(area, stream)
#define SAL_INFO(area, stream)
css::uno::Sequence< T > concatSequences(const css::uno::Sequence< T > &rS1, const Ss &... rSn)
bool CPPUHELPER_DLLPUBLIC supportsService(css::lang::XServiceInfo *implementation, rtl::OUString const &name)
constexpr OUStringLiteral SPECIALTARGET_BEAMER
constexpr OUStringLiteral SPECIALTARGET_TOP
constexpr OUStringLiteral SPECIALTARGET_BLANK
FWK_DLLPUBLIC const rtl::Reference< Desktop > & getDesktop(css::uno::Reference< css::uno::XComponentContext > const &context)
constexpr OUStringLiteral SPECIALTARGET_DEFAULT
cppu::WeakComponentImplHelper< css::lang::XServiceInfo, css::frame::XDesktop2, css::frame::XTasksSupplier, css::frame::XDispatchResultListener, css::task::XInteractionHandler, css::frame::XUntitledNumbers > Desktop_BASE
constexpr OUStringLiteral SPECIALTARGET_SELF
css::uno::Reference< css::linguistic2::XProofreadingIterator > get(css::uno::Reference< css::uno::XComponentContext > const &context)
auto syncExecute(FuncT const &func) -> decltype(func())
Reference< XController > xController
Reference< XFrame > xFrame
Reference< XModel > xModel
#define SPECIALTARGET_PARENT