LCOV - code coverage report
Current view: top level - svx/source/inc - formcontroller.hxx (source / functions) Hit Total Coverage
Test: commit 0e63ca4fde4e446f346e35849c756a30ca294aab Lines: 3 6 50.0 %
Date: 2014-04-11 Functions: 3 5 60.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
       2             : /*
       3             :  * This file is part of the LibreOffice project.
       4             :  *
       5             :  * This Source Code Form is subject to the terms of the Mozilla Public
       6             :  * License, v. 2.0. If a copy of the MPL was not distributed with this
       7             :  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
       8             :  *
       9             :  * This file incorporates work covered by the following license notice:
      10             :  *
      11             :  *   Licensed to the Apache Software Foundation (ASF) under one or more
      12             :  *   contributor license agreements. See the NOTICE file distributed
      13             :  *   with this work for additional information regarding copyright
      14             :  *   ownership. The ASF licenses this file to you under the Apache
      15             :  *   License, Version 2.0 (the "License"); you may not use this file
      16             :  *   except in compliance with the License. You may obtain a copy of
      17             :  *   the License at http://www.apache.org/licenses/LICENSE-2.0 .
      18             :  */
      19             : #ifndef INCLUDED_SVX_SOURCE_INC_FORMCONTROLLER_HXX
      20             : #define INCLUDED_SVX_SOURCE_INC_FORMCONTROLLER_HXX
      21             : 
      22             : #include <sal/config.h>
      23             : 
      24             : #include <vector>
      25             : 
      26             : #include "delayedevent.hxx"
      27             : #include "formdispatchinterceptor.hxx"
      28             : #include "sqlparserclient.hxx"
      29             : 
      30             : #include <com/sun/star/awt/XControl.hpp>
      31             : #include <com/sun/star/awt/XControlModel.hpp>
      32             : #include <com/sun/star/awt/XFocusListener.hpp>
      33             : #include <com/sun/star/awt/XItemListener.hpp>
      34             : #include <com/sun/star/awt/XMouseListener.hpp>
      35             : #include <com/sun/star/awt/XTabController.hpp>
      36             : #include <com/sun/star/awt/XTextComponent.hpp>
      37             : #include <com/sun/star/container/XContainerListener.hpp>
      38             : #include <com/sun/star/container/XEnumerationAccess.hpp>
      39             : #include <com/sun/star/container/XIndexContainer.hpp>
      40             : #include <com/sun/star/form/DatabaseDeleteEvent.hpp>
      41             : #include <com/sun/star/form/DatabaseParameterEvent.hpp>
      42             : #include <com/sun/star/form/ErrorEvent.hpp>
      43             : #include <com/sun/star/form/validation/XFormComponentValidityListener.hpp>
      44             : #include <com/sun/star/form/XConfirmDeleteBroadcaster.hpp>
      45             : #include <com/sun/star/form/XConfirmDeleteListener.hpp>
      46             : #include <com/sun/star/form/XDatabaseParameterBroadcaster2.hpp>
      47             : #include <com/sun/star/form/XDatabaseParameterListener.hpp>
      48             : #include <com/sun/star/form/runtime/XFormController.hpp>
      49             : #include <com/sun/star/form/runtime/XFilterController.hpp>
      50             : #include <com/sun/star/form/XFormControllerListener.hpp>
      51             : #include <com/sun/star/form/XGridControlListener.hpp>
      52             : #include <com/sun/star/form/XLoadListener.hpp>
      53             : #include <com/sun/star/form/XResetListener.hpp>
      54             : #include <com/sun/star/frame/DispatchDescriptor.hpp>
      55             : #include <com/sun/star/frame/XDispatch.hpp>
      56             : #include <com/sun/star/frame/XDispatchProvider.hpp>
      57             : #include <com/sun/star/frame/XDispatchProviderInterception.hpp>
      58             : #include <com/sun/star/frame/XDispatchProviderInterceptor.hpp>
      59             : #include <com/sun/star/frame/XModel.hpp>
      60             : #include <com/sun/star/lang/XMultiServiceFactory.hpp>
      61             : #include <com/sun/star/lang/XServiceInfo.hpp>
      62             : #include <com/sun/star/script/XEventAttacherManager.hpp>
      63             : #include <com/sun/star/sdb/XRowSetApproveBroadcaster.hpp>
      64             : #include <com/sun/star/sdb/XRowSetApproveListener.hpp>
      65             : #include <com/sun/star/sdb/XSingleSelectQueryComposer.hpp>
      66             : #include <com/sun/star/sdb/XSQLErrorBroadcaster.hpp>
      67             : #include <com/sun/star/sdb/XSQLErrorListener.hpp>
      68             : #include <com/sun/star/sdbc/XRowSetListener.hpp>
      69             : #include <com/sun/star/task/XInteractionHandler.hpp>
      70             : #include <com/sun/star/util/XModeSelector.hpp>
      71             : #include <com/sun/star/util/XModifyBroadcaster.hpp>
      72             : #include <com/sun/star/util/XModifyListener.hpp>
      73             : 
      74             : #include <comphelper/broadcasthelper.hxx>
      75             : #include <comphelper/proparrhlp.hxx>
      76             : #include <cppuhelper/propshlp.hxx>
      77             : #include <vcl/timer.hxx>
      78             : 
      79             : #ifndef INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_22
      80             : #define INCLUDED_COMPHELPER_IMPLBASE_VAR_HXX_22
      81             : #define COMPHELPER_IMPLBASE_INTERFACE_NUMBER 22
      82             : #include <comphelper/implbase_var.hxx>
      83             : #endif
      84             : 
      85             : struct FmXTextComponentLess : public ::std::binary_function< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextComponent >, ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextComponent> , sal_Bool>
      86             : {
      87           0 :     sal_Bool operator() (const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextComponent >& x, const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextComponent >& y) const
      88             :     {
      89           0 :         return reinterpret_cast<sal_Int64>(x.get()) < reinterpret_cast<sal_Int64>(y.get());
      90             :     }
      91             : };
      92             : 
      93             : typedef ::std::map< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextComponent >, OUString, FmXTextComponentLess> FmFilterRow;
      94             : typedef ::std::vector< FmFilterRow > FmFilterRows;
      95             : typedef ::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormController > > FmFormControllers;
      96             : 
      97             : class Window;
      98             : 
      99             : namespace svxform
     100             : {
     101             :     typedef ::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextComponent > >    FilterComponents;
     102             :     class ControlBorderManager;
     103             :     struct FmFieldInfo;
     104             : 
     105             :     typedef ::comphelper::WeakComponentImplHelper22 <   ::com::sun::star::form::runtime::XFormController
     106             :                                                     ,   ::com::sun::star::form::runtime::XFilterController
     107             :                                                     ,   ::com::sun::star::awt::XFocusListener
     108             :                                                     ,   ::com::sun::star::form::XLoadListener
     109             :                                                     ,   ::com::sun::star::beans::XPropertyChangeListener
     110             :                                                     ,   ::com::sun::star::awt::XTextListener
     111             :                                                     ,   ::com::sun::star::awt::XItemListener
     112             :                                                     ,   ::com::sun::star::container::XContainerListener
     113             :                                                     ,   ::com::sun::star::util::XModifyListener
     114             :                                                     ,   ::com::sun::star::form::XConfirmDeleteListener
     115             :                                                     ,   ::com::sun::star::sdb::XSQLErrorListener
     116             :                                                     ,   ::com::sun::star::sdbc::XRowSetListener
     117             :                                                     ,   ::com::sun::star::sdb::XRowSetApproveListener
     118             :                                                     ,   ::com::sun::star::form::XDatabaseParameterListener
     119             :                                                     ,   ::com::sun::star::lang::XServiceInfo
     120             :                                                     ,   ::com::sun::star::form::XResetListener
     121             :                                                     ,   ::com::sun::star::frame::XDispatch
     122             :                                                     ,   ::com::sun::star::awt::XMouseListener
     123             :                                                     ,   ::com::sun::star::form::validation::XFormComponentValidityListener
     124             :                                                     ,   ::com::sun::star::task::XInteractionHandler
     125             :                                                     ,   ::com::sun::star::form::XGridControlListener
     126             :                                                     ,   ::com::sun::star::form::runtime::XFeatureInvalidation
     127             :                                                     >   FormController_BASE;
     128             : 
     129             : 
     130             :     // FormController
     131             : 
     132             :     class ColumnInfoCache;
     133             :     class FormController :public ::comphelper::OBaseMutex
     134             :                                         ,public FormController_BASE
     135             :                                         ,public ::cppu::OPropertySetHelper
     136             :                                         ,public DispatchInterceptor
     137             :                                         ,public ::comphelper::OAggregationArrayUsageHelper< FormController >
     138             :                                         ,public ::svxform::OSQLParserClient
     139             :     {
     140             :         typedef ::std::map  <   sal_Int16,
     141             :                                 ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch >
     142             :                             >   DispatcherContainer;
     143             : 
     144             :         ::com::sun::star::uno::Reference< ::com::sun::star::uno::XAggregation>              m_xAggregate;
     145             :         ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTabController>            m_xTabController;
     146             :         ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>                  m_xActiveControl, m_xCurrentControl;
     147             :         ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess>        m_xModelAsIndex;
     148             :         ::com::sun::star::uno::Reference< ::com::sun::star::script::XEventAttacherManager>  m_xModelAsManager;
     149             :         ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>                m_xParent;
     150             :         ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext>         m_xComponentContext;
     151             :         // Composer used for checking filter conditions
     152             :         ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSingleSelectQueryComposer >       m_xComposer;
     153             :         ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >             m_xInteractionHandler;
     154             :         ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormControllerContext > m_xFormControllerContext;
     155             : 
     156             :         ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl> >   m_aControls;
     157             :         ::cppu::OInterfaceContainerHelper
     158             :                                     m_aActivateListeners,
     159             :                                     m_aModifyListeners,
     160             :                                     m_aErrorListeners,
     161             :                                     m_aDeleteListeners,
     162             :                                     m_aRowSetApproveListeners,
     163             :                                     m_aParameterListeners,
     164             :                                     m_aFilterListeners;
     165             : 
     166             :         FmFormControllers           m_aChildren;
     167             :         FilterComponents            m_aFilterComponents;
     168             :         FmFilterRows                m_aFilterRows;
     169             : 
     170             :         Timer                       m_aTabActivationTimer;
     171             :         Timer                       m_aFeatureInvalidationTimer;
     172             : 
     173             :         ::svxform::ControlBorderManager*
     174             :                                     m_pControlBorderManager;
     175             : 
     176             :         ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormOperations >
     177             :                                     m_xFormOperations;
     178             :         DispatcherContainer         m_aFeatureDispatchers;
     179             :         ::std::set< sal_Int16 >     m_aInvalidFeatures;     // for asynchronous feature invalidation
     180             : 
     181             :         OUString             m_aMode;
     182             : 
     183             :         ::svxform::DelayedEvent     m_aLoadEvent;
     184             :         ::svxform::DelayedEvent     m_aToggleEvent;
     185             :         ::svxform::DelayedEvent     m_aActivationEvent;
     186             :         ::svxform::DelayedEvent     m_aDeactivationEvent;
     187             : 
     188             :         ::std::auto_ptr< ColumnInfoCache >
     189             :                                     m_pColumnInfoCache;
     190             : 
     191             :         sal_Int32                   m_nCurrentFilterPosition;   // current level for filtering (or-criteria)
     192             : 
     193             :         sal_Bool                    m_bCurrentRecordModified    : 1;
     194             :         sal_Bool                    m_bCurrentRecordNew         : 1;
     195             :         sal_Bool                    m_bLocked                   : 1;
     196             :         sal_Bool                    m_bDBConnection             : 1;    // Focuslistener nur fuer Datenbankformulare
     197             :         sal_Bool                    m_bCycle                    : 1;
     198             :         sal_Bool                    m_bCanInsert                : 1;
     199             :         sal_Bool                    m_bCanUpdate                : 1;
     200             :         sal_Bool                    m_bCommitLock               : 1;    // lock the committing of controls see focusGained
     201             :         sal_Bool                    m_bModified                 : 1;    // ist der Inhalt eines Controls modifiziert ?
     202             :         sal_Bool                    m_bControlsSorted           : 1;
     203             :         sal_Bool                    m_bFiltering                : 1;
     204             :         sal_Bool                    m_bAttachEvents             : 1;
     205             :         sal_Bool                    m_bDetachEvents             : 1;
     206             :         bool                        m_bAttemptedHandlerCreation : 1;
     207             :         bool                        m_bSuspendFilterTextListening;          // no bit field, passed around as reference
     208             : 
     209             :         // as we want to intercept dispatches of _all_ controls we're responsible for, and an object implementing
     210             :         // the ::com::sun::star::frame::XDispatchProviderInterceptor interface can intercept only _one_ objects dispatches, we need a helper class
     211             :         typedef std::vector<DispatchInterceptionMultiplexer*> Interceptors;
     212             :         Interceptors    m_aControlDispatchInterceptors;
     213             : 
     214             :     public:
     215             :         FormController( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XComponentContext > & _rxORB );
     216             : 
     217             :     protected:
     218             :         virtual ~FormController();
     219             : 
     220             :     // XInterface
     221             :         virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& type) throw ( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     222             :         virtual void SAL_CALL acquire() throw () SAL_OVERRIDE;
     223             :         virtual void SAL_CALL release() throw () SAL_OVERRIDE;
     224             : 
     225             :     // XTypeProvider
     226             :         virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     227             :         virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes(  ) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     228             : 
     229             :     // XDispatch
     230             :         virtual void SAL_CALL dispatch( const ::com::sun::star::util::URL& _rURL, const ::com::sun::star::uno::Sequence< ::com::sun::star::beans::PropertyValue >& _rArgs ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     231             :         virtual void SAL_CALL addStatusListener( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XStatusListener >& _rxListener, const ::com::sun::star::util::URL& _rURL ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     232             :         virtual void SAL_CALL removeStatusListener( const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XStatusListener >& _rxListener, const ::com::sun::star::util::URL& _rURL ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     233             : 
     234             :     // ::com::sun::star::container::XChild
     235             :         virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface> SAL_CALL getParent(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     236             :         virtual void SAL_CALL setParent(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>& Parent) throw( ::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     237             : 
     238             :     // ::com::sun::star::lang::XEventListener
     239             :         virtual void SAL_CALL disposing(const ::com::sun::star::lang::EventObject& Source) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     240             : 
     241             :     // OComponentHelper
     242             :         virtual void SAL_CALL disposing() SAL_OVERRIDE;
     243             : 
     244             :     // OPropertySetHelper
     245             :         virtual sal_Bool SAL_CALL convertFastPropertyValue( ::com::sun::star::uno::Any & rConvertedValue, ::com::sun::star::uno::Any & rOldValue,
     246             :                                                 sal_Int32 nHandle, const ::com::sun::star::uno::Any& rValue )
     247             :                     throw( ::com::sun::star::lang::IllegalArgumentException ) SAL_OVERRIDE;
     248             : 
     249             :         virtual void SAL_CALL setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const ::com::sun::star::uno::Any& rValue ) throw( ::com::sun::star::uno::Exception, std::exception ) SAL_OVERRIDE;
     250             :         virtual void SAL_CALL getFastPropertyValue( ::com::sun::star::uno::Any& rValue, sal_Int32 nHandle ) const SAL_OVERRIDE;
     251             : 
     252             :         virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo> SAL_CALL getPropertySetInfo() throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     253             :         virtual ::cppu::IPropertyArrayHelper & SAL_CALL getInfoHelper() SAL_OVERRIDE;
     254             : 
     255             :         using OPropertySetHelper::getFastPropertyValue;
     256             : 
     257             :         // XFilterController
     258             :         virtual ::sal_Int32 SAL_CALL getFilterComponents() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     259             :         virtual ::sal_Int32 SAL_CALL getDisjunctiveTerms() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     260             :         virtual void SAL_CALL addFilterControllerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFilterControllerListener >& _Listener ) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     261             :         virtual void SAL_CALL removeFilterControllerListener( const ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFilterControllerListener >& _Listener ) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     262             :         virtual void SAL_CALL setPredicateExpression( ::sal_Int32 _Component, ::sal_Int32 _Term, const OUString& _PredicateExpression ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     263             :         virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl > SAL_CALL getFilterComponent( ::sal_Int32 _Component ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     264             :         virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Sequence< OUString > > SAL_CALL getPredicateExpressions() throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     265             :         virtual void SAL_CALL removeDisjunctiveTerm( ::sal_Int32 _Term ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     266             :         virtual void SAL_CALL appendEmptyDisjunctiveTerm() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     267             :         virtual ::sal_Int32 SAL_CALL getActiveTerm() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     268             :         virtual void SAL_CALL setActiveTerm( ::sal_Int32 _ActiveTerm ) throw (::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     269             : 
     270             :     // XElementAccess
     271             :         virtual ::com::sun::star::uno::Type SAL_CALL getElementType(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     272             :         virtual sal_Bool SAL_CALL hasElements(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     273             : 
     274             :     // ::com::sun::star::container::XEnumerationAccess
     275             :         virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration> SAL_CALL createEnumeration(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     276             : 
     277             :     // ::com::sun::star::container::XContainerListener
     278             :         virtual void SAL_CALL elementInserted(const ::com::sun::star::container::ContainerEvent& rEvent) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     279             :         virtual void SAL_CALL elementReplaced(const ::com::sun::star::container::ContainerEvent& rEvent) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     280             :         virtual void SAL_CALL elementRemoved(const ::com::sun::star::container::ContainerEvent& rEvent) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     281             : 
     282             :     // XLoadListener
     283             :         virtual void SAL_CALL loaded(const ::com::sun::star::lang::EventObject& rEvent) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     284             :         virtual void SAL_CALL unloaded(const ::com::sun::star::lang::EventObject& rEvent) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     285             :         virtual void SAL_CALL unloading(const ::com::sun::star::lang::EventObject& aEvent) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     286             :         virtual void SAL_CALL reloading(const ::com::sun::star::lang::EventObject& aEvent) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     287             :         virtual void SAL_CALL reloaded(const ::com::sun::star::lang::EventObject& aEvent) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     288             : 
     289             :     // XModeSelector
     290             :         virtual void SAL_CALL setMode(const OUString& Mode) throw( ::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     291             :         virtual OUString SAL_CALL getMode(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     292             :         virtual ::com::sun::star::uno::Sequence< OUString > SAL_CALL getSupportedModes(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     293             :         virtual sal_Bool SAL_CALL supportsMode(const OUString& Mode) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     294             : 
     295             :     // ::com::sun::star::container::XIndexAccess
     296             :         virtual sal_Int32 SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     297             :         virtual ::com::sun::star::uno::Any SAL_CALL getByIndex(sal_Int32 Index) throw( ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     298             : 
     299             :     // XModifyBroadcaster
     300             :         virtual void SAL_CALL addModifyListener(const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener>& l) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     301             :         virtual void SAL_CALL removeModifyListener(const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener>& l) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     302             : 
     303             :     // XFocusListener
     304             :         virtual void SAL_CALL focusGained(const  ::com::sun::star::awt::FocusEvent& e) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     305             :         virtual void SAL_CALL focusLost(const  ::com::sun::star::awt::FocusEvent& e) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     306             : 
     307             :     // XMouseListener
     308             :         virtual void SAL_CALL mousePressed( const ::com::sun::star::awt::MouseEvent& _rEvent ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     309             :         virtual void SAL_CALL mouseReleased( const ::com::sun::star::awt::MouseEvent& _rEvent ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     310             :         virtual void SAL_CALL mouseEntered( const ::com::sun::star::awt::MouseEvent& _rEvent ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     311             :         virtual void SAL_CALL mouseExited( const ::com::sun::star::awt::MouseEvent& _rEvent ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     312             : 
     313             :     // XFormComponentValidityListener
     314             :         virtual void SAL_CALL componentValidityChanged( const ::com::sun::star::lang::EventObject& _rSource ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     315             : 
     316             :     // XInteractionHandler
     317             :         virtual void SAL_CALL handle( const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionRequest >& Request ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     318             : 
     319             :     // XGridControlListener
     320             :         virtual void SAL_CALL columnChanged( const ::com::sun::star::lang::EventObject& _event ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     321             : 
     322             :     // ::com::sun::star::beans::XPropertyChangeListener -> change of states
     323             :         virtual void SAL_CALL propertyChange(const  ::com::sun::star::beans::PropertyChangeEvent& evt) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     324             : 
     325             :     // XTextListener           -> modify setzen
     326             :         virtual void SAL_CALL textChanged(const  ::com::sun::star::awt::TextEvent& rEvent) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     327             : 
     328             :     // XItemListener            -> modify setzen
     329             :         virtual void SAL_CALL itemStateChanged(const  ::com::sun::star::awt::ItemEvent& rEvent) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     330             : 
     331             :     // XModifyListener   -> modify setzen
     332             :         virtual void SAL_CALL modified(const ::com::sun::star::lang::EventObject& rEvent) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     333             : 
     334             :     // XFormController
     335             :         virtual ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormOperations > SAL_CALL getFormOperations() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     336             :         virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl> SAL_CALL getCurrentControl(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     337             :         virtual void SAL_CALL addActivateListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormControllerListener>& l) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     338             :         virtual void SAL_CALL removeActivateListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormControllerListener>& l) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     339             :         virtual void SAL_CALL addChildController( const ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormController >& _ChildController ) throw( ::com::sun::star::uno::RuntimeException, ::com::sun::star::lang::IllegalArgumentException, std::exception ) SAL_OVERRIDE;
     340             : 
     341             :         virtual ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormControllerContext > SAL_CALL getContext() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     342             :         virtual void SAL_CALL setContext( const ::com::sun::star::uno::Reference< ::com::sun::star::form::runtime::XFormControllerContext >& _context ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     343             :         virtual ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler > SAL_CALL getInteractionHandler() throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     344             :         virtual void SAL_CALL setInteractionHandler( const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >& _interactionHandler ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     345             : 
     346             :     // XTabController
     347             :         virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl> > SAL_CALL getControls(void) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     348             : 
     349             :         virtual void SAL_CALL setModel(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTabControllerModel>& Model) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     350             :         virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTabControllerModel> SAL_CALL getModel() throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     351             : 
     352             :         virtual void SAL_CALL setContainer(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer>& Container) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     353             :         virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer> SAL_CALL getContainer() throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     354             : 
     355             :         virtual void SAL_CALL autoTabOrder() throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     356             :         virtual void SAL_CALL activateTabOrder() throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     357             : 
     358             :         virtual void SAL_CALL activateFirst() throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     359             :         virtual void SAL_CALL activateLast() throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     360             : 
     361             :     // com::sun::star::sdbc::XRowSetListener
     362             :         virtual void SAL_CALL cursorMoved(const ::com::sun::star::lang::EventObject& event) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     363             :         virtual void SAL_CALL rowChanged(const ::com::sun::star::lang::EventObject& event) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     364             :         virtual void SAL_CALL rowSetChanged(const ::com::sun::star::lang::EventObject& event) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     365             : 
     366             :     // XRowSetApproveListener
     367             :         virtual sal_Bool SAL_CALL approveCursorMove(const ::com::sun::star::lang::EventObject& event) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     368             :         virtual sal_Bool SAL_CALL approveRowChange(const  ::com::sun::star::sdb::RowChangeEvent& event) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     369             :         virtual sal_Bool SAL_CALL approveRowSetChange(const ::com::sun::star::lang::EventObject& event) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     370             : 
     371             :     // XRowSetApproveBroadcaster
     372             :         virtual void SAL_CALL addRowSetApproveListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XRowSetApproveListener>& listener) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     373             :         virtual void SAL_CALL removeRowSetApproveListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XRowSetApproveListener>& listener) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     374             : 
     375             :     // XSQLErrorBroadcaster
     376             :         virtual void SAL_CALL errorOccured(const ::com::sun::star::sdb::SQLErrorEvent& aEvent) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     377             : 
     378             :     // XSQLErrorListener
     379             :         virtual void SAL_CALL addSQLErrorListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSQLErrorListener>& _rListener) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     380             :         virtual void SAL_CALL removeSQLErrorListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSQLErrorListener>& _rListener) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     381             : 
     382             :     // XDatabaseParameterBroadcaster2
     383             :         virtual void SAL_CALL addDatabaseParameterListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XDatabaseParameterListener>& aListener) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     384             :         virtual void SAL_CALL removeDatabaseParameterListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XDatabaseParameterListener>& aListener) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     385             : 
     386             :     // XDatabaseParameterBroadcaster
     387             :         virtual void SAL_CALL addParameterListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XDatabaseParameterListener>& aListener) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     388             :         virtual void SAL_CALL removeParameterListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XDatabaseParameterListener>& aListener) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     389             : 
     390             :     // XDatabaseParameterListener
     391             :         virtual sal_Bool SAL_CALL approveParameter(const ::com::sun::star::form::DatabaseParameterEvent& aEvent) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     392             : 
     393             :     // XConfirmDeleteBroadcaster
     394             :         virtual void SAL_CALL addConfirmDeleteListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XConfirmDeleteListener>& aListener) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     395             :         virtual void SAL_CALL removeConfirmDeleteListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XConfirmDeleteListener>& aListener) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     396             : 
     397             :     // XConfirmDeleteListener
     398             :         virtual sal_Bool SAL_CALL confirmDelete(const  ::com::sun::star::sdb::RowChangeEvent& aEvent) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     399             : 
     400             :     // XServiceInfo
     401             :         virtual sal_Bool SAL_CALL supportsService(const OUString& ServiceName) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     402             :         virtual OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     403             :         virtual ::com::sun::star::uno::Sequence< OUString >  SAL_CALL getSupportedServiceNames(void) throw(::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     404             : 
     405             :     // XResetListener
     406             :         virtual sal_Bool SAL_CALL approveReset(const ::com::sun::star::lang::EventObject& rEvent) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     407             :         virtual void SAL_CALL resetted(const ::com::sun::star::lang::EventObject& rEvent) throw( ::com::sun::star::uno::RuntimeException, std::exception ) SAL_OVERRIDE;
     408             : 
     409             :         // XFeatureInvalidation
     410             :         virtual void SAL_CALL invalidateFeatures( const ::com::sun::star::uno::Sequence< ::sal_Int16 >& Features ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     411             :         virtual void SAL_CALL invalidateAllFeatures(  ) throw (::com::sun::star::uno::RuntimeException, std::exception) SAL_OVERRIDE;
     412             : 
     413             : // method for registration
     414             :         static  ::com::sun::star::uno::Sequence< OUString >  getSupportedServiceNames_Static(void);
     415             : 
     416             :         // comphelper::OPropertyArrayUsageHelper
     417             :         virtual void fillProperties(
     418             :             ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property >& /* [out] */ _rProps,
     419             :             ::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property >& /* [out] */ _rAggregateProps
     420             :             ) const SAL_OVERRIDE;
     421             : 
     422             :     protected:
     423             :         // DispatchInterceptor
     424             :         virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch>
     425             :             interceptedQueryDispatch(
     426             :                     const ::com::sun::star::util::URL& aURL,
     427             :                     const OUString& aTargetFrameName,
     428             :                     sal_Int32 nSearchFlags
     429             :                 )   throw( ::com::sun::star::uno::RuntimeException ) SAL_OVERRIDE;
     430             : 
     431         128 :         virtual ::osl::Mutex* getInterceptorMutex() SAL_OVERRIDE { return &m_aMutex; }
     432             : 
     433             :         /// update all our dispatchers
     434             :         void    updateAllDispatchers() const;
     435             : 
     436             :         /** disposes all dispatchers in m_aFeatureDispatchers, and empties m_aFeatureDispatchers
     437             :         */
     438             :         void    disposeAllFeaturesAndDispatchers() SAL_THROW(());
     439             : 
     440             :         void startFiltering();
     441             :         void stopFiltering();
     442             :         void setFilter(::std::vector<FmFieldInfo>&);
     443             :         void startListening();
     444             :         void stopListening();
     445             : 
     446             :         /** ensures that we have an interaction handler, if possible
     447             : 
     448             :             If an interaction handler was provided at creation time (<member>initialize</member>), this
     449             :             one will be used. Else, an attempt is made to create an <type scope="com::sun::star::sdb">InteractionHandler</type>
     450             :             is made.
     451             : 
     452             :             @return <TRUE/>
     453             :                 if and only if <member>m_xInteractionHandler</member> is valid when the method returns
     454             :         */
     455             :         bool ensureInteractionHandler();
     456             : 
     457             :         /** replaces one of our controls with another one
     458             : 
     459             :             Upon successful replacing, the old control will be disposed. Also, internal members pointing
     460             :             to the current or active control will be adjusted. Yet more, if the replaced control was
     461             :             the active control, the new control will be made active.
     462             : 
     463             :             @param _rxExistentControl
     464             :                 The control to replace. Must be one of the controls in our ControlContainer.
     465             :             @param _rxNewControl
     466             :                 The control which should replace the existent control.
     467             :             @return
     468             :                 <TRUE/> if and only if the control was successfully replaced
     469             :         */
     470             :         bool    replaceControl(
     471             :             const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl >& _rxExistentControl,
     472             :             const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl >& _rxNewControl
     473             :         );
     474             : 
     475             :         // we're listening at all bound controls for modifications
     476             :         void startControlModifyListening(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& xControl);
     477             :         void stopControlModifyListening(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& xControl);
     478             : 
     479             :         void setLocks();
     480             :         void setControlLock(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& xControl);
     481             :         void addToEventAttacher(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& xControl);
     482             :         void removeFromEventAttacher(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& xControl);
     483             :         void toggleAutoFields(sal_Bool bAutoFields);
     484             :         void unload() throw( ::com::sun::star::uno::RuntimeException );
     485             :         void removeBoundFieldListener();
     486             : 
     487             :         void startFormListening( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxForm, sal_Bool _bPropertiesOnly  );
     488             :         void stopFormListening( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxForm, sal_Bool _bPropertiesOnly );
     489             : 
     490             :         ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl> findControl( ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl> >& rCtrls, const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel>& rxCtrlModel, sal_Bool _bRemove, sal_Bool _bOverWrite ) const;
     491             : 
     492             :         void insertControl(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& xControl);
     493             :         void removeControl(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& xControl);
     494             : 
     495             :         /// called when a new control is to be handled by the controller
     496             :         void implControlInserted( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& _rxControl, bool _bAddToEventAttacher );
     497             :         /// called when a control is not to be handled by the controller anymore
     498             :         void implControlRemoved( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& _rxControl, bool _bRemoveFromEventAttacher );
     499             : 
     500             :         /** sets m_xCurrentControl, plus does administrative tasks depending on it
     501             :         */
     502             :         void    implSetCurrentControl( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl >& _rxControl );
     503             : 
     504             :         /** invalidates the FormFeatures which depend on the current control
     505             :         */
     506             :         void    implInvalidateCurrentControlDependentFeatures();
     507             : 
     508        1145 :         bool    impl_isDisposed_nofail() const { return FormController_BASE::rBHelper.bDisposed; }
     509             :         void    impl_checkDisposed_throw() const;
     510             : 
     511             :         void    impl_onModify();
     512             : 
     513             :         /** adds the given filter row to m_aFilterRows, setting m_nCurrentFilterPosition to 0 if the newly added
     514             :             row is the first one.
     515             : 
     516             :             @precond
     517             :                 our mutex is locked
     518             :         */
     519             :         void    impl_addFilterRow( const FmFilterRow& _row );
     520             : 
     521             :         /** adds an empty filter row to m_aFilterRows, and notifies our listeners
     522             :         */
     523             :         void    impl_appendEmptyFilterRow( ::osl::ClearableMutexGuard& _rClearBeforeNotify );
     524             : 
     525           0 :         sal_Bool isLocked() const {return m_bLocked;}
     526             :         sal_Bool determineLockState() const;
     527             : 
     528             :         Window* getDialogParentWindow();
     529             :             // returns the window which should be used as parent window for dialogs
     530             : 
     531             :         ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProviderInterceptor>    createInterceptor(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProviderInterception>& _xInterception);
     532             :             // create a new interceptor, register it on the given object
     533             :         void                            deleteInterceptor(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProviderInterception>& _xInterception);
     534             :             // if createInterceptor was called for the given object the according interceptor will be removed
     535             :             // from the objects interceptor chain and released
     536             : 
     537             :         /** checks all form controls belonging to our form for validity
     538             : 
     539             :             If a form control supports the XValidatableFormComponent interface, this is used to determine
     540             :             the validity of the control. If the interface is not supported, the control is supposed to be
     541             :             valid.
     542             : 
     543             :             @param _rFirstInvalidityExplanation
     544             :                 if the method returns <FALSE/> (i.e. if there is an invalid control), this string contains
     545             :                 the explanation for the invalidity, as obtained from the validator.
     546             : 
     547             :             @param _rxFirstInvalidModel
     548             :                 if the method returns <FALSE/> (i.e. if there is an invalid control), this contains
     549             :                 the control model
     550             : 
     551             :             @return
     552             :                 <TRUE/> if and only if all controls belonging to our form are valid
     553             :         */
     554             :         bool    checkFormComponentValidity(
     555             :                     OUString& /* [out] */ _rFirstInvalidityExplanation,
     556             :                     ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >& /* [out] */ _rxFirstInvalidModel
     557             :                 ) SAL_THROW(());
     558             : 
     559             :         /** locates the control which belongs to a given model
     560             :         */
     561             :         ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl >
     562             :                 locateControl( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >& _rxModel ) SAL_THROW(());
     563             : 
     564             :         // set the text for all filters
     565             :         void impl_setTextOnAllFilter_throw();
     566             : 
     567             :         // in filter mode we do not listen for changes
     568          39 :         sal_Bool isListeningForChanges() const {return m_bDBConnection && !m_bFiltering && !isLocked();}
     569             :         ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl> isInList(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer>& xPeer) const;
     570             : 
     571             :         DECL_LINK( OnActivateTabOrder, void* );
     572             :         DECL_LINK( OnInvalidateFeatures, void* );
     573             :         DECL_LINK( OnLoad, void* );
     574             :         DECL_LINK( OnToggleAutoFields, void* );
     575             :         DECL_LINK( OnActivated, void* );
     576             :         DECL_LINK( OnDeactivated, void* );
     577             :     };
     578             : 
     579             : }   // namespace svxform
     580             : 
     581             : #endif // INCLUDED_SVX_SOURCE_INC_FORMCONTROLLER_HXX
     582             : 
     583             : /* vim:set shiftwidth=4 softtabstop=4 expandtab: */

Generated by: LCOV version 1.10