summaryrefslogtreecommitdiff
path: root/binfilter/bf_svx/source/inc
diff options
context:
space:
mode:
Diffstat (limited to 'binfilter/bf_svx/source/inc')
-rw-r--r--binfilter/bf_svx/source/inc/AccessibleStringWrap.hxx65
-rw-r--r--binfilter/bf_svx/source/inc/XPropertyTable.hxx49
-rw-r--r--binfilter/bf_svx/source/inc/dbtoolsclient.hxx145
-rw-r--r--binfilter/bf_svx/source/inc/filtnav.hxx102
-rw-r--r--binfilter/bf_svx/source/inc/fmPropBrw.hxx52
-rw-r--r--binfilter/bf_svx/source/inc/fmcontr.hxx254
-rw-r--r--binfilter/bf_svx/source/inc/fmctrler.hxx405
-rw-r--r--binfilter/bf_svx/source/inc/fmexch.hxx123
-rw-r--r--binfilter/bf_svx/source/inc/fmexpl.hrc40
-rw-r--r--binfilter/bf_svx/source/inc/fmexpl.hxx131
-rw-r--r--binfilter/bf_svx/source/inc/fmgroup.hxx120
-rw-r--r--binfilter/bf_svx/source/inc/fmimplids.hxx41
-rw-r--r--binfilter/bf_svx/source/inc/fmobj.hxx103
-rw-r--r--binfilter/bf_svx/source/inc/fmpgeimp.hxx126
-rw-r--r--binfilter/bf_svx/source/inc/fmprop.hrc372
-rw-r--r--binfilter/bf_svx/source/inc/fmresids.hrc147
-rw-r--r--binfilter/bf_svx/source/inc/fmsearch.hrc69
-rw-r--r--binfilter/bf_svx/source/inc/fmservs.hxx104
-rw-r--r--binfilter/bf_svx/source/inc/fmshimp.hxx178
-rw-r--r--binfilter/bf_svx/source/inc/fmstatic.hxx82
-rw-r--r--binfilter/bf_svx/source/inc/fmtools.hxx91
-rw-r--r--binfilter/bf_svx/source/inc/fmundo.hxx148
-rw-r--r--binfilter/bf_svx/source/inc/fmurl.hxx63
-rw-r--r--binfilter/bf_svx/source/inc/fmvwimp.hxx234
-rw-r--r--binfilter/bf_svx/source/inc/gridcell.hxx929
-rw-r--r--binfilter/bf_svx/source/inc/gridcols.hxx71
-rw-r--r--binfilter/bf_svx/source/inc/multipro.hxx74
-rw-r--r--binfilter/bf_svx/source/inc/mutxhelp.hxx48
-rw-r--r--binfilter/bf_svx/source/inc/sdbdatacolumn.hxx145
-rw-r--r--binfilter/bf_svx/source/inc/showcols.hxx69
-rw-r--r--binfilter/bf_svx/source/inc/sqlparserclient.hxx70
-rw-r--r--binfilter/bf_svx/source/inc/svdoimp.hxx277
-rw-r--r--binfilter/bf_svx/source/inc/svdoutlinercache.hxx58
-rw-r--r--binfilter/bf_svx/source/inc/taborder.hrc41
-rw-r--r--binfilter/bf_svx/source/inc/taborder.hxx113
-rw-r--r--binfilter/bf_svx/source/inc/tabwin.hxx52
-rw-r--r--binfilter/bf_svx/source/inc/tbxform.hxx142
-rw-r--r--binfilter/bf_svx/source/inc/trace.hxx69
-rw-r--r--binfilter/bf_svx/source/inc/unoedprx.hxx155
-rw-r--r--binfilter/bf_svx/source/inc/unopolyhelper.hxx55
-rw-r--r--binfilter/bf_svx/source/inc/xmlxtexp.hxx48
-rw-r--r--binfilter/bf_svx/source/inc/xmlxtimp.hxx67
42 files changed, 5727 insertions, 0 deletions
diff --git a/binfilter/bf_svx/source/inc/AccessibleStringWrap.hxx b/binfilter/bf_svx/source/inc/AccessibleStringWrap.hxx
new file mode 100644
index 000000000000..22943fe60919
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/AccessibleStringWrap.hxx
@@ -0,0 +1,65 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _ACCESSIBLESTRINGWRAP_HXX
+#define _ACCESSIBLESTRINGWRAP_HXX
+
+#include <sal/types.h>
+
+#include <tools/string.hxx>
+class OutputDevice;
+class Rectangle;
+class Point;
+namespace binfilter {
+
+
+class SvxFont;
+
+//------------------------------------------------------------------------
+//
+// AccessibleStringWrap declaration
+//
+//------------------------------------------------------------------------
+
+class AccessibleStringWrap
+{
+public:
+
+ AccessibleStringWrap( OutputDevice& rDev, SvxFont& rFont, const String& rText ){DBG_BF_ASSERT(0, "STRIP");}//STRIP001 AccessibleStringWrap( OutputDevice& rDev, SvxFont& rFont, const String& rText );
+
+ sal_Bool GetCharacterBounds( sal_Int32 nIndex, Rectangle& rRect ){DBG_BF_ASSERT(0, "STRIP"); return false;}//STRIP001 sal_Bool GetCharacterBounds( sal_Int32 nIndex, Rectangle& rRect );
+ sal_Int32 GetIndexAtPoint( const Point& rPoint ){DBG_BF_ASSERT(0, "STRIP"); return 0;}//STRIP001 sal_Int32 GetIndexAtPoint( const Point& rPoint );
+
+private:
+
+};
+
+}//end of namespace binfilter
+#endif /* _ACCESSIBLESTRINGWRAP_HXX */
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/XPropertyTable.hxx b/binfilter/bf_svx/source/inc/XPropertyTable.hxx
new file mode 100644
index 000000000000..fc4823f158e0
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/XPropertyTable.hxx
@@ -0,0 +1,49 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_XPROPERTYTABLE_HXX
+#define _SVX_XPROPERTYTABLE_HXX
+
+#include <com/sun/star/uno/XInterface.hpp>
+namespace binfilter {
+
+class XPropertyList;
+class XPropertyTable;
+
+com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SvxUnoXColorTable_createInstance( XPropertyTable* pTable ) throw();
+com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SvxUnoXLineEndTable_createInstance( XPropertyList* pList ) throw();
+com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SvxUnoXDashTable_createInstance( XPropertyList* pList ) throw();
+com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SvxUnoXHatchTable_createInstance( XPropertyList* pList ) throw();
+com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SvxUnoXGradientTable_createInstance( XPropertyList* pList ) throw();
+com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SvxUnoXBitmapTable_createInstance( XPropertyList* pList ) throw();
+
+}//end of namespace binfilter
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/dbtoolsclient.hxx b/binfilter/bf_svx/source/inc/dbtoolsclient.hxx
new file mode 100644
index 000000000000..9373e7c317ad
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/dbtoolsclient.hxx
@@ -0,0 +1,145 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef SVX_DBTOOLSCLIENT_HXX
+#define SVX_DBTOOLSCLIENT_HXX
+
+#include <connectivity/virtualdbtools.hxx>
+#include <osl/module.h>
+#include <tools/solar.h>
+namespace binfilter {
+//........................................................................
+namespace svxform
+{
+//........................................................................
+
+ //====================================================================
+ //= ODbtoolsClient
+ //====================================================================
+ /** base class for classes which want to use dbtools features with load-on-call
+ of the dbtools lib.
+ */
+ class ODbtoolsClient
+ {
+ private:
+ static ::osl::Mutex s_aMutex;
+ static sal_Int32 s_nClients;
+ static oslModule s_hDbtoolsModule;
+ static ::connectivity::simple::createDataAccessToolsFactoryFunction
+ s_pFactoryCreationFunc;
+ //add by BerryJia for fixing Bug97420 Time:2002-9-12-11:00(PRC time)
+ mutable BOOL m_bCreateAlready;
+
+ private:
+ mutable ::rtl::Reference< ::connectivity::simple::IDataAccessToolsFactory > m_xDataAccessFactory;
+
+ protected:
+ const ::rtl::Reference< ::connectivity::simple::IDataAccessToolsFactory >&
+ getFactory() const { return m_xDataAccessFactory; }
+
+ protected:
+ ODbtoolsClient();
+ ~ODbtoolsClient();
+ //add by BerryJia for fixing Bug97420 Time:2002-9-12-11:00(PRC time)
+
+ private:
+ };
+
+ //====================================================================
+ //= OStaticDataAccessTools
+ //====================================================================
+ class OStaticDataAccessTools : public ODbtoolsClient
+ {
+ protected:
+ mutable ::rtl::Reference< ::connectivity::simple::IDataAccessTools > m_xDataAccessTools;
+ //add by BerryJia for fixing Bug97420 Time:2002-9-12-11:00(PRC time)
+ void create() const;
+
+ void checkIfLoaded() const;
+
+ public:
+ OStaticDataAccessTools();
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection> getRowSetConnection(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet>& _rxRowSet)
+ const SAL_THROW ( (::com::sun::star::uno::RuntimeException) );
+
+ // ------------------------------------------------
+
+ // ------------------------------------------------
+ ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XDataSource > getDataSource(
+ const ::rtl::OUString& _rsRegisteredName,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory>& _rxFactory
+ ) const;
+
+ // ------------------------------------------------
+ /** check if the property "Privileges" supports ::com::sun::star::sdbcx::Privilege::INSERT
+ @param _rxCursorSet the property set
+ */
+ sal_Bool canInsert(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxCursorSet) const;
+
+ // ------------------------------------------------
+ /** check if the property "Privileges" supports ::com::sun::star::sdbcx::Privilege::UPDATE
+ @param _rxCursorSet the property set
+ */
+ sal_Bool canUpdate(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxCursorSet) const;
+
+ // ------------------------------------------------
+ /** check if the property "Privileges" supports ::com::sun::star::sdbcx::Privilege::DELETE
+ @param _rxCursorSet the property set
+ */
+ sal_Bool canDelete(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxCursorSet) const;
+
+ // ------------------------------------------------
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess >
+ getFieldsByCommandDescriptor(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxConnection,
+ const sal_Int32 _nCommandType,
+ const ::rtl::OUString& _rCommand,
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XComponent >& _rxKeepFieldsAlive,
+ ::dbtools::SQLExceptionInfo* _pErrorInfo = NULL
+ ) SAL_THROW( ( ) );
+
+ // ------------------------------------------------
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString >
+ getFieldNamesByCommandDescriptor(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XConnection >& _rxConnection,
+ const sal_Int32 _nCommandType,
+ const ::rtl::OUString& _rCommand,
+ ::dbtools::SQLExceptionInfo* _pErrorInfo = NULL
+ ) SAL_THROW( ( ) );
+ };
+//........................................................................
+} // namespace svxform
+//........................................................................
+
+}//end of namespace binfilter
+#endif // SVX_DBTOOLSCLIENT_HXX
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/filtnav.hxx b/binfilter/bf_svx/source/inc/filtnav.hxx
new file mode 100644
index 000000000000..92db55348846
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/filtnav.hxx
@@ -0,0 +1,102 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _SVX_FILTNAV_HXX
+#define _SVX_FILTNAV_HXX
+
+
+
+
+
+
+
+
+#include <bf_sfx2/dockwin.hxx>
+
+
+
+
+
+
+
+namespace binfilter {
+
+class FmFormShell;
+
+//........................................................................
+namespace svxform
+{
+//........................................................................
+
+class FmFilterItem;
+class FmFilterItems;
+class FmFilterAdapter;
+
+//========================================================================
+// data structure for the filter model
+//========================================================================
+
+//========================================================================
+
+//========================================================================
+// Item representing the forms and subforms
+
+//========================================================================
+
+//========================================================================
+
+//========================================================================
+
+//========================================================================
+//========================================================================
+
+
+//====================================================================
+//= OFilterExchangeHelper
+//====================================================================
+
+//========================================================================
+
+//========================================================================
+
+//========================================================================
+class FmFilterNavigatorWinMgr : public SfxChildWindow
+{
+public:
+ FmFilterNavigatorWinMgr( Window *pParent, sal_uInt16 nId, SfxBindings *pBindings,
+ SfxChildWinInfo *pInfo );
+ SFX_DECL_CHILDWINDOW( FmFilterNavigatorWinMgr );
+};
+
+//........................................................................
+} // namespace svxform
+//........................................................................
+
+}//end of namespace binfilter
+#endif // _SVX_FILTNAV_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/fmPropBrw.hxx b/binfilter/bf_svx/source/inc/fmPropBrw.hxx
new file mode 100644
index 000000000000..f6bc43b656dd
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmPropBrw.hxx
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef SVX_FMPROPBRW_HXX
+#define SVX_FMPROPBRW_HXX
+
+#include <com/sun/star/awt/XControlContainer.hpp>
+#include <bf_sfx2/childwin.hxx>
+namespace binfilter {
+
+//========================================================================
+class FmPropBrwMgr : public SfxChildWindow
+{
+protected:
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer >
+ m_xUnoRepresentation;
+public:
+ FmPropBrwMgr(Window *pParent, sal_uInt16 nId, SfxBindings *pBindings, SfxChildWinInfo *pInfo);
+ SFX_DECL_CHILDWINDOW(FmPropBrwMgr);
+};
+
+class FmPropControl;
+class SfxBindings;
+//========================================================================
+}//end of namespace binfilter
+#endif //SVX_FMPROPBRW_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/fmcontr.hxx b/binfilter/bf_svx/source/inc/fmcontr.hxx
new file mode 100644
index 000000000000..1afb3734f9cc
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmcontr.hxx
@@ -0,0 +1,254 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _SVX_FMCONTR_HXX
+#define _SVX_FMCONTR_HXX
+
+#include <comphelper/stl_types.hxx>
+
+#include <com/sun/star/form/XFormComponent.hpp>
+#include <com/sun/star/beans/XPropertyChangeListener.hpp>
+#include <com/sun/star/beans/PropertyChangeEvent.hpp>
+#include <com/sun/star/script/XEventAttacherManager.hpp>
+#include <com/sun/star/script/ScriptEvent.hpp>
+#include <com/sun/star/script/ScriptEventDescriptor.hpp>
+#include <com/sun/star/container/XContainer.hpp>
+#include <com/sun/star/container/XIndexContainer.hpp>
+#include <com/sun/star/container/XNameReplace.hpp>
+#include <com/sun/star/container/XIndexReplace.hpp>
+#include <com/sun/star/container/XNameContainer.hpp>
+#include <com/sun/star/lang/XEventListener.hpp>
+#include <com/sun/star/lang/EventObject.hpp>
+namespace binfilter {
+
+typedef ::std::hash_multimap< ::rtl::OUString, ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > , ::comphelper::UStringHash, ::comphelper::UStringEqual> OInterfaceMap;
+
+DECLARE_STL_VECTOR(::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > > ,InterfaceArray);
+
+class ::com::sun::star::uno::Reference< ::com::sun::star::io::XObjectOutputStream > ;
+class ::com::sun::star::uno::Reference< ::com::sun::star::io::XObjectInputStream > ;
+
+//==================================================================
+// FmForms
+// Implementiert den UNO-::com::sun::star::sdbcx::Container fuer Formulare
+// enthaelt alle zugeordneten ::com::sun::star::form::Forms
+// dieses ::com::sun::star::sdbcx::Container kann selbst den Context fuer Formulare darstellen
+// oder außen einen Context uebergeben bekommen
+//==================================================================
+class FmXInterfaceContainer : public ::com::sun::star::container::XNameContainer,
+ public ::com::sun::star::container::XIndexContainer,
+ public ::com::sun::star::container::XContainer,
+ public ::com::sun::star::container::XEnumerationAccess,
+ public ::com::sun::star::script::XEventAttacherManager,
+ public ::com::sun::star::beans::XPropertyChangeListener
+{
+protected:
+ OInterfaceMap m_aMap;
+ OInterfaceArray m_aItems;
+ ::usr::OInterfaceContainerHelper
+ m_aContainerListeners;
+
+ InterfaceReflection* m_pElementReflection;
+ ::VOS::IMutex& m_rMutex;
+ ::com::sun::star::uno::Uik m_aElementUik;
+
+
+ // EventManager
+ ::com::sun::star::uno::Reference< ::com::sun::star::script::XEventAttacherManager > m_xEventAttacher;
+
+public:
+ FmXInterfaceContainer(::VOS::IMutex& _rMutex, InterfaceReflection* pElementReflection, const ::com::sun::star::uno::Uik& rUik );
+
+public:
+// automatisch auskommentiert - [getIdlClass or queryInterface] - Bitte XTypeProvider benutzen!
+// virtual sal_Bool queryInterface( ::com::sun::star::uno::Uik aUik, ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & rOut );
+
+
+// ::com::sun::star::io::XPersistObject
+ void write(const ::com::sun::star::uno::Reference< ::com::sun::star::io::XObjectOutputStream > & OutStream);
+ void read(const ::com::sun::star::uno::Reference< ::com::sun::star::io::XObjectInputStream > & InStream);
+
+// ::com::sun::star::lang::XEventListener
+ virtual void disposing(const ::com::sun::star::lang::EventObject& Source) throw( ::com::sun::star::uno::RuntimeException );
+
+// ::com::sun::star::beans::XPropertyChangeListener
+ virtual void propertyChange(const ::com::sun::star::beans::PropertyChangeEvent& evt);
+
+// ::com::sun::star::container::XElementAccess
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::reflection::XIdlClass > getElementType(void) const throw( ::com::sun::star::uno::RuntimeException );
+ virtual sal_Bool hasElements(void) const throw( ::com::sun::star::uno::RuntimeException );
+
+// ::com::sun::star::container::XEnumerationAccess
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::container::XEnumeration > createEnumeration(void) throw( ::com::sun::star::uno::RuntimeException );
+
+// ::com::sun::star::container::XNameAccess
+ virtual ::com::sun::star::uno::Any getByName(const ::rtl::OUString& Name) const throw( ::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > getElementNames(void) const throw( ::com::sun::star::uno::RuntimeException );
+ virtual sal_Bool hasByName(const ::rtl::OUString& Name) const throw( ::com::sun::star::uno::RuntimeException );
+
+// ::com::sun::star::container::XNameReplace
+ virtual void replaceByName(const ::rtl::OUString& Name, const ::com::sun::star::uno::Any& Element) throw( ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
+
+// ::com::sun::star::container::XNameContainer
+ virtual void insertByName(const ::rtl::OUString& Name, const ::com::sun::star::uno::Any& Element) throw( ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::container::ElementExistException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
+ virtual void removeByName(const ::rtl::OUString& Name) throw( ::com::sun::star::container::NoSuchElementException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
+
+// ::com::sun::star::container::XIndexAccess
+ virtual sal_Int32 getCount(void) const throw( ::com::sun::star::uno::RuntimeException );
+ virtual ::com::sun::star::uno::Any getByIndex(sal_Int32 ::com::sun::star::sdbcx::Index) const throw( ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
+
+// ::com::sun::star::container::XIndexReplace
+ virtual void replaceByIndex(sal_Int32 ::com::sun::star::sdbcx::Index, const ::com::sun::star::uno::Any& Element) throw( ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
+
+// ::com::sun::star::container::XIndexContainer
+ virtual void insertByIndex(sal_Int32 ::com::sun::star::sdbcx::Index, const ::com::sun::star::uno::Any& Element) throw( ::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
+ virtual void removeByIndex(sal_Int32 ::com::sun::star::sdbcx::Index) throw( ::com::sun::star::lang::IndexOutOfBoundsException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
+
+// ::com::sun::star::container::XContainer
+ virtual void addContainerListener(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener > & l) throw( ::com::sun::star::uno::RuntimeException );
+ virtual void removeContainerListener(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XContainerListener > & l) throw( ::com::sun::star::uno::RuntimeException );
+
+// ::com::sun::star::script::XEventAttacherManager
+ virtual void registerScriptEvent(sal_Int32 nIndex, const ::com::sun::star::script::ScriptEventDescriptor& ::com::sun::star::script::ScriptEvent);
+ virtual void registerScriptEvents(sal_Int32 nIndex, const ::com::sun::star::uno::Sequence< ::com::sun::star::script::ScriptEventDescriptor >& ScriptEvents);
+ virtual void revokeScriptEvent(sal_Int32 nIndex, const ::rtl::OUString& ListenerType, const ::rtl::OUString& EventMethod, const ::rtl::OUString& rRemoveListenerParam);
+ virtual void revokeScriptEvents(sal_Int32 nIndex);
+ virtual void insertEntry(sal_Int32 nIndex);
+ virtual void removeEntry(sal_Int32 nIndex);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::script::ScriptEventDescriptor > getScriptEvents(sal_Int32 nIndex);
+ virtual void attach(sal_Int32 nIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & Object, const ::com::sun::star::uno::Any& Helper);
+ virtual void detach(sal_Int32 nIndex, const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & xObject);
+ virtual void addScriptListener(const ::com::sun::star::uno::Reference< ::com::sun::star::script::XScriptListener > & aListener);
+ virtual void removeScriptListener(const ::com::sun::star::uno::Reference< ::com::sun::star::script::XScriptListener > & aListener);
+
+ static ::com::sun::star::uno::Reference< ::com::sun::star::reflection::XIdlClass > getStaticIdlClass();
+
+protected:
+ // helper
+ virtual void disposing();
+ virtual void insert(sal_Int32 ::com::sun::star::sdbcx::Index, const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & _Object, sal_Bool bEvents = sal_True)
+ throw( ::com::sun::star::lang::IllegalArgumentException );
+ virtual void removeElementsNoEvents(sal_Int32 nIndex);
+
+ // called after the object is inserted, but before the "real listeners" are notified
+ virtual void implInserted(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & _rxObject) { }
+ // called after the object is removed, but before the "real listeners" are notified
+ virtual void implRemoved(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & _rxObject) { }
+
+ void writeEvents(const ::com::sun::star::uno::Reference< ::com::sun::star::io::XObjectOutputStream > & OutStream);
+ void readEvents(const ::com::sun::star::uno::Reference< ::com::sun::star::io::XObjectInputStream > & InStream, sal_Int32 nCount);
+};
+
+//==================================================================
+// FmForms
+// Implementiert den UNO-::com::sun::star::sdbcx::Container fuer Formulare
+// enthaelt alle zugeordneten ::com::sun::star::form::Forms
+// dieses ::com::sun::star::sdbcx::Container kann selbst den Context fuer Formulare darstellen
+// oder außen einen Context uebergeben bekommen
+//==================================================================
+class FmXForms : public ::usr::OComponentHelper,
+ public FmXInterfaceContainer,
+ public ::com::sun::star::container::XChild
+
+{
+ friend Reflection* ::getCppuType((const FmXForms*)0);
+ ::osl::Mutex m_aMutex;
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > m_xParent; // Parent
+
+public:
+ FmXForms();
+ virtual ~FmXForms();
+
+public:
+// automatisch auskommentiert - [getIdlClass or queryInterface] - Bitte XTypeProvider benutzen!
+// virtual sal_Bool queryInterface( ::com::sun::star::uno::Uik aUik, ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & rOut )
+
+// automatisch auskommentiert - [getIdlClass or queryInterface] - Bitte XTypeProvider benutzen!
+// { return OComponentHelper::queryInterface( aUik, rOut ); }
+
+ virtual sal_Bool queryAggregation(::com::sun::star::uno::Uik aUik, ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & rOut);
+// automatisch auskommentiert - [getIdlClass or queryInterface] - Bitte XTypeProvider benutzen!
+// virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::reflection::XIdlClass > > getIdlClasses(void);
+
+// automatisch auskommentiert - [getImplementation] - Wird von OWeakObject nicht weiter unterstützt!
+// virtual void* getImplementation(Reflection * pRef);
+
+ virtual void acquire() { OComponentHelper::acquire(); }
+ virtual void release() { OComponentHelper::release(); }
+
+// OComponentHelper
+ virtual void disposing();
+
+// ::com::sun::star::container::XChild
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > getParent(void) const throw( ::com::sun::star::uno::RuntimeException );
+ virtual void setParent(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & Parent) throw( ::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException );
+};
+
+//==================================================================
+// FmForm
+// Implementiert den UNO-::com::sun::star::sdbcx::Container fuer FormularControls
+//==================================================================
+class FmXFormComponents : public ::usr::OComponentHelper,
+ public FmXInterfaceContainer,
+ public ::com::sun::star::form::XFormComponent
+{
+protected:
+ ::osl::Mutex m_aMutex;
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > m_xParent; // Parent
+
+public:
+ FmXFormComponents();
+ virtual ~FmXFormComponents();
+
+ SMART_UNO_DECLARATION(FmXFormComponents, OComponentHelper);
+
+// automatisch auskommentiert - [getIdlClass or queryInterface] - Bitte XTypeProvider benutzen!
+// virtual sal_Bool queryInterface( ::com::sun::star::uno::Uik aUik, ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & rOut )
+
+// automatisch auskommentiert - [getIdlClass or queryInterface] - Bitte XTypeProvider benutzen!
+// { return OComponentHelper::queryInterface( aUik, rOut ); }
+
+ virtual sal_Bool queryAggregation(::com::sun::star::uno::Uik aUik, ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & rOut);
+// automatisch auskommentiert - [getIdlClass or queryInterface] - Bitte XTypeProvider benutzen!
+// virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::reflection::XIdlClass > > getIdlClasses(void);
+
+
+// OComponentHelper
+ virtual void disposing();
+
+// ::com::sun::star::form::XFormComponent
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > getParent(void) const throw( ::com::sun::star::uno::RuntimeException );
+ virtual void setParent(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > & Parent) throw( ::com::sun::star::lang::NoSupportException, ::com::sun::star::uno::RuntimeException );
+
+ static ::com::sun::star::uno::Reference< ::com::sun::star::reflection::XIdlClass > getStaticIdlClass();
+};
+
+
+}//end of namespace binfilter
+#endif // _SVX_FMCONTR_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/fmctrler.hxx b/binfilter/bf_svx/source/inc/fmctrler.hxx
new file mode 100644
index 000000000000..4011ffd33445
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmctrler.hxx
@@ -0,0 +1,405 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _SVX_FMCTRLER_HXX
+#define _SVX_FMCTRLER_HXX
+
+#include <com/sun/star/sdb/XSQLErrorBroadcaster.hpp>
+#include <com/sun/star/sdb/XRowSetApproveBroadcaster.hpp>
+#include <com/sun/star/form/XResetListener.hpp>
+#include <com/sun/star/container/XEnumerationAccess.hpp>
+#include <com/sun/star/container/XChild.hpp>
+#include <com/sun/star/container/XContainerListener.hpp>
+#include <com/sun/star/form/XConfirmDeleteBroadcaster.hpp>
+#include <com/sun/star/form/XLoadListener.hpp>
+#include <com/sun/star/form/XDatabaseParameterBroadcaster.hpp>
+#include <com/sun/star/form/XFormController.hpp>
+#include <com/sun/star/util/XModeSelector.hpp>
+#include <com/sun/star/util/XModifyBroadcaster.hpp>
+#include <com/sun/star/script/XEventAttacherManager.hpp>
+#include <com/sun/star/awt/XItemListener.hpp>
+#include <com/sun/star/awt/XTextComponent.hpp>
+
+#include <vcl/timer.hxx>
+
+#include "fmtools.hxx"
+#include "sqlparserclient.hxx"
+
+#include <cppuhelper/compbase12.hxx>
+#include <comphelper/proparrhlp.hxx>
+#include <comphelper/broadcasthelper.hxx>
+class Window;
+namespace binfilter {
+
+struct FmXTextComponentLess : public binary_function< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextComponent >, ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextComponent> , sal_Bool>
+{
+ 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());
+ }
+};
+
+typedef map< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextComponent >, ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >, FmXTextComponentLess> FmFilterControls;
+typedef map< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextComponent >, ::rtl::OUString, FmXTextComponentLess> FmFilterRow;
+typedef vector< FmFilterRow > FmFilterRows;
+typedef vector< ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormController > > FmFormControllers;
+
+struct FmFieldInfo;
+class FmXFormController;
+class FmFormView;
+
+typedef ::cppu::WeakAggComponentImplHelper12< ::com::sun::star::form::XFormController
+ ,::com::sun::star::container::XChild
+ ,::com::sun::star::container::XIndexAccess // access of child contoller
+ ,::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;
+
+typedef ::cppu::ImplHelper12< ::com::sun::star::util::XModeSelector
+ ,::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
+ ,::com::sun::star::form::XDatabaseParameterBroadcaster
+ ,::com::sun::star::lang::XServiceInfo
+ ,::com::sun::star::form::XResetListener> FmXFormController_BASE2;
+typedef ::cppu::ImplHelper2 < ::com::sun::star::lang::XUnoTunnel
+ , ::com::sun::star::frame::XDispatch
+ > FmXFormController_BASE3;
+
+//==================================================================
+// FmXFormController
+//==================================================================
+class FmXFormController : public ::comphelper::OBaseMutex
+ ,public FmXFormController_BASE1
+ ,public FmXFormController_BASE2
+ ,public FmXFormController_BASE3
+ ,public ::cppu::OPropertySetHelper
+ ,public FmDispatchInterceptor
+ ,public ::comphelper::OAggregationArrayUsageHelper< FmXFormController>
+ ,public ::binfilter::svxform::OSQLParserClient//STRIP008 ,public ::svxform::OSQLParserClient
+{
+ friend class FmXPageViewWinRec;
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XAggregation> m_xAggregate;
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTabController> m_xTabController, m_xNavigationController;
+ ::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;
+ // Composer used for checking filter conditions
+ ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XSQLQueryComposer> m_xComposer;
+
+ ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl> > m_aControls;
+ ::cppu::OInterfaceContainerHelper
+ m_aActivateListeners,
+ m_aModifyListeners,
+ m_aErrorListeners,
+ m_aDeleteListeners,
+ m_aRowSetApproveListeners,
+ m_aParameterListeners;
+
+ FmFormControllers m_aChilds;
+ FmFilterControls m_aFilterControls;
+ FmFilterRows m_aFilters;
+ ::binfilter::form::OImplementationIdsRef m_aHoldImplIdHelper;//STRIP008 ::form::OImplementationIdsRef m_aHoldImplIdHelper;
+
+ Timer m_aInsertTimer;
+
+ FmFormView* m_pView;
+ Window* m_pWindow;
+
+ ::rtl::OUString m_aMode;
+
+ sal_uInt32 m_nLoadEvent;
+ sal_uInt32 m_nUpdateDispatcherEvent;
+ sal_uInt32 m_nToggleEvent;
+
+ sal_Int32 m_nCurrentFilterPosition; // current level for filtering (or-criteria)
+ ::rtl::OUString m_sDispatchPrefix;
+
+ 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;
+
+ // 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;
+
+public:
+ FmXFormController(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > & _rxORB,
+ FmFormView* _pView = NULL, Window* _pWindow = NULL, const UniString& _sDispatchPrefix = UniString());
+ ~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 )
+ { return FmXFormController_BASE1::queryInterface( type ); }
+ virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type& aType ) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL acquire() throw ();
+ virtual void SAL_CALL release() throw ();
+
+// XTypeProvider
+ virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException)
+ {
+ return ::binfilter::form::OImplementationIds::getImplementationId(getTypes());//STRIP008 return ::form::OImplementationIds::getImplementationId(getTypes());
+ }
+ 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();
+
+// 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);
+
+// ::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 );
+
+ virtual void SAL_CALL setFastPropertyValue_NoBroadcast( sal_Int32 nHandle, const ::com::sun::star::uno::Any& rValue ) throw( ::com::sun::star::uno::Exception );
+ virtual void SAL_CALL getFastPropertyValue( ::com::sun::star::uno::Any& rValue, sal_Int32 nHandle ) const;
+
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo> SAL_CALL getPropertySetInfo() throw( ::com::sun::star::uno::RuntimeException );
+ virtual ::cppu::IPropertyArrayHelper & SAL_CALL getInfoHelper();
+
+// 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
+ 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 );
+
+// XLoadListener
+ 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 );
+ 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
+ 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 );
+
+// XFocusListener
+ 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 );
+
+// ::com::sun::star::beans::XPropertyChangeListener -> aenderung der stati
+ virtual void SAL_CALL propertyChange(const ::com::sun::star::beans::PropertyChangeEvent& evt) throw( ::com::sun::star::uno::RuntimeException );
+
+// XTextListener -> modify setzen
+ virtual void SAL_CALL textChanged(const ::com::sun::star::awt::TextEvent& rEvent) throw( ::com::sun::star::uno::RuntimeException );
+
+// XItemListener -> modify setzen
+ virtual void SAL_CALL itemStateChanged(const ::com::sun::star::awt::ItemEvent& rEvent) throw( ::com::sun::star::uno::RuntimeException );
+
+// XModifyListener -> modify setzen
+ virtual void SAL_CALL modified(const ::com::sun::star::lang::EventObject& rEvent) throw( ::com::sun::star::uno::RuntimeException );
+
+// XFormController
+ 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 );
+
+// XTabController
+ 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 );
+
+ 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 );
+
+ 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 );
+
+ virtual void SAL_CALL autoTabOrder() throw( ::com::sun::star::uno::RuntimeException );
+ virtual void SAL_CALL activateTabOrder() throw( ::com::sun::star::uno::RuntimeException );
+
+ virtual void SAL_CALL activateFirst() throw( ::com::sun::star::uno::RuntimeException );
+ virtual void SAL_CALL activateLast() throw( ::com::sun::star::uno::RuntimeException );
+
+// ::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 );
+
+// 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
+ static ::com::sun::star::uno::Sequence< ::rtl::OUString > static_getSupportedServiceNames(void);
+
+ // comphelper::OPropertyArrayUsageHelper
+ 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;
+ }
+
+ 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 );
+
+ virtual ::osl::Mutex* getInterceptorMutex() { return &m_aMutex; }
+
+ void stopFiltering();
+ 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 removeBoundFieldListener();
+
+ 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 );
+
+ ::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_True,sal_Bool _bOverWrite=sal_True) const;
+
+
+
+ sal_Bool isLocked() const {return m_bLocked;}
+
+ // returns m_pWindow or - if m_pWindow is NULL - the window of the currently set container
+
+ // create a new interceptor, register it on the given object
+ // if createInterceptor was called for the given object the according interceptor will be removed
+ // from the objects interceptor chain and released
+
+ // in filter mode we do not listen for changes
+ sal_Bool isListeningForChanges() const {return m_bDBConnection && !m_bFiltering && !isLocked();}
+
+ DECL_LINK( OnTimeout, void* );
+ DECL_LINK( OnLoad, void* );
+ DECL_LINK( OnToggleAutoFields, void* );
+ DECL_LINK( OnUpdateDispatchers, void* );
+};
+
+
+}//end of namespace binfilter
+#endif // _SVX_FMCTRLER_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/fmexch.hxx b/binfilter/bf_svx/source/inc/fmexch.hxx
new file mode 100644
index 000000000000..0f8b6c8a998a
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmexch.hxx
@@ -0,0 +1,123 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _SVX_FMEXCH_HXX
+#define _SVX_FMEXCH_HXX
+
+#include <comphelper/stl_types.hxx>
+
+#include <bf_svtools/transfer.hxx>
+
+class SvTreeListBox;
+namespace binfilter {
+
+class FmFormShell;
+class FmFormPage;
+class SvLBoxEntry;
+
+//========================================================================
+// Exchange types
+#define SVX_FM_FIELD_EXCH String("SvxFormFieldExch", sizeof("SvxFormFieldExch"))
+#define SVX_FM_CONTROL_EXCH String("SvxFormExplCtrlExch", sizeof("SvxFormExplCtrlExch"))
+#define SVX_FM_CONTROLS_AS_PATH String("SvxFormControlsAsPathExchange", sizeof("SvxFormControlsAsPathExchange"))
+#define SVX_FM_HIDDEN_CONTROLS String("SvxFormHiddenControlsExchange", sizeof("SvxFormHiddenControlsExchange"))
+#define SVX_FM_FILTER_FIELDS String("SvxFilterFieldExchange", sizeof("SvxFilterFieldExchange"))
+
+//========================================================================
+
+//........................................................................
+namespace svxform
+{
+//........................................................................
+
+ //====================================================================
+
+ DECLARE_STL_VECTOR( SvLBoxEntry*, ListBoxEntryArray );
+
+ //====================================================================
+ //= OLocalExchange
+ //====================================================================
+
+ //====================================================================
+ //= OLocalExchangeHelper
+ //====================================================================
+ /// a helper for navigator windows (SvTreeListBox'es) which allow DnD within themself
+ class OLocalExchangeHelper
+ {
+ protected:
+ Window* m_pDragSource;
+
+ public:
+ OLocalExchangeHelper( Window* _pDragSource );
+ ~OLocalExchangeHelper();
+
+ void prepareDrag( );
+
+ void startDrag( sal_Int8 nDragSourceActions );
+ void copyToClipboard( ) const;
+
+
+
+ protected:
+
+ protected:
+ void implReset();
+ };
+
+ //====================================================================
+ //= OControlTransferData
+ //====================================================================
+
+ //====================================================================
+
+ //====================================================================
+ //= OControlExchange
+ //====================================================================
+
+ //====================================================================
+ //= OControlExchangeHelper
+ //====================================================================
+/*N*/ class OControlExchangeHelper : public OLocalExchangeHelper
+/*N*/ {
+/*N*/ public:
+/*N*/ OControlExchangeHelper(Window* _pDragSource) : OLocalExchangeHelper(_pDragSource) { }
+/*N*/
+/*N*/
+/*N*/ protected:
+/*N*/ };
+
+ //====================================================================
+ //====================================================================
+
+//........................................................................
+} // namespace svxform
+//........................................................................
+
+}//end of namespace binfilter
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/fmexpl.hrc b/binfilter/bf_svx/source/inc/fmexpl.hrc
new file mode 100644
index 000000000000..ce4d88ee5185
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmexpl.hrc
@@ -0,0 +1,40 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_FMEXPL_HRC
+#define _SVX_FMEXPL_HRC
+
+#define FT_PATH 1
+
+#define GB_PATH 1
+
+#define PB_OK 1
+#define PB_CANCEL 2
+#define PB_HELP 3
+
+#endif //_SVX_FMEXPL_HRC
+
diff --git a/binfilter/bf_svx/source/inc/fmexpl.hxx b/binfilter/bf_svx/source/inc/fmexpl.hxx
new file mode 100644
index 000000000000..5196aad1df57
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmexpl.hxx
@@ -0,0 +1,131 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _SVX_FMEXPL_HXX
+#define _SVX_FMEXPL_HXX
+
+
+
+
+
+
+
+#include <bf_sfx2/dockwin.hxx>
+
+
+
+
+
+
+
+
+
+
+
+
+#include "fmview.hxx"
+
+
+class SdrObjListIter;
+namespace binfilter {
+
+class FmFormShell;
+class SdrObject;
+class FmFormModel;
+
+//========================================================================
+
+//========================================================================
+
+//========================================================================
+
+//========================================================================
+
+//========================================================================
+
+//========================================================================
+class FmNavViewMarksChanged : public SfxHint
+{
+ FmFormView* pView;
+public:
+ FmNavViewMarksChanged(FmFormView* pWhichView) { pView = pWhichView; }
+ virtual ~FmNavViewMarksChanged() {}
+
+};
+
+//========================================================================
+
+//========================================================================
+
+
+//========================================================================
+// FmNavRequestSelectHint - jemand teilt dem NavigatorTree mit, dass er bestimmte Eintraege selektieren soll
+
+
+
+//========================================================================
+
+
+//========================================================================
+
+
+//========================================================================
+//............................................................................
+namespace svxform
+{
+//............................................................................
+
+ //========================================================================
+ // class OFormComponentObserver
+ //========================================================================
+
+ //========================================================================
+ //= NavigatorTreeModel
+ //========================================================================
+
+ //========================================================================
+
+
+ //========================================================================
+
+ //========================================================================
+ class NavigatorFrameManager : public SfxChildWindow
+ {
+ public:
+ NavigatorFrameManager( Window *pParent, sal_uInt16 nId, SfxBindings *pBindings,
+ SfxChildWinInfo *pInfo );
+ SFX_DECL_CHILDWINDOW( NavigatorFrameManager );
+ };
+
+//............................................................................
+} // namespace svxform
+//............................................................................
+
+}//end of namespace binfilter
+#endif // _SVX_FMEXPL_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/fmgroup.hxx b/binfilter/bf_svx/source/inc/fmgroup.hxx
new file mode 100644
index 000000000000..ca89bf4b4f67
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmgroup.hxx
@@ -0,0 +1,120 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _SVX_FMGROUP_HXX
+#define _SVX_FMGROUP_HXX
+
+#include "fmcpont.hxx"
+
+#include <dbform.hxx>
+namespace binfilter {
+
+DECLARE_LIST( FmCtrlModelList, XInterface* )//STRIP008 DECLARE_LIST( FmCtrlModelList, XInterface* );
+
+struct FmXGroupModel_Impl;
+
+//==================================================================
+// FmXGroupModel
+//==================================================================
+class FmXGroupModel : public XBoundControl,
+ public XLoadListener,
+ public XPropertyChangeListener,
+ public XGroup,
+ public FmXControlModel
+{
+ FmFormControlMap aControlMap;
+
+ friend Reflection* FmXGroupModel_getReflection();
+ FmXGroupModel_Impl* pGroupModelData; // Properties
+
+public:
+ FmXGroupModel();
+ virtual ~FmXGroupModel();
+
+ // UNO Anbindung
+ SMART_UNO_DECLARATION( FmXGroupModel, FmXControlModel );
+ virtual XInterface* queryInterface(UsrUik);
+ virtual XIdlClassRef getIdlClass();
+
+ // XGroup
+ virtual INT32 getFormControlCount();
+ virtual XFormControlRef getFormControlByName( const XubString& sName ) const;
+ virtual XFormControlRef getFormControlByIndex( INT32 Index ) const;
+ virtual void appendFormControl( const XFormControlRef& FormControl );
+ virtual XFormControlRef removeFormControl( const XFormControlRef& FormControl );
+
+ // XFormControl
+ virtual void setParent( const XFormRef& Parent );
+
+ // XEventListener
+ virtual void disposing( const EventObject& Source );
+
+ // XPropertiesChangeListener
+ virtual void propertyChange( const PropertyChangeEvent& evt );
+
+ // XLoadListener
+ virtual void loaded( const EventObject& rEvent );
+ virtual void unloaded( const EventObject& rEvent );
+
+ // XBoundControl
+ virtual void addBoundControlListener( const XBoundControlListenerRef& l );
+ virtual void removeBoundControlListener( const XBoundControlListenerRef& l );
+
+ // XPersistObject
+ virtual XubString getServiceName( void ) const;
+ virtual void write( const XObjectOutputStreamRef& OutStream );
+ virtual void read( const XObjectInputStreamRef& InStream );
+
+ // PropertySetInterface
+ virtual FmXPropertySetInfo* createPropertySetInfo() const;
+ virtual BOOL setPropertyValue( UINT16 nId, const XubString& aPropertyName,
+ const UsrAny& aValue,
+ PropertyChangeEventSequence* pSeq,
+ INT32 nIndex );
+ virtual UsrAny getPropertyValue( UINT16 nId, const XubString& aPropertyName ) const;
+ virtual void addPropertyChangeListener( const XubString& aPropertyName, const XPropertyChangeListenerRef& aListener );
+ virtual void removePropertyChangeListener( const XubString& aPropertyName, const XPropertyChangeListenerRef& aListener );
+};
+
+//==================================================================
+// FmXGroupModelInfo
+// Properties:
+//==================================================================
+class FmXGroupModelInfo : public FmXControlModelInfo
+{
+ friend class FmXGroupModel;
+
+protected:
+ FmXGroupModelInfo( const FmXGroupModel* pCp );
+ virtual void fillProperties( UINT32& nIndex, PropertySequence& aSeq ) const;
+};
+
+
+}//end of namespace binfilter
+#endif // _SVX_FMGROUP_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/fmimplids.hxx b/binfilter/bf_svx/source/inc/fmimplids.hxx
new file mode 100644
index 000000000000..252edb14bd7a
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmimplids.hxx
@@ -0,0 +1,41 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _FM_IMPLEMENTATION_IDS_HXX_
+#define _FM_IMPLEMENTATION_IDS_HXX_
+
+#include <bf_svtools/idhelper.hxx>
+
+namespace binfilter {
+
+DECLARE_IMPLEMENTATIONID_HELPER_VSMALL(form, OImplementationIds)
+
+}//end of namespace binfilter
+#endif // _FM_IMPLEMENTATION_IDS_HXX_
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/fmobj.hxx b/binfilter/bf_svx/source/inc/fmobj.hxx
new file mode 100644
index 000000000000..3c217ae7b916
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmobj.hxx
@@ -0,0 +1,103 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _SVX_FMOBJ_HXX
+#define _SVX_FMOBJ_HXX
+
+#include "svdouno.hxx"
+
+#include <com/sun/star/script/ScriptEventDescriptor.hpp>
+#include <com/sun/star/container/XIndexContainer.hpp>
+namespace binfilter {
+
+class FmFormView;
+
+//==================================================================
+// FmFormObj
+//==================================================================
+class FmXForms;
+class FmFormObj: public SdrUnoObj
+{
+ friend class FmForm;
+ friend class FmFormPage;
+ friend class FmFormPageImpl;
+ friend class FmFormObjFactory;
+ friend class FmXUndoEnvironment;
+ friend class SvxFmDrawPage;
+ friend class SvxFmMSFactory;
+
+ ::com::sun::star::uno::Sequence< ::com::sun::star::script::ScriptEventDescriptor > aEvts; // events des Objects
+ ::com::sun::star::uno::Sequence< ::com::sun::star::script::ScriptEventDescriptor> m_aEventsHistory;
+ // valid if and only if m_pEnvironmentHistory != NULL, this are the events which we're set when
+ // m_pEnvironmentHistory was created
+
+ FmFormView* pTempView;
+ sal_uInt32 nEvent;
+
+ // Informationen fuer die Controlumgebung
+ // werden nur vorgehalten, wenn ein Object sich nicht in einer Objectliste befindet
+ ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer> xParent;
+ ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer > m_xEnvironmentHistory;
+ sal_Int32 nPos;
+ sal_Int32 m_nType;
+
+public:
+ TYPEINFO();
+
+protected:
+ FmFormObj(sal_Int32 _nType);
+
+ const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer>& GetParent() const {return xParent;}
+ const ::com::sun::star::uno::Sequence< ::com::sun::star::script::ScriptEventDescriptor >& GetEvents() const {return aEvts;}
+ sal_Int32 GetPos() const {return nPos;}
+
+public:
+ virtual ~FmFormObj();
+ virtual void SetPage(SdrPage* pNewPage);
+
+ virtual sal_uInt32 GetObjInventor() const;
+ virtual sal_uInt16 GetObjIdentifier() const;
+
+
+
+
+ /** returns the type of this form object. See fmglob.hxx
+ */
+ sal_Int32 getType() const;
+
+protected:
+ virtual void WriteData(SvStream& rOut) const;
+ virtual void ReadData(const SdrObjIOHeader& rHead, SvStream& rIn);
+
+ DECL_LINK(OnCreate, void* );
+};
+
+
+}//end of namespace binfilter
+#endif // _FM_FMOBJ_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/fmpgeimp.hxx b/binfilter/bf_svx/source/inc/fmpgeimp.hxx
new file mode 100644
index 000000000000..1c525d6d0190
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmpgeimp.hxx
@@ -0,0 +1,126 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _SVX_FMUNOPGE_HXX
+#define _SVX_FMUNOPGE_HXX
+
+#include <com/sun/star/sdbc/XDataSource.hpp>
+#include <com/sun/star/container/XNameAccess.hpp>
+#include <com/sun/star/form/XFormComponent.hpp>
+#include <com/sun/star/form/XForm.hpp>
+#include <com/sun/star/container/XNameContainer.hpp>
+#include <com/sun/star/frame/XModel.hpp>
+#include <com/sun/star/lang/XServiceInfo.hpp>
+
+
+#include <tools/list.hxx>
+
+#include <comphelper/uno3.hxx>
+FORWARD_DECLARE_INTERFACE(io,XObjectOutputStream)
+FORWARD_DECLARE_INTERFACE(io,XObjectInputStream)
+FORWARD_DECLARE_INTERFACE(container,XIndexContainer)
+class SvStream;
+namespace binfilter {
+
+class SdrIOHeader;
+class FmFormObj;
+class FmFormPage;
+class SdrObject;
+
+//FORWARD_DECLARE_INTERFACE(uno,Reference)
+//STRIP008 FORWARD_DECLARE_INTERFACE(io,XObjectOutputStream)
+//STRIP008 FORWARD_DECLARE_INTERFACE(io,XObjectInputStream)
+//STRIP008 FORWARD_DECLARE_INTERFACE(container,XIndexContainer)
+
+class SdrObjList;
+
+DECLARE_LIST(FmObjectList, FmFormObj*)//STRIP008 DECLARE_LIST(FmObjectList, FmFormObj*);
+
+//==================================================================
+// FmFormPageImpl
+// lauscht an allen Containern, um festzustellen, wann Objecte
+// eingefuegt worden sind und wann diese entfernt wurden
+//==================================================================
+
+class FmFormPageImpl
+{
+ friend class FmFormPage;
+ friend class FmFormObj;
+ friend class FmXFormShell;
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm> xCurrentForm; // aktuelles Formular
+ ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer> xForms; // Liste aller Forms
+ ::com::sun::star::uno::Reference< ::com::sun::star::frame::XModel> xModel;
+ FmFormPage* pPage;
+ UniString m_sPageId;
+
+ sal_Bool m_bFirstActivation : 1;
+
+protected:
+ FmFormPageImpl(FmFormPage* _pPage);
+ FmFormPageImpl(FmFormPage* _pPage, const FmFormPageImpl& rImpl);
+ ~FmFormPageImpl();
+
+ void Init();
+
+public:
+ // nur wichtig fuer den DesignMode
+ const ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm>& getCurForm() {return xCurrentForm;}
+
+ // Defaults fuer ein Object setzen
+ // Eindeutigen Namen, Zuordnen zu einer Form falls noch nicht erfolgt
+
+ UniString GetPageId() const { return m_sPageId; }
+
+ // activation handling
+ inline sal_Bool hasEverBeenActivated( ) const { return !m_bFirstActivation; }
+ inline void setHasBeenActivated( ) { m_bFirstActivation = sal_False; }
+
+protected:
+ // lesen und schreiben der Objecte
+ void WriteData(SvStream& rOut) const; //
+ void ReadData(const SdrIOHeader& rHead, SvStream& rIn); //
+
+ void write(const ::com::sun::star::uno::Reference< ::com::sun::star::io::XObjectOutputStream>& OutStream) const;
+ void read(const ::com::sun::star::uno::Reference< ::com::sun::star::io::XObjectInputStream>& InStream);
+
+ const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer>& getForms() {return xForms;}
+
+ void fillList(FmObjectList& rList, const SdrObjList& rObjList, sal_Bool bConnected) const;
+
+
+
+public:
+
+
+};
+
+
+}//end of namespace binfilter
+#endif // _SVX_FMUNOPGE_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/fmprop.hrc b/binfilter/bf_svx/source/inc/fmprop.hrc
new file mode 100644
index 000000000000..d17908b7e3f6
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmprop.hrc
@@ -0,0 +1,372 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _SVX_FMPROP_HRC
+#define _SVX_FMPROP_HRC
+
+#ifndef _FM_STATIC_HXX_
+#include "fmstatic.hxx"
+#endif
+// PropertyId's, welche eine Zuordnung zu einen PropertyName haben, das koennten
+// auch in Zukunft WhichIds sein -> Itemset
+#define FM_ATTR_START 0
+
+#define FM_ATTR_NAME (FM_ATTR_START + 1)
+#define FM_ATTR_TABINDEX (FM_ATTR_START + 2)
+#define FM_ATTR_CONTROLSOURCE (FM_ATTR_START + 3)
+#define FM_ATTR_MASTERFIELDS (FM_ATTR_START + 4)
+#define FM_ATTR_DATASOURCE (FM_ATTR_START + 6)
+#define FM_ATTR_CLASSID (FM_ATTR_START + 9)
+#define FM_ATTR_CURSORTYPE (FM_ATTR_START + 10)
+#define FM_ATTR_READONLY (FM_ATTR_START + 11)
+#define FM_ATTR_NAVIGATION (FM_ATTR_START + 13)
+#define FM_ATTR_CYCLE (FM_ATTR_START + 14)
+#define FM_ATTR_ALLOWADDITIONS (FM_ATTR_START + 15)
+#define FM_ATTR_ALLOWEDITS (FM_ATTR_START + 16)
+#define FM_ATTR_ALLOWDELETIONS (FM_ATTR_START + 17)
+#define FM_ATTR_CACHESIZE (FM_ATTR_START + 19)
+#define FM_ATTR_LASTDIRTY (FM_ATTR_START + 24)
+#define FM_ATTR_VALUE (FM_ATTR_START + 31) // sal_Int32
+#define FM_ATTR_FORMATKEY (FM_ATTR_START + 33) // sal_uInt32
+#define FM_ATTR_SIZE (FM_ATTR_START + 37) // sal_uInt32
+ // free
+#define FM_ATTR_WIDTH (FM_ATTR_START + 42) // sal_uInt16
+#define FM_ATTR_DEFAULTCONTROL (FM_ATTR_START + 43) // string
+#define FM_ATTR_BOUNDCOLUMN (FM_ATTR_START + 44) // sal_uInt16 may be null
+#define FM_ATTR_LISTSOURCETYPE (FM_ATTR_START + 45) // sal_uInt16
+#define FM_ATTR_LISTSOURCE (FM_ATTR_START + 46) // string
+ // free
+#define FM_ATTR_TEXT (FM_ATTR_START + 48) // string
+#define FM_ATTR_STRINGITEMLIST (FM_ATTR_START + 49) // wsstringsequence
+#define FM_ATTR_LABEL (FM_ATTR_START + 50) // string
+#define FM_ATTR_STATE (FM_ATTR_START + 52) // sal_uInt16
+ // free
+#define FM_ATTR_FONT (FM_ATTR_START + 54) // font
+#define FM_ATTR_HASNAVIGATION (FM_ATTR_START + 55)
+#define FM_ATTR_ROWHEIGHT (FM_ATTR_START + 57) // sal_uInt16
+#define FM_ATTR_BACKGROUNDCOLOR (FM_ATTR_START + 58) // sal_uInt32
+#define FM_ATTR_FILLCOLOR (FM_ATTR_START + 59) // sal_uInt32
+#define FM_ATTR_TEXTCOLOR (FM_ATTR_START + 60) // sal_uInt32
+#define FM_ATTR_LINECOLOR (FM_ATTR_START + 61) // sal_uInt32
+#define FM_ATTR_BORDER (FM_ATTR_START + 62) // sal_uInt16
+#define FM_ATTR_ALIGN (FM_ATTR_START + 63) // sal_uInt16
+#define FM_ATTR_DROPDOWN (FM_ATTR_START + 64) // sal_Bool
+#define FM_ATTR_MULTI (FM_ATTR_START + 65) // sal_Bool
+#define FM_ATTR_HSCROLL (FM_ATTR_START + 66) // sal_Bool
+#define FM_ATTR_VSCROLL (FM_ATTR_START + 67) // sal_Bool
+#define FM_ATTR_TABSTOP (FM_ATTR_START + 68) // sal_Bool
+#define FM_ATTR_REFVALUE (FM_ATTR_START + 69) // ::rtl::OUString
+#define FM_ATTR_BUTTONTYPE (FM_ATTR_START + 70) // sal_uInt16
+#define FM_ATTR_DEFAULT_TEXT (FM_ATTR_START + 71) // ::rtl::OUString
+#define FM_ATTR_SUBMIT_ACTION (FM_ATTR_START + 72) // string
+#define FM_ATTR_SUBMIT_METHOD (FM_ATTR_START + 73) // FmSubmitMethod
+#define FM_ATTR_SUBMIT_ENCODING (FM_ATTR_START + 74) // FmSubmitEncoding
+#define FM_ATTR_DEFAULT_VALUE (FM_ATTR_START + 75) // ::rtl::OUString
+#define FM_ATTR_SUBMIT_TARGET (FM_ATTR_START + 76) // ::rtl::OUString
+#define FM_ATTR_DEFAULT_CHECKED (FM_ATTR_START + 77) // sal_uInt16
+#define FM_ATTR_VALUE_SEQ (FM_ATTR_START + 78) // StringSeq
+#define FM_ATTR_IMAGE_URL (FM_ATTR_START + 79) // ::rtl::OUString
+#define FM_ATTR_SELECT_SEQ (FM_ATTR_START + 91) // INT16Seq
+#define FM_ATTR_DEFAULT_SELECT_SEQ (FM_ATTR_START + 92) // INT16Seq
+#define FM_ATTR_MULTISELECTION (FM_ATTR_START + 93) // sal_Bool
+#define FM_ATTR_MULTILINE (FM_ATTR_START + 94) // sal_Bool
+#define FM_ATTR_DATE (FM_ATTR_START + 95) // sal_uInt32
+#define FM_ATTR_DATEMIN (FM_ATTR_START + 96) // sal_uInt32
+#define FM_ATTR_DATEMAX (FM_ATTR_START + 97) // sal_uInt32
+#define FM_ATTR_DATEFORMAT (FM_ATTR_START + 98) // sal_uInt16
+#define FM_ATTR_TIME (FM_ATTR_START + 99) // sal_uInt32
+#define FM_ATTR_TIMEMIN (FM_ATTR_START +100) // sal_uInt32
+#define FM_ATTR_TIMEMAX (FM_ATTR_START +101) // sal_uInt32
+#define FM_ATTR_TIMEFORMAT (FM_ATTR_START +102) // sal_uInt16
+#define FM_ATTR_VALUEMIN (FM_ATTR_START +103) // sal_Int32
+#define FM_ATTR_VALUEMAX (FM_ATTR_START +104) // sal_Int32
+#define FM_ATTR_VALUESTEP (FM_ATTR_START +105) // sal_Int32
+#define FM_ATTR_CURRENCYSYMBOL (FM_ATTR_START +106) // ::rtl::OUString
+#define FM_ATTR_EDITMASK (FM_ATTR_START +107) // ::rtl::OUString
+#define FM_ATTR_LITERALMASK (FM_ATTR_START +108) // ::rtl::OUString
+#define FM_ATTR_ENABLED (FM_ATTR_START +109) // sal_Bool
+#define FM_ATTR_AUTOCOMPLETE (FM_ATTR_START +110) // sal_Bool
+#define FM_ATTR_LINECOUNT (FM_ATTR_START +111) // sal_uInt16
+#define FM_ATTR_MAXTEXTLEN (FM_ATTR_START +112) // sal_uInt16
+#define FM_ATTR_SPIN (FM_ATTR_START +113) // sal_Bool
+#define FM_ATTR_STRICTFORMAT (FM_ATTR_START +114) // sal_Bool
+#define FM_ATTR_SHOWTHOUSANDSEP (FM_ATTR_START +115) // sal_Bool
+#define FM_ATTR_HARDLINEBREAKS (FM_ATTR_START +116) // sal_Bool
+#define FM_ATTR_PRINTABLE (FM_ATTR_START +117) // sal_Bool
+#define FM_ATTR_TARGET_URL (FM_ATTR_START +118) // ::rtl::OUString
+#define FM_ATTR_TARGET_FRAME (FM_ATTR_START +119) // ::rtl::OUString
+#define FM_ATTR_TAG (FM_ATTR_START +120) // ::rtl::OUString
+#define FM_ATTR_ECHO_CHAR (FM_ATTR_START +121) // sal_uInt16
+#define FM_ATTR_EMPTY_IS_NULL (FM_ATTR_START +126) // Bool
+#define FM_ATTR_DECIMAL_ACCURACY (FM_ATTR_START +127) // sal_uInt16
+#define FM_ATTR_DATE_SHOW_CENTURY (FM_ATTR_START +128) // Bool
+#define FM_ATTR_TRISTATE (FM_ATTR_START +129) // Bool
+#define FM_ATTR_DEFAULT_BUTTON (FM_ATTR_START +130) // Bool
+#define FM_ATTR_HIDDEN_VALUE (FM_ATTR_START +131) // ::rtl::OUString
+#define FM_ATTR_DECIMALS (FM_ATTR_START +132) // sal_uInt16
+#define FM_ATTR_AUTOINCREMENT (FM_ATTR_START +133) // sal_uInt16
+#define FM_ATTR_FILTER_CRITERIA (FM_ATTR_START +135) // ::rtl::OUString
+#define FM_ATTR_QUERY (FM_ATTR_START +137) // ::rtl::OUString
+#define FM_ATTR_DEFAULT_LONG_VALUE (FM_ATTR_START +138) // Double
+#define FM_ATTR_DEFAULT_DATE (FM_ATTR_START +139) // sal_uInt32
+#define FM_ATTR_DEFAULT_TIME (FM_ATTR_START +140)
+#define FM_ATTR_HELPTEXT (FM_ATTR_START +141)
+#define FM_ATTR_FONT_NAME (FM_ATTR_START +142)
+#define FM_ATTR_FONT_STYLENAME (FM_ATTR_START +143)
+#define FM_ATTR_FONT_FAMILY (FM_ATTR_START +144)
+#define FM_ATTR_FONT_CHARSET (FM_ATTR_START +145)
+#define FM_ATTR_FONT_HEIGHT (FM_ATTR_START +146)
+#define FM_ATTR_FONT_WEIGHT (FM_ATTR_START +147)
+#define FM_ATTR_FONT_SLANT (FM_ATTR_START +148)
+#define FM_ATTR_FONT_UNDERLINE (FM_ATTR_START +149)
+#define FM_ATTR_FONT_STRIKEOUT (FM_ATTR_START +150)
+#define FM_ATTR_ISPASSTHROUGH (FM_ATTR_START +151)
+#define FM_ATTR_HELPURL (FM_ATTR_START +152) // ::rtl::OUString
+#define FM_ATTR_RECORDMARKER (FM_ATTR_START +153)
+#define FM_ATTR_BOUNDFIELD (FM_ATTR_START +154)
+#define FM_ATTR_FORMATSSUPPLIER (FM_ATTR_START +155) // ::com::sun::star::util::XNumberFormatsSupplier
+#define FM_ATTR_TREATASNUMERIC (FM_ATTR_START +156) // sal_Bool
+#define FM_ATTR_EFFECTIVE_VALUE (FM_ATTR_START +157) // ANY (string or double)
+#define FM_ATTR_EFFECTIVE_DEFAULT (FM_ATTR_START +158) // dito
+#define FM_ATTR_EFFECTIVE_MIN (FM_ATTR_START +159) // dito
+#define FM_ATTR_EFFECTIVE_MAX (FM_ATTR_START +160) // dito
+#define FM_ATTR_HIDDEN (FM_ATTR_START +161) // sal_Bool
+#define FM_ATTR_FILTERPROPOSAL (FM_ATTR_START +162) // sal_Bool
+#define FM_ATTR_FIELDSOURCE (FM_ATTR_START +163) // String
+#define FM_ATTR_TABLENAME (FM_ATTR_START +164) // String
+#define FM_ATTR_FILTERSUPPLIER (FM_ATTR_START +165) // ::com::sun::star::container::XIndexAccess
+#define FM_ATTR_CURRENTFILTER (FM_ATTR_START +166) // sal_Int32
+#define FM_ATTR_SELECTED_FIELDS (FM_ATTR_START +167)
+#define FM_ATTR_SELECTED_TABLES (FM_ATTR_START +168)
+#define FM_ATTR_THREADSAFE (FM_ATTR_START +169) // sal_Bool
+#define FM_ATTR_CONTROLLABEL (FM_ATTR_START +171) // ::com::sun::star::beans::XPropertySet
+#define FM_ATTR_CURRSYM_POSITION (FM_ATTR_START +172) // String
+#define FM_ATTR_SOURCE (FM_ATTR_START +173) // ::com::sun::star::uno::XInterface
+#define FM_ATTR_CURSORCOLOR (FM_ATTR_START +174) // sal_Int32
+#define FM_ATTR_ALWAYSSHOWCURSOR (FM_ATTR_START +175) // sal_Bool
+#define FM_ATTR_DISPLAYSYNCHRON (FM_ATTR_START +176) // sal_Bool
+
+#define FM_ATTR_ISMODIFIED (FM_ATTR_START +177) // sal_Bool
+#define FM_ATTR_ISNEW (FM_ATTR_START +178) // sal_Bool
+#define FM_ATTR_PRIVILEGES (FM_ATTR_START +179) // sal_Int32
+#define FM_ATTR_DETAILFIELDS (FM_ATTR_START +180) // ::com::sun::star::uno::Sequence<::rtl::OUString>
+#define FM_ATTR_COMMAND (FM_ATTR_START +181) // String
+#define FM_ATTR_COMMANDTYPE (FM_ATTR_START +182) // sal_Int32 (com::sun::star::sdb::CommandType)
+#define FM_ATTR_RESULTSET_CONCURRENCY (FM_ATTR_START +183)// sal_Int32 (com::sun::star::sdbc::ResultSetConcurrency)
+#define FM_ATTR_INSERTONLY (FM_ATTR_START +184) // sal_Bool
+#define FM_ATTR_RESULTSET_TYPE (FM_ATTR_START +185) // sal_Int32 (com::sun::star::sdbc::ResultSetType)
+#define FM_ATTR_ESCAPE_PROCESSING (FM_ATTR_START +186) // sal_Bool
+#define FM_ATTR_APPLYFILTER (FM_ATTR_START +187) // sal_Bool
+
+#define FM_ATTR_ISNULLABLE (FM_ATTR_START +188) // sal_Bool
+#define FM_ATTR_ACTIVECOMMAND (FM_ATTR_START +189) // String
+#define FM_ATTR_ISCURRENCY (FM_ATTR_START +190) // sal_Bool
+#define FM_ATTR_NUMBER_FORMATS_SUPPLIER (FM_ATTR_START +191)// sal_Bool
+#define FM_ATTR_URL (FM_ATTR_START +192) // String
+#define FM_ATTR_TITLE (FM_ATTR_START +193) // String
+#define FM_ATTR_ACTIVE_CONNECTION (FM_ATTR_START +194) // com::sun::star::sdbc::::com::sun::star::sdbc::XConnection
+#define FM_ATTR_SCALE (FM_ATTR_START +195) // sal_Int32
+#define FM_ATTR_SORT (FM_ATTR_START +196) // String
+#define FM_ATTR_CONTROLSOURCEPROPERTY (FM_ATTR_START +197)
+#define FM_ATTR_REALNAME (FM_ATTR_START +198) // String
+
+#define FM_ATTR_TEXTLINECOLOR (FM_ATTR_START +199) // sal_Int32
+#define FM_ATTR_FONTEMPHASISMARK (FM_ATTR_START +200) // sal_Int16
+#define FM_ATTR_FONTRELIEF (FM_ATTR_START +201) // sal_Int16
+
+namespace binfilter {
+namespace svxform
+{
+
+ DECLARE_CONSTASCII_USTRING(FM_PROP_NAME);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_TAG);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_TABINDEX);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_CLASSID);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ALIGN);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ROWCOUNT);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ROWCOUNTFINAL);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FETCHSIZE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_VALUE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_VALUEMIN);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_VALUEMAX);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_VALUESTEP);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_TEXT);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_LABEL);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_NAVIGATION);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_CYCLE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_CONTROLSOURCE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ENABLED);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_SPIN);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_READONLY);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FILTER_CRITERIA);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_AUTOINCREMENT);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_CACHESIZE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_LASTDIRTY);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_STATEMENT);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_WIDTH);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_SEARCHABLE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_MULTILINE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_TARGET_URL);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_DEFAULTCONTROL);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_MAXTEXTLEN);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_SIZE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_DATE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_TIME);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_STATE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_TRISTATE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_HIDDEN_VALUE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_TARGET_FRAME);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_BUTTONTYPE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_STRINGITEMLIST);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_DEFAULT_TEXT);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_DEFAULTCHECKED);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_DEFAULT_DATE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_DEFAULT_TIME);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_DEFAULT_VALUE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FORMATKEY);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FORMATSSUPPLIER);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_SUBMIT_ACTION);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_SUBMIT_TARGET);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_SUBMIT_METHOD);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_SUBMIT_ENCODING);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_IMAGE_URL);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_EMPTY_IS_NULL);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_LISTSOURCETYPE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_LISTSOURCE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_SELECT_SEQ);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_VALUE_SEQ);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_DEFAULT_SELECT_SEQ);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_MULTISELECTION);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_DECIMAL_ACCURACY);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_EDITMASK);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ISREADONLY);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ISREQUIRED);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FIELDTYPE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_DECIMALS);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_REFVALUE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_STRICTFORMAT);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_DATASOURCE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ALLOWADDITIONS);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ALLOWEDITS);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ALLOWDELETIONS);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_MASTERFIELDS);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ISPASSTHROUGH);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_QUERY);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_LITERALMASK);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_SHOWTHOUSANDSEP);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_CURRENCYSYMBOL);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_DATEFORMAT);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_DATEMIN);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_DATEMAX);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_DATE_SHOW_CENTURY);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_TIMEFORMAT);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_TIMEMIN);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_TIMEMAX);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_LINECOUNT);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_BOUNDCOLUMN);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_HASNAVIGATION);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FONT);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_BACKGROUNDCOLOR);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FILLCOLOR);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_TEXTCOLOR);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_LINECOLOR);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_BORDER);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_DROPDOWN);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_MULTI);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_HSCROLL);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_VSCROLL);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_TABSTOP);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_AUTOCOMPLETE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_HARDLINEBREAKS);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_PRINTABLE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ECHO_CHAR);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ROWHEIGHT);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_HELPTEXT);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FONT_NAME);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FONT_STYLENAME);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FONT_FAMILY);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FONT_CHARSET);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FONT_HEIGHT);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FONT_WEIGHT);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FONT_SLANT);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FONT_UNDERLINE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FONT_STRIKEOUT);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_HELPURL);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_RECORDMARKER);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_BOUNDFIELD);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_EFFECTIVE_VALUE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_EFFECTIVE_DEFAULT);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_EFFECTIVE_MIN);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_EFFECTIVE_MAX);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_HIDDEN);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FILTERPROPOSAL);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FIELDSOURCE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_TABLENAME);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FILTERSUPPLIER);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_CURRENTFILTER);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_SELECTED_FIELDS);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_SELECTED_TABLES);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_THREADSAFE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_CONTROLLABEL);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_CURRSYM_POSITION);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_SOURCE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_CURSORCOLOR);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ALWAYSSHOWCURSOR);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_DISPLAYSYNCHRON);
+
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ISMODIFIED);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ISNEW);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_PRIVILEGES);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_DETAILFIELDS);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_COMMAND);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_COMMANDTYPE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_RESULTSET_CONCURRENCY);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_INSERTONLY);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_RESULTSET_TYPE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ESCAPE_PROCESSING);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_APPLYFILTER);
+
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ISNULLABLE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ACTIVECOMMAND);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ISCURRENCY);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_NUMBER_FORMATS_SUPPLIER);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_URL);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_TITLE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_ACTIVE_CONNECTION);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_SCALE);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_SORT);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_CONTROLSOURCEPROPERTY);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_REALNAME);
+
+ DECLARE_CONSTASCII_USTRING(FM_PROP_TEXTLINECOLOR);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FONTEMPHASISMARK);
+ DECLARE_CONSTASCII_USTRING(FM_PROP_FONTRELIEF);
+
+} // namespace svxform
+}
+
+#endif // _SVX_FMPROP_HRC
+
diff --git a/binfilter/bf_svx/source/inc/fmresids.hrc b/binfilter/bf_svx/source/inc/fmresids.hrc
new file mode 100644
index 000000000000..10055b8f1458
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmresids.hrc
@@ -0,0 +1,147 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _SVX_FMRESIDS_HRC
+#define _SVX_FMRESIDS_HRC
+
+// include -----------------------------------------------------------
+#include <bf_svtools/solar.hrc>
+
+// unnamed ressources -------------------------------------------------------
+// sub ressources .....................
+
+// ImageList-Id's -----------------------------------------------------------
+
+// Image-Id's -----------------------------------------------------------
+#define RID_SVXIMG_FORM SID_FM_CONFIG
+#define RID_SVXIMG_CONTROL SID_CHOOSE_CONTROLS
+#define RID_SVXIMG_COLLAPSEDNODE (RID_FORMS_START + 2)
+#define RID_SVXIMG_EXPANDEDNODE (RID_FORMS_START + 3)
+#define RID_SVXIMG_BUTTON SID_FM_PUSHBUTTON
+#define RID_SVXIMG_RADIOBUTTON SID_FM_RADIOBUTTON
+#define RID_SVXIMG_CHECKBOX SID_FM_CHECKBOX
+#define RID_SVXIMG_FIXEDTEXT SID_FM_FIXEDTEXT
+#define RID_SVXIMG_GROUPBOX SID_FM_GROUPBOX
+#define RID_SVXIMG_EDIT SID_FM_EDIT
+#define RID_SVXIMG_LISTBOX SID_FM_LISTBOX
+#define RID_SVXIMG_COMBOBOX SID_FM_COMBOBOX
+#define RID_SVXIMG_URLBUTTON SID_FM_URLBUTTON
+#define RID_SVXIMG_FORMS (RID_FORMS_START +13)
+#define RID_SVXIMG_IMAGEBUTTON SID_FM_IMAGEBUTTON
+#define RID_SVXIMG_IMAGECONTROL SID_FM_IMAGECONTROL
+#define RID_SVXIMG_FILECONTROL SID_FM_FILECONTROL
+#define RID_SVXIMG_DATEFIELD SID_FM_DATEFIELD
+#define RID_SVXIMG_TIMEFIELD SID_FM_TIMEFIELD
+#define RID_SVXIMG_NUMERICFIELD SID_FM_NUMERICFIELD
+#define RID_SVXIMG_CURRENCYFIELD SID_FM_CURRENCYFIELD
+#define RID_SVXIMG_PATTERNFIELD SID_FM_PATTERNFIELD
+#define RID_SVXIMG_HIDDEN (RID_FORMS_START +22)
+#define RID_SVXIMG_GRID SID_FM_DBGRID
+#define RID_SVXIMG_FORMATTEDFIELD SID_FM_FORMATTEDFIELD
+#define RID_SVXIMG_FILTER SID_FM_FILTERCRIT
+#define RID_SVXIMG_DATE_N_TIME_FIELDS SID_FM_TWOFIELDS_DATE_N_TIME
+#define RID_SVXIMG_FIELD (RID_FORMS_START +27)
+
+// Dialog-Id's -----------------------------------------------------------
+#define RID_SVXTBX_FORM (RID_FORMS_START + 1)
+#define TBX_FORM (RID_FORMS_START + 2)
+#define RID_SVXTBX_FORM_NAVIGATION (RID_FORMS_START + 3)
+#define RID_SVXTBX_FORM_FILTER (RID_FORMS_START + 4)
+#define RID_SVXDLG_ADD_TABLE (RID_FORMS_START + 5)
+#define RID_SVXDLG_TAB_ORDER (RID_FORMS_START + 6)
+// --------- free id -----------------
+#define RID_SVXERR_SEARCH_NORECORD (RID_FORMS_START + 15)
+#define RID_SVXERR_SEARCH_GENERAL_ERROR (RID_FORMS_START + 16)
+
+// Menu-Id's -----------------------------------------------------------
+#define RID_FMEXPLORER_POPUPMENU (RID_FORMS_START + 0)
+#define RID_SVXMNU_ROWS (RID_FORMS_START + 1)
+#define RID_SVXMNU_COLS (RID_FORMS_START + 2)
+#define RID_SVXMNU_CELL (RID_FORMS_START + 3)
+#define RID_FMSHELL_CONVERSIONMENU (RID_FORMS_START + 4)
+#define RID_FM_FILTER_MENU (RID_FORMS_START + 5)
+
+
+// QueryBox-Id's -----------------------------------------------------------
+#define RID_QRY_SAVEMODIFIED (RID_FORMS_START + 1)
+
+// String-Id's -----------------------------------------------------------
+#define RID_STR_FORMSHELL (RID_FORMS_START + 10)
+#define RID_STR_FORM_FILTERED (RID_FORMS_START + 14)
+
+// Undo Strings
+
+// ErrorStrings
+
+#define RID_STR_NAME (RID_FORMS_START + 46)
+#define RID_STR_FORM (RID_FORMS_START + 72)
+#define RID_STR_FORMS (RID_FORMS_START + 84)
+
+
+ // free
+
+ // FREE
+
+
+#define RID_STR_CONTROL (RID_FORMS_START +197)
+
+
+
+#define RID_STR_SYNTAXERROR (RID_FORMS_START +218)
+
+
+ // free
+
+#define RID_STR_ERR_DELETERECORD (RID_FORMS_START +235)
+
+#define RID_STR_SVT_SQL_INTERNATIONAL (RID_FORMS_START +240)
+
+// ClassNames
+#define RID_CLASSNAMES_START (RID_FORMS_START + 300)
+
+
+
+// Events
+#define RID_STR_EVT_START (RID_FORMS_START +400)
+
+
+// Error-String-Id's -----------------------------------------------------------
+#define RID_ERR_START (RID_FORMS_START + 600)
+
+// Error-Id's -----------------------------------------------------------
+
+
+// Ueberlaufpruefung -----------------------------------------------------
+
+// Dialog-Id's
+#define ACTFRM_RID_END RID_SVX_DLG_LABELCONTROL
+#if ACTFRM_RID_END > RID_FORMS_END
+#error Resource-Ueberlauf in #line, #file
+#endif
+
+
+#endif // _FM_FMPAGE_HXX
+
diff --git a/binfilter/bf_svx/source/inc/fmsearch.hrc b/binfilter/bf_svx/source/inc/fmsearch.hrc
new file mode 100644
index 000000000000..ebd5cd1c1983
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmsearch.hrc
@@ -0,0 +1,69 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _FMSEARCH_HRC
+#define _FMSEARCH_HRC
+
+#define FT_SEARCHTEXT 1
+#define FT_FORM 2
+#define FT_POSITION 3
+#define FT_RECORDLABEL 4
+#define FT_RECORD 5
+#define FT_HINT 6
+
+
+#define CMB_SEARCHTEXT 1
+
+#define RB_ALLFIELDS 1
+#define RB_SINGLEFIELD 2
+#define RB_SEARCHFORTEXT 3
+#define RB_SEARCHFORNULL 4
+#define RB_SEARCHFORNOTNULL 5
+
+#define LB_FORM 1
+#define LB_FIELD 2
+#define LB_POSITION 3
+
+#define PB_APPROXSETTINGS 1
+#define PB_SEARCH 2
+#define PB_SOUNDSLIKESETTINGS 3
+
+#define FL_SEARCHFOR 1
+#define FL_WHERE 2
+#define FL_OPTIONS 3
+#define FL_STATE 4
+
+#define CB_USEFORMATTER 1
+#define CB_BACKWARD 2
+#define CB_STARTOVER 3
+#define CB_CASE 4
+#define CB_WILDCARD 5
+#define CB_REGULAR 6
+#define CB_APPROX 7
+#define CB_HALFFULLFORMS 8
+#define CB_SOUNDSLIKECJK 9
+
+#endif // _FMSEARCH_HRC
diff --git a/binfilter/bf_svx/source/inc/fmservs.hxx b/binfilter/bf_svx/source/inc/fmservs.hxx
new file mode 100644
index 000000000000..879243849563
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmservs.hxx
@@ -0,0 +1,104 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _SVX_FMSERVS_HXX
+#define _SVX_FMSERVS_HXX
+
+#include "fmstatic.hxx"
+namespace binfilter {
+
+namespace svxform
+{
+
+ DECLARE_CONSTASCII_USTRING(FM_NUMBER_FORMATTER);
+
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_EDIT); // alter service name (5.0)
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_TEXTFIELD);
+
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_LISTBOX);
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_COMBOBOX);
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_RADIOBUTTON);
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_GROUPBOX);
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_FIXEDTEXT);
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_COMMANDBUTTON);
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_CHECKBOX);
+
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_GRID); // alter service name (5.0)
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_GRIDCONTROL);
+
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_IMAGEBUTTON);
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_FILECONTROL);
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_TIMEFIELD);
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_DATEFIELD);
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_NUMERICFIELD);
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_CURRENCYFIELD);
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_PATTERNFIELD);
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_FORMATTEDFIELD);
+
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_HIDDEN); // alter service name (5.0)
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_HIDDENCONTROL);
+
+ DECLARE_CONSTASCII_USTRING(FM_COMPONENT_IMAGECONTROL);
+
+ DECLARE_CONSTASCII_USTRING(FM_CONTROL_GRID);
+ DECLARE_CONSTASCII_USTRING(FM_CONTROL_GRIDCONTROL);
+
+ DECLARE_CONSTASCII_USTRING(FM_FORM_CONTROLLER);
+ DECLARE_CONSTASCII_USTRING(SRV_SDB_CONNECTION);
+ DECLARE_CONSTASCII_USTRING(SRV_SDB_INTERACTION_HANDLER);
+
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_FORM);
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_TEXTFIELD);
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_LISTBOX);
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_COMBOBOX);
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_RADIOBUTTON);
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_GROUPBOX);
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_FIXEDTEXT);
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_COMMANDBUTTON);
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_CHECKBOX);
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_GRIDCONTROL);
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_IMAGEBUTTON);
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_FILECONTROL);
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_TIMEFIELD);
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_DATEFIELD);
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_NUMERICFIELD);
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_CURRENCYFIELD);
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_PATTERNFIELD);
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_HIDDENCONTROL);
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_IMAGECONTROL);
+ DECLARE_CONSTASCII_USTRING(FM_SUN_COMPONENT_FORMATTEDFIELD);
+
+ DECLARE_CONSTASCII_USTRING(FM_SUN_CONTROL_GRIDCONTROL);
+
+ void ImplSmartRegisterUnoServices();
+
+} // namespace svxform
+
+}//end of namespace binfilter
+#endif // _SVX_FMSERVS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/fmshimp.hxx b/binfilter/bf_svx/source/inc/fmshimp.hxx
new file mode 100644
index 000000000000..0d7093bb6d90
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmshimp.hxx
@@ -0,0 +1,178 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _SVX_FMSHIMP_HXX
+#define _SVX_FMSHIMP_HXX
+
+
+#include <com/sun/star/container/XContainerListener.hpp>
+#include <com/sun/star/util/XModifyListener.hpp>
+#include <com/sun/star/form/XForm.hpp>
+#include <com/sun/star/form/XFormController.hpp>
+#include <com/sun/star/form/NavigationBarMode.hpp>
+#include <com/sun/star/view/XSelectionChangeListener.hpp>
+
+
+
+#include "svdmark.hxx"
+
+#include "svxids.hrc"
+
+
+#define _SVSTDARR_BOOLS
+#define _SVSTDARR_BYTES
+#define _SVSTDARR_LONGS
+#define _SVSTDARR_ULONGS
+#define _SVSTDARR_USHORTS
+
+#include "fmsearch.hxx"
+#include <cppuhelper/compbase6.hxx>
+#include <unotools/configitem.hxx>
+#include "dbtoolsclient.hxx"
+
+#include <queue>
+namespace binfilter {
+
+SV_DECL_PTRARR(SdrObjArray, SdrObject*, 32, 16)//STRIP008 ;
+// SV_DECL_OBJARR(FmFormArray, ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm>, 32, 16);
+DECLARE_STL_VECTOR( ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm > ,FmFormArray);
+
+// catch databse exceptions if occur
+#define DO_SAFE(statement) try { statement; } catch( const Exception& ) { DBG_ERROR("unhandled exception (I tried to move a cursor (or something like that).)"); }
+
+#define GA_DISABLE_SYNC 1
+#define GA_FORCE_SYNC 2
+#define GA_ENABLE_SYNC 3
+#define GA_SYNC_MASK 3
+#define GA_DISABLE_ROCTRLR 4
+#define GA_ENABLE_ROCTRLR 8
+
+
+// flags for controlling the behaviour when calling loadForms
+#define FORMS_LOAD 0x0000 // default: simply load
+#define FORMS_SYNC 0x0000 // default: do in synchronous
+
+#define FORMS_UNLOAD 0x0001 // unload
+#define FORMS_RESET 0x0002 // reset after the load/unload
+#define FORMS_ASYNC 0x0004 // do this async
+
+// forward declarations
+class FmFormShell;
+
+
+//==============================================================================
+// a class iterating through all fields of a form which are bound to a field
+// sub forms are ignored, grid columns (where the grid is a direct child of the form) are included
+
+//========================================================================
+// I would prefer this to be a struct local to FmXFormShell but unfortunately local structs/classes
+// are somewhat difficult with some of our compilers
+class FmCursorActionThread;
+struct CursorActionDescription
+{
+ FmCursorActionThread* pThread;
+ sal_uInt32 nFinishedEvent;
+ // we want to do the cleanup of the thread in the main thread so we post an event to ourself
+ sal_Bool bCanceling;
+ // this thread is being canceled
+
+ CursorActionDescription() : pThread(NULL), nFinishedEvent(0), bCanceling(sal_False) { }
+};
+
+class FmFormPage;
+//========================================================================
+struct FmLoadAction
+{
+ FmFormPage* pPage;
+ sal_uInt32 nEventId;
+ sal_uInt16 nFlags;
+
+ FmLoadAction( ) : pPage( NULL ), nFlags( 0 ), nEventId( 0 ) { }
+ FmLoadAction( FmFormPage* _pPage, sal_uInt16 _nFlags, sal_uInt32 _nEventId )
+ :pPage( _pPage ), nFlags( _nFlags ), nEventId( _nEventId )
+ {
+ }
+};
+
+//========================================================================
+class SfxViewFrame;
+typedef ::cppu::WeakComponentImplHelper6< ::com::sun::star::sdbc::XRowSetListener,
+ ::com::sun::star::beans::XPropertyChangeListener,
+ ::com::sun::star::util::XModifyListener,
+ ::com::sun::star::container::XContainerListener,
+ ::com::sun::star::view::XSelectionChangeListener,
+ ::com::sun::star::form::XFormControllerListener> FmXFormShell_BD_BASE;
+
+//========================================================================
+class FmXFormShell_Base_Disambiguation : public FmXFormShell_BD_BASE
+{
+protected:
+ FmXFormShell_Base_Disambiguation( ::osl::Mutex& _rMutex );
+ virtual void SAL_CALL disposing();
+};
+
+//========================================================================
+typedef FmXFormShell_Base_Disambiguation FmXFormShell_BASE;
+typedef ::utl::ConfigItem FmXFormShell_CFGBASE;
+
+
+
+//------------------------------------------------------------------------------
+
+#define DECL_CURSOR_ACTION_THREAD(classname) \
+ \
+class classname : public FmCursorActionThread \
+{ \
+public: \
+ classname(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet>& _xDataSource, \
+ const UniString& _rPath); \
+protected: \
+ virtual void RunImpl(); \
+}; \
+
+
+//------------------------------------------------------------------------------
+
+#define IMPL_CURSOR_ACTION_THREAD(classname, caption, action) \
+ \
+classname::classname(const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XResultSet>& _xDataSource, \
+ const UniString& _rPath) \
+ :FmCursorActionThread(_xDataSource, caption, _rPath) \
+{ \
+} \
+ \
+void classname::RunImpl() \
+{ \
+ m_xDataSource->action; \
+} \
+
+
+
+}//end of namespace binfilter
+#endif // _SVX_FMSHIMP_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/fmstatic.hxx b/binfilter/bf_svx/source/inc/fmstatic.hxx
new file mode 100644
index 000000000000..1dec2fc46c51
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmstatic.hxx
@@ -0,0 +1,82 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _FM_STATIC_HXX_
+#define _FM_STATIC_HXX_
+#include <tools/string.hxx>
+namespace binfilter {
+
+struct ConstAsciiString
+{
+ const sal_Char* ascii;
+ sal_Int32 length;
+
+ inline operator const ::rtl::OUString () const;
+ inline operator const sal_Char* () const { return ascii; }
+
+ inline ConstAsciiString(const sal_Char* _pAsciiZeroTerminated, const sal_Int32 _nLength);
+ inline ~ConstAsciiString();
+
+private:
+ mutable ::rtl::OUString* ustring;
+};
+
+//------------------------------------------------------------
+inline ConstAsciiString::ConstAsciiString(const sal_Char* _pAsciiZeroTerminated, const sal_Int32 _nLength)
+ :ascii(_pAsciiZeroTerminated)
+ ,length(_nLength)
+ ,ustring(NULL)
+{
+}
+
+//------------------------------------------------------------
+inline ConstAsciiString::~ConstAsciiString()
+{
+ delete ustring;
+ ustring = NULL;
+}
+
+//------------------------------------------------------------
+inline ConstAsciiString::operator const ::rtl::OUString () const
+{
+ if (!ustring)
+ ustring = new ::rtl::OUString(ascii, length, RTL_TEXTENCODING_ASCII_US);
+ return *ustring;
+}
+
+#define DECLARE_CONSTASCII_USTRING(name) \
+ extern ConstAsciiString name
+
+#define IMPLEMENT_CONSTASCII_USTRING(name, asciivalue) \
+ ConstAsciiString name(asciivalue, sizeof(asciivalue) - 1)
+
+
+}//end of namespace binfilter
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/fmtools.hxx b/binfilter/bf_svx/source/inc/fmtools.hxx
new file mode 100644
index 000000000000..7d415c17ef8b
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmtools.hxx
@@ -0,0 +1,91 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _SVX_FMTOOLS_HXX
+#define _SVX_FMTOOLS_HXX
+
+#include <com/sun/star/frame/XDispatchProviderInterception.hpp>
+#include <com/sun/star/frame/XInterceptorInfo.hpp>
+#include <com/sun/star/container/XIndexAccess.hpp>
+
+
+#ifndef _SVSTDARR_ULONGS
+#define _SVSTDARR_ULONGS
+#endif
+
+#include "fmprop.hrc"
+#include <cppuhelper/interfacecontainer.h>
+#include <cppuhelper/compbase3.hxx>
+#include <comphelper/uno3.hxx>
+#include <cppuhelper/implbase2.hxx>
+#include <cppuhelper/component.hxx>
+
+#include "fmimplids.hxx"
+
+class Window;
+namespace binfilter {
+
+
+
+//==================================================================
+// allgemeine Typen
+//==================================================================
+// displaying a database exception for the user
+// display info about a simple ::com::sun::star::sdbc::SQLException
+// display info about chained SQLExceptions
+
+// StringConversion
+namespace svxform
+{
+ // modes for the XModeSelector
+ DECLARE_CONSTASCII_USTRING(DATA_MODE);
+ DECLARE_CONSTASCII_USTRING(FILTER_MODE);
+
+} // namespace svxform
+
+
+// Kopieren von Persistenten Objecten
+
+
+// Suchen in einer Indexliste nach einem Element
+
+sal_Int32 getElementPos(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess>& xCont, const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>& xElement);
+
+
+
+
+// ===================================================================================================
+// = class CursorWrapper - eine Hilfsklasse, die parallel mit je einem ::com::sun::star::uno::Reference<XDatabaseUpdateCursor>,
+// XDatabaseBookmarkCursor und XDatabaseDirectCursor arbeitet
+// ===================================================================================================
+
+
+
+}//end of namespace binfilter
+#endif // _SVX_FMTOOLS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/fmundo.hxx b/binfilter/bf_svx/source/inc/fmundo.hxx
new file mode 100644
index 000000000000..a8d9dabaa1d7
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmundo.hxx
@@ -0,0 +1,148 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _SVX_FMUNDO_HXX
+#define _SVX_FMUNDO_HXX
+
+
+#include <com/sun/star/beans/XPropertyChangeListener.hpp>
+#include <com/sun/star/script/XScriptListener.hpp>
+#include <com/sun/star/container/XContainerListener.hpp>
+#include <com/sun/star/container/XNameContainer.hpp>
+
+#include <cppuhelper/implbase3.hxx>
+
+
+
+
+#include "svdouno.hxx"
+
+#include <comphelper/uno3.hxx>
+FORWARD_DECLARE_INTERFACE(awt,XControl)
+FORWARD_DECLARE_INTERFACE(awt,XControlContainer)
+namespace binfilter {
+
+class FmFormModel;
+class FmFormObj;
+class SdrObject;
+class FmXFormView;
+
+//STRIP008 FORWARD_DECLARE_INTERFACE(awt,XControl)
+//STRIP008 FORWARD_DECLARE_INTERFACE(awt,XControlContainer)
+//FORWARD_DECLARE_INTERFACE(uno,Reference)
+
+//==================================================================
+// FmUndoPropertyAction
+//==================================================================
+
+//==================================================================
+// FmUndoContainerAction
+//==================================================================
+
+//==================================================================
+// FmUndoModelReplaceAction
+//==================================================================
+
+//========================================================================
+class FmXUndoEnvironment
+ : public ::cppu::WeakImplHelper3< ::com::sun::star::beans::XPropertyChangeListener
+ , ::com::sun::star::container::XContainerListener
+ , ::com::sun::star::script::XScriptListener
+ >
+ , public SfxListener
+ // public ::cppu::OWeakObject
+{
+ friend class FmFormModel;
+ friend class FmXFormView;
+ FmFormModel& rModel;
+
+ void* m_pPropertySetCache;
+ sal_uInt32 nLocks;
+ sal_Bool bReadOnly;
+
+
+
+public:
+ FmXUndoEnvironment(FmFormModel& _rModel);
+ ~FmXUndoEnvironment();
+
+ // UNO Anbindung
+ // SMART_UNO_DECLARATION(FmXUndoEnvironment, ::cppu::OWeakObject);
+ // virtual sal_Bool queryInterface(UsrUik, ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>&);
+ // virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::reflection::XIdlClass>> getIdlClasses(void);
+
+ void Lock() {nLocks++;}
+ void UnLock() {nLocks--;}
+ sal_Bool IsLocked() const {return nLocks != 0;}
+
+protected:
+// ::com::sun::star::lang::XEventListener
+ virtual void SAL_CALL disposing(const ::com::sun::star::lang::EventObject& Source) throw( ::com::sun::star::uno::RuntimeException );
+
+// ::com::sun::star::beans::XPropertyChangeListener
+ virtual void SAL_CALL propertyChange(const ::com::sun::star::beans::PropertyChangeEvent& evt) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::container::XContainerListener
+ 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);
+
+// XScriptListener
+ virtual void SAL_CALL firing(const ::com::sun::star::script::ScriptEvent& evt) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Any SAL_CALL approveFiring(const ::com::sun::star::script::ScriptEvent& evt) throw(::com::sun::star::reflection::InvocationTargetException, ::com::sun::star::uno::RuntimeException);
+
+ virtual void Notify( SfxBroadcaster& rBC, const SfxHint& rHint );
+
+// Einfuegen von Objekten
+ void AddForms(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer>& rForms);
+ void RemoveForms(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer>& rForms);
+
+ void SetReadOnly(sal_Bool bRead) {bReadOnly = bRead;}
+ sal_Bool IsReadOnly() const {return bReadOnly;}
+
+ void ModeChanged();
+
+private:
+ void AddElement(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>& Element);
+ void RemoveElement(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>& Element);
+ void AlterPropertyListening(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface>& Element);
+
+public:
+ // Methoden zur Zuordnung von Controls zu Forms,
+ // werden von der Seite und der UndoUmgebung genutzt
+ void Inserted(SdrObject* pObj);
+ void Removed(SdrObject* pObj);
+
+ void Inserted(FmFormObj* pObj);
+ void Removed(FmFormObj* pObj);
+};
+
+
+}//end of namespace binfilter
+#endif //_SVX_FMUNDO_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/fmurl.hxx b/binfilter/bf_svx/source/inc/fmurl.hxx
new file mode 100644
index 000000000000..77e1616b17b8
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmurl.hxx
@@ -0,0 +1,63 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_FMURL_HXX
+#define _SVX_FMURL_HXX
+
+#include "fmstatic.hxx"
+namespace binfilter {
+
+namespace svxform
+{
+
+ DECLARE_CONSTASCII_USTRING(FMURL_FORMSLOTS_PREFIX);
+
+ DECLARE_CONSTASCII_USTRING(FMURL_RECORD_MOVEFIRST);
+ DECLARE_CONSTASCII_USTRING(FMURL_RECORD_MOVEPREV);
+ DECLARE_CONSTASCII_USTRING(FMURL_RECORD_MOVENEXT);
+ DECLARE_CONSTASCII_USTRING(FMURL_RECORD_MOVELAST);
+ DECLARE_CONSTASCII_USTRING(FMURL_RECORD_MOVETONEW);
+ DECLARE_CONSTASCII_USTRING(FMURL_RECORD_UNDO);
+
+ DECLARE_CONSTASCII_USTRING(FMURL_CONFIRM_DELETION);
+
+ DECLARE_CONSTASCII_USTRING(FMURL_COMPONENT_FORMGRIDVIEW);
+ DECLARE_CONSTASCII_USTRING(FMURL_GRIDVIEW_CLEARVIEW);
+ DECLARE_CONSTASCII_USTRING(FMURL_GRIDVIEW_ADDCOLUMN);
+ DECLARE_CONSTASCII_USTRING(FMURL_GRIDVIEW_ATTACHTOFORM);
+
+ DECLARE_CONSTASCII_USTRING(FMARG_ATTACHTO_MASTERFORM);
+ DECLARE_CONSTASCII_USTRING(FMARG_ADDCOL_COLUMNTYPE);
+ DECLARE_CONSTASCII_USTRING(FMARG_ADDCOL_COLUMNPOS);
+
+} // namespace svxform
+
+}//end of namespace binfilter
+#endif // _SVX_FMURL_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/fmvwimp.hxx b/binfilter/bf_svx/source/inc/fmvwimp.hxx
new file mode 100644
index 000000000000..35c68b52f385
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/fmvwimp.hxx
@@ -0,0 +1,234 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _SVX_FMVWIMP_HXX
+#define _SVX_FMVWIMP_HXX
+
+#include <comphelper/stl_types.hxx>
+
+
+#include <com/sun/star/form/XForm.hpp>
+#include <com/sun/star/container/XIndexAccess.hpp>
+#include <com/sun/star/container/XEnumeration.hpp>
+#include <com/sun/star/form/XFormController.hpp>
+#include <com/sun/star/container/XContainerListener.hpp>
+#include <com/sun/star/awt/XFocusListener.hpp>
+#include <com/sun/star/sdb/SQLErrorEvent.hpp>
+#include <tools/link.hxx>
+
+#include <cppuhelper/implbase1.hxx>
+#include <cppuhelper/implbase3.hxx>
+#include <comphelper/uno3.hxx>
+
+#include "svdmark.hxx"
+FORWARD_DECLARE_INTERFACE(awt,XControl)
+FORWARD_DECLARE_INTERFACE(awt,XWindow)
+FORWARD_DECLARE_INTERFACE(beans,XPropertySet)
+FORWARD_DECLARE_INTERFACE(util,XNumberFormats)
+class Window;
+class OutputDevice;
+namespace binfilter {
+
+class SdrPageViewWinRec;
+class SdrPageView;
+class SdrObject;
+class FmFormObj;
+class FmFormModel;
+class FmFormShell;
+class FmFormView;
+
+//STRIP008 FORWARD_DECLARE_INTERFACE(awt,XControl)
+//STRIP008 FORWARD_DECLARE_INTERFACE(awt,XWindow)
+//STRIP008 FORWARD_DECLARE_INTERFACE(beans,XPropertySet)
+//STRIP008 FORWARD_DECLARE_INTERFACE(util,XNumberFormats)
+
+class FmXFormController;
+class FmXFormView;
+
+namespace svx {
+ class ODataAccessDescriptor;
+}
+
+//==================================================================
+// FmXPageViewWinRec
+//==================================================================
+class FmXPageViewWinRec : public ::cppu::WeakImplHelper1< ::com::sun::star::container::XIndexAccess>
+{
+ friend class FmXFormView;
+
+ ::std::vector< ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormController > > m_aControllerList;
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xORB;
+ FmXFormView* m_pViewImpl;
+ Window* m_pWindow;
+
+public:
+ FmXPageViewWinRec( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _xORB,
+ const SdrPageViewWinRec*, FmXFormView* pView);
+ ~FmXPageViewWinRec();
+
+// UNO Anbindung
+
+// ::com::sun::star::container::XElementAccess
+ virtual ::com::sun::star::uno::Type SAL_CALL getElementType() throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL hasElements() 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() throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::container::XIndexAccess
+ virtual sal_Int32 SAL_CALL getCount() 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);
+
+ const vector< ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormController > >& GetList() {return m_aControllerList;}
+
+protected:
+ ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormController > getController( const ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm >& xForm );
+ void setController( const ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm >& xForm,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer >& xCC,
+ FmXFormController* pParent = NULL);
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer > getControlContainer() const;
+ void updateTabOrder( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl >& xControl,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer >& xCC );
+ void dispose();
+ Window* getWindow() const {return m_pWindow;}
+};
+
+typedef vector<FmXPageViewWinRec*> FmWinRecList;
+//==================================================================
+// FmXFormView
+//==================================================================
+class FmXFormView : public ::cppu::WeakImplHelper3<
+ ::com::sun::star::form::XFormControllerListener,
+ ::com::sun::star::awt::XFocusListener,
+ ::com::sun::star::container::XContainerListener>
+{
+ friend class FmFormView;
+ friend class FmFormShell;
+ friend class FmXFormShell;
+ friend class FmXPageViewWinRec;
+ class ObjectRemoveListener;
+ friend class ObjectRemoveListener;
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xORB;
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindow> m_xWindow;
+
+ FmFormObj* m_pMarkedGrid;
+ FmFormView* m_pView;
+ sal_uInt32 m_nActivationEvent;
+ sal_uInt32 m_nErrorMessageEvent; // event for an asynchronous error message. See also m_aAsyncError
+ sal_uInt32 m_nAutoFocusEvent; // event for asynchronously setting the focus to a control
+
+ ::com::sun::star::sdb::SQLErrorEvent
+ m_aAsyncError; // error event which is to be displayed asyn. See m_nErrorMessageEvent.
+
+ FmWinRecList m_aWinList; // to be filled in alive mode only
+
+ // Liste der markierten Object, dient zur Restauration beim Umschalten von Alive in DesignMode
+ SdrMarkList m_aMark;
+ ObjectRemoveListener* m_pWatchStoredList;
+
+ sal_Bool m_bFirstActivation : 1;
+
+
+
+ FmFormShell* GetFormShell() const;
+
+ void removeGridWindowListening();
+
+protected:
+ FmXFormView(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _xORB,
+ FmFormView* _pView);
+ ~FmXFormView();
+
+ void saveMarkList( sal_Bool _bSmartUnmark = sal_True );
+ void restoreMarkList( SdrMarkList& _rRestoredMarkList );
+ void stopMarkListWatching();
+ void startMarkListWatching();
+
+ void notifyViewDying( );
+ // notifies this impl class that the anti-impl instance (m_pView) is going to die
+
+public:
+ // UNO Anbindung
+
+// ::com::sun::star::lang::XEventListener
+ virtual void SAL_CALL disposing(const ::com::sun::star::lang::EventObject& Source) throw(::com::sun::star::uno::RuntimeException);
+
+// ::com::sun::star::container::XContainerListener
+ 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);
+
+// ::com::sun::star::form::XFormControllerListener
+ virtual void SAL_CALL formActivated(const ::com::sun::star::lang::EventObject& rEvent) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL formDeactivated(const ::com::sun::star::lang::EventObject& rEvent) throw(::com::sun::star::uno::RuntimeException);
+
+ // XFocusListener
+ 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);
+
+ FmFormView* getView() const {return m_pView;}
+ const FmWinRecList& getWindowList() const {return m_aWinList;}
+
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > getORB() { return m_xORB; }
+
+ // activation handling
+ inline sal_Bool hasEverBeenActivated( ) const { return !m_bFirstActivation; }
+ inline void setHasBeenActivated( ) { m_bFirstActivation = sal_False; }
+
+ void onFirstViewActivation( const FmFormModel* _pDocModel );
+
+private:
+ FmWinRecList::iterator findWindow( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer >& rCC );
+ void addWindow(const SdrPageViewWinRec*);
+ void removeWindow( const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer >& rCC );
+ void Activate(sal_Bool bSync = sal_False);
+ void Deactivate(BOOL bDeactivateController = TRUE);
+
+
+
+ void ObjectRemovedInAliveMode(const SdrObject* pObject);
+
+ // asynchronously displays an error message. See also OnDelayedErrorMessage.
+ void displayAsyncErrorMessage( const ::com::sun::star::sdb::SQLErrorEvent& _rEvent );
+
+ // cancels all pending async events
+ void cancelEvents();
+
+ /// the the auto focus to the first (in terms of the tab order) control
+ DECL_LINK( OnActivate, void* );
+ DECL_LINK( OnAutoFocus, void* );
+ DECL_LINK( OnDelayedErrorMessage, void* );
+};
+
+
+
+}//end of namespace binfilter
+#endif // _SVX_FMVWIMP_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/gridcell.hxx b/binfilter/bf_svx/source/inc/gridcell.hxx
new file mode 100644
index 000000000000..9563b2bc38b4
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/gridcell.hxx
@@ -0,0 +1,929 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_GRIDCELL_HXX
+#define _SVX_GRIDCELL_HXX
+
+#include "gridctrl.hxx"
+
+#include "fmtools.hxx"
+
+
+#include <com/sun/star/form/XBoundControl.hpp>
+#include <com/sun/star/awt/XTextComponent.hpp>
+#include <com/sun/star/awt/XListBox.hpp>
+#include <com/sun/star/awt/TextAlign.hpp>
+#include <com/sun/star/awt/XControl.hpp>
+#include <com/sun/star/awt/XCheckBox.hpp>
+#include "sqlparserclient.hxx"
+class Edit;
+namespace binfilter {
+
+class DbCellControl;
+class FmXGridCell;
+
+//==================================================================
+// FmMutexHelper
+//==================================================================
+class FmMutexHelper
+{
+protected:
+ ::osl::Mutex m_aMutex;
+};
+
+//==================================================================
+// DbGridColumn, Spaltenbeschreibung
+//==================================================================
+class DbGridColumn
+{
+ friend class DbGridControl;
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > m_xModel;
+ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > m_xField; // Verbindung zum Datenbankfeld
+ CellControllerRef m_xController; // Struktur zum Verwalten der Controls fuer eine Spalte
+ // diese wird von der DbBrowseBox auf die jeweiligen Zellen
+ // einer Spalte positioniert
+ FmXGridCell* m_pCell;
+
+protected:
+ DbGridControl& m_rParent;
+
+private:
+ sal_Int32 m_nLastVisibleWidth; // nur gueltig, wenn m_bHidden == sal_True
+ sal_Int32 m_nFormatKey;
+ sal_Int16 m_nFieldType;
+ sal_Int16 m_nTypeId;
+ sal_uInt16 m_nId;
+ sal_Int16 m_nFieldPos;
+ sal_Int16 m_nAlign; // wird mit TXT_ALIGN_LEFT .... angegeben
+ sal_Bool m_bRequired : 1;
+ sal_Bool m_bReadOnly : 1;
+ sal_Bool m_bAutoValue : 1;
+ sal_Bool m_bInSave : 1;
+ sal_Bool m_bNumeric : 1;
+ sal_Bool m_bObject : 1; // Verweist die Column auf ein Object Datentyp?
+ sal_Bool m_bHidden : 1;
+ sal_Bool m_bLocked : 1;
+ sal_Bool m_bDateTime : 1;
+
+ static CellControllerRef s_xEmptyController;
+ // used by locked columns
+public:
+ DbGridColumn(sal_uInt16 _nId, DbGridControl& rParent)
+ :m_nId(_nId)
+ ,m_rParent(rParent)
+ ,m_nFieldType(0)
+ ,m_nFormatKey(0)
+ ,m_pCell(NULL)
+ ,m_bNumeric(sal_False)
+ ,m_bDateTime(sal_False)
+ ,m_nAlign(::com::sun::star::awt::TextAlign::LEFT)
+ ,m_nFieldPos(-1)
+ ,m_bRequired(sal_False)
+ ,m_bReadOnly(sal_False)
+ ,m_bAutoValue(sal_False)
+ ,m_bInSave(sal_False)
+ ,m_bHidden(sal_False)
+ ,m_nLastVisibleWidth(-1)
+ ,m_nTypeId(0)
+ ,m_bLocked(sal_False)
+ {
+ }
+
+ ~DbGridColumn();
+
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& getModel() const { return m_xModel; }
+ void setModel(::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _xModel) { m_xModel = _xModel; }
+
+
+ sal_uInt16 GetId() const {return m_nId;}
+ sal_Bool IsRequired() const {return m_bRequired;}
+ sal_Bool IsReadOnly() const {return m_bReadOnly;}
+ sal_Bool IsAutoValue() const {return m_bAutoValue;}
+ sal_Bool IsUpdating() const {return m_bInSave;}
+ sal_Int16 GetAlignment() const {return m_nAlign;}
+ sal_Int16 GetType() const {return m_nFieldType;}
+ sal_Int16 GetFieldPos() const {return m_nFieldPos; }
+ sal_Bool IsNumeric() const {return m_bNumeric;}
+ sal_Bool IsDateTime() const {return m_bDateTime;}
+ sal_Bool IsObject() const {return m_bObject;}
+ sal_Bool IsHidden() const {return m_bHidden;}
+ sal_Int32 GetKey() const {return m_nFormatKey;}
+ const CellControllerRef& GetController() const {return m_bLocked ? s_xEmptyController : m_xController;}
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& GetField() const {return m_xField;}
+ DbGridControl& GetParent() const {return m_rParent;}
+ FmXGridCell* GetCell() const {return m_pCell;}
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn > GetCurrentFieldValue() const;
+
+ // Zeichnen eines Feldes an einer Position, ist ein ::com::sun::star::sdbcx::View gesetzt
+ // uebernimmt dieser das Zeichnen, z.B. fuer CheckBoxen
+ void Paint(OutputDevice& rDev,
+ const Rectangle& rRect,
+ const DbGridRow* pRow,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
+
+
+ // Inititialierung im alive mode
+ // Ist kein ColumnController gesetzt, wird eine DefaultInitialisierung
+ // vorgenommen
+ void CreateControl(sal_Int32 _nFieldPos, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& xField, sal_Int32 nTypeId);
+ void UpdateControl()
+ {
+ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > xField(m_xField);
+ CreateControl(m_nFieldPos, xField, m_nTypeId);
+ }
+
+ // Editieren einer Zelle
+ void UpdateFromField(const DbGridRow* pRow, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
+ sal_Bool Commit();
+
+ // freigeben aller Daten, die fuer den AliveMode noetig sind
+ void Clear();
+
+ XubString GetCellText(const DbGridRow* pRow, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter) const;
+ XubString GetCellText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& xField, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter) const;
+
+ void SetReadOnly(sal_Bool bRead){m_bReadOnly = bRead;}
+ void SetObject(sal_Int16 nPos) {m_bObject = m_bReadOnly = sal_True; m_nFieldPos = nPos;}
+ void ImplInitSettings(Window* pParent, sal_Bool bFont, sal_Bool bForeground, sal_Bool bBackground);
+
+ // Properties, die auf den ::com::sun::star::frame::Controller durchschlagen koennen
+ sal_Int16 SetAlignment(sal_Int16 _nAlign);
+ // if _nAlign is -1, the alignment is calculated from the type of the field we are bound to
+ // the value really set is returned
+ sal_Int16 SetAlignmentFromModel(sal_Int16 nStandardAlign);
+ // set the alignment according to the "Align"-property of m_xModel, use the given standard
+ // alignment if the property if void, return the really set alignment
+
+ // column locking
+ sal_Bool isLocked() const { return m_bLocked; }
+ void setLock(sal_Bool _bLock);
+};
+
+//==================================================================
+// DbCellControl, liefert die Daten fuer einen CellController
+// wird in der Regel nur für komplexe Controls wie z.B ComboBoxen
+// benoetigt
+//==================================================================
+class DbCellControl
+:public ::binfilter::svxform::OStaticDataAccessTools//STRIP001 ,public ::svxform::OStaticDataAccessTools
+ ,public FmMutexHelper // _before_ the listener, so the listener is to be destroyed first!
+ ,public ::comphelper::OPropertyChangeListener
+{
+private:
+ ::comphelper::OPropertyChangeMultiplexer* m_pModelChangeBroadcaster;
+
+private:
+ sal_Bool m_bTransparent : 1;
+ sal_Bool m_bAlignedController : 1;
+ sal_Bool m_bAccessingValueProperty : 1;
+
+protected:
+ DbGridColumn& m_rColumn;
+ Window* m_pPainter;
+ Window* m_pWindow;
+
+protected:
+ // control transparency
+ inline sal_Bool isTransparent( ) const { return m_bTransparent; }
+ inline void setTransparent( sal_Bool _bSet ) { m_bTransparent = _bSet; }
+
+ // control alignment
+ inline void setAlignedController( sal_Bool _bAlign = sal_True ) { m_bAlignedController = _bAlign; }
+
+
+ /** determined whether or not the value property is locked
+ @see lockValueProperty
+ */
+ inline sal_Bool isValuePropertyLocked() const;
+
+ /** locks the listening at the value property.
+ <p>This means that every subsequent change now done on the value property of the model ("Text", or "Value",
+ or whatever) is then ignored.<br/>
+ This base class uses this setting in <method>Commit</method>.</p>
+ @precond
+ Value locking can't be nested
+ @see unlockValueProperty
+ */
+ inline void lockValueProperty();
+ /** unlocks the listening at the value property
+ @see lockValueProperty
+ */
+ inline void unlockValueProperty();
+
+protected:
+ // adds the given property to the list of properties which we listen for
+ void doPropertyListening( const ::rtl::OUString& _rPropertyName );
+
+ // called whenever a property which affects field settings in general is called
+ // you should overwrite this method for every property you add yourself as listener to
+ // with doPropertyListening
+ virtual void implAdjustGenericFieldSetting( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
+
+ // called by _propertyChanged if a property which denotes the column value has changed
+ void implValuePropertyChanged( );
+
+
+public:
+ DbCellControl(DbGridColumn& _rColumn, sal_Bool _bText = sal_True);
+ virtual ~DbCellControl();
+
+
+ Window* GetControl() const { return m_pWindow; }
+
+ // control alignment
+ inline sal_Bool isAlignedController() const { return m_bAlignedController; }
+ void AlignControl(sal_Int16 nAlignment);
+
+ void SetTextLineColor();
+ void SetTextLineColor(const Color& _rColor);
+
+ // Initialisieren bevor ein Control angezeigt wird
+ virtual void Init(Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& xCursor);
+ virtual CellControllerRef CreateController() const = 0;
+
+ // Schreiben des Wertes in das Model
+ sal_Bool Commit();
+
+ // Formatting the field data to output text
+ virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL) { return XubString(); }
+
+ virtual void Update(){}
+ // Refresh the control by the field data
+ virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter) {}
+
+ // Painten eines Zellinhalts im vorgegeben Rechteck
+ virtual void Paint(OutputDevice& rDev, const Rectangle& rRect);
+ virtual void Paint(OutputDevice& rDev, const Rectangle& rRect, const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter)
+ { Paint(rDev, rRect); }
+
+ void ImplInitSettings(Window* pParent, sal_Bool bFont, sal_Bool bForeground, sal_Bool bBackground);
+
+protected:
+ double GetValue(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter) const;
+
+ void invalidatedController();
+
+ /** commits the content of the control (e.g. the text of an edit field) into the column model
+ (e.g. the "Text" property of the model).
+ <p>To be overwritten in derived classes.</p>
+ @see updateFromModel
+ */
+ virtual sal_Bool commitControl( ) = 0;
+
+ /** updates the current content of the control (e.g. the text of an edit field) from the column model
+ (e.g. the "Text" property of the model).
+ <p>To be overwritten in derived classes.</p>
+ @precond
+ NULL != _rxModel
+ @precond
+ NULL != m_pWindow
+
+ @see commitControl
+ */
+ virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel ) = 0;
+
+protected:
+// OPropertyChangeListener
+ virtual void _propertyChanged(const ::com::sun::star::beans::PropertyChangeEvent& evt) throw(::com::sun::star::uno::RuntimeException);
+
+private:
+ void implDoPropertyListening( const ::rtl::OUString& _rPropertyName, sal_Bool _bWarnIfNotExistent = sal_True );
+
+ /// updates the "readonly" setting on m_pWindow, according to the respective property value in the given model
+ void implAdjustReadOnly( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
+
+ /// updates the "enabled" setting on m_pWindow, according to the respective property value in the given model
+ void implAdjustEnabled( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
+};
+
+//==================================================================
+//------------------------------------------------------------------
+inline sal_Bool DbCellControl::isValuePropertyLocked() const
+{
+ return m_bAccessingValueProperty;
+}
+
+//------------------------------------------------------------------
+inline void DbCellControl::lockValueProperty()
+{
+ OSL_ENSURE( !isValuePropertyLocked(), "DbCellControl::lockValueProperty: not to be nested!" );
+ m_bAccessingValueProperty = sal_True;
+}
+
+//------------------------------------------------------------------
+inline void DbCellControl::unlockValueProperty()
+{
+ OSL_ENSURE( isValuePropertyLocked(), "DbCellControl::lockValueProperty: not locked so far!" );
+ m_bAccessingValueProperty = sal_False;
+}
+
+//==================================================================
+/** a field which is bound to a column which supports the MaxTextLen property
+*/
+class DbLimitedLengthField : public DbCellControl
+{
+protected:
+ DbLimitedLengthField( DbGridColumn& _rColumn );
+
+protected:
+ // DbCellControl
+ virtual void implAdjustGenericFieldSetting( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
+};
+
+//==================================================================
+class DbTextField : public DbLimitedLengthField
+{
+ sal_Int16 m_nKeyType;
+
+public:
+ DbTextField(DbGridColumn& _rColumn);
+ virtual void Init(Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& xCursor );
+ virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL);
+ virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
+ virtual CellControllerRef CreateController() const;
+
+protected:
+ // DbCellControl
+ virtual sal_Bool commitControl( );
+ virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
+};
+
+//==================================================================
+class DbFormattedField : public DbLimitedLengthField
+{
+protected:
+ ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatsSupplier > m_xSupplier;
+ sal_Int16 m_nKeyType;
+
+
+public:
+ DbFormattedField(DbGridColumn& _rColumn);
+ virtual ~DbFormattedField();
+
+
+ virtual void Init(Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& xCursor );
+ virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL);
+ virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
+ virtual CellControllerRef CreateController() const;
+
+protected:
+ // DbCellControl
+ virtual sal_Bool commitControl( );
+ virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
+
+ // OPropertyChangeListener
+ virtual void _propertyChanged(const ::com::sun::star::beans::PropertyChangeEvent& evt) throw(::com::sun::star::uno::RuntimeException);
+};
+
+//==================================================================
+class DbCheckBox : public DbCellControl
+{
+public:
+ DbCheckBox(DbGridColumn& _rColumn);
+ virtual void Init(Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& xCursor );
+ virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
+ virtual CellControllerRef CreateController() const;
+ virtual void Paint(OutputDevice& rDev, const Rectangle& rRect,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
+
+protected:
+ // DbCellControl
+ virtual sal_Bool commitControl( );
+ virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
+};
+
+//==================================================================
+class DbComboBox : public DbCellControl
+{
+ sal_Int16 m_nKeyType;
+
+public:
+ DbComboBox(DbGridColumn& _rColumn);
+
+ virtual void Init(Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& xCursor );
+ virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL);
+ virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
+ virtual CellControllerRef CreateController() const;
+
+ void SetList(const ::com::sun::star::uno::Any& rItems);
+
+protected:
+ // DbCellControl
+ virtual sal_Bool commitControl( );
+ virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
+
+ virtual void implAdjustGenericFieldSetting( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
+
+ // OPropertyChangeListener
+ virtual void _propertyChanged(const ::com::sun::star::beans::PropertyChangeEvent& evt) throw(::com::sun::star::uno::RuntimeException);
+};
+
+//==================================================================
+class DbListBox :public DbCellControl
+{
+ sal_Bool m_bBound : 1;
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > m_aValueList;
+
+public:
+ DbListBox(DbGridColumn& _rColumn);
+
+ virtual void Init(Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& xCursor );
+ virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL);
+ virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
+ virtual CellControllerRef CreateController() const;
+
+ void SetList(const ::com::sun::star::uno::Any& rItems);
+
+protected:
+ // DbCellControl
+ virtual sal_Bool commitControl( );
+ virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
+
+ virtual void implAdjustGenericFieldSetting( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
+
+ // OPropertyChangeListener
+ virtual void _propertyChanged(const ::com::sun::star::beans::PropertyChangeEvent& evt) throw(::com::sun::star::uno::RuntimeException);
+};
+
+//==================================================================
+class DbPatternField : public DbCellControl
+{
+public:
+ DbPatternField(DbGridColumn& _rColumn);
+ virtual void Init(Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& xCursor );
+ virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL);
+ virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
+ virtual CellControllerRef CreateController() const;
+
+protected:
+ /// DbCellControl
+ virtual sal_Bool commitControl( );
+ virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
+
+ virtual void implAdjustGenericFieldSetting( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
+};
+
+//==================================================================
+class DbSpinField : public DbCellControl
+{
+private:
+ sal_Int16 m_nStandardAlign;
+
+protected:
+ DbSpinField( DbGridColumn& _rColumn, sal_Int16 _nStandardAlign = ::com::sun::star::awt::TextAlign::RIGHT );
+
+public:
+ virtual void Init( Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& _rxCursor );
+ virtual CellControllerRef CreateController() const;
+
+protected:
+ virtual SpinField* createField(
+ Window* _pParent,
+ WinBits _nFieldStyle,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel
+ ) = 0;
+};
+
+//==================================================================
+class DbDateField : public DbSpinField
+{
+public:
+ DbDateField(DbGridColumn& _rColumn);
+ virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL);
+ virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
+
+protected:
+ // DbCellControl
+ virtual sal_Bool commitControl( );
+ virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
+
+ // DbSpinField
+ virtual SpinField* createField(
+ Window* _pParent,
+ WinBits _nFieldStyle,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel
+ );
+
+ /// initializes everything which relates to the properties describing the numeric behaviour
+ virtual void implAdjustGenericFieldSetting( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
+};
+
+//==================================================================
+class DbTimeField : public DbSpinField
+{
+public:
+ DbTimeField(DbGridColumn& _rColumn);
+ virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL);
+ virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
+
+protected:
+ // DbCellControl
+ virtual sal_Bool commitControl( );
+ virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
+
+ // DbSpinField
+ virtual SpinField* createField(
+ Window* _pParent,
+ WinBits _nFieldStyle,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel
+ );
+
+ /// initializes everything which relates to the properties describing the numeric behaviour
+ virtual void implAdjustGenericFieldSetting( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
+};
+
+//==================================================================
+class DbCurrencyField : public DbSpinField
+{
+ sal_Int16 m_nScale;
+
+public:
+ DbCurrencyField(DbGridColumn& _rColumn);
+ virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL);
+ virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
+
+protected:
+ double GetCurrency(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter) const;
+
+protected:
+ // DbCellControl
+ virtual sal_Bool commitControl( );
+ virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
+
+ // DbSpinField
+ virtual SpinField* createField(
+ Window* _pParent,
+ WinBits _nFieldStyle,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel
+ );
+
+ /// initializes everything which relates to the properties describing the numeric behaviour
+ virtual void implAdjustGenericFieldSetting( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
+};
+
+//==================================================================
+class DbNumericField : public DbSpinField
+{
+public:
+ DbNumericField(DbGridColumn& _rColumn);
+ virtual XubString GetFormatText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter, Color** ppColor = NULL);
+ virtual void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant, const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
+
+protected:
+ // DbCellControl
+ virtual sal_Bool commitControl( );
+ virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
+
+ // DbSpinField
+ virtual SpinField* createField(
+ Window* _pParent,
+ WinBits _nFieldStyle,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel
+ );
+
+ /// initializes everything which relates to the properties describing the numeric behaviour
+ void implAdjustGenericFieldSetting( const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& _rxModel );
+};
+
+//==================================================================
+class DbFilterField
+ :public DbCellControl
+ ,public ::binfilter::svxform::OSQLParserClient//STRIP008 ,public ::svxform::OSQLParserClient
+{
+ ::com::sun::star::uno::Sequence< ::rtl::OUString > m_aValueList;
+ XubString m_aText;
+ Link m_aCommitLink;
+ sal_Int16 m_nControlClass;
+ sal_Bool m_bFilterList : 1;
+ sal_Bool m_bFilterListFilled : 1;
+ sal_Bool m_bBound : 1;
+
+public:
+ DbFilterField(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB,DbGridColumn& _rColumn);
+ virtual ~DbFilterField();
+
+ virtual void Init(Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRowSet >& xCursor);
+ virtual CellControllerRef CreateController() const;
+ virtual void Paint(OutputDevice& rDev, const Rectangle& rRect);
+ virtual void Update();
+
+ const XubString& GetText() const {return m_aText;}
+ void SetText(const XubString& rText);
+
+ void SetCommitHdl( const Link& rLink ) { m_aCommitLink = rLink; }
+ const Link& GetCommitHdl() const { return m_aCommitLink; }
+
+protected:
+
+ // DbCellControl
+ virtual sal_Bool commitControl( );
+ virtual void updateFromModel( ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet > _rxModel );
+
+protected:
+ void SetList(const ::com::sun::star::uno::Any& rItems, sal_Bool bComboBox);
+ void CreateControl(Window* pParent, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet >& xModel);
+ DECL_LINK( OnClick, void* );
+};
+
+//==================================================================
+// Base class providing the access to a grid cell
+//==================================================================
+class FmXGridCell : public ::cppu::OComponentHelper,
+ public ::com::sun::star::awt::XControl,
+ public ::com::sun::star::form::XBoundControl
+{
+protected:
+ ::osl::Mutex m_aMutex;
+ DbGridColumn* m_pColumn;
+ DbCellControl* m_pCellControl;
+
+ virtual ~FmXGridCell();
+public:
+ TYPEINFO();
+ FmXGridCell(DbGridColumn* pColumn, DbCellControl* pControl);
+
+
+ DECLARE_UNO3_AGG_DEFAULTS(FmXGridCell, OComponentHelper);
+ virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type& _rType ) throw(::com::sun::star::uno::RuntimeException);
+
+ void SetTextLineColor();
+ void SetTextLineColor(const Color& _rColor);
+
+// XTypeProvider
+ virtual ::com::sun::star::uno::Sequence< sal_Int8 > SAL_CALL getImplementationId() throw(::com::sun::star::uno::RuntimeException);
+
+// OComponentHelper
+ virtual void SAL_CALL disposing();
+
+// ::com::sun::star::lang::XComponent
+ virtual void SAL_CALL dispose() throw(::com::sun::star::uno::RuntimeException){OComponentHelper::dispose();}
+ virtual void SAL_CALL addEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener)throw(::com::sun::star::uno::RuntimeException) { OComponentHelper::addEventListener(aListener);}
+ virtual void SAL_CALL removeEventListener(const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XEventListener >& aListener)throw(::com::sun::star::uno::RuntimeException) { OComponentHelper::removeEventListener(aListener);}
+
+// ::com::sun::star::awt::XControl
+ virtual void SAL_CALL setContext(const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& Context) throw(::com::sun::star::uno::RuntimeException){}
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getContext() throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL createPeer(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XToolkit >& Toolkit, const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer >& Parent) throw(::com::sun::star::uno::RuntimeException){}
+
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer > SAL_CALL getPeer() throw (::com::sun::star::uno::RuntimeException) {return ::com::sun::star::uno::Reference< ::com::sun::star::awt::XWindowPeer > ();}
+ virtual sal_Bool SAL_CALL setModel(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel >& Model) throw (::com::sun::star::uno::RuntimeException) {return sal_False;}
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlModel > SAL_CALL getModel() throw (::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::awt::XView > SAL_CALL getView() throw (::com::sun::star::uno::RuntimeException) {return ::com::sun::star::uno::Reference< ::com::sun::star::awt::XView > ();}
+ virtual void SAL_CALL setDesignMode(sal_Bool bOn) throw (::com::sun::star::uno::RuntimeException) {}
+ virtual sal_Bool SAL_CALL isDesignMode() throw (::com::sun::star::uno::RuntimeException) {return sal_False;}
+ virtual sal_Bool SAL_CALL isTransparent() throw (::com::sun::star::uno::RuntimeException) {return sal_False;}
+
+// ::com::sun::star::form::XBoundControl
+ virtual sal_Bool SAL_CALL getLock() throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setLock(sal_Bool _bLock) throw(::com::sun::star::uno::RuntimeException);
+
+ sal_Bool Commit() {return m_pCellControl->Commit();}
+ void ImplInitSettings(Window* pParent, sal_Bool bFont, sal_Bool bForeground, sal_Bool bBackground)
+ { m_pCellControl->ImplInitSettings(pParent, bFont, bForeground, bBackground); }
+
+ sal_Bool isAlignedController() const { return m_pCellControl->isAlignedController(); }
+ void AlignControl(sal_Int16 nAlignment)
+ { m_pCellControl->AlignControl(nAlignment);}
+};
+
+//==================================================================
+class FmXDataCell : public FmXGridCell
+{
+public:
+ TYPEINFO();
+ FmXDataCell(DbGridColumn* pColumn, DbCellControl* pControl):FmXGridCell(pColumn, pControl){}
+
+ virtual void Paint(OutputDevice& rDev,
+ const Rectangle& rRect,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& xField,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
+
+ void UpdateFromField(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& xField,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter)
+ { m_pCellControl->UpdateFromField(xField, xFormatter); }
+
+protected:
+ void UpdateFromColumn();
+};
+
+//==================================================================
+class FmXTextCell : public FmXDataCell
+{
+public:
+ TYPEINFO();
+ FmXTextCell(DbGridColumn* pColumn, DbCellControl* pControl):FmXDataCell(pColumn, pControl){}
+
+ virtual void Paint(OutputDevice& rDev,
+ const Rectangle& rRect,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& xField,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter);
+
+ XubString GetText(const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn >& _xVariant,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::util::XNumberFormatter >& xFormatter,
+ Color** ppColor = NULL)
+ {return m_pCellControl->GetFormatText(_xVariant, xFormatter, ppColor);}
+};
+
+//==================================================================
+class FmXEditCell : public FmXTextCell,
+ public ::com::sun::star::awt::XTextComponent
+{
+protected:
+ ::cppu::OInterfaceContainerHelper m_aTextListeners;
+ Edit* m_pEdit;
+
+ virtual ~FmXEditCell();
+public:
+ FmXEditCell(DbGridColumn* pColumn, DbCellControl* pControl);
+
+
+ DECLARE_UNO3_AGG_DEFAULTS(FmXEditCell, FmXTextCell);
+ virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type& _rType ) throw(::com::sun::star::uno::RuntimeException);
+
+// XTypeProvider
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
+
+// OComponentHelper
+ virtual void SAL_CALL disposing();
+
+// ::com::sun::star::awt::XTextComponent
+ virtual void SAL_CALL addTextListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextListener >& l) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeTextListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextListener >& l) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setText(const ::rtl::OUString& aText) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL insertText(const ::com::sun::star::awt::Selection& Sel, const ::rtl::OUString& Text) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getText() throw(::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getSelectedText() throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setSelection(const ::com::sun::star::awt::Selection& aSelection) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::awt::Selection SAL_CALL getSelection() throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL isEditable() throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setEditable(sal_Bool bEditable) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setMaxTextLen(sal_Int16 nLen) throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Int16 SAL_CALL getMaxTextLen() throw(::com::sun::star::uno::RuntimeException);
+
+protected:
+ DECL_LINK( OnTextChanged, void* );
+};
+
+//==================================================================
+class FmXCheckBoxCell : public FmXDataCell,
+ public ::com::sun::star::awt::XCheckBox
+{
+ ::cppu::OInterfaceContainerHelper m_aItemListeners;
+ CheckBox* m_pBox;
+protected:
+ virtual ~FmXCheckBoxCell();
+public:
+ FmXCheckBoxCell(DbGridColumn* pColumn, DbCellControl* pControl);
+
+
+// UNO
+ DECLARE_UNO3_AGG_DEFAULTS(FmXCheckBoxCell, FmXDataCell);
+ virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type& _rType ) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
+
+// OComponentHelper
+ virtual void SAL_CALL disposing();
+
+// ::com::sun::star::awt::XCheckBox
+ virtual void SAL_CALL addItemListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeItemListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l) throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Int16 SAL_CALL getState() throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setState(sal_Int16 n) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setLabel(const ::rtl::OUString& Label) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL enableTriState(sal_Bool b) throw(::com::sun::star::uno::RuntimeException);
+
+protected:
+ DECL_LINK( OnClick, void* );
+};
+
+//==================================================================
+class FmXListBoxCell : public FmXTextCell,
+ public ::com::sun::star::awt::XListBox
+{
+ ::cppu::OInterfaceContainerHelper m_aItemListeners,
+ m_aActionListeners;
+ ListBox* m_pBox;
+protected:
+ virtual ~FmXListBoxCell();
+public:
+ FmXListBoxCell(DbGridColumn* pColumn, DbCellControl* pControl);
+
+
+ DECLARE_UNO3_AGG_DEFAULTS(FmXListBoxCell, FmXTextCell);
+ virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type& _rType ) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Type > SAL_CALL getTypes( ) throw(::com::sun::star::uno::RuntimeException);
+
+// OComponentHelper
+ virtual void SAL_CALL disposing();
+
+// ::com::sun::star::awt::XListBox
+ virtual void SAL_CALL addItemListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeItemListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XItemListener >& l) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL addActionListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XActionListener >& l) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeActionListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XActionListener >& l) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL addItem(const ::rtl::OUString& aItem, sal_Int16 nPos) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL addItems(const ::com::sun::star::uno::Sequence< ::rtl::OUString >& aItems, sal_Int16 nPos) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeItems(sal_Int16 nPos, sal_Int16 nCount) throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Int16 SAL_CALL getItemCount() throw(::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getItem(sal_Int16 nPos) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getItems() throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Int16 SAL_CALL getSelectedItemPos() throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< sal_Int16 > SAL_CALL getSelectedItemsPos() throw(::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getSelectedItem() throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::uno::Sequence< ::rtl::OUString > SAL_CALL getSelectedItems() throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL SAL_CALL selectItemPos(sal_Int16 nPos, sal_Bool bSelect) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL SAL_CALL selectItemsPos(const ::com::sun::star::uno::Sequence< sal_Int16 >& aPositions, sal_Bool bSelect) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL SAL_CALL selectItem(const ::rtl::OUString& aItem, sal_Bool bSelect) throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL isMutipleMode() throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL SAL_CALL setMultipleMode(sal_Bool bMulti) throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Int16 SAL_CALL getDropDownLineCount() throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL SAL_CALL setDropDownLineCount(sal_Int16 nLines) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL SAL_CALL makeVisible(sal_Int16 nEntry) throw(::com::sun::star::uno::RuntimeException);
+
+protected:
+ DECL_LINK( OnSelect, void* );
+ DECL_LINK( OnDoubleClick, void* );
+};
+
+//==================================================================
+class FmXFilterCell :public FmXGridCell
+ ,public ::com::sun::star::awt::XTextComponent
+ ,public ::com::sun::star::lang::XUnoTunnel
+{
+ ::cppu::OInterfaceContainerHelper m_aTextListeners;
+protected:
+ virtual ~FmXFilterCell();
+public:
+ TYPEINFO();
+ FmXFilterCell(DbGridColumn* pColumn = NULL, DbCellControl* pControl = NULL);
+
+
+ DECLARE_UNO3_AGG_DEFAULTS(FmXFilterCell, FmXGridCell);
+ virtual ::com::sun::star::uno::Any SAL_CALL queryAggregation( const ::com::sun::star::uno::Type& _rType ) throw(::com::sun::star::uno::RuntimeException);
+ 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);
+
+// helpers for XUnoTunnel
+ static const ::com::sun::star::uno::Sequence<sal_Int8>& getUnoTunnelId();
+ static FmXFilterCell* getImplementation(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControl >& _rxObject);
+
+// Painting the filter text
+ void Paint(OutputDevice& rDev, const Rectangle& rRect);
+ void Update(){m_pCellControl->Update();}
+
+// OComponentHelper
+ virtual void SAL_CALL disposing();
+
+// ::com::sun::star::awt::XTextComponent
+ virtual void SAL_CALL addTextListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextListener >& l) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL removeTextListener(const ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTextListener >& l) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setText(const ::rtl::OUString& aText) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL insertText(const ::com::sun::star::awt::Selection& Sel, const ::rtl::OUString& Text) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getText() throw(::com::sun::star::uno::RuntimeException);
+ virtual ::rtl::OUString SAL_CALL getSelectedText() throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setSelection(const ::com::sun::star::awt::Selection& aSelection) throw(::com::sun::star::uno::RuntimeException);
+ virtual ::com::sun::star::awt::Selection SAL_CALL getSelection() throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Bool SAL_CALL isEditable() throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setEditable(sal_Bool bEditable) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL setMaxTextLen(sal_Int16 nLen) throw(::com::sun::star::uno::RuntimeException);
+ virtual sal_Int16 SAL_CALL getMaxTextLen() throw(::com::sun::star::uno::RuntimeException);
+
+protected:
+ DECL_LINK( OnCommit, void* );
+};
+
+}//end of namespace binfilter
+#endif // _SVX_GRIDCELL_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/gridcols.hxx b/binfilter/bf_svx/source/inc/gridcols.hxx
new file mode 100644
index 000000000000..d06288915732
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/gridcols.hxx
@@ -0,0 +1,71 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _SVX_GRIDCOLS_HXX
+#define _SVX_GRIDCOLS_HXX
+
+#include "fmstatic.hxx"
+namespace binfilter {
+
+namespace svxform
+{
+
+ // list of possible controls
+ DECLARE_CONSTASCII_USTRING(FM_COL_TEXTFIELD);
+ DECLARE_CONSTASCII_USTRING(FM_COL_CHECKBOX);
+ DECLARE_CONSTASCII_USTRING(FM_COL_COMBOBOX);
+ DECLARE_CONSTASCII_USTRING(FM_COL_LISTBOX);
+ DECLARE_CONSTASCII_USTRING(FM_COL_NUMERICFIELD);
+ DECLARE_CONSTASCII_USTRING(FM_COL_DATEFIELD);
+ DECLARE_CONSTASCII_USTRING(FM_COL_TIMEFIELD);
+ DECLARE_CONSTASCII_USTRING(FM_COL_CURRENCYFIELD);
+ DECLARE_CONSTASCII_USTRING(FM_COL_PATTERNFIELD);
+ DECLARE_CONSTASCII_USTRING(FM_COL_FORMATTEDFIELD);
+
+} // namespace svxform
+
+
+// column type ids
+#define TYPE_CHECKBOX 0
+#define TYPE_COMBOBOX 1
+#define TYPE_CURRENCYFIELD 2
+#define TYPE_DATEFIELD 3
+#define TYPE_FORMATTEDFIELD 4
+#define TYPE_LISTBOX 5
+#define TYPE_NUMERICFIELD 6
+#define TYPE_PATTERNFIELD 7
+#define TYPE_TEXTFIELD 8
+#define TYPE_TIMEFIELD 9
+
+//------------------------------------------------------------------------------
+sal_Int32 getColumnTypeByModelName(const ::rtl::OUString& aModelName);
+
+
+}//end of namespace binfilter
+#endif // _SVX_GRIDCOLS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/multipro.hxx b/binfilter/bf_svx/source/inc/multipro.hxx
new file mode 100644
index 000000000000..af1d48483f79
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/multipro.hxx
@@ -0,0 +1,74 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _MULTIPRO_HXX
+#define _MULTIPRO_HXX
+
+#include <com/sun/star/form/XFormComponent.hpp>
+#include <comphelper/composedprops.hxx>
+#include <svdmark.hxx>
+namespace binfilter {
+
+//.........................................................................
+namespace svxform
+{
+//.........................................................................
+
+ //==================================================================
+ // FmXMultiSet
+ //==================================================================
+ typedef ::comphelper::OComposedPropertySet FmXMultiSet_Base;
+ class FmXMultiSet
+ :public FmXMultiSet_Base
+ ,public ::com::sun::star::form::XFormComponent
+ {
+ protected:
+ ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > m_xParent;
+
+ public:
+ FmXMultiSet(const ::com::sun::star::uno::Sequence< ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> > & _rPropertySets);
+
+ // XInterface
+ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& aType ) throw(::com::sun::star::uno::RuntimeException);
+ virtual void SAL_CALL acquire( ) throw();
+ virtual void SAL_CALL release( ) throw();
+
+ // XChild
+ virtual ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface > SAL_CALL getParent( ) throw(::com::sun::star::uno::RuntimeException);
+ 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);
+
+ static FmXMultiSet* Create(const SdrMarkList& rMarkList);
+ };
+
+//.........................................................................
+} // namespace svxform
+//.........................................................................
+
+}//end of namespace binfilter
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/mutxhelp.hxx b/binfilter/bf_svx/source/inc/mutxhelp.hxx
new file mode 100644
index 000000000000..86fc0a3b9e5a
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/mutxhelp.hxx
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_MUTXHELP_HXX
+#define _SVX_MUTXHELP_HXX
+
+#include <osl/mutex.hxx>
+namespace binfilter {
+
+class SvxMutexHelper
+{
+private:
+ ::osl::Mutex maMutex;
+
+public:
+ ::osl::Mutex& getMutex() { return maMutex; }
+};
+
+}//end of namespace binfilter
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/sdbdatacolumn.hxx b/binfilter/bf_svx/source/inc/sdbdatacolumn.hxx
new file mode 100644
index 000000000000..178dd169e5c7
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/sdbdatacolumn.hxx
@@ -0,0 +1,145 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef SVX_FORM_SDBDATACOLUMN_HXX
+#define SVX_FORM_SDBDATACOLUMN_HXX
+
+#include <com/sun/star/beans/XPropertySet.hpp>
+#include <com/sun/star/sdb/XColumn.hpp>
+#include <com/sun/star/sdb/XColumnUpdate.hpp>
+#include <osl/diagnose.h>
+namespace binfilter {
+
+//..............................................................................
+namespace svxform
+{
+//..............................................................................
+
+ //==========================================================================
+ //= DataColumn - a class wrapping an object implementing a sdb::DataColumn service
+ //==========================================================================
+ class DataColumn
+ {
+ // interfaces needed for sddb::Column
+ ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet> m_xPropertySet;
+ // interfaces needed for sdb::DataColumn
+ ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn> m_xColumn;
+ ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumnUpdate> m_xColumnUpdate;
+
+ public:
+ DataColumn() { };
+ DataColumn(const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& _rxIFace);
+ // if the object behind _rxIFace doesn't fully support the DataColumn service,
+ // (which is checked via the supported interfaces) _all_ members will be set to
+ // void !, even if the object has some of the needed interfaces.
+
+ sal_Bool is() const { return m_xColumn.is(); }
+ sal_Bool Is() const { return m_xColumn.is(); }
+ sal_Bool supportsUpdate() const { return m_xColumnUpdate.is(); }
+
+ DataColumn* operator ->() { return this; }
+ operator ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface> () const{ return m_xColumn.get(); }
+
+ // 'conversions'
+ inline const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>& getPropertySet() const
+ {
+ return m_xPropertySet;
+ }
+ inline const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumn>& getColumn() const
+ {
+ return m_xColumn;
+ }
+ inline const ::com::sun::star::uno::Reference< ::com::sun::star::sdb::XColumnUpdate>& getColumnUpdate() const
+ {
+ OSL_ENSURE(m_xColumnUpdate.is() , "DataColumn::getColumnUpdate: NULL!");
+ return m_xColumnUpdate;
+ }
+
+ // das normale queryInterface
+ virtual ::com::sun::star::uno::Any SAL_CALL queryInterface( const ::com::sun::star::uno::Type& type) throw ( ::com::sun::star::uno::RuntimeException )
+ { return m_xColumn->queryInterface(type); }
+
+ // ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySet>
+ inline ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertySetInfo> getPropertySetInfo() const throw( ::com::sun::star::uno::RuntimeException );
+ inline void setPropertyValue(const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Any& aValue) 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 );
+ inline ::com::sun::star::uno::Any getPropertyValue(const ::rtl::OUString& PropertyName) const throw( ::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
+ inline void addPropertyChangeListener(const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener>& xListener) throw( ::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
+ inline void removePropertyChangeListener(const ::rtl::OUString& aPropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XPropertyChangeListener>& aListener) throw( ::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
+ inline void addVetoableChangeListener(const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener>& aListener) throw( ::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
+ inline void removeVetoableChangeListener(const ::rtl::OUString& PropertyName, const ::com::sun::star::uno::Reference< ::com::sun::star::beans::XVetoableChangeListener>& aListener) throw( ::com::sun::star::beans::UnknownPropertyException, ::com::sun::star::lang::WrappedTargetException, ::com::sun::star::uno::RuntimeException );
+
+ // ::com::sun::star::sdb::XColumn
+ inline sal_Bool wasNull() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline ::rtl::OUString getString() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline sal_Bool getBoolean() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline sal_Int8 getByte() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline sal_Int16 getShort() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline sal_Int32 getInt() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline sal_Int64 getLong() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline float getFloat() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline double getDouble() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline ::com::sun::star::uno::Sequence< sal_Int8 > getBytes() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline ::com::sun::star::util::Date getDate() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline ::com::sun::star::util::Time getTime() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline ::com::sun::star::util::DateTime getTimestamp() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream> getBinaryStream() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline ::com::sun::star::uno::Reference< ::com::sun::star::io::XInputStream> getCharacterStream() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline ::com::sun::star::uno::Any getObject(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess>& typeMap) throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XRef> getRef() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XBlob> getBlob() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XClob> getClob() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline ::com::sun::star::uno::Reference< ::com::sun::star::sdbc::XArray> getArray() throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+
+ // XColumnUpdate
+ inline void updateNull(void) throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline void updateBoolean(sal_Bool x) throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline void updateByte(sal_Int8 x) throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline void updateShort(sal_Int16 x) throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline void updateInt(sal_Int32 x) throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline void updateLong(sal_Int64 x) throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline void updateFloat(float x) throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline void updateDouble(double x) throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline void updateString(const ::rtl::OUString& x) throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline void updateBytes(const ::com::sun::star::uno::Sequence< sal_Int8 >& x) throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline void updateDate(const ::com::sun::star::util::Date& x) throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline void updateTime(const ::com::sun::star::util::Time& x) throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline void updateTimestamp(const ::com::sun::star::util::DateTime& x) throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline void updateBinaryStream(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 );
+ inline void updateCharacterStream(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 );
+ inline void updateObject(const ::com::sun::star::uno::Any& x) throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ inline void updateNumericObject(const ::com::sun::star::uno::Any& x, sal_Int32 scale) throw( ::com::sun::star::sdbc::SQLException, ::com::sun::star::uno::RuntimeException );
+ };
+
+}
+#endif // SVX_FORM_SDBDATACOLUMN_HXX
+
+//..............................................................................
+}//end of namespace binfilter // namespace svxform
+//..............................................................................
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/showcols.hxx b/binfilter/bf_svx/source/inc/showcols.hxx
new file mode 100644
index 000000000000..90f37f344a3a
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/showcols.hxx
@@ -0,0 +1,69 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_SHOWCOLS_HXX
+#define _SVX_SHOWCOLS_HXX
+
+#include <vcl/dialog.hxx>
+
+#include <vcl/lstbox.hxx>
+
+#include <vcl/fixed.hxx>
+
+#include <vcl/button.hxx>
+
+#include <com/sun/star/container/XIndexContainer.hpp>
+namespace binfilter {
+
+//==========================================================================
+// FmShowColsDialog
+//==========================================================================
+
+class FmShowColsDialog : public ModalDialog
+{
+ ListBox m_aList;
+ FixedText m_aLabel;
+ OKButton m_aOK;
+ CancelButton m_aCancel;
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexAccess > m_xColumns;
+
+public:
+ FmShowColsDialog( Window* pParent );
+ virtual ~FmShowColsDialog();
+
+ void SetColumns(const ::com::sun::star::uno::Reference< ::com::sun::star::container::XIndexContainer>& xCols);
+
+protected:
+ DECL_LINK( OnClickedOk, Button* );
+};
+
+}//end of namespace binfilter
+#endif // _SVX_SHOWCOLS_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/sqlparserclient.hxx b/binfilter/bf_svx/source/inc/sqlparserclient.hxx
new file mode 100644
index 000000000000..1e0043c843c6
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/sqlparserclient.hxx
@@ -0,0 +1,70 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef SVX_SQLPARSERCLIENT_HXX
+#define SVX_SQLPARSERCLIENT_HXX
+
+#include "dbtoolsclient.hxx"
+#include "ParseContext.hxx"
+namespace binfilter {
+
+//........................................................................
+namespace svxform
+{
+//........................................................................
+
+ //====================================================================
+ //= OSQLParserClient
+ //====================================================================
+ class OSQLParserClient : public ODbtoolsClient
+ ,public ::binfilter::svxform::OParseContextClient//STRIP008 ,public ::svxform::OParseContextClient
+ {
+ private:
+ //add by BerryJia for fixing Bug97420 Time:2002-9-12-11:00(PRC time)
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xORB;
+
+ protected:
+ mutable ::rtl::Reference< ::connectivity::simple::ISQLParser > m_xParser;
+
+ protected:
+ OSQLParserClient(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _rxORB);
+ //add by BerryJia for fixing Bug97420 Time:2002-9-12-11:00(PRC time)
+
+ protected:
+ };
+
+//........................................................................
+} // namespace svxform
+//........................................................................
+
+}//end of namespace binfilter
+#endif // SVX_SQLPARSERCLIENT_HXX
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/svdoimp.hxx b/binfilter/bf_svx/source/inc/svdoimp.hxx
new file mode 100644
index 000000000000..a182dd38ee06
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/svdoimp.hxx
@@ -0,0 +1,277 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_SVDOIMP_HXX
+#define _SVX_SVDOIMP_HXX
+
+#include <memory>
+#include <vector>
+
+#include <cppuhelper/weakref.hxx>
+
+#include <vcl/mapmod.hxx>
+
+#include <bf_svtools/lstner.hxx>
+
+#include <vcl/timer.hxx>
+
+#include "svdsob.hxx"
+
+#include "svdtypes.hxx" // fuer SdrLayerID
+
+#include "svdglue.hxx" // Klebepunkte
+
+#include "xdash.hxx"
+
+#include "xpoly.hxx"
+
+#include "poly3d.hxx"
+
+#include "xenum.hxx"
+class PolyPolygon;
+namespace binfilter {
+
+class SfxItemSet;
+class SdrObject;
+class ExtOutputDevice;
+class XFillAttrSetItem;
+class XLineAttrSetItem;
+class XPolyPolygon;
+class XPolygon;
+
+///////////////////////////////////////////////////////////////////////////////
+
+// #100127# Bracket filled shapes with a comment, if recording a Mtf
+class ImpGraphicFill
+{
+public:
+ ImpGraphicFill( const SdrObject& rObj, const ExtOutputDevice& rXOut, const SfxItemSet& rFillItemSet, bool bIsShadow=false );
+ ~ImpGraphicFill();
+
+private:
+ const SdrObject& mrObj;
+ const ExtOutputDevice& mrXOut;
+ bool mbCommentWritten;
+};
+
+///////////////////////////////////////////////////////////////////////////////
+
+// #104609# Extracted from XOutputDevice::ImpCalcBmpFillStartValues
+
+/** Calc offset and size for bitmap fill
+
+ This method calculates the size and the offset from the left, top
+ position of a shape in logical coordinates
+
+ @param rStartOffset
+ The offset from the left, top position of the output rectangle is returned
+
+ @param rBmpOutputSize
+ The output size of the bitmap is returned herein
+
+ @param rOutputRect
+ Specifies the output rectangle into which the bitmap should be tiled into
+
+ @param rOutputMapMode
+ Specifies the logical coordinate system the output rectangle is in
+
+ @param rFillBitmap
+ Specifies the bitmap to fill with
+
+ @param rBmpSize
+ The desired destination bitmap size. If null, size is taken from the bitmap
+
+ @param rBmpPerCent
+ Percentage of bitmap size, relative to the output rectangle
+
+ @param rBmpOffPerCent
+ Offset for bitmap tiling, in percentage relative to bitmap output size
+
+ @param bBmpLogSize
+ True when using the preferred bitmap size, False when using the percentage value
+
+ @param bBmpTile
+ True for tiling. False only paints one instance of the bitmap
+
+ @param bBmpStretch
+ True if bitmap should be stretched to output rect dimension
+
+ @param eBmpRectPoint
+ Position of the start point relative to the bitmap
+
+ */
+void ImpCalcBmpFillSizes( Size& rStartOffset,
+ Size& rBmpOutputSize,
+ const Rectangle& rOutputRect,
+ const MapMode& rOutputMapMode,
+ const Bitmap& rFillBitmap,
+ const Size& rBmpSize,
+ const Size& rBmpPerCent,
+ const Size& rBmpOffPerCent,
+ BOOL bBmpLogSize,
+ BOOL bBmpTile,
+ BOOL bBmpStretch,
+ RECT_POINT eBmpRectPoint );
+
+
+///////////////////////////////////////////////////////////////////////////////
+
+class ImpLineStyleParameterPack
+{
+ OutputDevice* mpOut;
+ XDash aDash;
+
+ XLineJoint eLineJoint;
+ XLineStyle eLineStyle;
+
+ const XPolygon& rStartPolygon;
+ const XPolygon& rEndPolygon;
+
+ INT32 nLineWidth;
+ INT32 nStartWidth;
+ INT32 nEndWidth;
+
+ ::std::vector<double> aDotDashArray;
+ double fFullDashDotLen;
+ double fDegreeStepWidth;
+
+ BOOL bStartCentered;
+ BOOL bEndCentered;
+ BOOL bForceNoArrowsLeft;
+ BOOL bForceNoArrowsRight;
+ BOOL bForceHair;
+
+public:
+ ImpLineStyleParameterPack(const SfxItemSet& rSet,
+ BOOL bForceHair, OutputDevice* pOut);
+ ~ImpLineStyleParameterPack();
+
+ OutputDevice* GetOutDev() const { return mpOut; }
+ INT32 GetLineWidth() const { return nLineWidth; }
+ INT32 GetDisplayLineWidth() const { return bForceHair ? 0 : nLineWidth; }
+ XLineStyle GetLineStyle() const { return eLineStyle; }
+
+ INT32 GetStartWidth() const { return nStartWidth; }
+ INT32 GetDisplayStartWidth() const { return bForceHair ? 0 : nStartWidth; }
+ INT32 GetEndWidth() const { return nEndWidth; }
+ INT32 GetDisplayEndWidth() const { return bForceHair ? 0 : nEndWidth; }
+
+ const XPolygon& GetStartPolygon() const { return rStartPolygon; }
+ const XPolygon& GetEndPolygon() const { return rEndPolygon; }
+
+ double GetDegreeStepWidth() const { return fDegreeStepWidth; }
+
+ XLineJoint GetLineJoint() const { return eLineJoint; }
+ double GetLinejointMiterUpperBound() const { return 3.0; }
+
+ XDashStyle GetDashStyle() const { return aDash.GetDashStyle(); }
+ UINT16 GetDots() const { return aDash.GetDots(); }
+ UINT32 GetDotLen() const { return aDash.GetDotLen(); }
+ UINT16 GetDashes() const { return aDash.GetDashes(); }
+ UINT32 GetDashLen() const { return aDash.GetDashLen(); }
+ UINT32 GetDashDistance() const { return aDash.GetDistance(); }
+ double GetFullDashDotLen() const { return fFullDashDotLen; }
+ UINT16 GetFirstDashDotIndex(double fPos, double& rfDist) const;
+ UINT16 GetNextDashDotIndex(UINT16 nInd, double& rfDist) const;
+ ::std::vector< double > GetDotDash() const { return ::std::vector< double >(aDotDashArray); }
+
+ BOOL IsStartCentered() const { return bStartCentered; }
+ BOOL IsEndCentered() const { return bEndCentered; }
+
+ BOOL IsStartActive() const { return (!bForceNoArrowsLeft && GetStartPolygon().GetPointCount() && GetStartWidth()); }
+ BOOL IsEndActive() const { return (!bForceNoArrowsRight && GetEndPolygon().GetPointCount() && GetEndWidth()); }
+
+ void ForceNoArrowsLeft(BOOL bNew) { bForceNoArrowsLeft = bNew; }
+ void ForceNoArrowsRight(BOOL bNew) { bForceNoArrowsRight = bNew; }
+};
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+class ImpLineGeometryCreator
+{
+ const ImpLineStyleParameterPack& mrLineAttr;
+ PolyPolygon3D& mrPolyPoly3D;
+ PolyPolygon3D& mrPolyLine3D;
+ BOOL mbLineDraft;
+
+ // private support functions
+ // help functions for line geometry creation
+ void ImpCreateLineGeometry(const Polygon3D& rSourcePoly);
+ double ImpCreateLineStartEnd(Polygon3D& rArrowPoly, const Polygon3D& rSourcePoly, BOOL bFront, double fWantedWidth, BOOL bCentered);
+ void ImpCreateSegmentsForLine(const Vector3D* pPrev, const Vector3D* pLeft, const Vector3D* pRight, const Vector3D* pNext, double fPolyPos);
+ void ImpCreateLineSegment(const Vector3D* pPrev, const Vector3D* pLeft, const Vector3D* pRight, const Vector3D* pNext);
+ double ImpSimpleFindCutPoint(const Vector3D& rEdge1Start, const Vector3D& rEdge1Delta, const Vector3D& rEdge2Start, const Vector3D& rEdge2Delta);
+
+public:
+ ImpLineGeometryCreator(const ImpLineStyleParameterPack& rAttr, PolyPolygon3D& rPoPo,
+ PolyPolygon3D& rPoLi, BOOL bIsLineDraft = FALSE)
+ : mrLineAttr(rAttr),
+ mrPolyPoly3D(rPoPo),
+ mrPolyLine3D(rPoLi),
+ mbLineDraft(bIsLineDraft)
+ {
+ }
+
+ void AddPolygon3D(const Polygon3D& rPoly) { ImpCreateLineGeometry(rPoly); }
+ const PolyPolygon3D& GetPolyPolygon3D() const { return mrPolyPoly3D; }
+ const PolyPolygon3D& GetPolyLines3D() const { return mrPolyLine3D; }
+ void Clear() { mrPolyPoly3D.Clear(); mrPolyLine3D.Clear(); }
+};
+
+////////////////////////////////////////////////////////////////////////////////////////////////////
+
+class SdrLineGeometry
+{
+ PolyPolygon3D maPolyPoly3D;
+ PolyPolygon3D maLinePoly3D;
+ ImpLineStyleParameterPack maLineAttr;
+ BOOL mbForceOnePixel;
+ BOOL mbForceTwoPixel;
+
+public:
+ SdrLineGeometry(const PolyPolygon3D& rPolyPoly, const PolyPolygon3D& rLinePoly,
+ const ImpLineStyleParameterPack& rLineAttr,
+ BOOL bForceOnePixel, BOOL bForceTwoPixel)
+ : maPolyPoly3D(rPolyPoly),
+ maLinePoly3D(rLinePoly),
+ maLineAttr(rLineAttr),
+ mbForceOnePixel(bForceOnePixel),
+ mbForceTwoPixel(bForceTwoPixel)
+ {}
+
+ PolyPolygon3D& GetPolyPoly3D() { return maPolyPoly3D; }
+ PolyPolygon3D& GetLinePoly3D() { return maLinePoly3D; }
+ ImpLineStyleParameterPack& GetLineAttr() { return maLineAttr; }
+ BOOL DoForceOnePixel() const { return mbForceOnePixel; }
+ BOOL DoForceTwoPixel() const { return mbForceTwoPixel; }
+};
+
+}//end of namespace binfilter
+#endif // _SVX_SVDOIMP_HXX
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/svdoutlinercache.hxx b/binfilter/bf_svx/source/inc/svdoutlinercache.hxx
new file mode 100644
index 000000000000..3e85d1d69147
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/svdoutlinercache.hxx
@@ -0,0 +1,58 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_SDROUTLINER_HXX
+#define _SVX_SDROUTLINER_HXX
+
+#include <sal/types.h>
+namespace binfilter {
+
+class SdrModel;
+class SdrOutliner;
+
+
+class SdrOutlinerCache
+{
+private:
+ SdrModel* mpModel;
+
+ SdrOutliner* mpModeOutline;
+ SdrOutliner* mpModeText;
+public:
+ SdrOutlinerCache( SdrModel* pModel );
+ ~SdrOutlinerCache();
+
+ SdrOutliner* createOutliner( sal_uInt16 nOutlinerMode );
+ void disposeOutliner( SdrOutliner* pOutliner );
+};
+
+}//end of namespace binfilter
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/taborder.hrc b/binfilter/bf_svx/source/inc/taborder.hrc
new file mode 100644
index 000000000000..c654abf5daac
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/taborder.hrc
@@ -0,0 +1,41 @@
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#define FT_CONTROLS 1
+
+#define LB_CONTROLS 1
+
+#define PB_MOVE_UP 1
+#define PB_MOVE_DOWN 2
+#define PB_AUTO_ORDER 3
+
+#define PB_OK 4
+#define PB_CANCEL 5
+#define PB_HELP 6
+
+#define CTRL_TREE 1
+
diff --git a/binfilter/bf_svx/source/inc/taborder.hxx b/binfilter/bf_svx/source/inc/taborder.hxx
new file mode 100644
index 000000000000..66571fb0e4cd
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/taborder.hxx
@@ -0,0 +1,113 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _SVX_TABORDER_HXX
+#define _SVX_TABORDER_HXX
+
+#include <bf_svtools/svtreebx.hxx>
+
+#include <com/sun/star/awt/XTabControllerModel.hpp>
+#include <com/sun/star/awt/XControlContainer.hpp>
+
+#include <vcl/dialog.hxx>
+
+#include <vcl/button.hxx>
+
+
+#include <vcl/fixed.hxx>
+
+
+#include "fmexch.hxx"
+
+class SdrModel;
+class ImageList;
+
+#include <comphelper/uno3.hxx>
+FORWARD_DECLARE_INTERFACE(beans,XPropertySet)
+namespace binfilter {
+//STRIP008 FORWARD_DECLARE_INTERFACE(beans,XPropertySet)
+
+//========================================================================
+class FmOrderTreeListBox : public SvTreeListBox
+{
+protected:
+ ::binfilter::svxform::OControlExchangeHelper m_aFieldExchange;//STRIP008 ::svxform::OControlExchangeHelper m_aFieldExchange;
+
+public:
+ FmOrderTreeListBox( Window* pParent );
+ FmOrderTreeListBox( Window* pParent, const ResId& rResId );
+ virtual ~FmOrderTreeListBox();
+
+
+protected:
+ virtual sal_Int8 AcceptDrop( const AcceptDropEvent& rEvt );
+ virtual sal_Int8 ExecuteDrop( const ExecuteDropEvent& rEvt );
+ virtual void StartDrag( sal_Int8 nAction, const Point& rPosPixel );
+};
+
+
+//========================================================================
+class FmFormShell;
+class FmTabOrderDlg : public ModalDialog
+{
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XTabControllerModel > xTempModel, // Model zum Bearbeiten der TabReihenfolge
+ xModel; // Model mit der zu veraendernden TabReihenfolge
+
+ ::com::sun::star::uno::Reference< ::com::sun::star::awt::XControlContainer > xControlContainer;
+ ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > m_xORB;
+ SdrModel* pDrawModel;
+
+ FixedText aFT_Controls;
+ FmOrderTreeListBox aLB_Controls;
+
+ OKButton aPB_OK;
+ CancelButton aPB_CANCEL;
+ HelpButton aPB_HELP;
+
+ PushButton aPB_MoveUp;
+ PushButton aPB_MoveDown;
+ PushButton aPB_AutoOrder;
+
+ ImageList* pImageList;
+
+ DECL_LINK( MoveUpClickHdl, Button* );
+ DECL_LINK( MoveDownClickHdl, Button* );
+ DECL_LINK( AutoOrderClickHdl, Button* );
+ DECL_LINK( OKClickHdl, Button* );
+
+
+public:
+ FmTabOrderDlg( const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory >& _xORB,
+ Window* pParent, FmFormShell* pShell );
+ virtual ~FmTabOrderDlg();
+
+};
+
+}//end of namespace binfilter
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/tabwin.hxx b/binfilter/bf_svx/source/inc/tabwin.hxx
new file mode 100644
index 000000000000..640ed4972879
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/tabwin.hxx
@@ -0,0 +1,52 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_TABWIN_HXX
+#define _SVX_TABWIN_HXX
+
+#include <bf_sfx2/childwin.hxx>
+
+namespace binfilter {
+
+class FmFieldWin;
+
+class FmFormShell;
+
+class FmFieldWinMgr : public SfxChildWindow
+{
+public:
+ FmFieldWinMgr(Window *pParent, sal_uInt16 nId,
+ SfxBindings *pBindings, SfxChildWinInfo *pInfo);
+ SFX_DECL_CHILDWINDOW(FmFieldWinMgr);
+};
+
+
+}
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/tbxform.hxx b/binfilter/bf_svx/source/inc/tbxform.hxx
new file mode 100644
index 000000000000..f29922a52ff0
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/tbxform.hxx
@@ -0,0 +1,142 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _SVX_TBXFORM_HXX
+#define _SVX_TBXFORM_HXX
+
+#include <bf_sfx2/tbxctrl.hxx>
+
+
+
+
+class FixedText;
+namespace binfilter {
+
+//========================================================================
+
+
+//========================================================================
+
+
+//========================================================================
+
+
+//========================================================================
+class SvxFmTbxCtlConfig : public SfxToolBoxControl
+{
+private:
+ UINT16 nLastSlot;
+
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ SvxFmTbxCtlConfig( USHORT nId, ToolBox& rTbx, SfxBindings& );
+ ~SvxFmTbxCtlConfig() {}
+
+ virtual void StateChanged( USHORT nSID, SfxItemState eState,
+ const SfxPoolItem* pState );
+};
+
+//========================================================================
+class SvxFmTbxCtlAbsRec : public SfxToolBoxControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ SvxFmTbxCtlAbsRec( USHORT nId, ToolBox& rTbx, SfxBindings& rBindings );
+
+
+};
+
+//========================================================================
+class SvxFmTbxCtlRecText : public SfxToolBoxControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ SvxFmTbxCtlRecText( USHORT nId, ToolBox& rTbx, SfxBindings& rBindings );
+};
+
+//========================================================================
+class SvxFmTbxCtlRecFromText : public SfxToolBoxControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ SvxFmTbxCtlRecFromText( USHORT nId, ToolBox& rTbx, SfxBindings& rBindings );
+};
+
+//========================================================================
+class SvxFmTbxCtlRecTotal : public SfxToolBoxControl
+{
+ FixedText* pFixedText;
+
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ SvxFmTbxCtlRecTotal( USHORT nId, ToolBox& rTbx, SfxBindings& rBindings );
+};
+
+/*
+//========================================================================
+class SvxFmTbxCtlFilterText : public SfxToolBoxControl
+{
+ FixedText* pFixedText;
+ XubString aText;
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+
+ SvxFmTbxCtlFilterText( USHORT nId, ToolBox& rTbx, SfxBindings& rBindings );
+ ~SvxFmTbxCtlFilterText();
+
+ virtual Window* CreateItemWindow( Window* pParent );
+ virtual void StateChanged( USHORT nSID, SfxItemState eState,
+ const SfxPoolItem* pState );
+};
+*/
+
+//========================================================================
+class SvxFmTbxNextRec : public SfxToolBoxControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+ SvxFmTbxNextRec( USHORT nId, ToolBox& rTbx, SfxBindings& rBindings );
+};
+
+//========================================================================
+class SvxFmTbxPrevRec : public SfxToolBoxControl
+{
+public:
+ SFX_DECL_TOOLBOX_CONTROL();
+ SvxFmTbxPrevRec( USHORT nId, ToolBox& rTbx, SfxBindings& rBindings );
+};
+
+
+}//end of namespace binfilter
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/trace.hxx b/binfilter/bf_svx/source/inc/trace.hxx
new file mode 100644
index 000000000000..dc33b8623ef6
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/trace.hxx
@@ -0,0 +1,69 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+#ifndef _TRACE_HXX_
+#define _TRACE_HXX_
+
+#if defined(DBG_UTIL) && defined(ENABLE_RANGE_TRACING)
+
+namespace binfilter {
+
+
+class Tracer
+{
+ ByteString m_sBlockDescription;
+
+ DECLARE_STL_STDKEY_MAP( ::oslThreadIdentifier, sal_Int32, MapThreadId2Int );
+ static MapThreadId2Int s_aThreadIndents;
+
+ static ::osl::Mutex s_aMapSafety;
+
+public:
+ Tracer(const char* _pBlockDescription);
+ ~Tracer();
+
+ void TraceString(const char* _pMessage);
+ void TraceString1StringParam(const char* _pMessage, const char* _pParam);
+};
+
+
+#define TRACE_RANGE(range_description) Tracer aTrace(range_description);
+#define TRACE_RANGE_MESSAGE(message) { aTrace.TraceString(message); }
+#define TRACE_RANGE_MESSAGE1(message, param) { aTrace.TraceString1StringParam(message, param); }
+
+}//end of namespace binfilter
+#else
+
+#define TRACE_RANGE(range_description) ;
+#define TRACE_RANGE_MESSAGE(message) ;
+#define TRACE_RANGE_MESSAGE1(message, param) ;
+
+#endif
+
+#endif // _TRACE_HXX_
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/unoedprx.hxx b/binfilter/bf_svx/source/inc/unoedprx.hxx
new file mode 100644
index 000000000000..dea4e651fbeb
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/unoedprx.hxx
@@ -0,0 +1,155 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_UNOEDPRX_HXX
+#define _SVX_UNOEDPRX_HXX
+
+#include <memory>
+
+#include <bf_svtools/brdcst.hxx>
+
+#include "unoedsrc.hxx"
+
+namespace binfilter {
+
+
+class SvxAccessibleTextAdapter : public SvxTextForwarder
+{
+public:
+ SvxAccessibleTextAdapter();
+ virtual ~SvxAccessibleTextAdapter();
+
+ virtual USHORT GetParagraphCount() const;
+ virtual USHORT GetTextLen( USHORT nParagraph ) const;
+ virtual String GetText( const ESelection& rSel ) const;
+ virtual SfxItemSet GetAttribs( const ESelection& rSel, BOOL bOnlyHardAttrib = 0 ) const;
+ virtual SfxItemSet GetParaAttribs( USHORT nPara ) const;
+ virtual void SetParaAttribs( USHORT nPara, const SfxItemSet& rSet );
+ virtual void GetPortions( USHORT nPara, SvUShorts& rList ) const;
+
+ virtual USHORT GetItemState( const ESelection& rSel, USHORT nWhich ) const;
+ virtual USHORT GetItemState( USHORT nPara, USHORT nWhich ) const;
+
+ virtual void QuickInsertText( const String& rText, const ESelection& rSel );
+ virtual void QuickInsertField( const SvxFieldItem& rFld, const ESelection& rSel );
+ virtual void QuickSetAttribs( const SfxItemSet& rSet, const ESelection& rSel );
+ virtual void QuickInsertLineBreak( const ESelection& rSel );
+
+ virtual SfxItemPool* GetPool() const;
+
+ virtual XubString CalcFieldValue( const SvxFieldItem& rField, USHORT nPara, USHORT nPos, Color*& rpTxtColor, Color*& rpFldColor );
+ virtual BOOL IsValid() const;
+
+ virtual LanguageType GetLanguage( USHORT, USHORT ) const;
+ virtual USHORT GetFieldCount( USHORT nPara ) const;
+ virtual EFieldInfo GetFieldInfo( USHORT nPara, USHORT nField ) const;
+ virtual EBulletInfo GetBulletInfo( USHORT nPara ) const;
+ virtual Rectangle GetCharBounds( USHORT nPara, USHORT nIndex ) const;
+ virtual Rectangle GetParaBounds( USHORT nPara ) const;
+ virtual MapMode GetMapMode() const;
+ virtual OutputDevice* GetRefDevice() const;
+ virtual sal_Bool GetIndexAtPoint( const Point&, USHORT& nPara, USHORT& nIndex ) const;
+ virtual sal_Bool GetWordIndices( USHORT nPara, USHORT nIndex, USHORT& nStart, USHORT& nEnd ) const;
+ virtual sal_Bool GetAttributeRun( USHORT& nStartIndex, USHORT& nEndIndex, USHORT nPara, USHORT nIndex ) const;
+ virtual USHORT GetLineCount( USHORT nPara ) const;
+ virtual USHORT GetLineLen( USHORT nPara, USHORT nLine ) const;
+ virtual sal_Bool Delete( const ESelection& );
+ virtual sal_Bool InsertText( const String&, const ESelection& );
+ virtual sal_Bool QuickFormatDoc( BOOL bFull=FALSE );
+ virtual USHORT GetDepth( USHORT nPara ) const;
+ virtual sal_Bool SetDepth( USHORT nPara, USHORT nNewDepth );
+
+ void SetForwarder( SvxTextForwarder& );
+ sal_Bool HaveTextBullet( USHORT nPara ) const;
+
+private:
+ SvxTextForwarder* mrTextForwarder;
+};
+
+class SvxAccessibleTextEditViewAdapter : public SvxEditViewForwarder
+{
+public:
+
+ SvxAccessibleTextEditViewAdapter();
+ virtual ~SvxAccessibleTextEditViewAdapter();
+
+ virtual BOOL IsValid() const;
+
+ virtual Rectangle GetVisArea() const;
+ virtual Point LogicToPixel( const Point& rPoint, const MapMode& rMapMode ) const;
+ virtual Point PixelToLogic( const Point& rPoint, const MapMode& rMapMode ) const;
+
+ virtual sal_Bool GetSelection( ESelection& rSelection ) const;
+ virtual sal_Bool SetSelection( const ESelection& rSelection );
+ virtual sal_Bool Copy();
+ virtual sal_Bool Cut();
+ virtual sal_Bool Paste();
+
+ void SetForwarder( SvxEditViewForwarder&, SvxAccessibleTextAdapter& );
+
+private:
+ SvxEditViewForwarder* mrViewForwarder;
+ SvxAccessibleTextAdapter* mrTextForwarder;
+};
+
+class SvxEditSourceAdapter : public SvxEditSource
+{
+public:
+ SvxEditSourceAdapter();
+ ~SvxEditSourceAdapter();
+
+ virtual SvxEditSource* Clone() const;
+ virtual SvxTextForwarder* GetTextForwarder();
+ SvxAccessibleTextAdapter* GetTextForwarderAdapter(); // covariant return types don't work on MSVC
+ virtual SvxViewForwarder* GetViewForwarder();
+ virtual SvxEditViewForwarder* GetEditViewForwarder( sal_Bool bCreate = sal_False );
+ SvxAccessibleTextEditViewAdapter* GetEditViewForwarderAdapter( sal_Bool bCreate = sal_False ); // covariant return types don't work on MSVC
+ virtual void UpdateData();
+ virtual SfxBroadcaster& GetBroadcaster() const;
+
+ void SetEditSource( ::std::auto_ptr< SvxEditSource > pAdaptee );
+
+private:
+ // declared, but not defined
+ SvxEditSourceAdapter( const SvxEditSourceAdapter& );
+ SvxEditSourceAdapter& operator= ( const SvxEditSourceAdapter& );
+
+ ::std::auto_ptr< SvxEditSource > mpAdaptee;
+
+ SvxAccessibleTextAdapter maTextAdapter;
+ SvxAccessibleTextEditViewAdapter maEditViewAdapter;
+
+ mutable SfxBroadcaster maDummyBroadcaster;
+
+ sal_Bool mbEditSourceValid;
+};
+
+}//end of namespace binfilter
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/unopolyhelper.hxx b/binfilter/bf_svx/source/inc/unopolyhelper.hxx
new file mode 100644
index 000000000000..489d7cb0d682
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/unopolyhelper.hxx
@@ -0,0 +1,55 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_UNOPOLYHELPER_HXX
+#define _SVX_UNOPOLYHELPER_HXX
+
+#include <com/sun/star/lang/IllegalArgumentException.hpp>
+namespace binfilter {
+
+namespace com { namespace sun { namespace star { namespace drawing {
+ struct PolyPolygonBezierCoords;
+} } } }
+
+class XPolygon;
+
+/** convert a drawing::PolyPolygonBezierCoords to a XPolygon
+*/
+void SvxConvertPolyPolygonBezierToXPolygon( const ::com::sun::star::drawing::PolyPolygonBezierCoords* pSourcePolyPolygon, XPolygon& rNewPolygon )
+ throw( ::com::sun::star::lang::IllegalArgumentException );
+
+/** convert a XPolygon to a drawing::PolyPolygonBezierCoords
+*/
+void SvxConvertXPolygonToPolyPolygonBezier( const XPolygon& rPolygon, ::com::sun::star::drawing::PolyPolygonBezierCoords& rRetval )
+ throw();
+
+}//end of namespace binfilter
+#endif
+
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/xmlxtexp.hxx b/binfilter/bf_svx/source/inc/xmlxtexp.hxx
new file mode 100644
index 000000000000..035e3a62b5cb
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/xmlxtexp.hxx
@@ -0,0 +1,48 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_XMLXTEXP_HXX
+#define _SVX_XMLXTEXP_HXX
+
+#include "bf_xmloff/xmlexp.hxx"
+
+namespace rtl { class OUString; }
+namespace com { namespace sun { namespace star {
+ namespace frame { class XModel; }
+ namespace uno { template<class X> class Reference; }
+ namespace uno { class XInterface; }
+ namespace container { class XNameContainer; }
+ namespace document { class XGraphicObjectResolver; }
+ namespace xml { namespace sax { class XDocumentHandler; } }
+} } }
+namespace binfilter {
+
+}//end of namespace binfilter
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
diff --git a/binfilter/bf_svx/source/inc/xmlxtimp.hxx b/binfilter/bf_svx/source/inc/xmlxtimp.hxx
new file mode 100644
index 000000000000..4810ee4ba308
--- /dev/null
+++ b/binfilter/bf_svx/source/inc/xmlxtimp.hxx
@@ -0,0 +1,67 @@
+/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
+/*************************************************************************
+ *
+ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
+ *
+ * Copyright 2000, 2010 Oracle and/or its affiliates.
+ *
+ * OpenOffice.org - a multi-platform office productivity suite
+ *
+ * This file is part of OpenOffice.org.
+ *
+ * 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.
+ *
+ * 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).
+ *
+ * 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.
+ *
+ ************************************************************************/
+
+#ifndef _SVX_XMLXTIMP_HXX
+#define _SVX_XMLXTIMP_HXX
+
+#include <bf_xmloff/xmlimp.hxx>
+
+namespace rtl { class OUString; }
+namespace com { namespace sun { namespace star {
+ namespace uno { template<class X> class Reference; }
+ namespace uno { class XInterface; }
+ namespace document { class XGraphicObjectResolver; }
+ namespace container { class XNameContainer; }
+
+} } }
+namespace binfilter {
+
+class SvxXMLXTableImport : public SvXMLImport
+{
+public:
+ // #110680#
+ SvxXMLXTableImport(
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XMultiServiceFactory > xServiceFactory,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > & rTable,
+ ::com::sun::star::uno::Reference< ::com::sun::star::document::XGraphicObjectResolver >& xGrfResolver);
+ virtual ~SvxXMLXTableImport() throw ();
+
+ static sal_Bool load( const ::rtl::OUString& rUrl, const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer >& xTable ) throw();
+protected:
+ virtual SvXMLImportContext *CreateContext( sal_uInt16 nPrefix,
+ const ::rtl::OUString& rLocalName,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::xml::sax::XAttributeList >& xAttrList );
+
+private:
+ const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > & mrTable;
+};
+
+}//end of namespace binfilter
+#endif
+
+/* vim:set shiftwidth=4 softtabstop=4 expandtab: */