26 #include <com/sun/star/awt/LineEndFormat.hpp>
27 #include <com/sun/star/beans/PropertyAttribute.hpp>
28 #include <com/sun/star/beans/XIntrospection.hpp>
29 #include <com/sun/star/container/XChild.hpp>
30 #include <com/sun/star/container/XIndexAccess.hpp>
31 #include <com/sun/star/form/XForm.hpp>
32 #include <com/sun/star/form/XFormComponent.hpp>
33 #include <com/sun/star/form/XGridColumnFactory.hpp>
34 #include <com/sun/star/io/XActiveDataSink.hpp>
35 #include <com/sun/star/io/XActiveDataSource.hpp>
36 #include <com/sun/star/io/XObjectInputStream.hpp>
37 #include <com/sun/star/io/XObjectOutputStream.hpp>
38 #include <com/sun/star/io/XPersistObject.hpp>
39 #include <com/sun/star/lang/Locale.hpp>
40 #include <com/sun/star/lang/XServiceInfo.hpp>
41 #include <com/sun/star/sdb/CommandType.hpp>
42 #include <com/sun/star/sdb/ErrorCondition.hpp>
43 #include <com/sun/star/sdb/ErrorMessageDialog.hpp>
44 #include <com/sun/star/sdb/SQLContext.hpp>
45 #include <com/sun/star/sdb/SQLErrorEvent.hpp>
46 #include <com/sun/star/sdb/XCompletedConnection.hpp>
47 #include <com/sun/star/sdb/XQueriesSupplier.hpp>
48 #include <com/sun/star/sdb/XResultSetAccess.hpp>
49 #include <com/sun/star/sdbc/DataType.hpp>
50 #include <com/sun/star/sdbc/XDataSource.hpp>
51 #include <com/sun/star/sdbcx/Privilege.hpp>
52 #include <com/sun/star/sdbcx/XTablesSupplier.hpp>
53 #include <com/sun/star/task/XInteractionHandler.hpp>
54 #include <com/sun/star/ui/dialogs/XExecutableDialog.hpp>
55 #include <com/sun/star/uno/XNamingService.hpp>
56 #include <com/sun/star/util/Language.hpp>
57 #include <com/sun/star/util/NumberFormat.hpp>
58 #include <com/sun/star/util/XCloneable.hpp>
59 #include <com/sun/star/util/XNumberFormatTypes.hpp>
60 #include <com/sun/star/util/XNumberFormats.hpp>
61 #include <com/sun/star/util/XNumberFormatsSupplier.hpp>
62 #include <com/sun/star/util/XNumberFormatter.hpp>
73 #include <osl/diagnose.h>
74 #include <rtl/math.hxx>
100 bool lcl_shouldDisplayError(
const Any& _rError )
103 if ( !( _rError >>= aError ) )
106 if ( ! aError.Message.startsWith(
"[OOoBase]" ) )
112 if ( aError.ErrorCode + ErrorCondition::ROW_SET_OPERATION_VETOED == 0 )
124 if ( !lcl_shouldDisplayError( _rExcept ) )
134 xErrorDialog->execute();
138 OSL_FAIL(
"displayException: could not display the error message!");
169 DBG_ASSERT( xNormalized.is(),
"getElementPos: invalid element!" );
170 if ( xNormalized.is() )
173 nIndex = xCont->getCount();
180 "getElementPos: container element not normalized!" );
181 if ( xNormalized.get() == xCurrent.get() )
186 OSL_FAIL(
"getElementPos: caught an exception!" );
195 OUString
getLabelName(
const Reference< css::beans::XPropertySet>& xControlModel)
197 if (!xControlModel.is())
202 Reference< css::beans::XPropertySet> xLabelSet;
204 if (xLabelSet.is() && ::comphelper::hasProperty(
FM_PROP_LABEL, xLabelSet))
208 return ::comphelper::getString(
aLabel);
220 ImplConstruct(Reference< css::sdbc::XResultSet>(_rxCursor, UNO_QUERY), bUseCloned);
234 Reference< css::sdb::XResultSetAccess> xAccess(_rxCursor, UNO_QUERY);
237 m_xMoveOperations = xAccess.is() ? xAccess->createResultSet() : Reference< css::sdbc::XResultSet>();
286 :m_xObject(_rxObject)
303 Reference< css::lang::XEventListener> xPreventDelete(
this);
319 Reference< css::lang::XEventListener> xPreventDelete(
this);
333 Reference< css::io::XPersistObject> xPersistence(_rxObject, UNO_QUERY);
334 DBG_ASSERT(xPersistence.is(),
"::getControlTypeByObject : argument should be a css::io::XPersistObject !");
335 if (!xPersistence.is())
338 OUString sPersistentServiceName = xPersistence->getServiceName();
388 OSL_FAIL(
"::getControlTypeByObject : suspicious persistent service name (formatted field) !");
399 OSL_FAIL(
"::getControlTypeByObject : unknown object type !");
406 bool bIsAlive =
false;
407 Reference< css::sdbcx::XColumnsSupplier> xSupplyCols(_rxRowSet, UNO_QUERY);
408 Reference< css::container::XIndexAccess> xCols;
409 if (xSupplyCols.is())
410 xCols.set(xSupplyCols->getColumns(), UNO_QUERY);
411 if (xCols.is() && (xCols->getCount() > 0))
virtual void disposing(sal_Int16 _nId)=0
css::uno::Reference< css::sdbc::XResultSet > m_xMoveOperations
virtual ~FmXDisposeListener()
#define FM_COMPONENT_GRIDCONTROL
#define FM_COMPONENT_COMMANDBUTTON
static vcl::Window * GetDefDialogParent()
#define FM_COMPONENT_FORMATTEDFIELD
#define FM_COMPONENT_RADIOBUTTON
css::uno::Reference< css::sdbcx::XRowLocate > m_xBookmarkOperations
const sal_uInt16 OBJ_FM_NAVIGATIONBAR
css::uno::Reference< css::beans::XPropertySet > m_xPropertyAccess
#define FM_COMPONENT_PATTERNFIELD
#define FM_COMPONENT_NUMERICFIELD
const sal_uInt16 OBJ_FM_NUMERICFIELD
void ImplConstruct(const css::uno::Reference< css::sdbc::XResultSet > &_rxCursor, bool bUseCloned)
css::uno::Reference< css::uno::XInterface > m_xGeneric
#define FM_COMPONENT_TEXTFIELD
#define FM_COMPONENT_GROUPBOX
CursorWrapper(const css::uno::Reference< css::sdbc::XRowSet > &_rxCursor, bool bUseCloned=false)
#define FM_COMPONENT_IMAGEBUTTON
const sal_uInt16 OBJ_FM_IMAGEBUTTON
FmXDisposeMultiplexer(FmXDisposeListener *_pListener, const css::uno::Reference< css::lang::XComponent > &_rxObject)
const sal_uInt16 OBJ_FM_CONTROL
const sal_uInt16 OBJ_FM_PATTERNFIELD
const sal_uInt16 OBJ_FM_EDIT
#define FM_COMPONENT_GRID
rtl::Reference< FmXDisposeMultiplexer > m_pAdapter
css::uno::Reference< css::lang::XComponent > m_xObject
#define FM_COMPONENT_COMBOBOX
#define DBG_ASSERT(sCon, aError)
const sal_uInt16 OBJ_FM_GROUPBOX
#define FM_COMPONENT_LISTBOX
#define FM_COMPONENT_IMAGECONTROL
#define FM_COMPONENT_FILECONTROL
const sal_uInt16 OBJ_FM_FILECONTROL
const sal_uInt16 OBJ_FM_COMBOBOX
void setAdapter(FmXDisposeMultiplexer *pAdapter)
#define FM_COMPONENT_CHECKBOX
const sal_uInt16 OBJ_FM_CHECKBOX
const sal_uInt16 OBJ_FM_SCROLLBAR
virtual void SAL_CALL disposing(const css::lang::EventObject &Source) override
const sal_uInt16 OBJ_FM_FIXEDTEXT
#define FM_SUN_COMPONENT_SPINBUTTON
const sal_uInt16 OBJ_FM_SPINBUTTON
const sal_uInt16 OBJ_FM_GRID
#define FM_COMPONENT_CURRENCYFIELD
#define FM_SUN_COMPONENT_FORMATTEDFIELD
#define FM_COMPONENT_TIMEFIELD
const sal_uInt16 OBJ_FM_RADIOBUTTON
const sal_uInt16 OBJ_FM_FORMATTEDFIELD
#define FM_COMPONENT_DATEFIELD
#define FM_SUN_COMPONENT_NAVIGATIONBAR
FmXDisposeListener * m_pListener
CursorWrapper & operator=(const css::uno::Reference< css::sdbc::XRowSet > &xCursor)
Reference< XComponentContext > getProcessComponentContext()
#define FM_COMPONENT_HIDDEN
const sal_uInt16 OBJ_FM_LISTBOX
#define FM_COMPONENT_HIDDENCONTROL
const sal_uInt16 OBJ_FM_IMAGECONTROL
bool hasProperty(const OUString &_rName, const Reference< XPropertySet > &_rxSet)
#define FM_COMPONENT_EDIT
#define FM_PROP_CONTROLSOURCE
#define FM_SUN_COMPONENT_SCROLLBAR
OUString getString(const Any &_rAny)
static css::uno::Reference< css::awt::XWindow > GetInterface(vcl::Window *pWindow)
#define FM_PROP_CONTROLLABEL
const sal_uInt16 OBJ_FM_HIDDEN
::rtl::Reference< comphelper::OPropertyChangeMultiplexer > m_pListener
const sal_uInt16 OBJ_FM_BUTTON
#define FM_COMPONENT_FIXEDTEXT
const sal_uInt16 OBJ_FM_TIMEFIELD
const sal_uInt16 OBJ_FM_CURRENCYFIELD
const sal_uInt16 OBJ_FM_DATEFIELD
css::uno::Reference< css::sdbcx::XColumnsSupplier > m_xColumnsSupplier
virtual ~FmXDisposeMultiplexer() override
css::uno::Any SAL_CALL makeAny(const SharedUNOComponent< INTERFACE, COMPONENT > &value)