1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
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/.
9 * This file incorporates work covered by the following license notice:
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 .
20 #ifndef INCLUDED_FORMS_SOURCE_COMPONENT_DATABASEFORM_HXX
21 #define INCLUDED_FORMS_SOURCE_COMPONENT_DATABASEFORM_HXX
23 #include <sal/config.h>
27 #include "propertybaghelper.hxx"
28 #include <com/sun/star/sdbc/XDataSource.hpp>
29 #include <com/sun/star/sdb/XSQLErrorListener.hpp>
30 #include <com/sun/star/io/XPersistObject.hpp>
31 #include <com/sun/star/sdb/XSQLErrorBroadcaster.hpp>
32 #include <com/sun/star/form/FormSubmitMethod.hpp>
33 #include <com/sun/star/form/FormSubmitEncoding.hpp>
34 #include <com/sun/star/form/XSubmit.hpp>
35 #include <com/sun/star/form/XReset.hpp>
36 #include <com/sun/star/form/XDatabaseParameterBroadcaster2.hpp>
37 #include <com/sun/star/sdb/XCompletedExecution.hpp>
38 #include <com/sun/star/sdbc/XRowSet.hpp>
39 #include <com/sun/star/sdbcx/XDeleteRows.hpp>
40 #include <com/sun/star/sdbc/XResultSetUpdate.hpp>
41 #include <com/sun/star/sdb/XRowSetApproveListener.hpp>
42 #include <com/sun/star/sdb/XRowSetApproveBroadcaster.hpp>
43 #include <com/sun/star/form/NavigationBarMode.hpp>
44 #include <com/sun/star/form/XLoadable.hpp>
45 #include <com/sun/star/form/XLoadListener.hpp>
46 #include <com/sun/star/form/XForm.hpp>
47 #include <com/sun/star/awt/XTabControllerModel.hpp>
48 #include <com/sun/star/script/XEventAttacherManager.hpp>
49 #include <com/sun/star/sdbc/XRowSetListener.hpp>
50 #include <com/sun/star/sdb/XResultSetAccess.hpp>
51 #include <com/sun/star/sdbc/XCloseable.hpp>
52 #include <com/sun/star/container/XNamed.hpp>
53 #include <com/sun/star/lang/XServiceInfo.hpp>
54 #include <com/sun/star/sdbc/XParameters.hpp>
55 #include <com/sun/star/sdbc/XConnection.hpp>
56 #include <com/sun/star/task/XInteractionHandler.hpp>
57 #include <com/sun/star/beans/XPropertyContainer.hpp>
58 #include <com/sun/star/beans/XPropertyAccess.hpp>
59 #include <com/sun/star/sdbc/XWarningsSupplier.hpp>
62 #include <tools/link.hxx>
63 #include "InterfaceContainer.hxx"
65 #include <connectivity/parameters.hxx>
66 #include <connectivity/filtermanager.hxx>
67 #include <connectivity/warningscontainer.hxx>
69 #include "listenercontainers.hxx"
70 #include <comphelper/propmultiplex.hxx>
71 #include <comphelper/uno3.hxx>
72 #include <comphelper/proparrhlp.hxx>
73 #include <cppuhelper/implbase12.hxx>
74 #include <cppuhelper/implbase4.hxx>
75 #include <cppuhelper/implbase7.hxx>
77 namespace com
{ namespace sun
{ namespace star
{ namespace sdbc
{
82 class INetMIMEMessage
;
93 const sal_uInt16 SUCCESSFUL_REPRESENT_TEXT
= 0x0001;
94 const sal_uInt16 SUCCESSFUL_REPRESENT_FILE
= 0x0002;
97 class HtmlSuccessfulObj
102 sal_uInt16 nRepresentation
;
104 HtmlSuccessfulObj( const OUString
& _rName
, const OUString
& _rValue
,
105 sal_uInt16 _nRepresent
= SUCCESSFUL_REPRESENT_TEXT
)
108 ,nRepresentation( _nRepresent
)
117 typedef std::vector
<HtmlSuccessfulObj
> HtmlSuccessfulObjList
;
121 class OFormSubmitResetThread
;
122 typedef ::cppu::ImplHelper12
< ::com::sun::star::form::XForm
123 , ::com::sun::star::awt::XTabControllerModel
124 , ::com::sun::star::form::XLoadListener
125 , ::com::sun::star::sdbc::XRowSetListener
126 , ::com::sun::star::sdb::XRowSetApproveListener
127 , ::com::sun::star::form::XDatabaseParameterBroadcaster2
128 , ::com::sun::star::sdb::XSQLErrorListener
129 , ::com::sun::star::sdb::XSQLErrorBroadcaster
130 , ::com::sun::star::form::XReset
131 , ::com::sun::star::form::XSubmit
132 , ::com::sun::star::form::XLoadable
133 , ::com::sun::star::container::XNamed
134 > ODatabaseForm_BASE1
;
137 typedef ::cppu::ImplHelper4
< ::com::sun::star::lang::XServiceInfo
138 , ::com::sun::star::beans::XPropertyContainer
139 , ::com::sun::star::beans::XPropertyAccess
140 , ::com::sun::star::sdbc::XWarningsSupplier
141 > ODatabaseForm_BASE2
;
143 typedef ::cppu::ImplHelper7
< ::com::sun::star::sdbc::XCloseable
,
144 ::com::sun::star::sdbc::XRowSet
,
145 ::com::sun::star::sdb::XCompletedExecution
,
146 ::com::sun::star::sdb::XRowSetApproveBroadcaster
,
147 ::com::sun::star::sdbc::XResultSetUpdate
,
148 ::com::sun::star::sdbcx::XDeleteRows
,
149 ::com::sun::star::sdbc::XParameters
> ODatabaseForm_BASE3
;
152 class ODatabaseForm
:public OFormComponents
153 ,public OPropertySetAggregationHelper
154 ,public OPropertyChangeListener
155 ,public ODatabaseForm_BASE1
156 ,public ODatabaseForm_BASE2
157 ,public ODatabaseForm_BASE3
158 ,public IPropertyBagHelperContext
160 friend class OFormSubmitResetThread
;
162 // listener administration
163 ::cppu::OInterfaceContainerHelper m_aLoadListeners
;
164 ::cppu::OInterfaceContainerHelper m_aRowSetApproveListeners
;
165 ::cppu::OInterfaceContainerHelper m_aRowSetListeners
;
166 ::cppu::OInterfaceContainerHelper m_aSubmitListeners
;
167 ::cppu::OInterfaceContainerHelper m_aErrorListeners
;
168 ResetListeners m_aResetListeners
;
169 ::osl::Mutex m_aResetSafety
;
170 ::com::sun::star::uno::Any m_aCycle
;
171 ::com::sun::star::uno::Any m_aIgnoreResult
; // set when we are a subform and our master form positioned on a new row
172 ::com::sun::star::uno::Sequence
< OUString
> m_aMasterFields
;
173 ::com::sun::star::uno::Sequence
< OUString
> m_aDetailFields
;
175 // the object doin' most of the work - an SDB-rowset
176 ::com::sun::star::uno::Reference
< ::com::sun::star::uno::XAggregation
> m_xAggregate
;
177 // same object, interface as member because of performance reasons
178 ::com::sun::star::uno::Reference
< ::com::sun::star::sdbc::XRowSet
> m_xAggregateAsRowSet
;
180 PropertyBagHelper m_aPropertyBagHelper
;
181 ::dbtools::WarningsContainer m_aWarnings
;
182 OPropertyChangeMultiplexer
* m_pAggregatePropertyMultiplexer
;
183 // Management of the Control Groups
184 OGroupManager
* m_pGroupManager
;
185 ::dbtools::ParameterManager m_aParameterManager
;
186 ::dbtools::FilterManager m_aFilterManager
;
189 OFormSubmitResetThread
* m_pThread
;
190 OUString m_sCurrentErrorContext
;
191 // will be used as additional context information
192 // when an exception is catched and forwarded to the listeners
194 sal_Int32 m_nResetsPending
;
195 // <overwritten_properties>
196 sal_Int32 m_nPrivileges
;
198 // </overwritten_properties>
201 ::com::sun::star::uno::Any m_aControlBorderColorFocus
;
202 ::com::sun::star::uno::Any m_aControlBorderColorMouse
;
203 ::com::sun::star::uno::Any m_aControlBorderColorInvalid
;
204 ::com::sun::star::uno::Any m_aDynamicControlBorder
;
206 OUString m_aTargetURL
;
207 OUString m_aTargetFrame
;
208 ::com::sun::star::form::FormSubmitMethod m_eSubmitMethod
;
209 ::com::sun::star::form::FormSubmitEncoding m_eSubmitEncoding
;
210 ::com::sun::star::form::NavigationBarMode m_eNavigation
;
211 bool m_bAllowInsert
: 1;
212 bool m_bAllowUpdate
: 1;
213 bool m_bAllowDelete
: 1;
217 bool m_bForwardingConnection
: 1; // sal_True if we're setting the ActiveConnection on the aggregate
218 bool m_bSharingConnection
: 1; // sal_True if the connection we're using is shared with out parent
221 ODatabaseForm(const ::com::sun::star::uno::Reference
< ::com::sun::star::uno::XComponentContext
>& _rxFactory
);
222 ODatabaseForm( const ODatabaseForm
& _cloneSource
);
223 virtual ~ODatabaseForm();
226 DECLARE_UNO3_AGG_DEFAULTS(ODatabaseForm
, OFormComponents
)
227 virtual ::com::sun::star::uno::Any SAL_CALL
queryAggregation(const ::com::sun::star::uno::Type
& _rType
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
230 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Type
> SAL_CALL
getTypes( ) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
231 virtual ::com::sun::star::uno::Sequence
<sal_Int8
> SAL_CALL
getImplementationId( ) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
233 // ::com::sun::star::lang::XComponent
234 virtual void SAL_CALL
disposing() SAL_OVERRIDE
;
237 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertySetInfo
> SAL_CALL
getPropertySetInfo( ) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
238 virtual ::cppu::IPropertyArrayHelper
& SAL_CALL
getInfoHelper() SAL_OVERRIDE
;
239 virtual void SAL_CALL
getFastPropertyValue(::com::sun::star::uno::Any
& rValue
, sal_Int32 nHandle
) const SAL_OVERRIDE
;
240 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
) SAL_OVERRIDE
;
241 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
;
243 ::com::sun::star::uno::Any SAL_CALL
getFastPropertyValue( sal_Int32 nHandle
)
244 throw(::com::sun::star::beans::UnknownPropertyException
, ::com::sun::star::lang::WrappedTargetException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
245 void fire( sal_Int32
* pnHandles
, const ::com::sun::star::uno::Any
* pNewValues
, const ::com::sun::star::uno::Any
* pOldValues
, sal_Int32 nCount
, bool bVetoable
);
247 // IPropertyBagHelperContext
248 virtual ::osl::Mutex
& getMutex() SAL_OVERRIDE
;
249 virtual void describeFixedAndAggregateProperties(
250 ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::Property
>& _out_rFixedProperties
,
251 ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::Property
>& _out_rAggregateProperties
252 ) const SAL_OVERRIDE
;
253 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XMultiPropertySet
>
254 getPropertiesInterface() SAL_OVERRIDE
;
256 // com::sun::star::beans::XPropertyState
257 virtual ::com::sun::star::beans::PropertyState
getPropertyStateByHandle(sal_Int32 nHandle
) SAL_OVERRIDE
;
258 virtual void setPropertyToDefaultByHandle(sal_Int32 nHandle
) SAL_OVERRIDE
;
259 virtual ::com::sun::star::uno::Any
getPropertyDefaultByHandle(sal_Int32 nHandle
) const SAL_OVERRIDE
;
261 // com::sun::star::sdbc::XSQLErrorBroadcaster
262 virtual void SAL_CALL
addSQLErrorListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::sdb::XSQLErrorListener
>& _rxListener
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
263 virtual void SAL_CALL
removeSQLErrorListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::sdb::XSQLErrorListener
>& _rxListener
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
265 // com::sun::star::form::XForm
266 // nothing to implement
268 // com::sun::star::form::XReset
269 virtual void SAL_CALL
reset() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
270 virtual void SAL_CALL
addResetListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::form::XResetListener
>& _rxListener
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
271 virtual void SAL_CALL
removeResetListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::form::XResetListener
>& _rxListener
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
273 // com::sun::star::form::XSubmit
274 virtual void SAL_CALL
submit(const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XControl
>& aControl
, const ::com::sun::star::awt::MouseEvent
& aMouseEvt
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
275 virtual void SAL_CALL
addSubmitListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::form::XSubmitListener
>& _rxListener
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
276 virtual void SAL_CALL
removeSubmitListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::form::XSubmitListener
>& _rxListener
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
278 // com::sun::star::container::XChild
279 virtual InterfaceRef SAL_CALL
getParent() throw ( ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
{ return OFormComponents::getParent(); }
280 virtual void SAL_CALL
setParent(const InterfaceRef
& Parent
) throw ( :: com::sun::star::lang::NoSupportException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
282 // com::sun::star::container::XNamed
283 virtual OUString SAL_CALL
getName() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
284 virtual void SAL_CALL
setName(const OUString
& aName
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
286 // com::sun::star::awt::XTabControllerModel
287 virtual sal_Bool SAL_CALL
getGroupControl() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
288 virtual void SAL_CALL
setGroupControl(sal_Bool
/*_bGroupControl*/) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
{ }
289 virtual void SAL_CALL
setControlModels(const ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XControlModel
> >& _rControls
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
290 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XControlModel
> > SAL_CALL
getControlModels() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
291 virtual void SAL_CALL
setGroup(const ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XControlModel
> >& _rGroup
, const OUString
& _rGroupName
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
292 virtual sal_Int32 SAL_CALL
getGroupCount() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
293 virtual void SAL_CALL
getGroup(sal_Int32 _nGroup
, ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XControlModel
> >& _rxGroup
, OUString
& _rName
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
294 virtual void SAL_CALL
getGroupByName(const OUString
& _rName
, ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XControlModel
> >& _rxGroup
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
296 // com::sun::star::lang::XEventListener
297 virtual void SAL_CALL
disposing(const ::com::sun::star::lang::EventObject
& _rSource
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
299 // com::sun::star::form::XLoadListener
300 virtual void SAL_CALL
loaded(const ::com::sun::star::lang::EventObject
& aEvent
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
301 virtual void SAL_CALL
unloading(const ::com::sun::star::lang::EventObject
& aEvent
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
302 virtual void SAL_CALL
unloaded(const ::com::sun::star::lang::EventObject
& aEvent
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
303 virtual void SAL_CALL
reloading(const ::com::sun::star::lang::EventObject
& aEvent
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
304 virtual void SAL_CALL
reloaded(const ::com::sun::star::lang::EventObject
& aEvent
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
306 // com::sun::star::form::XLoadable
307 virtual void SAL_CALL
load() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
308 virtual void SAL_CALL
unload() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
309 virtual void SAL_CALL
reload() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
310 virtual sal_Bool SAL_CALL
isLoaded() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
311 virtual void SAL_CALL
addLoadListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::form::XLoadListener
>& _rxListener
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
312 virtual void SAL_CALL
removeLoadListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::form::XLoadListener
>& _rxListener
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
314 // com::sun::star::sdbc::XCloseable
315 virtual void SAL_CALL
close() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
317 // com::sun::star::sdbc::XRowSetListener
318 virtual void SAL_CALL
cursorMoved(const ::com::sun::star::lang::EventObject
& event
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
319 virtual void SAL_CALL
rowChanged(const ::com::sun::star::lang::EventObject
& event
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
320 virtual void SAL_CALL
rowSetChanged(const ::com::sun::star::lang::EventObject
& event
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
322 // com::sun::star::sdb::XRowSetApproveListener
323 virtual sal_Bool SAL_CALL
approveCursorMove(const ::com::sun::star::lang::EventObject
& event
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
324 virtual sal_Bool SAL_CALL
approveRowChange(const ::com::sun::star::sdb::RowChangeEvent
& event
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
325 virtual sal_Bool SAL_CALL
approveRowSetChange(const ::com::sun::star::lang::EventObject
& event
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
327 // com::sun::star::sdb::XRowSetApproveBroadcaster
328 virtual void SAL_CALL
addRowSetApproveListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::sdb::XRowSetApproveListener
>& _rxListener
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
329 virtual void SAL_CALL
removeRowSetApproveListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::sdb::XRowSetApproveListener
>& _rxListener
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
331 // com::sun:star::form::XDatabaseParameterBroadcaster2
332 virtual void SAL_CALL
addDatabaseParameterListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::form::XDatabaseParameterListener
>& _rxListener
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
333 virtual void SAL_CALL
removeDatabaseParameterListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::form::XDatabaseParameterListener
>& _rxListener
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
335 // com::sun:star::form::XDatabaseParameterBroadcaster
336 virtual void SAL_CALL
addParameterListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::form::XDatabaseParameterListener
>& _rxListener
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
337 virtual void SAL_CALL
removeParameterListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::form::XDatabaseParameterListener
>& _rxListener
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
339 // com::sun::star::sdbc::XRowSet
340 virtual void SAL_CALL
execute() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
341 virtual void SAL_CALL
addRowSetListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::sdbc::XRowSetListener
>& _rxListener
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
342 virtual void SAL_CALL
removeRowSetListener(const ::com::sun::star::uno::Reference
< ::com::sun::star::sdbc::XRowSetListener
>& _rxListener
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
344 // com::sun::star::sdb::XCompletedExecution
345 virtual void SAL_CALL
executeWithCompletion( const ::com::sun::star::uno::Reference
< ::com::sun::star::task::XInteractionHandler
>& handler
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
347 // com::sun::star::sdbc::XResultSet
348 virtual sal_Bool SAL_CALL
next() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
349 virtual sal_Bool SAL_CALL
isBeforeFirst() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
350 virtual sal_Bool SAL_CALL
isAfterLast() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
351 virtual sal_Bool SAL_CALL
isFirst() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
352 virtual sal_Bool SAL_CALL
isLast() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
353 virtual void SAL_CALL
beforeFirst() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
354 virtual void SAL_CALL
afterLast() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
355 virtual sal_Bool SAL_CALL
first() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
356 virtual sal_Bool SAL_CALL
last() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
357 virtual sal_Int32 SAL_CALL
getRow() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
358 virtual sal_Bool SAL_CALL
absolute(sal_Int32 row
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
359 virtual sal_Bool SAL_CALL
relative(sal_Int32 rows
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
360 virtual sal_Bool SAL_CALL
previous() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
361 virtual void SAL_CALL
refreshRow() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
362 virtual sal_Bool SAL_CALL
rowUpdated() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
363 virtual sal_Bool SAL_CALL
rowInserted() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
364 virtual sal_Bool SAL_CALL
rowDeleted() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
365 virtual InterfaceRef SAL_CALL
getStatement() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
367 // com::sun::star::sdbc::XResultSetUpdate
368 virtual void SAL_CALL
insertRow() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
369 virtual void SAL_CALL
updateRow() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
370 virtual void SAL_CALL
deleteRow() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
371 virtual void SAL_CALL
cancelRowUpdates() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
372 virtual void SAL_CALL
moveToInsertRow() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
373 virtual void SAL_CALL
moveToCurrentRow() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
375 // com::sun::star::sdbcx::XDeleteRows
376 virtual ::com::sun::star::uno::Sequence
< sal_Int32
> SAL_CALL
deleteRows(const ::com::sun::star::uno::Sequence
< ::com::sun::star::uno::Any
>& rows
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
378 // com::sun::star::lang::XServiceInfo
379 virtual sal_Bool SAL_CALL
supportsService(const OUString
& ServiceName
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
380 virtual OUString SAL_CALL
getImplementationName() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
381 virtual ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
383 // com::sun::star::lang::XServiceInfo - static version
384 static OUString SAL_CALL
getImplementationName_Static();
385 static ::com::sun::star::uno::Sequence
< OUString
> SAL_CALL
getSupportedServiceNames_Static();
387 // com::sun::star::io::XPersistObject
388 virtual OUString SAL_CALL
getServiceName() throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
389 virtual void SAL_CALL
write(const ::com::sun::star::uno::Reference
< ::com::sun::star::io::XObjectOutputStream
>& _rxOutStream
) throw(::com::sun::star::io::IOException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
390 virtual void SAL_CALL
read(const ::com::sun::star::uno::Reference
< ::com::sun::star::io::XObjectInputStream
>& _rxInStream
) throw(::com::sun::star::io::IOException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
392 // com::sun::star::sdbc::XSQLErrorListener
393 virtual void SAL_CALL
errorOccured(const ::com::sun::star::sdb::SQLErrorEvent
& aEvent
) throw(::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
395 // com::sun::star::sdbc::XParameters
396 virtual void SAL_CALL
setNull(sal_Int32 parameterIndex
, sal_Int32 sqlType
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
397 virtual void SAL_CALL
setObjectNull(sal_Int32 parameterIndex
, sal_Int32 sqlType
, const OUString
& typeName
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
398 virtual void SAL_CALL
setBoolean(sal_Int32 parameterIndex
, sal_Bool x
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
399 virtual void SAL_CALL
setByte(sal_Int32 parameterIndex
, sal_Int8 x
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
400 virtual void SAL_CALL
setShort(sal_Int32 parameterIndex
, sal_Int16 x
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
401 virtual void SAL_CALL
setInt(sal_Int32 parameterIndex
, sal_Int32 x
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
402 virtual void SAL_CALL
setLong(sal_Int32 parameterIndex
, sal_Int64 x
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
403 virtual void SAL_CALL
setFloat(sal_Int32 parameterIndex
, float x
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
404 virtual void SAL_CALL
setDouble(sal_Int32 parameterIndex
, double x
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
405 virtual void SAL_CALL
setString(sal_Int32 parameterIndex
, const OUString
& x
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
406 virtual void SAL_CALL
setBytes(sal_Int32 parameterIndex
, const ::com::sun::star::uno::Sequence
< sal_Int8
>& x
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
407 virtual void SAL_CALL
setDate(sal_Int32 parameterIndex
, const ::com::sun::star::util::Date
& x
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
408 virtual void SAL_CALL
setTime(sal_Int32 parameterIndex
, const ::com::sun::star::util::Time
& x
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
409 virtual void SAL_CALL
setTimestamp(sal_Int32 parameterIndex
, const ::com::sun::star::util::DateTime
& x
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
410 virtual void SAL_CALL
setBinaryStream(sal_Int32 parameterIndex
, const ::com::sun::star::uno::Reference
< ::com::sun::star::io::XInputStream
>& x
, sal_Int32 length
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
411 virtual void SAL_CALL
setCharacterStream(sal_Int32 parameterIndex
, const ::com::sun::star::uno::Reference
< ::com::sun::star::io::XInputStream
>& x
, sal_Int32 length
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
412 virtual void SAL_CALL
setObject(sal_Int32 parameterIndex
, const ::com::sun::star::uno::Any
& x
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
413 virtual void SAL_CALL
setObjectWithInfo(sal_Int32 parameterIndex
, const ::com::sun::star::uno::Any
& x
, sal_Int32 targetSqlType
, sal_Int32 scale
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
414 virtual void SAL_CALL
setRef(sal_Int32 parameterIndex
, const ::com::sun::star::uno::Reference
< ::com::sun::star::sdbc::XRef
>& x
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
415 virtual void SAL_CALL
setBlob(sal_Int32 parameterIndex
, const ::com::sun::star::uno::Reference
< ::com::sun::star::sdbc::XBlob
>& x
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
416 virtual void SAL_CALL
setClob(sal_Int32 parameterIndex
, const ::com::sun::star::uno::Reference
< ::com::sun::star::sdbc::XClob
>& x
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
417 virtual void SAL_CALL
setArray(sal_Int32 parameterIndex
, const ::com::sun::star::uno::Reference
< ::com::sun::star::sdbc::XArray
>& x
) throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
418 virtual void SAL_CALL
clearParameters() throw(::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
420 // XPropertyChangeListener
421 virtual void SAL_CALL
propertyChange( const ::com::sun::star::beans::PropertyChangeEvent
& evt
) throw (::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
423 // XPropertyContainer
424 virtual void SAL_CALL
addProperty( const OUString
& Name
, ::sal_Int16 Attributes
, const ::com::sun::star::uno::Any
& DefaultValue
) throw (::com::sun::star::beans::PropertyExistException
, ::com::sun::star::beans::IllegalTypeException
, ::com::sun::star::lang::IllegalArgumentException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
425 virtual void SAL_CALL
removeProperty( const OUString
& Name
) throw (::com::sun::star::beans::UnknownPropertyException
, ::com::sun::star::beans::NotRemoveableException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
428 virtual ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyValue
> SAL_CALL
getPropertyValues( ) throw (::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
429 virtual void SAL_CALL
setPropertyValues( const ::com::sun::star::uno::Sequence
< ::com::sun::star::beans::PropertyValue
>& aProps
) throw (::com::sun::star::beans::UnknownPropertyException
, ::com::sun::star::beans::PropertyVetoException
, ::com::sun::star::lang::IllegalArgumentException
, ::com::sun::star::lang::WrappedTargetException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
430 using OPropertySetAggregationHelper::setPropertyValues
;
433 virtual ::com::sun::star::uno::Any SAL_CALL
getWarnings( ) throw (::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
434 virtual void SAL_CALL
clearWarnings( ) throw (::com::sun::star::sdbc::SQLException
, ::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
437 virtual ::com::sun::star::uno::Reference
< ::com::sun::star::util::XCloneable
> SAL_CALL
createClone( ) throw (::com::sun::star::uno::RuntimeException
, std::exception
) SAL_OVERRIDE
;
439 inline void submitNBC( const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XControl
>& Control
, const ::com::sun::star::awt::MouseEvent
& MouseEvt
);
442 // OPropertySetAggregationHelper overridables
443 virtual void forwardingPropertyValue( sal_Int32 _nHandle
) SAL_OVERRIDE
;
444 virtual void forwardedPropertyValue( sal_Int32 _nHandle
) SAL_OVERRIDE
;
446 // OInterfaceContainer overridables
447 virtual void implInserted( const ElementDescription
* _pElement
) SAL_OVERRIDE
;
448 virtual void implRemoved(const InterfaceRef
& _rxObject
) SAL_OVERRIDE
;
450 // OPropertyChangeListener
451 virtual void _propertyChanged( const ::com::sun::star::beans::PropertyChangeEvent
& ) throw(::com::sun::star::uno::RuntimeException
) SAL_OVERRIDE
;
454 bool executeRowSet(::osl::ResettableMutexGuard
& _rClearForNotifies
, bool bMoveToFirst
= true,
455 const ::com::sun::star::uno::Reference
< ::com::sun::star::task::XInteractionHandler
>& _rxCompletionHandler
= ::com::sun::star::uno::Reference
< ::com::sun::star::task::XInteractionHandler
>());
456 bool fillParameters(::osl::ResettableMutexGuard
& _rClearForNotifies
,
457 const ::com::sun::star::uno::Reference
< ::com::sun::star::task::XInteractionHandler
>& _rxCompletionHandler
= ::com::sun::star::uno::Reference
< ::com::sun::star::task::XInteractionHandler
>());
458 void updateParameterInfo();
459 bool hasValidParent() const;
462 void load_impl(bool bCausedByParentForm
, bool bMoveToFirst
= true,
463 const ::com::sun::star::uno::Reference
< ::com::sun::star::task::XInteractionHandler
>& _rxCompletionHandler
= ::com::sun::star::uno::Reference
< ::com::sun::star::task::XInteractionHandler
>())
464 throw(::com::sun::star::uno::RuntimeException
);
465 void reload_impl(bool bMoveToFirst
,
466 const ::com::sun::star::uno::Reference
< ::com::sun::star::task::XInteractionHandler
>& _rxCompletionHandler
= ::com::sun::star::uno::Reference
< ::com::sun::star::task::XInteractionHandler
>())
467 throw(::com::sun::star::uno::RuntimeException
);
468 void submit_impl(const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XControl
>& Control
, const ::com::sun::star::awt::MouseEvent
& MouseEvt
, bool _bAproveByListeners
);
469 void reset_impl(bool _bAproveByListeners
);
471 bool implEnsureConnection();
473 // connection sharing
475 /// checks if we can re-use (aka share) the connection of the given parent
476 bool canShareConnection( const ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertySet
>& _rxParentProps
);
478 /// starts sharing the connection with the parent
479 void doShareConnection( const ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertySet
>& _rxParentProps
);
481 /// stops sharing the connection with the parent
482 void stopSharingConnection( );
484 /// called when the connection which we share with our parent is being disposed
485 void disposingSharedConnection( const ::com::sun::star::uno::Reference
< ::com::sun::star::sdbc::XConnection
>& _rxConn
);
487 /// checks if we currently share our connection with our parent
488 bool isSharingConnection( ) const { return m_bSharingConnection
; }
490 /** calls our row set approval listeners
494 @param _bAllowSQLException
495 <TRUE/> if SQLExceptions are allowed to leave the method
497 the guard to be cleared before actually calling into the listeners, but after making
498 a copy of the listeners array to operate on.
500 <TRUE/> if and only if the execution has been approved
502 bool impl_approveRowChange_throw(
503 const ::com::sun::star::lang::EventObject
& _rEvent
,
504 const bool _bAllowSQLException
,
505 ::osl::ClearableMutexGuard
& _rGuard
508 /// invalidate all our parameter-related stuff
509 void invlidateParameters();
511 void saveInsertOnlyState( );
512 void restoreInsertOnlyState( );
515 void onError(const ::com::sun::star::sdb::SQLErrorEvent
& _rEvent
);
516 void onError(const ::com::sun::star::sdbc::SQLException
&, const OUString
& _rContextDescription
);
519 OUString
GetDataEncoded(bool _bURLEncoded
,const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XControl
>& SubmitButton
, const ::com::sun::star::awt::MouseEvent
& MouseEvt
);
520 OUString
GetDataURLEncoded(const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XControl
>& SubmitButton
, const ::com::sun::star::awt::MouseEvent
& MouseEvt
);
521 OUString
GetDataTextEncoded(const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XControl
>& SubmitButton
, const ::com::sun::star::awt::MouseEvent
& MouseEvt
);
522 ::com::sun::star::uno::Sequence
<sal_Int8
> GetDataMultiPartEncoded(const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XControl
>& SubmitButton
, const ::com::sun::star::awt::MouseEvent
& MouseEvt
,
523 OUString
& rContentType
);
525 void AppendComponent(HtmlSuccessfulObjList
& rList
, const ::com::sun::star::uno::Reference
< ::com::sun::star::beans::XPropertySet
>& xComponentSet
, const OUString
& rNamePrefix
,
526 const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XControl
>& rxSubmitButton
, const ::com::sun::star::awt::MouseEvent
& MouseEvt
);
528 void FillSuccessfulList(HtmlSuccessfulObjList
& rList
, const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XControl
>& rxSubmitButton
, const ::com::sun::star::awt::MouseEvent
& MouseEvt
);
530 static void InsertTextPart(INetMIMEMessage
& rParent
, const OUString
& rName
, const OUString
& rData
);
531 static bool InsertFilePart(INetMIMEMessage
& rParent
, const OUString
& rName
, const OUString
& rFileName
);
532 static void Encode(OUString
& rString
);
534 ::com::sun::star::uno::Reference
< ::com::sun::star::sdbc::XConnection
> getConnection();
536 void impl_createLoadTimer();
538 void impl_construct();
540 DECL_LINK_TYPED( OnTimeout
, Timer
*, void );
542 using OPropertySetHelper::getPropertyValues
;
545 inline void ODatabaseForm::submitNBC(const ::com::sun::star::uno::Reference
< ::com::sun::star::awt::XControl
>& Control
, const ::com::sun::star::awt::MouseEvent
& MouseEvt
)
547 submit_impl(Control
, MouseEvt
, false);
554 #endif // INCLUDED_FORMS_SOURCE_COMPONENT_DATABASEFORM_HXX
557 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */