1 /*************************************************************************
3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
5 * Copyright 2008 by Sun Microsystems, Inc.
7 * OpenOffice.org - a multi-platform office productivity suite
9 * $RCSfile: genericcontroller.hxx,v $
10 * $Revision: 1.13.24.2 $
12 * This file is part of OpenOffice.org.
14 * OpenOffice.org is free software: you can redistribute it and/or modify
15 * it under the terms of the GNU Lesser General Public License version 3
16 * only, as published by the Free Software Foundation.
18 * OpenOffice.org is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21 * GNU Lesser General Public License version 3 for more details
22 * (a copy is included in the LICENSE file that accompanied this code).
24 * You should have received a copy of the GNU Lesser General Public License
25 * version 3 along with OpenOffice.org. If not, see
26 * <http://www.openoffice.org/license.html>
27 * for a copy of the LGPLv3 License.
29 ************************************************************************/
31 #ifndef DBAUI_GENERICCONTROLLER_HXX
32 #define DBAUI_GENERICCONTROLLER_HXX
34 #include "AsyncronousLink.hxx"
35 #include "controllerframe.hxx"
36 #include "dbaccessdllapi.h"
37 #include "IController.hxx"
39 /** === begin UNO includes === **/
40 #include <com/sun/star/container/XNameAccess.hpp>
41 #include <com/sun/star/frame/CommandGroup.hpp>
42 #include <com/sun/star/frame/XController2.hpp>
43 #include <com/sun/star/frame/XDispatch.hpp>
44 #include <com/sun/star/frame/XDispatchInformationProvider.hpp>
45 #include <com/sun/star/frame/XDispatchProviderInterceptor.hpp>
46 #include <com/sun/star/frame/XFrameActionListener.hpp>
47 #include <com/sun/star/frame/XTitle.hpp>
48 #include <com/sun/star/frame/XTitleChangeBroadcaster.hpp>
49 #include <com/sun/star/frame/XLayoutManager.hpp>
50 #include <com/sun/star/lang/XInitialization.hpp>
51 #include <com/sun/star/lang/XServiceInfo.hpp>
52 #include <com/sun/star/sdbc/XConnection.hpp>
53 #include <com/sun/star/sdbc/XDataSource.hpp>
54 #include <com/sun/star/uno/XComponentContext.hpp>
55 #include <com/sun/star/util/XModifyListener.hpp>
56 #include <com/sun/star/util/XURLTransformer.hpp>
57 #include <com/sun/star/lang/XMultiServiceFactory.hpp>
58 #include <com/sun/star/awt/XUserInputInterception.hpp>
59 /** === end UNO includes === **/
61 #include <comphelper/broadcasthelper.hxx>
62 #include <comphelper/sharedmutex.hxx>
63 #include <comphelper/namedvaluecollection.hxx>
64 #include <comphelper/stl_types.hxx>
65 #include <connectivity/dbexception.hxx>
66 #include <cppuhelper/compbase11.hxx>
67 #include <cppuhelper/interfacecontainer.h>
69 #include <boost/optional.hpp>
70 #include <sfx2/userinputinterception.hxx>
74 class SQLExceptionInfo
;
83 // ====================================================================
85 // ====================================================================
86 /** convenience wrapper around boost::optional, allowing typed assignments
88 template < typename T
>
89 class optional
: public ::boost::optional
< T
>
91 typedef ::boost::optional
< T
> base_type
;
94 optional ( ) : base_type( ) { }
95 explicit optional ( T
const& val
) : base_type( val
) { }
96 optional ( optional
const& rhs
) : base_type( (base_type
const&)rhs
) { }
99 optional
& operator= ( T
const& rhs
)
101 base_type::reset( rhs
);
104 optional
& operator= ( optional
< T
> const& rhs
)
106 if ( rhs
.is_initialized() )
107 base_type::reset( rhs
.get() );
114 template< typename T
>
115 inline bool SAL_CALL
operator >>= ( const ::com::sun::star::uno::Any
& _any
, optional
< T
>& _value
)
117 _value
.reset(); // de-init the optional value
120 if ( _any
>>= directValue
)
121 _value
.reset( directValue
);
126 // ====================================================================
128 // ====================================================================
129 /** describes the state of a feature
131 In opposite to the FeatureStateEvent in css.frame, this one allows for multiple states to be specified at once.
132 With this, you can for instance specify that a toolbox item is checked, and has a certain title, at the same
139 optional
< bool > bChecked
;
140 optional
< bool > bInvisible
;
141 ::com::sun::star::uno::Any aValue
;
142 optional
< ::rtl::OUString
> sTitle
;
144 FeatureState() : bEnabled(sal_False
) { }
147 // ====================================================================
149 // ====================================================================
151 // ....................................................................
152 struct ControllerFeature
: public ::com::sun::star::frame::DispatchInformation
154 sal_uInt16 nFeatureId
;
157 // ....................................................................
158 typedef ::std::map
< ::rtl::OUString
160 , ::std::less
< ::rtl::OUString
>
163 // ....................................................................
164 struct CompareFeatureById
: ::std::binary_function
< SupportedFeatures::value_type
, sal_Int32
, bool >
166 // ................................................................
167 inline bool operator()( const SupportedFeatures::value_type
& _aType
, const sal_Int32
& _nId
) const
169 return !!( _nId
== _aType
.second
.nFeatureId
);
173 // ....................................................................
174 struct FeatureListener
176 ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XStatusListener
>
179 sal_Bool bForceBroadcast
;
182 // ....................................................................
183 typedef ::std::deque
< FeatureListener
> FeatureListeners
;
185 // ....................................................................
186 struct FindFeatureListener
: ::std::binary_function
< FeatureListener
, ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XStatusListener
>, bool >
188 // ................................................................
189 inline bool operator()( const FeatureListener
& lhs
, const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XStatusListener
>& rhs
) const
191 return !!( lhs
.xListener
== rhs
);
195 // ....................................................................
196 typedef ::comphelper::SharedMutexBase OGenericUnoController_MBASE
;
198 typedef ::cppu::WeakComponentImplHelper11
< ::com::sun::star::frame::XDispatch
199 , ::com::sun::star::frame::XDispatchProviderInterceptor
200 , ::com::sun::star::util::XModifyListener
201 , ::com::sun::star::frame::XFrameActionListener
202 , ::com::sun::star::lang::XInitialization
203 , ::com::sun::star::lang::XServiceInfo
204 , ::com::sun::star::frame::XDispatchInformationProvider
205 , ::com::sun::star::frame::XController2
206 , ::com::sun::star::frame::XTitle
207 , ::com::sun::star::frame::XTitleChangeBroadcaster
208 , ::com::sun::star::awt::XUserInputInterception
209 > OGenericUnoController_Base
;
211 struct OGenericUnoController_Data
;
212 // ====================================================================
213 class DBACCESS_DLLPUBLIC OGenericUnoController
214 :public OGenericUnoController_MBASE
215 ,public OGenericUnoController_Base
219 SupportedFeatures m_aSupportedFeatures
;
220 ::comphelper::NamedValueCollection
223 ::std::auto_ptr
< OGenericUnoController_Data
>
227 bool m_bDescribingSupportedFeatures
;
231 // ----------------------------------------------------------------
233 struct DispatchTarget
235 ::com::sun::star::util::URL aURL
;
236 ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XStatusListener
> xListener
;
239 DispatchTarget(const ::com::sun::star::util::URL
& rURL
, const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XStatusListener
> xRef
) : aURL(rURL
), xListener(xRef
) { }
242 DECLARE_STL_MAP( sal_uInt16
, FeatureState
, ::std::less
< sal_uInt16
>, StateCache
);
243 DECLARE_STL_VECTOR( DispatchTarget
, Dispatch
);
245 FeatureListeners m_aFeaturesToInvalidate
;
247 ::osl::Mutex m_aFeatureMutex
; // locked when features are append to or remove from deque
248 StateCache m_aStateCache
; // save the current status of feature state
249 Dispatch m_arrStatusListener
; // all our listeners where we dispatch status changes
250 OAsyncronousLink m_aAsyncInvalidateAll
;
251 OAsyncronousLink m_aAsyncCloseTask
; // called when a task shoud be closed
253 ::com::sun::star::uno::Reference
< ::com::sun::star::util::XURLTransformer
> m_xUrlTransformer
; // needed sometimes
254 ::com::sun::star::uno::Reference
< ::com::sun::star::lang::XMultiServiceFactory
> m_xServiceFactory
;
255 ControllerFrame m_aCurrentFrame
;
256 ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XDispatchProvider
> m_xSlaveDispatcher
; // for intercepting dispatches
257 ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XDispatchProvider
> m_xMasterDispatcher
; // dito
258 ::com::sun::star::uno::Reference
< ::com::sun::star::container::XNameAccess
> m_xDatabaseContext
;
259 ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XTitle
> m_xTitleHelper
;
261 ODataView
* m_pView
; // our (VCL) "main window"
263 sal_Bool m_bReadOnly
;
265 sal_Bool m_bCurrentlyModified
: 1;
266 sal_Bool m_bExternalTitle
: 1;
270 // ----------------------------------------------------------------
272 ::osl::Mutex
& getMutex() const { return OGenericUnoController_MBASE::getMutex(); }
273 ::cppu::OBroadcastHelper
& getBroadcastHelper() { return OGenericUnoController_Base::rBHelper
; }
275 // ----------------------------------------------------------------
277 OGenericUnoController( const ::com::sun::star::uno::Reference
< ::com::sun::star::lang::XMultiServiceFactory
>& _rM
);
278 const ::comphelper::NamedValueCollection
&
279 getInitParams() const { return m_aInitParameters
; }
282 /** open the help agent for the given help id.
284 The help id to dispatch.
286 void openHelpAgent(sal_Int32 _nHelpId
);
288 /** open the help agent for the given help url.
289 @param _pHelpStringURL
290 The help url to dispatch.
292 void openHelpAgent( const rtl::OUString
& _suHelpStringURL
);
294 /** opens the given Help URL in the help agent
296 The URL does not need to be parsed already, it is passed through
297 XURLTransformer::parseStrict before it is used.
299 void openHelpAgent( const ::com::sun::star::util::URL
& _rURL
);
301 // closes the task when possible
304 // if getMenu returns a non empty string than this will be dispatched at the frame
305 virtual void loadMenu(const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XFrame
>& _xFrame
);
307 /** called when our menu has been loaded into our frame, can be used to load sub toolbars
309 @param _xLayoutManager
312 virtual void onLoadedMenu(const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XLayoutManager
>& _xLayoutManager
);
314 // all the features which should be handled by this class
315 virtual void describeSupportedFeatures();
317 // state of a feature. 'feature' may be the handle of a ::com::sun::star::util::URL somebody requested a dispatch interface for OR a toolbar slot.
318 virtual FeatureState
GetState(sal_uInt16 nId
) const;
320 virtual void Execute(sal_uInt16 nId
, const ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyValue
>& aArgs
);
322 /** describes a feature supported by the controller
324 Must not be called outside <member>describeSupportedFeatures</member>.
326 @param _pAsciiCommandURL
327 the URL of the feature command
329 the id of the feature. Later references to this feature usually happen by id, not by
331 @param _nCommandGroup
332 the command group of the feature. This is important for configuring the controller UI
333 by the user, see also <type scope="com::sun::star::frame">CommandGroup</type>.
335 void implDescribeSupportedFeature(
336 const sal_Char
* _pAsciiCommandURL
,
337 sal_uInt16 _nFeatureId
,
338 sal_Int16 _nCommandGroup
= ::com::sun::star::frame::CommandGroup::INTERNAL
341 /** returns <TRUE/> if the feature is supported, otherwise <FALSE/>
343 The ID of the feature.
345 sal_Bool
isFeatureSupported( sal_Int32 _nId
);
347 // gets the URL which the given id is assigned to
348 ::com::sun::star::util::URL
getURLForId(sal_Int32 _nId
) const;
350 /** determines whether the given feature ID denotes a user-defined feature
352 @see IController::registerCommandURL
354 bool isUserDefinedFeature( const sal_uInt16 nFeatureId
) const;
356 /** determines whether the given feature URL denotes a user-defined feature
358 @see IController::registerCommandURL
360 bool isUserDefinedFeature( const ::rtl::OUString
& _rFeatureURL
) const;
362 // connect to a datasource
363 ::com::sun::star::uno::Reference
< ::com::sun::star::sdbc::XConnection
> connect(
364 const ::com::sun::star::uno::Reference
< ::com::sun::star::sdbc::XDataSource
>& _xDataSource
,
365 ::dbtools::SQLExceptionInfo
* _pErrorInfo
368 // connect to a datasource
369 ::com::sun::star::uno::Reference
< ::com::sun::star::sdbc::XConnection
> connect(
370 const ::rtl::OUString
& _rsDataSourceName
,
371 const ::rtl::OUString
& _rContextInformation
,
372 ::dbtools::SQLExceptionInfo
* _pErrorInfo
375 void startConnectionListening(const ::com::sun::star::uno::Reference
< ::com::sun::star::sdbc::XConnection
>& _rxConnection
);
376 void stopConnectionListening(const ::com::sun::star::uno::Reference
< ::com::sun::star::sdbc::XConnection
>& _rxConnection
);
378 /** return the container window of the top most frame
380 The top most container window, nmay be <NULL/>.
382 ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XWindow
> getTopMostContainerWindow() const;
384 // XInitialize will be called inside initialize
385 virtual void impl_initialize();
387 virtual ::rtl::OUString
getPrivateTitle() const { return ::rtl::OUString(); }
389 ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XTitle
> impl_getTitleHelper_throw();
390 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XModel
> getPrivateModel() const
392 return ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XModel
>();
395 virtual void startFrameListening( const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XFrame
>& _rxFrame
);
396 virtual void stopFrameListening( const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XFrame
>& _rxFrame
);
398 void releaseNumberForComponent();
400 virtual ~OGenericUnoController();
403 void fillSupportedFeatures();
405 void InvalidateAll_Impl();
406 void InvalidateFeature_Impl();
408 void ImplInvalidateFeature( sal_Int32 _nId
, const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XStatusListener
>& _xListener
, sal_Bool _bForceBroadcast
);
410 sal_Bool
ImplInvalidateTBItem(sal_uInt16 nId
, const FeatureState
& rState
);
411 void ImplBroadcastFeatureState(const ::rtl::OUString
& _rFeature
, const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XStatusListener
> & xListener
, sal_Bool _bIgnoreCache
);
414 DECL_LINK(OnAsyncInvalidateAll
, void*);
415 DECL_LINK(OnAsyncCloseTask
, void*);
418 ::com::sun::star::uno::Reference
< ::com::sun::star::lang::XMultiServiceFactory
> getORB() const { return m_xServiceFactory
; }
419 ODataView
* getView() const { return m_pView
; }
420 // shows a error box if the SQLExceptionInfo is valid
421 void showError(const ::dbtools::SQLExceptionInfo
& _rInfo
);
423 // if xListener is NULL the change will be forwarded to all listeners to the given ::com::sun::star::util::URL
424 // if _bForceBroadcast is sal_True, the current feature state is broadcasted no matter if it is the same as the cached state
425 virtual void InvalidateFeature(const ::rtl::OUString
& rURLPath
, const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XStatusListener
> & xListener
= NULL
, sal_Bool _bForceBroadcast
= sal_False
);
426 // if there is an ::com::sun::star::util::URL translation for the id ('handle') the preceding InvalidateFeature is used.
427 // if there is a toolbar slot with the given id it is updated (the new state is determined via GetState)
428 // if _bForceBroadcast is sal_True, the current feature state is broadcasted no matter if it is the same as the cached state
429 virtual void InvalidateFeature(sal_uInt16 nId
, const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XStatusListener
> & xListener
= NULL
, sal_Bool _bForceBroadcast
= sal_False
);
431 /** InvalidateAll invalidates all features currently known
433 virtual void InvalidateAll();
435 virtual sal_Bool
Construct(Window
* pParent
);
437 /** get the layout manager
439 The frame to ask for the layout manager.
441 The layout manager of the frame, can be <NULL/> if the frame isn't initialized.
443 ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XLayoutManager
> getLayoutManager(const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XFrame
>& _xFrame
) const;
446 virtual void executeUnChecked(const ::com::sun::star::util::URL
& _rCommand
, const ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyValue
>& aArgs
);
447 virtual void executeChecked(const ::com::sun::star::util::URL
& _rCommand
, const ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyValue
>& aArgs
);
448 virtual void executeUnChecked(sal_uInt16 _nCommandId
, const ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyValue
>& aArgs
);
449 virtual void executeChecked(sal_uInt16 _nCommandId
, const ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyValue
>& aArgs
);
450 virtual sal_Bool
isCommandEnabled(sal_uInt16 _nCommandId
) const;
451 virtual sal_Bool
isCommandEnabled(const ::rtl::OUString
& _rCompleteCommandURL
) const;
452 virtual sal_uInt16
registerCommandURL( const ::rtl::OUString
& _rCompleteCommandURL
);
453 virtual void notifyHiContrastChanged();
454 virtual sal_Bool
isDataSourceReadOnly() const;
455 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XController
> getXController() throw( ::com::sun::star::uno::RuntimeException
);
456 virtual bool interceptUserInput( const NotifyEvent
& _rEvent
);
459 virtual sal_Bool
isCommandChecked(sal_uInt16 _nCommandId
) const;
461 // ::com::sun::star::lang::XEventListener
462 virtual void SAL_CALL
disposing(const ::com::sun::star::lang::EventObject
& Source
) throw( ::com::sun::star::uno::RuntimeException
);
464 // ::com::sun::star::util::XModifyListener
465 virtual void SAL_CALL
modified(const ::com::sun::star::lang::EventObject
& aEvent
) throw( ::com::sun::star::uno::RuntimeException
);
468 virtual void SAL_CALL
acquire( ) throw ();
469 virtual void SAL_CALL
release( ) throw ();
471 // ::com::sun::star::frame::XController2
472 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XWindow
> SAL_CALL
getComponentWindow() throw (::com::sun::star::uno::RuntimeException
);
473 virtual ::rtl::OUString SAL_CALL
getViewControllerName() throw (::com::sun::star::uno::RuntimeException
);
475 // ::com::sun::star::frame::XController2
476 virtual void SAL_CALL
attachFrame(const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XFrame
> & xFrame
) throw( ::com::sun::star::uno::RuntimeException
);
477 virtual sal_Bool SAL_CALL
attachModel(const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XModel
> & xModel
) throw( ::com::sun::star::uno::RuntimeException
);
478 virtual sal_Bool SAL_CALL
suspend(sal_Bool bSuspend
) throw( ::com::sun::star::uno::RuntimeException
) = 0;
479 virtual ::com::sun::star::uno::Any SAL_CALL
getViewData(void) throw( ::com::sun::star::uno::RuntimeException
);
480 virtual void SAL_CALL
restoreViewData(const ::com::sun::star::uno::Any
& Data
) throw( ::com::sun::star::uno::RuntimeException
);
481 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XModel
> SAL_CALL
getModel(void) throw( ::com::sun::star::uno::RuntimeException
);
482 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XFrame
> SAL_CALL
getFrame(void) throw( ::com::sun::star::uno::RuntimeException
);
484 // ::com::sun::star::frame::XDispatch
485 virtual void SAL_CALL
dispatch(const ::com::sun::star::util::URL
& aURL
, const ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyValue
>& aArgs
) throw(::com::sun::star::uno::RuntimeException
);
486 virtual void SAL_CALL
addStatusListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XStatusListener
> & aListener
, const ::com::sun::star::util::URL
& aURL
) throw(::com::sun::star::uno::RuntimeException
);
487 virtual void SAL_CALL
removeStatusListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XStatusListener
> & aListener
, const ::com::sun::star::util::URL
& aURL
) throw(::com::sun::star::uno::RuntimeException
);
489 // ::com::sun::star::frame::XDispatchProviderInterceptor
490 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XDispatchProvider
> SAL_CALL
getSlaveDispatchProvider(void) throw(::com::sun::star::uno::RuntimeException
);
491 virtual void SAL_CALL
setSlaveDispatchProvider(const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XDispatchProvider
> & _xNewProvider
) throw(::com::sun::star::uno::RuntimeException
);
492 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XDispatchProvider
> SAL_CALL
getMasterDispatchProvider(void) throw(::com::sun::star::uno::RuntimeException
);
493 virtual void SAL_CALL
setMasterDispatchProvider(const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XDispatchProvider
> & _xNewProvider
) throw(::com::sun::star::uno::RuntimeException
);
495 // ::com::sun::star::frame::XDispatchProvider
496 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XDispatch
> SAL_CALL
queryDispatch(const ::com::sun::star::util::URL
& aURL
, const ::rtl::OUString
& aTargetFrameName
, sal_Int32 nSearchFlags
) throw( ::com::sun::star::uno::RuntimeException
);
497 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XDispatch
> > SAL_CALL
queryDispatches(const ::com::sun::star::uno::Sequence
< ::com::sun::star::frame::DispatchDescriptor
>& aDescripts
) throw( ::com::sun::star::uno::RuntimeException
);
499 // ::com::sun::star::lang::XComponent
500 virtual void SAL_CALL
dispose() throw(::com::sun::star::uno::RuntimeException
); //LLA: need solar mutex {OGenericUnoController_COMPBASE::dispose(); }
501 virtual void SAL_CALL
disposing();
502 virtual void SAL_CALL
addEventListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::lang::XEventListener
> & aListener
) throw(::com::sun::star::uno::RuntimeException
);
503 virtual void SAL_CALL
removeEventListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::lang::XEventListener
> & aListener
) throw(::com::sun::star::uno::RuntimeException
);
505 // ::com::sun::star::frame::XFrameActionListener
506 virtual void SAL_CALL
frameAction(const ::com::sun::star::frame::FrameActionEvent
& aEvent
) throw( ::com::sun::star::uno::RuntimeException
);
507 // lang::XInitialization
508 virtual void SAL_CALL
initialize( const ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Any
>& aArguments
) throw(::com::sun::star::uno::Exception
, ::com::sun::star::uno::RuntimeException
);
511 virtual ::rtl::OUString SAL_CALL
getImplementationName() throw(::com::sun::star::uno::RuntimeException
) = 0;
512 virtual sal_Bool SAL_CALL
supportsService(const ::rtl::OUString
& ServiceName
) throw(::com::sun::star::uno::RuntimeException
);
513 virtual ::com::sun::star::uno::Sequence
< ::rtl::OUString
> SAL_CALL
getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException
) = 0;
515 // XDispatchInformationProvider
516 virtual ::com::sun::star::uno::Sequence
< ::sal_Int16
> SAL_CALL
getSupportedCommandGroups() throw (::com::sun::star::uno::RuntimeException
);
517 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::frame::DispatchInformation
> SAL_CALL
getConfigurableDispatchInformation( ::sal_Int16
) throw (::com::sun::star::uno::RuntimeException
);
520 virtual ::rtl::OUString SAL_CALL
getTitle( ) throw (::com::sun::star::uno::RuntimeException
);
521 virtual void SAL_CALL
setTitle( const ::rtl::OUString
& sTitle
) throw (::com::sun::star::uno::RuntimeException
);
523 // XTitleChangeBroadcaster
524 virtual void SAL_CALL
addTitleChangeListener( const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XTitleChangeListener
>& xListener
) throw (::com::sun::star::uno::RuntimeException
);
525 virtual void SAL_CALL
removeTitleChangeListener( const ::com::sun::star::uno::Reference
< ::com::sun::star::frame::XTitleChangeListener
>& xListener
) throw (::com::sun::star::uno::RuntimeException
);
527 // XUserInputInterception
528 virtual void SAL_CALL
addKeyHandler( const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XKeyHandler
>& xHandler
) throw (::com::sun::star::uno::RuntimeException
);
529 virtual void SAL_CALL
removeKeyHandler( const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XKeyHandler
>& xHandler
) throw (::com::sun::star::uno::RuntimeException
);
530 virtual void SAL_CALL
addMouseClickHandler( const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XMouseClickHandler
>& xHandler
) throw (::com::sun::star::uno::RuntimeException
);
531 virtual void SAL_CALL
removeMouseClickHandler( const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XMouseClickHandler
>& xHandler
) throw (::com::sun::star::uno::RuntimeException
);
534 OGenericUnoController(); // never implemented
538 #endif //DBAUI_GENERICCONTROLLER_HXX