2000-09-18 16:07:07 +00:00
|
|
|
/*************************************************************************
|
|
|
|
*
|
2008-04-11 00:32:54 +00:00
|
|
|
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
|
2000-09-18 16:07:07 +00:00
|
|
|
*
|
2008-04-11 00:32:54 +00:00
|
|
|
* Copyright 2008 by Sun Microsystems, Inc.
|
2000-09-18 16:07:07 +00:00
|
|
|
*
|
2008-04-11 00:32:54 +00:00
|
|
|
* OpenOffice.org - a multi-platform office productivity suite
|
2000-09-18 16:07:07 +00:00
|
|
|
*
|
2008-04-11 00:32:54 +00:00
|
|
|
* $RCSfile: fmctrler.hxx,v $
|
2008-08-19 08:49:23 +00:00
|
|
|
* $Revision: 1.24 $
|
2000-09-18 16:07:07 +00:00
|
|
|
*
|
2008-04-11 00:32:54 +00:00
|
|
|
* This file is part of OpenOffice.org.
|
2000-09-18 16:07:07 +00:00
|
|
|
*
|
2008-04-11 00:32:54 +00:00
|
|
|
* OpenOffice.org is free software: you can redistribute it and/or modify
|
|
|
|
* it under the terms of the GNU Lesser General Public License version 3
|
|
|
|
* only, as published by the Free Software Foundation.
|
2000-09-18 16:07:07 +00:00
|
|
|
*
|
2008-04-11 00:32:54 +00:00
|
|
|
* OpenOffice.org is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
* GNU Lesser General Public License version 3 for more details
|
|
|
|
* (a copy is included in the LICENSE file that accompanied this code).
|
2000-09-18 16:07:07 +00:00
|
|
|
*
|
2008-04-11 00:32:54 +00:00
|
|
|
* You should have received a copy of the GNU Lesser General Public License
|
|
|
|
* version 3 along with OpenOffice.org. If not, see
|
|
|
|
* <http://www.openoffice.org/license.html>
|
|
|
|
* for a copy of the LGPLv3 License.
|
2000-09-18 16:07:07 +00:00
|
|
|
*
|
|
|
|
************************************************************************/
|
|
|
|
#ifndef _SVX_FMCTRLER_HXX
|
|
|
|
#define _SVX_FMCTRLER_HXX
|
|
|
|
|
2008-08-19 08:49:23 +00:00
|
|
|
#include "fmtools.hxx"
|
|
|
|
#include "formcontrolling.hxx"
|
|
|
|
#include "sqlparserclient.hxx"
|
|
|
|
|
|
|
|
/** === begin UNO includes === **/
|
|
|
|
#include <com/sun/star/awt/XControl.hpp>
|
|
|
|
#include <com/sun/star/awt/XControlContainer.hpp>
|
|
|
|
#include <com/sun/star/awt/XControlModel.hpp>
|
|
|
|
#include <com/sun/star/awt/XFocusListener.hpp>
|
|
|
|
#include <com/sun/star/awt/XItemListener.hpp>
|
|
|
|
#include <com/sun/star/awt/XMouseListener.hpp>
|
|
|
|
#include <com/sun/star/awt/XTabController.hpp>
|
|
|
|
#include <com/sun/star/awt/XTabControllerModel.hpp>
|
|
|
|
#include <com/sun/star/awt/XTextComponent.hpp>
|
|
|
|
#include <com/sun/star/awt/XTextListener.hpp>
|
|
|
|
#include <com/sun/star/beans/PropertyChangeEvent.hpp>
|
|
|
|
#include <com/sun/star/beans/PropertyValue.hpp>
|
|
|
|
#include <com/sun/star/beans/XPropertyChangeListener.hpp>
|
|
|
|
#include <com/sun/star/beans/XPropertySet.hpp>
|
|
|
|
#include <com/sun/star/beans/XPropertySetInfo.hpp>
|
2000-09-18 16:07:07 +00:00
|
|
|
#include <com/sun/star/container/ContainerEvent.hpp>
|
|
|
|
#include <com/sun/star/container/XChild.hpp>
|
2008-08-19 08:49:23 +00:00
|
|
|
#include <com/sun/star/container/XContainer.hpp>
|
2000-09-18 16:07:07 +00:00
|
|
|
#include <com/sun/star/container/XContainerListener.hpp>
|
2008-08-19 08:49:23 +00:00
|
|
|
#include <com/sun/star/container/XEnumerationAccess.hpp>
|
|
|
|
#include <com/sun/star/container/XIndexContainer.hpp>
|
2000-09-18 16:07:07 +00:00
|
|
|
#include <com/sun/star/form/DatabaseDeleteEvent.hpp>
|
2008-08-19 08:49:23 +00:00
|
|
|
#include <com/sun/star/form/DatabaseParameterEvent.hpp>
|
2000-09-18 16:07:07 +00:00
|
|
|
#include <com/sun/star/form/ErrorEvent.hpp>
|
2008-08-19 08:49:23 +00:00
|
|
|
#include <com/sun/star/form/validation/XFormComponentValidityListener.hpp>
|
|
|
|
#include <com/sun/star/form/XConfirmDeleteBroadcaster.hpp>
|
|
|
|
#include <com/sun/star/form/XConfirmDeleteListener.hpp>
|
2004-06-28 15:59:19 +00:00
|
|
|
#include <com/sun/star/form/XDatabaseParameterBroadcaster2.hpp>
|
2008-08-19 08:49:23 +00:00
|
|
|
#include <com/sun/star/form/XDatabaseParameterListener.hpp>
|
2000-09-18 16:07:07 +00:00
|
|
|
#include <com/sun/star/form/XFormController.hpp>
|
|
|
|
#include <com/sun/star/form/XFormControllerListener.hpp>
|
2008-08-19 08:49:23 +00:00
|
|
|
#include <com/sun/star/form/XGridControlListener.hpp>
|
|
|
|
#include <com/sun/star/form/XLoadListener.hpp>
|
|
|
|
#include <com/sun/star/form/XResetListener.hpp>
|
|
|
|
#include <com/sun/star/frame/DispatchDescriptor.hpp>
|
2000-09-18 16:07:07 +00:00
|
|
|
#include <com/sun/star/frame/XDispatch.hpp>
|
|
|
|
#include <com/sun/star/frame/XDispatchProvider.hpp>
|
|
|
|
#include <com/sun/star/frame/XDispatchProviderInterception.hpp>
|
2008-08-19 08:49:23 +00:00
|
|
|
#include <com/sun/star/frame/XDispatchProviderInterceptor.hpp>
|
|
|
|
#include <com/sun/star/frame/XModel.hpp>
|
|
|
|
#include <com/sun/star/lang/XInitialization.hpp>
|
2000-11-03 13:56:25 +00:00
|
|
|
#include <com/sun/star/lang/XMultiServiceFactory.hpp>
|
2008-08-19 08:49:23 +00:00
|
|
|
#include <com/sun/star/lang/XServiceInfo.hpp>
|
2000-09-18 16:07:07 +00:00
|
|
|
#include <com/sun/star/lang/XUnoTunnel.hpp>
|
2008-08-19 08:49:23 +00:00
|
|
|
#include <com/sun/star/script/XEventAttacherManager.hpp>
|
|
|
|
#include <com/sun/star/sdb/XRowSetApproveBroadcaster.hpp>
|
|
|
|
#include <com/sun/star/sdb/XRowSetApproveListener.hpp>
|
|
|
|
#include <com/sun/star/sdb/XSingleSelectQueryComposer.hpp>
|
|
|
|
#include <com/sun/star/sdb/XSQLErrorBroadcaster.hpp>
|
|
|
|
#include <com/sun/star/sdb/XSQLErrorListener.hpp>
|
|
|
|
#include <com/sun/star/sdbc/XRowSetListener.hpp>
|
2004-11-16 10:29:45 +00:00
|
|
|
#include <com/sun/star/task/XInteractionHandler.hpp>
|
2008-08-19 08:49:23 +00:00
|
|
|
#include <com/sun/star/util/XModeSelector.hpp>
|
|
|
|
#include <com/sun/star/util/XModifyBroadcaster.hpp>
|
|
|
|
#include <com/sun/star/util/XModifyListener.hpp>
|
|
|
|
/** === end UNO includes === **/
|
|
|
|
|
|
|
|
#include <comphelper/broadcasthelper.hxx>
|
|
|
|
#include <comphelper/proparrhlp.hxx>
|
|
|
|
#include <comphelper/stl_types.hxx>
|
|
|
|
#include <connectivity/sqlparse.hxx>
|
2000-11-03 13:56:25 +00:00
|
|
|
#include <cppuhelper/compbase12.hxx>
|
2008-08-19 08:49:23 +00:00
|
|
|
#include <cppuhelper/implbase12.hxx>
|
|
|
|
#include <cppuhelper/implbase7.hxx>
|
2000-09-18 16:07:07 +00:00
|
|
|
#include <cppuhelper/propshlp.hxx>
|
|
|
|
#include <tools/debug.hxx>
|
2008-08-19 08:49:23 +00:00
|
|
|
#include <vcl/timer.hxx>
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2008-01-29 16:10:42 +00:00
|
|
|
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>
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
|
|
|
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
|
|
|
|
{
|
|
|
|
return reinterpret_cast<sal_Int64>(x.get()) < reinterpret_cast<sal_Int64>(y.get());
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2008-01-29 16:10:42 +00:00
|
|
|
typedef ::std::map< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextComponent >, ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >, FmXTextComponentLess> FmFilterControls;
|
|
|
|
typedef ::std::map< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextComponent >, ::rtl::OUString, FmXTextComponentLess> FmFilterRow;
|
|
|
|
typedef ::std::vector< FmFilterRow > FmFilterRows;
|
|
|
|
typedef ::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormController > > FmFormControllers;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
struct FmFieldInfo;
|
|
|
|
class FmFormView;
|
|
|
|
class Window;
|
|
|
|
|
2004-07-05 14:52:08 +00:00
|
|
|
namespace svxform
|
|
|
|
{
|
|
|
|
class ControlBorderManager;
|
|
|
|
}
|
|
|
|
|
2000-11-03 13:56:25 +00:00
|
|
|
typedef ::cppu::WeakAggComponentImplHelper12< ::com::sun::star::form::XFormController
|
2004-04-13 10:01:04 +00:00
|
|
|
, ::com::sun::star::container::XChild
|
|
|
|
, ::com::sun::star::container::XIndexAccess
|
|
|
|
, ::com::sun::star::container::XEnumerationAccess
|
|
|
|
, ::com::sun::star::awt::XFocusListener
|
|
|
|
, ::com::sun::star::form::XLoadListener
|
|
|
|
, ::com::sun::star::beans::XPropertyChangeListener
|
|
|
|
, ::com::sun::star::awt::XTextListener
|
|
|
|
, ::com::sun::star::awt::XItemListener
|
|
|
|
, ::com::sun::star::container::XContainerListener
|
|
|
|
, ::com::sun::star::util::XModifyListener
|
|
|
|
, ::com::sun::star::util::XModifyBroadcaster
|
|
|
|
> FmXFormController_BASE1;
|
2000-11-03 13:56:25 +00:00
|
|
|
|
2004-07-05 14:52:08 +00:00
|
|
|
typedef ::cppu::ImplHelper12< ::com::sun::star::util::XModeSelector
|
2004-04-13 10:01:04 +00:00
|
|
|
, ::com::sun::star::form::XConfirmDeleteListener
|
|
|
|
, ::com::sun::star::form::XConfirmDeleteBroadcaster
|
|
|
|
, ::com::sun::star::sdb::XSQLErrorListener
|
|
|
|
, ::com::sun::star::sdb::XSQLErrorBroadcaster
|
|
|
|
, ::com::sun::star::sdbc::XRowSetListener
|
|
|
|
, ::com::sun::star::sdb::XRowSetApproveListener
|
|
|
|
, ::com::sun::star::sdb::XRowSetApproveBroadcaster
|
|
|
|
, ::com::sun::star::form::XDatabaseParameterListener
|
2004-07-05 14:52:08 +00:00
|
|
|
, ::com::sun::star::form::XDatabaseParameterBroadcaster
|
2004-04-13 10:01:04 +00:00
|
|
|
, ::com::sun::star::lang::XServiceInfo
|
|
|
|
, ::com::sun::star::form::XResetListener
|
|
|
|
> FmXFormController_BASE2;
|
|
|
|
|
2008-08-19 08:49:23 +00:00
|
|
|
typedef ::cppu::ImplHelper7< ::com::sun::star::lang::XUnoTunnel
|
2004-07-05 14:52:08 +00:00
|
|
|
, ::com::sun::star::frame::XDispatch
|
|
|
|
, ::com::sun::star::awt::XMouseListener
|
2004-11-16 10:29:45 +00:00
|
|
|
, ::com::sun::star::form::validation::XFormComponentValidityListener
|
|
|
|
, ::com::sun::star::task::XInteractionHandler
|
|
|
|
, ::com::sun::star::lang::XInitialization
|
2008-08-19 08:49:23 +00:00
|
|
|
, ::com::sun::star::form::XGridControlListener
|
2004-07-05 14:52:08 +00:00
|
|
|
> FmXFormController_BASE3;
|
2000-11-03 13:56:25 +00:00
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
//==================================================================
|
|
|
|
// FmXFormController
|
|
|
|
//==================================================================
|
2005-01-21 15:59:18 +00:00
|
|
|
class SAL_DLLPRIVATE FmXFormController :public ::comphelper::OBaseMutex
|
|
|
|
,public FmXFormController_BASE1
|
|
|
|
,public FmXFormController_BASE2
|
|
|
|
,public FmXFormController_BASE3
|
|
|
|
,public ::cppu::OPropertySetHelper
|
|
|
|
,public FmDispatchInterceptor
|
|
|
|
,public ::comphelper::OAggregationArrayUsageHelper< FmXFormController >
|
|
|
|
,public ::svxform::OSQLParserClient
|
|
|
|
,public ::svx::IControllerFeatureInvalidation
|
2000-09-18 16:07:07 +00:00
|
|
|
{
|
2004-04-13 10:01:04 +00:00
|
|
|
typedef ::std::map < sal_Int32,
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch >
|
|
|
|
> DispatcherContainer;
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
friend class FmXPageViewWinRec;
|
|
|
|
|
2000-11-03 13:56:25 +00:00
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::uno::XAggregation> m_xAggregate;
|
2006-06-19 15:05:19 +00:00
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::awt::XTabController> m_xTabController;
|
2000-11-03 13:56:25 +00:00
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl> m_xActiveControl, m_xCurrentControl;
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess> m_xModelAsIndex;
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::script::XEventAttacherManager> m_xModelAsManager;
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface> m_xParent;
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xORB;
|
2000-09-18 16:07:07 +00:00
|
|
|
// Composer used for checking filter conditions
|
2008-01-30 07:24:08 +00:00
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSingleSelectQueryComposer > m_xComposer;
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler > m_xInteractionHandler;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl> > m_aControls;
|
|
|
|
::cppu::OInterfaceContainerHelper
|
2000-11-03 13:56:25 +00:00
|
|
|
m_aActivateListeners,
|
|
|
|
m_aModifyListeners,
|
|
|
|
m_aErrorListeners,
|
|
|
|
m_aDeleteListeners,
|
|
|
|
m_aRowSetApproveListeners,
|
|
|
|
m_aParameterListeners;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2000-11-03 13:56:25 +00:00
|
|
|
FmFormControllers m_aChilds;
|
|
|
|
FmFilterControls m_aFilterControls;
|
|
|
|
FmFilterRows m_aFilters;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2004-04-13 10:01:04 +00:00
|
|
|
Timer m_aTabActivationTimer;
|
|
|
|
Timer m_aFeatureInvalidationTimer;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2000-11-03 13:56:25 +00:00
|
|
|
FmFormView* m_pView;
|
|
|
|
Window* m_pWindow;
|
2004-07-05 14:52:08 +00:00
|
|
|
::svxform::ControlBorderManager*
|
|
|
|
m_pControlBorderManager;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2004-04-13 10:01:04 +00:00
|
|
|
::svx::ControllerFeatures m_aControllerFeatures;
|
|
|
|
DispatcherContainer m_aFeatureDispatchers;
|
|
|
|
::std::set< sal_Int32 > m_aInvalidFeatures; // for asynchronous feature invalidation
|
|
|
|
|
2000-11-03 13:56:25 +00:00
|
|
|
::rtl::OUString m_aMode;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2008-01-30 06:31:58 +00:00
|
|
|
ULONG m_nLoadEvent;
|
|
|
|
ULONG m_nToggleEvent;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
sal_Int32 m_nCurrentFilterPosition; // current level for filtering (or-criteria)
|
|
|
|
|
|
|
|
sal_Bool m_bCurrentRecordModified : 1;
|
|
|
|
sal_Bool m_bCurrentRecordNew : 1;
|
|
|
|
sal_Bool m_bLocked : 1;
|
|
|
|
sal_Bool m_bDBConnection : 1; // Focuslistener nur fuer Datenbankformulare
|
|
|
|
sal_Bool m_bCycle : 1;
|
|
|
|
sal_Bool m_bCanInsert : 1;
|
|
|
|
sal_Bool m_bCanUpdate : 1;
|
|
|
|
sal_Bool m_bCommitLock : 1; // lock the committing of controls see focusGained
|
|
|
|
sal_Bool m_bModified : 1; // ist der Inhalt eines Controls modifiziert ?
|
|
|
|
sal_Bool m_bControlsSorted : 1;
|
|
|
|
sal_Bool m_bFiltering : 1;
|
|
|
|
sal_Bool m_bAttachEvents : 1;
|
|
|
|
sal_Bool m_bDetachEvents : 1;
|
2004-11-16 10:29:45 +00:00
|
|
|
sal_Bool m_bAttemptedHandlerCreation : 1;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
// as we want to intercept dispatches of _all_ controls we're responsible for, and an object implementing
|
|
|
|
// the ::com::sun::star::frame::XDispatchProviderInterceptor interface can intercept only _one_ objects dispatches, we need a helper class
|
|
|
|
DECLARE_STL_VECTOR(FmXDispatchInterceptorImpl*, Interceptors);
|
|
|
|
Interceptors m_aControlDispatchInterceptors;
|
|
|
|
|
2004-11-16 10:29:45 +00:00
|
|
|
public:
|
|
|
|
inline const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionHandler >&
|
|
|
|
getInteractionHandler() const
|
|
|
|
{
|
|
|
|
const_cast< FmXFormController* >( this )->ensureInteractionHandler();
|
|
|
|
return m_xInteractionHandler;
|
|
|
|
}
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
public:
|
2000-11-03 13:56:25 +00:00
|
|
|
FmXFormController(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & _rxORB,
|
2004-04-13 10:01:04 +00:00
|
|
|
FmFormView* _pView = NULL, Window* _pWindow = NULL );
|
2000-09-18 16:07:07 +00:00
|
|
|
~FmXFormController();
|
|
|
|
|
|
|
|
// UNO Anbindung
|
|
|
|
virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& type) throw ( ::com::sun::star::uno::RuntimeException )
|
2000-11-03 13:56:25 +00:00
|
|
|
{ return FmXFormController_BASE1::queryInterface( type ); }
|
2000-09-18 16:07:07 +00:00
|
|
|
virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type& aType ) throw(::com::sun::star::uno::RuntimeException);
|
2001-09-12 16:14:22 +00:00
|
|
|
virtual void SAL_CALL acquire() throw ();
|
|
|
|
virtual void SAL_CALL release() throw ();
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
// XTypeProvider
|
2004-04-13 10:01:04 +00:00
|
|
|
virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
|
2000-09-18 16:07:07 +00:00
|
|
|
virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
|
|
|
|
|
|
|
|
// XUnoTunnel
|
|
|
|
virtual sal_Int64 SAL_CALL getSomething( const ::com::sun::star::uno::Sequence< sal_Int8 >& aIdentifier ) throw(::com::sun::star::uno::RuntimeException);
|
|
|
|
static ::com::sun::star::uno::Sequence< sal_Int8 > getUnoTunnelImplementationId();
|
2006-06-19 15:05:19 +00:00
|
|
|
static FmXFormController* getImplementation( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxComponent );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2001-06-15 10:11:14 +00:00
|
|
|
// XDispatch
|
|
|
|
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);
|
|
|
|
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);
|
|
|
|
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);
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
// ::com::sun::star::container::XChild
|
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface> SAL_CALL getParent(void) throw( ::com::sun::star::uno::RuntimeException ) {return m_xParent;}
|
|
|
|
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 )
|
|
|
|
{m_xParent = Parent;}
|
|
|
|
|
|
|
|
// ::com::sun::star::lang::XEventListener
|
|
|
|
virtual void SAL_CALL disposing(const ::com::sun::star::lang::EventObject& Source) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
|
|
|
|
// OComponentHelper
|
|
|
|
virtual void SAL_CALL disposing();
|
|
|
|
|
|
|
|
// OPropertySetHelper
|
|
|
|
virtual sal_Bool SAL_CALL convertFastPropertyValue( ::com::sun::star::uno::Any & rConvertedValue, ::com::sun::star::uno::Any & rOldValue,
|
|
|
|
sal_Int32 nHandle, const ::com::sun::star::uno::Any& rValue )
|
|
|
|
throw( ::com::sun::star::lang::IllegalArgumentException );
|
|
|
|
|
2001-09-12 16:14:22 +00:00
|
|
|
virtual void SAL_CALL setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const ::com::sun::star::uno::Any& rValue ) throw( ::com::sun::star::uno::Exception );
|
2000-09-18 16:07:07 +00:00
|
|
|
virtual void SAL_CALL getFastPropertyValue( ::com::sun::star::uno::Any& rValue, sal_Int32 nHandle ) const;
|
|
|
|
|
2001-09-12 16:14:22 +00:00
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo> SAL_CALL getPropertySetInfo() throw( ::com::sun::star::uno::RuntimeException );
|
2000-09-18 16:07:07 +00:00
|
|
|
virtual ::cppu::IPropertyArrayHelper & SAL_CALL getInfoHelper();
|
|
|
|
|
2006-06-19 15:05:19 +00:00
|
|
|
using OPropertySetHelper::getFastPropertyValue;
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
// XElementAccess
|
|
|
|
virtual ::com::sun::star::uno::Type SAL_CALL getElementType(void) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual sal_Bool SAL_CALL hasElements(void) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
|
|
|
|
// ::com::sun::star::container::XEnumerationAccess
|
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration> SAL_CALL createEnumeration(void) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
|
|
|
|
// ::com::sun::star::container::XContainerListener
|
2001-09-12 16:14:22 +00:00
|
|
|
virtual void SAL_CALL elementInserted(const ::com::sun::star::container::ContainerEvent& rEvent) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual void SAL_CALL elementReplaced(const ::com::sun::star::container::ContainerEvent& rEvent) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual void SAL_CALL elementRemoved(const ::com::sun::star::container::ContainerEvent& rEvent) throw( ::com::sun::star::uno::RuntimeException );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
// XLoadListener
|
2001-09-12 16:14:22 +00:00
|
|
|
virtual void SAL_CALL loaded(const ::com::sun::star::lang::EventObject& rEvent) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual void SAL_CALL unloaded(const ::com::sun::star::lang::EventObject& rEvent) throw( ::com::sun::star::uno::RuntimeException );
|
2000-09-18 16:07:07 +00:00
|
|
|
virtual void SAL_CALL unloading(const ::com::sun::star::lang::EventObject& aEvent) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual void SAL_CALL reloading(const ::com::sun::star::lang::EventObject& aEvent) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual void SAL_CALL reloaded(const ::com::sun::star::lang::EventObject& aEvent) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
|
|
|
|
// XModeSelector
|
|
|
|
virtual void SAL_CALL setMode(const ::rtl::OUString& Mode) throw( ::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual ::rtl::OUString SAL_CALL getMode(void) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedModes(void) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual sal_Bool SAL_CALL supportsMode(const ::rtl::OUString& Mode) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
|
|
|
|
// ::com::sun::star::container::XIndexAccess
|
|
|
|
virtual sal_Int32 SAL_CALL getCount(void) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
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 );
|
|
|
|
|
|
|
|
// XModifyBroadcaster
|
2001-09-12 16:14:22 +00:00
|
|
|
virtual void SAL_CALL addModifyListener(const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener>& l) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual void SAL_CALL removeModifyListener(const ::com::sun::star::uno::Reference< ::com::sun::star::util::XModifyListener>& l) throw( ::com::sun::star::uno::RuntimeException );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
// XFocusListener
|
2001-09-12 16:14:22 +00:00
|
|
|
virtual void SAL_CALL focusGained(const ::com::sun::star::awt::FocusEvent& e) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual void SAL_CALL focusLost(const ::com::sun::star::awt::FocusEvent& e) throw( ::com::sun::star::uno::RuntimeException );
|
2004-07-05 14:52:08 +00:00
|
|
|
|
|
|
|
// XMouseListener
|
|
|
|
virtual void SAL_CALL mousePressed( const ::com::sun::star::awt::MouseEvent& _rEvent ) throw (::com::sun::star::uno::RuntimeException);
|
|
|
|
virtual void SAL_CALL mouseReleased( const ::com::sun::star::awt::MouseEvent& _rEvent ) throw (::com::sun::star::uno::RuntimeException);
|
|
|
|
virtual void SAL_CALL mouseEntered( const ::com::sun::star::awt::MouseEvent& _rEvent ) throw (::com::sun::star::uno::RuntimeException);
|
|
|
|
virtual void SAL_CALL mouseExited( const ::com::sun::star::awt::MouseEvent& _rEvent ) throw (::com::sun::star::uno::RuntimeException);
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2004-11-16 10:29:45 +00:00
|
|
|
// XFormComponentValidityListener
|
|
|
|
virtual void SAL_CALL componentValidityChanged( const ::com::sun::star::lang::EventObject& _rSource ) throw (::com::sun::star::uno::RuntimeException);
|
|
|
|
|
|
|
|
// XInteractionHandler
|
|
|
|
virtual void SAL_CALL handle( const ::com::sun::star::uno::Reference< ::com::sun::star::task::XInteractionRequest >& Request ) throw (::com::sun::star::uno::RuntimeException);
|
|
|
|
|
|
|
|
// XInitialization
|
|
|
|
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);
|
|
|
|
|
2008-08-19 08:49:23 +00:00
|
|
|
// XGridControlListener
|
|
|
|
virtual void SAL_CALL columnChanged( const ::com::sun::star::lang::EventObject& _event ) throw (::com::sun::star::uno::RuntimeException);
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
// ::com::sun::star::beans::XPropertyChangeListener -> aenderung der stati
|
2001-09-12 16:14:22 +00:00
|
|
|
virtual void SAL_CALL propertyChange(const ::com::sun::star::beans::PropertyChangeEvent& evt) throw( ::com::sun::star::uno::RuntimeException );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
// XTextListener -> modify setzen
|
2001-09-12 16:14:22 +00:00
|
|
|
virtual void SAL_CALL textChanged(const ::com::sun::star::awt::TextEvent& rEvent) throw( ::com::sun::star::uno::RuntimeException );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
// XItemListener -> modify setzen
|
2001-09-12 16:14:22 +00:00
|
|
|
virtual void SAL_CALL itemStateChanged(const ::com::sun::star::awt::ItemEvent& rEvent) throw( ::com::sun::star::uno::RuntimeException );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
// XModifyListener -> modify setzen
|
2001-09-12 16:14:22 +00:00
|
|
|
virtual void SAL_CALL modified(const ::com::sun::star::lang::EventObject& rEvent) throw( ::com::sun::star::uno::RuntimeException );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
// XFormController
|
2001-09-12 16:14:22 +00:00
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl> SAL_CALL getCurrentControl(void) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual void SAL_CALL addActivateListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormControllerListener>& l) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual void SAL_CALL removeActivateListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormControllerListener>& l) throw( ::com::sun::star::uno::RuntimeException );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
// XTabController
|
2001-09-12 16:14:22 +00:00
|
|
|
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 );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2001-09-12 16:14:22 +00:00
|
|
|
virtual void SAL_CALL setModel(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTabControllerModel>& Model) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTabControllerModel> SAL_CALL getModel() throw( ::com::sun::star::uno::RuntimeException );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2001-09-12 16:14:22 +00:00
|
|
|
virtual void SAL_CALL setContainer(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer>& Container) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer> SAL_CALL getContainer() throw( ::com::sun::star::uno::RuntimeException );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2001-09-12 16:14:22 +00:00
|
|
|
virtual void SAL_CALL autoTabOrder() throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual void SAL_CALL activateTabOrder() throw( ::com::sun::star::uno::RuntimeException );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2001-09-12 16:14:22 +00:00
|
|
|
virtual void SAL_CALL activateFirst() throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual void SAL_CALL activateLast() throw( ::com::sun::star::uno::RuntimeException );
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
// com::sun::star::sdbc::XRowSetListener
|
|
|
|
virtual void SAL_CALL cursorMoved(const ::com::sun::star::lang::EventObject& event) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual void SAL_CALL rowChanged(const ::com::sun::star::lang::EventObject& event) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual void SAL_CALL rowSetChanged(const ::com::sun::star::lang::EventObject& event) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
|
|
|
|
// XRowSetApproveListener
|
|
|
|
virtual sal_Bool SAL_CALL approveCursorMove(const ::com::sun::star::lang::EventObject& event) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual sal_Bool SAL_CALL approveRowChange(const ::com::sun::star::sdb::RowChangeEvent& event) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual sal_Bool SAL_CALL approveRowSetChange(const ::com::sun::star::lang::EventObject& event) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
|
|
|
|
// XRowSetApproveBroadcaster
|
|
|
|
virtual void SAL_CALL addRowSetApproveListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XRowSetApproveListener>& listener) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual void SAL_CALL removeRowSetApproveListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XRowSetApproveListener>& listener) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
|
|
|
|
// XSQLErrorBroadcaster
|
|
|
|
virtual void SAL_CALL errorOccured(const ::com::sun::star::sdb::SQLErrorEvent& aEvent) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
|
|
|
|
// XSQLErrorListener
|
|
|
|
virtual void SAL_CALL addSQLErrorListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSQLErrorListener>& _rListener) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual void SAL_CALL removeSQLErrorListener(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSQLErrorListener>& _rListener) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
|
2004-06-28 15:59:19 +00:00
|
|
|
// XDatabaseParameterBroadcaster2
|
|
|
|
virtual void SAL_CALL addDatabaseParameterListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XDatabaseParameterListener>& aListener) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual void SAL_CALL removeDatabaseParameterListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XDatabaseParameterListener>& aListener) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
// XDatabaseParameterBroadcaster
|
|
|
|
virtual void SAL_CALL addParameterListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XDatabaseParameterListener>& aListener) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual void SAL_CALL removeParameterListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XDatabaseParameterListener>& aListener) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
|
|
|
|
// XDatabaseParameterListener
|
|
|
|
virtual sal_Bool SAL_CALL approveParameter(const ::com::sun::star::form::DatabaseParameterEvent& aEvent) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
|
|
|
|
// XConfirmDeleteBroadcaster
|
|
|
|
virtual void SAL_CALL addConfirmDeleteListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XConfirmDeleteListener>& aListener) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual void SAL_CALL removeConfirmDeleteListener(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XConfirmDeleteListener>& aListener) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
|
|
|
|
// XConfirmDeleteListener
|
|
|
|
virtual sal_Bool SAL_CALL confirmDelete(const ::com::sun::star::sdb::RowChangeEvent& aEvent) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
|
|
|
|
// XServiceInfo
|
|
|
|
virtual sal_Bool SAL_CALL supportsService(const ::rtl::OUString& ServiceName) throw(::com::sun::star::uno::RuntimeException);
|
|
|
|
virtual ::rtl::OUString SAL_CALL getImplementationName() throw(::com::sun::star::uno::RuntimeException);
|
|
|
|
virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSupportedServiceNames(void) throw(::com::sun::star::uno::RuntimeException);
|
|
|
|
|
|
|
|
// XResetListener
|
|
|
|
virtual sal_Bool SAL_CALL approveReset(const ::com::sun::star::lang::EventObject& rEvent) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
virtual void SAL_CALL resetted(const ::com::sun::star::lang::EventObject& rEvent) throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
|
|
|
|
// method for registration
|
2004-04-13 10:01:04 +00:00
|
|
|
static ::com::sun::star::uno::Sequence< ::rtl::OUString > getSupportedServiceNames_Static(void);
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2000-10-20 13:13:45 +00:00
|
|
|
// comphelper::OPropertyArrayUsageHelper
|
2000-09-18 16:07:07 +00:00
|
|
|
virtual void fillProperties(
|
|
|
|
::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property >& /* [out] */ _rProps,
|
|
|
|
::com::sun::star::uno::Sequence< ::com::sun::star::beans::Property >& /* [out] */ _rAggregateProps
|
|
|
|
) const;
|
|
|
|
|
|
|
|
// access to the controls for filtering
|
|
|
|
const FmFilterControls& getFilterControls() const {return m_aFilterControls;}
|
|
|
|
|
|
|
|
// access to the current filter rows
|
|
|
|
const FmFilterRows& getFilterRows() const {return m_aFilters;}
|
|
|
|
FmFilterRows& getFilterRows() {return m_aFilters;}
|
|
|
|
|
|
|
|
// just decr. the positions no notifications for the view
|
|
|
|
void decrementCurrentFilterPosition()
|
|
|
|
{
|
|
|
|
DBG_ASSERT(m_nCurrentFilterPosition, "Invalid Position");
|
|
|
|
--m_nCurrentFilterPosition;
|
|
|
|
}
|
|
|
|
|
|
|
|
void setCurrentFilterPosition(sal_Int32 nPos);
|
|
|
|
sal_Int32 getCurrentFilterPosition() const {return m_nCurrentFilterPosition;}
|
|
|
|
|
|
|
|
protected:
|
|
|
|
// FmDispatchInterceptor
|
|
|
|
virtual ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatch>
|
|
|
|
interceptedQueryDispatch(sal_uInt16 _nId,const ::com::sun::star::util::URL& aURL,
|
|
|
|
const ::rtl::OUString& aTargetFrameName, sal_Int32 nSearchFlags)
|
|
|
|
throw( ::com::sun::star::uno::RuntimeException );
|
|
|
|
|
2004-04-13 10:01:04 +00:00
|
|
|
// IControllerFeatureInvalidation
|
|
|
|
virtual void invalidateFeatures( const ::std::vector< sal_Int32 >& _rFeatures );
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
virtual ::osl::Mutex* getInterceptorMutex() { return &m_aMutex; }
|
|
|
|
|
2004-04-13 10:01:04 +00:00
|
|
|
/// update all our dispatchers
|
|
|
|
void updateAllDispatchers() const;
|
|
|
|
|
2005-01-21 15:59:18 +00:00
|
|
|
/** disposes all dispatchers in m_aFeatureDispatchers, empties m_aFeatureDispatchers,
|
|
|
|
and disposes m_aControllerFeatures
|
|
|
|
*/
|
|
|
|
void disposeAllFeaturesAndDispatchers() SAL_THROW(());
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
void startFiltering();
|
|
|
|
void stopFiltering();
|
2008-01-29 16:10:42 +00:00
|
|
|
void setFilter(::std::vector<FmFieldInfo>&);
|
2000-09-18 16:07:07 +00:00
|
|
|
void startListening();
|
|
|
|
void stopListening();
|
2004-11-16 10:29:45 +00:00
|
|
|
|
|
|
|
/** ensures that we have an interaction handler, if possible
|
|
|
|
|
|
|
|
If an interaction handler was provided at creation time (<member>initialize</member>), this
|
|
|
|
one will be used. Else, an attempt is made to create an <type scope="com::sun::star::sdb">InteractionHandler</type>
|
|
|
|
is made.
|
|
|
|
|
|
|
|
@return <TRUE/>
|
|
|
|
if and only if <member>m_xInteractionHandler</member> is valid when the method returns
|
|
|
|
*/
|
|
|
|
bool ensureInteractionHandler();
|
|
|
|
|
2006-11-14 12:27:07 +00:00
|
|
|
/** replaces one of our controls with another one
|
|
|
|
|
|
|
|
Upon successful replacing, the old control will be disposed. Also, internal members pointing
|
|
|
|
to the current or active control will be adjusted. Yet more, if the replaced control was
|
|
|
|
the active control, the new control will be made active.
|
|
|
|
|
|
|
|
@param _rxExistentControl
|
|
|
|
The control to replace. Must be one of the controls in our ControlContainer.
|
|
|
|
@param _rxNewControl
|
|
|
|
The control which should replace the existent control.
|
|
|
|
@return
|
|
|
|
<TRUE/> if and only if the control was successfully replaced
|
|
|
|
*/
|
|
|
|
bool replaceControl(
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl >& _rxExistentControl,
|
|
|
|
const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl >& _rxNewControl
|
|
|
|
);
|
|
|
|
|
2004-11-16 10:29:45 +00:00
|
|
|
// we're listening at all bound controls for modifications
|
|
|
|
void startControlModifyListening(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& xControl);
|
|
|
|
void stopControlModifyListening(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& xControl);
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
void setLocks();
|
|
|
|
void setControlLock(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& xControl);
|
|
|
|
void addToEventAttacher(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& xControl);
|
|
|
|
void removeFromEventAttacher(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& xControl);
|
|
|
|
void toggleAutoFields(sal_Bool bAutoFields);
|
|
|
|
void unload() throw( ::com::sun::star::uno::RuntimeException );
|
2003-05-19 11:52:10 +00:00
|
|
|
void removeBoundFieldListener();
|
2000-09-18 16:07:07 +00:00
|
|
|
|
2002-12-05 08:58:04 +00:00
|
|
|
void startFormListening( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxForm, sal_Bool _bPropertiesOnly );
|
|
|
|
void stopFormListening( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxForm, sal_Bool _bPropertiesOnly );
|
|
|
|
|
2004-11-16 10:29:45 +00:00
|
|
|
::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;
|
2000-09-18 16:07:07 +00:00
|
|
|
|
|
|
|
void insertControl(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& xControl);
|
|
|
|
void removeControl(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& xControl);
|
|
|
|
|
2004-11-16 10:29:45 +00:00
|
|
|
/// called when a new control is to be handled by the controller
|
|
|
|
void implControlInserted( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& _rxControl, bool _bAddToEventAttacher );
|
|
|
|
/// called when a control is not to be handled by the controller anymore
|
|
|
|
void implControlRemoved( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl>& _rxControl, bool _bRemoveFromEventAttacher );
|
|
|
|
|
2008-08-19 08:49:23 +00:00
|
|
|
/** sets m_xCurrentControl, plus does administrative tasks depending on it
|
|
|
|
*/
|
|
|
|
void implSetCurrentControl( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl >& _rxControl );
|
|
|
|
|
|
|
|
/** invalidates the FormFeatures which depend on the current control
|
|
|
|
*/
|
|
|
|
void implInvalidateCurrentControlDependentFeatures();
|
|
|
|
|
2001-05-29 13:00:30 +00:00
|
|
|
void onModify( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxControl );
|
2000-09-18 16:07:07 +00:00
|
|
|
void onActivate();
|
|
|
|
|
|
|
|
sal_Bool isLocked() const {return m_bLocked;}
|
|
|
|
sal_Bool determineLockState() const;
|
|
|
|
|
|
|
|
Window* getDialogParentWindow();
|
|
|
|
// returns m_pWindow or - if m_pWindow is NULL - the window of the currently set container
|
|
|
|
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProviderInterceptor> createInterceptor(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProviderInterception>& _xInterception);
|
|
|
|
// create a new interceptor, register it on the given object
|
|
|
|
void deleteInterceptor(const ::com::sun::star::uno::Reference< ::com::sun::star::frame::XDispatchProviderInterception>& _xInterception);
|
|
|
|
// if createInterceptor was called for the given object the according interceptor will be removed
|
|
|
|
// from the objects interceptor chain and released
|
|
|
|
|
2004-04-02 09:30:07 +00:00
|
|
|
/** checks all form controls belonging to our form for validity
|
|
|
|
|
|
|
|
If a form control supports the XValidatableFormComponent interface, this is used to determine
|
|
|
|
the validity of the control. If the interface is not supported, the control is supposed to be
|
|
|
|
valid.
|
|
|
|
|
|
|
|
@param _rFirstInvalidityExplanation
|
|
|
|
if the method returns <FALSE/> (i.e. if there is an invalid control), this string contains
|
|
|
|
the explanation for the invalidity, as obtained from the validator.
|
|
|
|
|
|
|
|
@param _rxFirstInvalidModel
|
|
|
|
if the method returns <FALSE/> (i.e. if there is an invalid control), this contains
|
|
|
|
the control model
|
|
|
|
|
|
|
|
@return
|
|
|
|
<TRUE/> if and only if all controls belonging to our form are valid
|
|
|
|
*/
|
|
|
|
bool checkFormComponentValidity(
|
|
|
|
::rtl::OUString& /* [out] */ _rFirstInvalidityExplanation,
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >& /* [out] */ _rxFirstInvalidModel
|
|
|
|
) SAL_THROW(());
|
|
|
|
|
|
|
|
/** locates the control which belongs to a given model
|
|
|
|
*/
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl >
|
|
|
|
locateControl( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >& _rxModel ) SAL_THROW(());
|
|
|
|
|
2000-09-18 16:07:07 +00:00
|
|
|
// in filter mode we do not listen for changes
|
|
|
|
sal_Bool isListeningForChanges() const {return m_bDBConnection && !m_bFiltering && !isLocked();}
|
|
|
|
void addChild(FmXFormController* pChild);
|
|
|
|
::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl> isInList(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer>& xPeer) const;
|
|
|
|
|
2004-04-13 10:01:04 +00:00
|
|
|
DECL_LINK( OnActivateTabOrder, void* );
|
|
|
|
DECL_LINK( OnInvalidateFeatures, void* );
|
2000-09-18 16:07:07 +00:00
|
|
|
DECL_LINK( OnLoad, void* );
|
|
|
|
DECL_LINK( OnToggleAutoFields, void* );
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
#endif // _SVX_FMCTRLER_HXX
|
|
|
|
|