summaryrefslogtreecommitdiff
path: root/forms/source/inc
diff options
context:
space:
mode:
authorJens-Heiner Rechtien <hr@openoffice.org>2000-09-18 15:33:13 +0000
committerJens-Heiner Rechtien <hr@openoffice.org>2000-09-18 15:33:13 +0000
commitbf4154eb5307ec8c35f000fd1df39ef3abb2eb6d (patch)
tree6f31c3697d45522bc58de2252bfba3f22a9e2315 /forms/source/inc
parent95117e7fefa9ae82431dcdffd1e58495730f6f54 (diff)
initial import
Diffstat (limited to 'forms/source/inc')
-rw-r--r--forms/source/inc/InterfaceContainer.hxx305
-rw-r--r--forms/source/inc/frm_resource.hrc92
-rw-r--r--forms/source/inc/frm_resource.hxx113
-rw-r--r--forms/source/inc/ids.hxx72
-rw-r--r--forms/source/inc/property.hrc422
-rw-r--r--forms/source/inc/property.hxx261
-rw-r--r--forms/source/inc/services.hxx234
7 files changed, 1499 insertions, 0 deletions
diff --git a/forms/source/inc/InterfaceContainer.hxx b/forms/source/inc/InterfaceContainer.hxx
new file mode 100644
index 000000000000..8094c2247e6a
--- /dev/null
+++ b/forms/source/inc/InterfaceContainer.hxx
@@ -0,0 +1,305 @@
+/*************************************************************************
+ *
+ * $RCSfile: InterfaceContainer.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:29:06 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef _FRM_INTERFACE_CONTAINER_HXX_
+#define _FRM_INTERFACE_CONTAINER_HXX_
+
+#ifndef _UTL_STLTYPES_HXX_
+#include <unotools/stl_types.hxx>
+#endif
+#ifndef _UTL_TYPES_HXX_
+#include <unotools/types.hxx>
+#endif
+#ifndef _UTL_UNO3_HXX_
+#include <unotools/uno3.hxx>
+#endif
+
+#ifndef _COM_SUN_STAR_CONTAINER_XNAMEREPLACE_HPP_
+#include <com/sun/star/container/XNameReplace.hpp>
+#endif
+#ifndef _COM_SUN_STAR_CONTAINER_XINDEXREPLACE_HPP_
+#include <com/sun/star/container/XIndexReplace.hpp>
+#endif
+#ifndef _COM_SUN_STAR_CONTAINER_XNAMECONTAINER_HPP_
+#include <com/sun/star/container/XNameContainer.hpp>
+#endif
+#ifndef _COM_SUN_STAR_LANG_XEVENTLISTENER_HPP_
+#include <com/sun/star/lang/XEventListener.hpp>
+#endif
+#ifndef _COM_SUN_STAR_LANG_EVENTOBJECT_HPP_
+#include <com/sun/star/lang/EventObject.hpp>
+#endif
+#ifndef _COM_SUN_STAR_CONTAINER_XENUMERATIONACCESS_HPP_
+#include <com/sun/star/container/XEnumerationAccess.hpp>
+#endif
+#ifndef _COM_SUN_STAR_IO_XPERSISTOBJECT_HPP_
+#include <com/sun/star/io/XPersistObject.hpp>
+#endif
+#ifndef _COM_SUN_STAR_FORM_XFORMCOMPONENT_HPP_
+#include <com/sun/star/form/XFormComponent.hpp>
+#endif
+#ifndef _COM_SUN_STAR_BEANS_XPROPERTYCHANGELISTENER_HPP_
+#include <com/sun/star/beans/XPropertyChangeListener.hpp>
+#endif
+#ifndef _COM_SUN_STAR_BEANS_PROPERTYCHANGEEVENT_HPP_
+#include <com/sun/star/beans/PropertyChangeEvent.hpp>
+#endif
+#ifndef _COM_SUN_STAR_SCRIPT_XEVENTATTACHERMANAGER_HPP_
+#include <com/sun/star/script/XEventAttacherManager.hpp>
+#endif
+#ifndef _COM_SUN_STAR_SCRIPT_SCRIPTEVENT_HPP_
+#include <com/sun/star/script/ScriptEvent.hpp>
+#endif
+#ifndef _COM_SUN_STAR_SCRIPT_SCRIPTEVENTDESCRIPTOR_HPP_
+#include <com/sun/star/script/ScriptEventDescriptor.hpp>
+#endif
+#ifndef _COM_SUN_STAR_CONTAINER_XCONTAINER_HPP_
+#include <com/sun/star/container/XContainer.hpp>
+#endif
+#ifndef _COM_SUN_STAR_CONTAINER_XINDEXCONTAINER_HPP_
+#include <com/sun/star/container/XIndexContainer.hpp>
+#endif
+#ifndef _COM_SUN_STAR_LANG_XMULTISERVICEFACTORY_HPP_
+#include <com/sun/star/lang/XMultiServiceFactory.hpp>
+#endif
+#ifndef _COM_SUN_STAR_FORM_XFORMCOMPONENT_HPP_
+#include <com/sun/star/form/XFormComponent.hpp>
+#endif
+
+#ifndef _OSL_MUTEX_HXX_
+#include <osl/mutex.hxx>
+#endif
+
+#ifndef _CPPUHELPER_INTERFACECONTAINER_HXX_
+#include <cppuhelper/interfacecontainer.hxx>
+#endif
+#ifndef _CPPUHELPER_COMPONENT_HXX_
+#include <cppuhelper/component.hxx>
+#endif
+
+using namespace utl;
+
+//.........................................................................
+namespace frm
+{
+//.........................................................................
+
+ namespace starcontainer = ::com::sun::star::container;
+ namespace starscript = ::com::sun::star::script;
+ namespace starbeans = ::com::sun::star::beans;
+ namespace stario = ::com::sun::star::io;
+ namespace starlang = ::com::sun::star::lang;
+ namespace starform = ::com::sun::star::form;
+
+
+typedef ::std::vector<InterfaceRef> OInterfaceArray;
+typedef ::std::hash_multimap< ::rtl::OUString, InterfaceRef, ::utl::UStringHash, ::utl::UStringEqual> OInterfaceMap;
+
+//==================================================================
+// FmForms
+// Implementiert den UNO-Container fuer Formulare
+// enthaelt alle zugeordneten Forms
+// dieses Container kann selbst den Context fuer Formulare darstellen
+// oder auen einen Context uebergeben bekommen
+//==================================================================
+class OInterfaceContainer
+ :public starcontainer::XNameContainer
+ ,public starcontainer::XIndexContainer
+ ,public starcontainer::XContainer
+ ,public starcontainer::XEnumerationAccess
+ ,public starscript::XEventAttacherManager
+ ,public starbeans::XPropertyChangeListener
+ ,public stario::XPersistObject
+{
+protected:
+ OInterfaceArray m_aItems;
+ OInterfaceMap m_aMap;
+ ::cppu::OInterfaceContainerHelper m_aContainerListeners;
+
+ ::osl::Mutex& m_rMutex;
+ staruno::Type m_aElementType;
+
+ staruno::Reference<starlang::XMultiServiceFactory> m_xServiceFactory;
+
+
+ // EventManager
+ staruno::Reference<starscript::XEventAttacherManager> m_xEventAttacher;
+
+public:
+ OInterfaceContainer(
+ const staruno::Reference<starlang::XMultiServiceFactory>& _rxFactory,
+ ::osl::Mutex& _rMutex,
+ const staruno::Type& _rElementType);
+
+public:
+ virtual staruno::Any SAL_CALL queryInterface(const staruno::Type& _rType) throw (staruno::RuntimeException);
+
+// stario::XPersistObject
+ virtual ::rtl::OUString SAL_CALL getServiceName( ) throw(staruno::RuntimeException) = 0;
+ virtual void SAL_CALL write( const staruno::Reference< stario::XObjectOutputStream >& OutStream ) throw(stario::IOException, staruno::RuntimeException);
+ virtual void SAL_CALL read( const staruno::Reference< stario::XObjectInputStream >& InStream ) throw(stario::IOException, staruno::RuntimeException);
+
+// starlang::XEventListener
+ virtual void SAL_CALL disposing(const starlang::EventObject& _rSource) throw(staruno::RuntimeException);
+
+// starbeans::XPropertyChangeListener
+ virtual void SAL_CALL propertyChange(const starbeans::PropertyChangeEvent& evt);
+
+// starcontainer::XElementAccess
+ virtual staruno::Type SAL_CALL getElementType() throw(staruno::RuntimeException) ;
+ virtual sal_Bool SAL_CALL hasElements() throw(staruno::RuntimeException);
+
+// starcontainer::XEnumerationAccess
+ virtual staruno::Reference<starcontainer::XEnumeration> SAL_CALL createEnumeration() throw(staruno::RuntimeException);
+
+// starcontainer::XNameAccess
+ virtual staruno::Any SAL_CALL getByName( const ::rtl::OUString& aName ) throw(starcontainer::NoSuchElementException, starlang::WrappedTargetException, staruno::RuntimeException);
+ virtual StringSequence SAL_CALL getElementNames( ) throw(staruno::RuntimeException);
+ virtual sal_Bool SAL_CALL hasByName( const ::rtl::OUString& aName ) throw(staruno::RuntimeException);
+
+// starcontainer::XNameReplace
+ virtual void SAL_CALL replaceByName(const ::rtl::OUString& Name, const staruno::Any& _rElement) throw(starlang::IllegalArgumentException, starcontainer::NoSuchElementException, starlang::WrappedTargetException, staruno::RuntimeException);
+
+// starcontainer::XNameContainer
+ virtual void SAL_CALL insertByName(const ::rtl::OUString& Name, const staruno::Any& _rElement) throw(starlang::IllegalArgumentException, starcontainer::ElementExistException, starlang::WrappedTargetException, staruno::RuntimeException);
+ virtual void SAL_CALL removeByName(const ::rtl::OUString& Name) throw(starcontainer::NoSuchElementException, starlang::WrappedTargetException, staruno::RuntimeException);
+
+// starcontainer::XIndexAccess
+ virtual sal_Int32 SAL_CALL getCount() throw(staruno::RuntimeException);
+ virtual staruno::Any SAL_CALL getByIndex(sal_Int32 _nIndex) throw(starlang::IndexOutOfBoundsException, starlang::WrappedTargetException, staruno::RuntimeException);
+
+// starcontainer::XIndexReplace
+ virtual void SAL_CALL replaceByIndex(sal_Int32 _nIndex, const staruno::Any& _rElement) throw(starlang::IllegalArgumentException, starlang::IndexOutOfBoundsException, starlang::WrappedTargetException, staruno::RuntimeException);
+
+// starcontainer::XIndexContainer
+ virtual void SAL_CALL insertByIndex(sal_Int32 _nIndex, const staruno::Any& Element) throw(starlang::IllegalArgumentException, starlang::IndexOutOfBoundsException, starlang::WrappedTargetException, staruno::RuntimeException);
+ virtual void SAL_CALL removeByIndex(sal_Int32 _nIndex) throw(starlang::IndexOutOfBoundsException, starlang::WrappedTargetException, staruno::RuntimeException);
+
+// starcontainer::XContainer
+ virtual void SAL_CALL addContainerListener(const staruno::Reference<starcontainer::XContainerListener>& _rxListener) throw(staruno::RuntimeException);
+ virtual void SAL_CALL removeContainerListener(const staruno::Reference<starcontainer::XContainerListener>& _rxListener) throw(staruno::RuntimeException);
+
+// starscript::XEventAttacherManager
+ virtual void SAL_CALL registerScriptEvent( sal_Int32 nIndex, const starscript::ScriptEventDescriptor& aScriptEvent ) throw(::com::sun::star::lang::IllegalArgumentException, staruno::RuntimeException);
+ virtual void SAL_CALL registerScriptEvents( sal_Int32 nIndex, const staruno::Sequence< starscript::ScriptEventDescriptor >& aScriptEvents ) throw(::com::sun::star::lang::IllegalArgumentException, staruno::RuntimeException);
+ virtual void SAL_CALL revokeScriptEvent( sal_Int32 nIndex, const ::rtl::OUString& aListenerType, const ::rtl::OUString& aEventMethod, const ::rtl::OUString& aRemoveListenerParam ) throw(::com::sun::star::lang::IllegalArgumentException, staruno::RuntimeException);
+ virtual void SAL_CALL revokeScriptEvents( sal_Int32 nIndex ) throw(::com::sun::star::lang::IllegalArgumentException, staruno::RuntimeException);
+ virtual void SAL_CALL insertEntry( sal_Int32 nIndex ) throw(::com::sun::star::lang::IllegalArgumentException, staruno::RuntimeException);
+ virtual void SAL_CALL removeEntry( sal_Int32 nIndex ) throw(::com::sun::star::lang::IllegalArgumentException, staruno::RuntimeException);
+ virtual staruno::Sequence< starscript::ScriptEventDescriptor > SAL_CALL getScriptEvents( sal_Int32 Index ) throw(::com::sun::star::lang::IllegalArgumentException, staruno::RuntimeException);
+ virtual void SAL_CALL attach( sal_Int32 nIndex, const staruno::Reference< staruno::XInterface >& xObject, const staruno::Any& aHelper ) throw(::com::sun::star::lang::IllegalArgumentException, ::com::sun::star::lang::ServiceNotRegisteredException, staruno::RuntimeException);
+ virtual void SAL_CALL detach( sal_Int32 nIndex, const staruno::Reference< staruno::XInterface >& xObject ) throw(::com::sun::star::lang::IllegalArgumentException, staruno::RuntimeException);
+ virtual void SAL_CALL addScriptListener( const staruno::Reference< starscript::XScriptListener >& xListener ) throw(::com::sun::star::lang::IllegalArgumentException, staruno::RuntimeException);
+ virtual void SAL_CALL removeScriptListener( const staruno::Reference< starscript::XScriptListener >& Listener ) throw(::com::sun::star::lang::IllegalArgumentException, staruno::RuntimeException);
+
+ virtual staruno::Sequence< staruno::Type > SAL_CALL getTypes( ) throw(staruno::RuntimeException);
+
+protected:
+ // helper
+ virtual void SAL_CALL disposing();
+ virtual void insert(sal_Int32 _nIndex, const InterfaceRef& _Object, sal_Bool bEvents = sal_True)
+ throw(starlang::IllegalArgumentException);
+ virtual void removeElementsNoEvents(sal_Int32 nIndex);
+
+ // called after the object is inserted, but before the "real listeners" are notified
+ virtual void implInserted(const InterfaceRef& _rxObject) { }
+ // called after the object is removed, but before the "real listeners" are notified
+ virtual void implRemoved(const InterfaceRef& _rxObject) { }
+
+ void SAL_CALL writeEvents(const staruno::Reference<stario::XObjectOutputStream>& _rxOutStream);
+ void SAL_CALL readEvents(const staruno::Reference<stario::XObjectInputStream>& _rxInStream, sal_Int32 nCount);
+};
+
+//==================================================================
+//= OFormComponents
+//==================================================================
+typedef ::cppu::OComponentHelper FormComponentsBase;
+ // else MSVC kills itself on some statements
+class OFormComponents : public FormComponentsBase,
+ public OInterfaceContainer,
+ public starform::XFormComponent
+{
+protected:
+ ::osl::Mutex m_aMutex;
+ ::utl::InterfaceRef m_xParent;
+
+public:
+ OFormComponents(const staruno::Reference<starlang::XMultiServiceFactory>& _rxFactory);
+ virtual ~OFormComponents();
+
+ DECLARE_UNO3_AGG_DEFAULTS(OFormComponents, FormComponentsBase);
+
+ virtual staruno::Any SAL_CALL queryAggregation(const staruno::Type& _rType) throw(staruno::RuntimeException);
+ virtual staruno::Sequence< staruno::Type > SAL_CALL getTypes( ) throw(staruno::RuntimeException);
+
+// OComponentHelper
+ virtual void SAL_CALL disposing();
+
+// starform::XFormComponent
+ virtual ::utl::InterfaceRef SAL_CALL getParent() throw(staruno::RuntimeException);
+ virtual void SAL_CALL setParent(const ::utl::InterfaceRef& Parent) throw(starlang::NoSupportException, staruno::RuntimeException);
+};
+//.........................................................................
+} // namespace frm
+//.........................................................................
+
+#endif // _FRM_INTERFACE_CONTAINER_HXX_
+
diff --git a/forms/source/inc/frm_resource.hrc b/forms/source/inc/frm_resource.hrc
new file mode 100644
index 000000000000..9078df74ddf3
--- /dev/null
+++ b/forms/source/inc/frm_resource.hrc
@@ -0,0 +1,92 @@
+/*************************************************************************
+ *
+ * $RCSfile: frm_resource.hrc,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:29:06 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef _FRM_RESOURCE_HRC_
+#define _FRM_RESOURCE_HRC_
+
+#ifndef _SOLAR_HRC
+#include <svtools/solar.hrc>
+#endif
+
+//------------------------------------------------------------------------------
+#define RID_FRM_STRINGS_START RID_FORMLAYER_START
+
+
+
+//------------------------------------------------------------------------------
+//- String-IDs
+#define RID_BASELISTBOX_ERROR_FILLLIST ( RID_FRM_STRINGS_START + 0 )
+#define RID_STR_IMPORT_GRAPHIC ( RID_FRM_STRINGS_START + 1 )
+#define RID_STR_CONTROL_SUBSTITUTED_NAME ( RID_FRM_STRINGS_START + 2 )
+#define RID_STR_CONTROL_SUBSTITUTED_EPXPLAIN ( RID_FRM_STRINGS_START + 3 )
+#define RID_STR_READERROR ( RID_FRM_STRINGS_START + 4 )
+#define RID_STR_CONNECTERROR ( RID_FRM_STRINGS_START + 5 )
+#define RID_ERR_LOADING_FORM ( RID_FRM_STRINGS_START + 6 )
+#define RID_ERR_REFRESHING_FORM ( RID_FRM_STRINGS_START + 7 )
+#define RID_STR_ERR_INSERTRECORD ( RID_FRM_STRINGS_START + 8 )
+#define RID_STR_ERR_UPDATERECORD ( RID_FRM_STRINGS_START + 9 )
+#define RID_STR_ERR_DELETERECORD ( RID_FRM_STRINGS_START + 10 )
+#define RID_STR_ERR_DELETERECORDS ( RID_FRM_STRINGS_START + 11 )
+
+
+
+#endif // _FRM_RESOURCE_HRC_
+
diff --git a/forms/source/inc/frm_resource.hxx b/forms/source/inc/frm_resource.hxx
new file mode 100644
index 000000000000..a7cedcfb6db9
--- /dev/null
+++ b/forms/source/inc/frm_resource.hxx
@@ -0,0 +1,113 @@
+/*************************************************************************
+ *
+ * $RCSfile: frm_resource.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:29:06 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef _FRM_RESOURCE_HXX_
+#define _FRM_RESOURCE_HXX_
+
+#ifndef _RTL_USTRING_HXX_
+#include <rtl/ustring.hxx>
+#endif
+
+class SimpleResMgr;
+//.........................................................................
+namespace frm
+{
+
+#define FRM_RES_STRING(id) ResourceManager::loadString(id)
+
+ //==================================================================
+ //= ResourceManager
+ //= handling ressources within the FormLayer library
+ //==================================================================
+ class ResourceManager
+ {
+ static SimpleResMgr* m_pImpl;
+
+ private:
+ // no instantiation allowed
+ ResourceManager() { }
+ ~ResourceManager() { }
+
+ // we'll instantiate one static member of the following class, which, in it's dtor,
+ // ensures that m_pImpl will be deleted
+ class EnsureDelete
+ {
+ public:
+ EnsureDelete() { }
+ ~EnsureDelete();
+ };
+ friend class EnsureDelete;
+
+ protected:
+ static void ensureImplExists();
+
+ public:
+ /** loads the string with the specified resource id from the FormLayer resource file
+ */
+ static ::rtl::OUString loadString(sal_uInt16 _nResId);
+ };
+
+//.........................................................................
+}
+//.........................................................................
+
+#endif // _FRM_RESOURCE_HXX_
+
diff --git a/forms/source/inc/ids.hxx b/forms/source/inc/ids.hxx
new file mode 100644
index 000000000000..4b7cba45392c
--- /dev/null
+++ b/forms/source/inc/ids.hxx
@@ -0,0 +1,72 @@
+/*************************************************************************
+ *
+ * $RCSfile: ids.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:29:06 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef _FRM_IDS_HXX_
+#define _FRM_IDS_HXX_
+
+#ifndef _UNOTOOLS_ID_HELPER_HXX_
+#include <unotools/idhelper.hxx>
+#endif
+
+DECLARE_IMPLEMENTATIONID_HELPER(frm, OImplementationIds)
+
+#endif // _FRM_IDS_HXX_
+
diff --git a/forms/source/inc/property.hrc b/forms/source/inc/property.hrc
new file mode 100644
index 000000000000..b0eb1f7d0ea7
--- /dev/null
+++ b/forms/source/inc/property.hrc
@@ -0,0 +1,422 @@
+/*************************************************************************
+ *
+ * $RCSfile: property.hrc,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:29:06 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+#ifndef _FRM_PROPERTY_HRC_
+#define _FRM_PROPERTY_HRC_
+
+#ifndef _RTL_USTRING_HXX_
+#include <rtl/ustring.hxx>
+#endif
+
+#ifndef _FRM_STRINGS_HXX_
+#include "strings.hxx"
+#endif
+
+//.........................................................................
+namespace frm
+{
+//.........................................................................
+
+// PropertyId's, welche eine Zuordnung zu einen PropertyName haben
+#define PROPERTY_ID_START 0
+
+#define PROPERTY_ID_NAME (PROPERTY_ID_START + 1)
+#define PROPERTY_ID_TABINDEX (PROPERTY_ID_START + 2)
+#define PROPERTY_ID_CONTROLSOURCE (PROPERTY_ID_START + 3)
+#define PROPERTY_ID_MASTERFIELDS (PROPERTY_ID_START + 4)
+#define PROPERTY_ID_DATASOURCE (PROPERTY_ID_START + 6)
+#define PROPERTY_ID_CLASSID (PROPERTY_ID_START + 9)
+#define PROPERTY_ID_CURSORTYPE (PROPERTY_ID_START + 10)
+#define PROPERTY_ID_READONLY (PROPERTY_ID_START + 11)
+#define PROPERTY_ID_NAVIGATION (PROPERTY_ID_START + 13)
+#define PROPERTY_ID_CYCLE (PROPERTY_ID_START + 14)
+#define PROPERTY_ID_ALLOWADDITIONS (PROPERTY_ID_START + 15)
+#define PROPERTY_ID_ALLOWEDITS (PROPERTY_ID_START + 16)
+#define PROPERTY_ID_ALLOWDELETIONS (PROPERTY_ID_START + 17)
+#define PROPERTY_ID_CACHESIZE (PROPERTY_ID_START + 19)
+#define PROPERTY_ID_LASTDIRTY (PROPERTY_ID_START + 24)
+#define PROPERTY_ID_VALUE (PROPERTY_ID_START + 31) // INT32
+#define PROPERTY_ID_FORMATKEY (PROPERTY_ID_START + 33) // UINT32
+#define PROPERTY_ID_SIZE (PROPERTY_ID_START + 37) // UINT32
+#define PROPERTY_ID_HEIGHT (PROPERTY_ID_START + 41) // UINT16
+#define PROPERTY_ID_WIDTH (PROPERTY_ID_START + 42) // UINT16
+#define PROPERTY_ID_DEFAULTCONTROL (PROPERTY_ID_START + 43) // string
+#define PROPERTY_ID_BOUNDCOLUMN (PROPERTY_ID_START + 44) // UINT16 may be null
+#define PROPERTY_ID_LISTSOURCETYPE (PROPERTY_ID_START + 45) // UINT16
+#define PROPERTY_ID_LISTSOURCE (PROPERTY_ID_START + 46) // string
+#define PROPERTY_ID_LISTINDEX (PROPERTY_ID_START + 47) // UINT32
+#define PROPERTY_ID_TEXT (PROPERTY_ID_START + 48) // string
+#define PROPERTY_ID_STRINGITEMLIST (PROPERTY_ID_START + 49) // wsstringsequence
+#define PROPERTY_ID_LABEL (PROPERTY_ID_START + 50) // string
+#define PROPERTY_ID_STATE (PROPERTY_ID_START + 52) // UINT16
+#define PROPERTY_ID_GROUPBOX (PROPERTY_ID_START + 53) // string
+#define PROPERTY_ID_FONT (PROPERTY_ID_START + 54) // font
+#define PROPERTY_ID_HASNAVIGATION (PROPERTY_ID_START + 55)
+#define PROPERTY_ID_ROWHEIGHT (PROPERTY_ID_START + 57) // UINT16
+#define PROPERTY_ID_BACKGROUNDCOLOR (PROPERTY_ID_START + 58) // UINT32
+#define PROPERTY_ID_FILLCOLOR (PROPERTY_ID_START + 59) // UINT32
+#define PROPERTY_ID_TEXTCOLOR (PROPERTY_ID_START + 60) // UINT32
+#define PROPERTY_ID_LINECOLOR (PROPERTY_ID_START + 61) // UINT32
+#define PROPERTY_ID_BORDER (PROPERTY_ID_START + 62) // UINT16
+#define PROPERTY_ID_ALIGN (PROPERTY_ID_START + 63) // UINT16
+#define PROPERTY_ID_DROPDOWN (PROPERTY_ID_START + 64) // BOOL
+#define PROPERTY_ID_MULTI (PROPERTY_ID_START + 65) // BOOL
+#define PROPERTY_ID_HSCROLL (PROPERTY_ID_START + 66) // BOOL
+#define PROPERTY_ID_VSCROLL (PROPERTY_ID_START + 67) // BOOL
+#define PROPERTY_ID_TABSTOP (PROPERTY_ID_START + 68) // BOOL
+#define PROPERTY_ID_REFVALUE (PROPERTY_ID_START + 69) // ::rtl::OUString
+#define PROPERTY_ID_BUTTONTYPE (PROPERTY_ID_START + 70) // UINT16
+#define PROPERTY_ID_DEFAULT_TEXT (PROPERTY_ID_START + 71) // ::rtl::OUString
+#define PROPERTY_ID_SUBMIT_ACTION (PROPERTY_ID_START + 72) // string
+#define PROPERTY_ID_SUBMIT_METHOD (PROPERTY_ID_START + 73) // FmSubmitMethod
+#define PROPERTY_ID_SUBMIT_ENCODING (PROPERTY_ID_START + 74) // FmSubmitEncoding
+#define PROPERTY_ID_DEFAULT_VALUE (PROPERTY_ID_START + 75) // ::rtl::OUString
+#define PROPERTY_ID_SUBMIT_TARGET (PROPERTY_ID_START + 76) // ::rtl::OUString
+#define PROPERTY_ID_DEFAULTCHECKED (PROPERTY_ID_START + 77) // UINT16
+#define PROPERTY_ID_VALUE_SEQ (PROPERTY_ID_START + 78) // StringSeq
+#define PROPERTY_ID_IMAGE_URL (PROPERTY_ID_START + 79) // ::rtl::OUString
+#define PROPERTY_ID_SELECT_SEQ (PROPERTY_ID_START + 91) // INT16Seq
+#define PROPERTY_ID_DEFAULT_SELECT_SEQ (PROPERTY_ID_START + 92) // INT16Seq
+#define PROPERTY_ID_MULTISELECTION (PROPERTY_ID_START + 93) // BOOL
+#define PROPERTY_ID_MULTILINE (PROPERTY_ID_START + 94) // BOOL
+#define PROPERTY_ID_DATE (PROPERTY_ID_START + 95) // UINT32
+#define PROPERTY_ID_DATEMIN (PROPERTY_ID_START + 96) // UINT32
+#define PROPERTY_ID_DATEMAX (PROPERTY_ID_START + 97) // UINT32
+#define PROPERTY_ID_DATEFORMAT (PROPERTY_ID_START + 98) // UINT16
+#define PROPERTY_ID_TIME (PROPERTY_ID_START + 99) // UINT32
+#define PROPERTY_ID_TIMEMIN (PROPERTY_ID_START +100) // UINT32
+#define PROPERTY_ID_TIMEMAX (PROPERTY_ID_START +101) // UINT32
+#define PROPERTY_ID_TIMEFORMAT (PROPERTY_ID_START +102) // UINT16
+#define PROPERTY_ID_VALUEMIN (PROPERTY_ID_START +103) // INT32
+#define PROPERTY_ID_VALUEMAX (PROPERTY_ID_START +104) // INT32
+#define PROPERTY_ID_VALUESTEP (PROPERTY_ID_START +105) // INT32
+#define PROPERTY_ID_CURRENCYSYMBOL (PROPERTY_ID_START +106) // ::rtl::OUString
+#define PROPERTY_ID_EDITMASK (PROPERTY_ID_START +107) // ::rtl::OUString
+#define PROPERTY_ID_LITERALMASK (PROPERTY_ID_START +108) // ::rtl::OUString
+#define PROPERTY_ID_ENABLED (PROPERTY_ID_START +109) // BOOL
+#define PROPERTY_ID_AUTOCOMPLETE (PROPERTY_ID_START +110) // BOOL
+#define PROPERTY_ID_LINECOUNT (PROPERTY_ID_START +111) // UINT16
+#define PROPERTY_ID_MAXTEXTLEN (PROPERTY_ID_START +112) // UINT16
+#define PROPERTY_ID_SPIN (PROPERTY_ID_START +113) // BOOL
+#define PROPERTY_ID_STRICTFORMAT (PROPERTY_ID_START +114) // BOOL
+#define PROPERTY_ID_SHOWTHOUSANDSEP (PROPERTY_ID_START +115) // BOOL
+#define PROPERTY_ID_HARDLINEBREAKS (PROPERTY_ID_START +116) // BOOL
+#define PROPERTY_ID_PRINTABLE (PROPERTY_ID_START +117) // BOOL
+#define PROPERTY_ID_TARGET_URL (PROPERTY_ID_START +118) // ::rtl::OUString
+#define PROPERTY_ID_TARGET_FRAME (PROPERTY_ID_START +119) // ::rtl::OUString
+#define PROPERTY_ID_TAG (PROPERTY_ID_START +120) // ::rtl::OUString
+#define PROPERTY_ID_ECHO_CHAR (PROPERTY_ID_START +121) // UINT16
+#define PROPERTY_ID_EMPTY_IS_NULL (PROPERTY_ID_START +126) // Bool
+#define PROPERTY_ID_DECIMAL_ACCURACY (PROPERTY_ID_START +127) // UINT16
+#define PROPERTY_ID_DATE_SHOW_CENTURY (PROPERTY_ID_START +128) // Bool
+#define PROPERTY_ID_TRISTATE (PROPERTY_ID_START +129) // Bool
+#define PROPERTY_ID_DEFAULT_BUTTON (PROPERTY_ID_START +130) // Bool
+#define PROPERTY_ID_HIDDEN_VALUE (PROPERTY_ID_START +131) // ::rtl::OUString
+#define PROPERTY_ID_DECIMALS (PROPERTY_ID_START +132) // UINT16
+#define PROPERTY_ID_AUTOINCREMENT (PROPERTY_ID_START +133) // UINT16
+#define PROPERTY_ID_FILTER_CRITERIA (PROPERTY_ID_START +135) // ::rtl::OUString
+#define PROPERTY_ID_QUERY (PROPERTY_ID_START +137) // ::rtl::OUString
+#define PROPERTY_ID_DEFAULT_LONG_VALUE (PROPERTY_ID_START +138) // Double
+#define PROPERTY_ID_DEFAULT_DATE (PROPERTY_ID_START +139) // UINT32
+#define PROPERTY_ID_DEFAULT_TIME (PROPERTY_ID_START +140)
+#define PROPERTY_ID_HELPTEXT (PROPERTY_ID_START +141)
+#define PROPERTY_ID_FONT_NAME (PROPERTY_ID_START +142)
+#define PROPERTY_ID_FONT_STYLENAME (PROPERTY_ID_START +143)
+#define PROPERTY_ID_FONT_FAMILY (PROPERTY_ID_START +144)
+#define PROPERTY_ID_FONT_CHARSET (PROPERTY_ID_START +145)
+#define PROPERTY_ID_FONT_HEIGHT (PROPERTY_ID_START +146)
+#define PROPERTY_ID_FONT_WEIGHT (PROPERTY_ID_START +147)
+#define PROPERTY_ID_FONT_SLANT (PROPERTY_ID_START +148)
+#define PROPERTY_ID_FONT_UNDERLINE (PROPERTY_ID_START +149)
+#define PROPERTY_ID_FONT_STRIKEOUT (PROPERTY_ID_START +150)
+#define PROPERTY_ID_ISPASSTHROUGH (PROPERTY_ID_START +151)
+#define PROPERTY_ID_HELPURL (PROPERTY_ID_START +152) // ::rtl::OUString
+#define PROPERTY_ID_RECORDMARKER (PROPERTY_ID_START +153)
+#define PROPERTY_ID_BOUNDFIELD (PROPERTY_ID_START +154)
+#define PROPERTY_ID_FORMATSSUPPLIER (PROPERTY_ID_START +155) // XNumberFormatsSupplier
+#define PROPERTY_ID_TREATASNUMERIC (PROPERTY_ID_START +156) // BOOL
+#define PROPERTY_ID_EFFECTIVE_VALUE (PROPERTY_ID_START +157) // ANY (string or double)
+#define PROPERTY_ID_EFFECTIVE_DEFAULT (PROPERTY_ID_START +158) // dito
+#define PROPERTY_ID_EFFECTIVE_MIN (PROPERTY_ID_START +159) // dito
+#define PROPERTY_ID_EFFECTIVE_MAX (PROPERTY_ID_START +160) // dito
+#define PROPERTY_ID_HIDDEN (PROPERTY_ID_START +161) // BOOL
+#define PROPERTY_ID_FILTERPROPOSAL (PROPERTY_ID_START +162) // BOOL
+#define PROPERTY_ID_FIELDSOURCE (PROPERTY_ID_START +163) // String
+#define PROPERTY_ID_TABLENAME (PROPERTY_ID_START +164) // String
+#define PROPERTY_ID_FILTERSUPPLIER (PROPERTY_ID_START +165) // XIndexAccess
+#define PROPERTY_ID_CURRENTFILTER (PROPERTY_ID_START +166) // INT32
+#define PROPERTY_ID_SELECTED_FIELDS (PROPERTY_ID_START +167)
+#define PROPERTY_ID_SELECTED_TABLES (PROPERTY_ID_START +168)
+#define PROPERTY_ID_THREADSAFE (PROPERTY_ID_START +169) // BOOL
+#define PROPERTY_ID_CONTROLLABEL (PROPERTY_ID_START +171) // XPropertySet
+#define PROPERTY_ID_CURRSYM_POSITION (PROPERTY_ID_START +172) // String
+#define PROPERTY_ID_SOURCE (PROPERTY_ID_START +173) // XInterface
+#define PROPERTY_ID_CURSORCOLOR (PROPERTY_ID_START +174) // INT32
+#define PROPERTY_ID_ALWAYSSHOWCURSOR (PROPERTY_ID_START +175) // BOOL
+#define PROPERTY_ID_DISPLAYSYNCHRON (PROPERTY_ID_START +176) // BOOL
+
+#define PROPERTY_ID_ISMODIFIED (PROPERTY_ID_START +177) // BOOL
+#define PROPERTY_ID_ISNEW (PROPERTY_ID_START +178) // BOOL
+#define PROPERTY_ID_PRIVILEGES (PROPERTY_ID_START +179) // INT32
+#define PROPERTY_ID_DETAILFIELDS (PROPERTY_ID_START +180) // Sequence< ::rtl::OUString >
+#define PROPERTY_ID_COMMAND (PROPERTY_ID_START +181) // String
+#define PROPERTY_ID_COMMANDTYPE (PROPERTY_ID_START +182) // INT32 (com::sun::star::sdb::CommandType)
+#define PROPERTY_ID_RESULTSET_CONCURRENCY (PROPERTY_ID_START +183)// INT32 (com::sun::star::sdbc::ResultSetConcurrency)
+#define PROPERTY_ID_INSERTONLY (PROPERTY_ID_START +184) // BOOL
+#define PROPERTY_ID_RESULTSET_TYPE (PROPERTY_ID_START +185) // INT32 (com::sun::star::sdbc::ResultSetType)
+#define PROPERTY_ID_ESCAPE_PROCESSING (PROPERTY_ID_START +186) // BOOL
+#define PROPERTY_ID_APPLYFILTER (PROPERTY_ID_START +187) // BOOL
+
+#define PROPERTY_ID_ISNULLABLE (PROPERTY_ID_START +188) // BOOL
+#define PROPERTY_ID_ACTIVECOMMAND (PROPERTY_ID_START +189) // String
+#define PROPERTY_ID_ISCURRENCY (PROPERTY_ID_START +190) // BOOL
+#define PROPERTY_ID_NUMBER_FORMATS_SUPPLIER (PROPERTY_ID_START +191)// BOOL
+#define PROPERTY_ID_URL (PROPERTY_ID_START +192) // String
+#define PROPERTY_ID_TITLE (PROPERTY_ID_START +193) // String
+#define PROPERTY_ID_ACTIVE_CONNECTION (PROPERTY_ID_START +194) // com::sun::star::sdbc::XConnection
+#define PROPERTY_ID_SCALE (PROPERTY_ID_START +195) // INT32
+#define PROPERTY_ID_SORT (PROPERTY_ID_START +196) // String
+
+#define PROPERTY_ID_ROWCOUNT (PROPERTY_ID_START +197)
+#define PROPERTY_ID_ROWCOUNTFINAL (PROPERTY_ID_START +198)
+#define PROPERTY_ID_FETCHSIZE (PROPERTY_ID_START +199)
+#define PROPERTY_ID_STATEMENT (PROPERTY_ID_START +200)
+#define PROPERTY_ID_SEARCHABLE (PROPERTY_ID_START +201)
+#define PROPERTY_ID_ISREADONLY (PROPERTY_ID_START +202)
+#define PROPERTY_ID_ISREQUIRED (PROPERTY_ID_START +203)
+#define PROPERTY_ID_FIELDTYPE (PROPERTY_ID_START +204)
+#define PROPERTY_ID_COLUMNSERVICENAME (PROPERTY_ID_START +205)
+#define PROPERTY_ID_CONTROLSOURCEPROPERTY (PROPERTY_ID_START +206)
+#define PROPERTY_ID_REALNAME (PROPERTY_ID_START +207)
+
+
+// start ID fuer aggregierte Properties
+#define PROPERTY_ID_AGGREGATE_ID (PROPERTY_ID_START + 10000)
+
+// extern declaration fuer vordefinierte Strings, laengst nicht vollstaendig
+DECLARE_CONSTASCII_USTRING(PROPERTY_NAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TAG);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TABINDEX);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CLASSID);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ALIGN);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ROWCOUNT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ROWCOUNTFINAL);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FETCHSIZE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_VALUE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_VALUEMIN);
+DECLARE_CONSTASCII_USTRING(PROPERTY_VALUEMAX);
+DECLARE_CONSTASCII_USTRING(PROPERTY_VALUESTEP);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TEXT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_LABEL);
+DECLARE_CONSTASCII_USTRING(PROPERTY_NAVIGATION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CYCLE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CONTROLSOURCE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ENABLED);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SPIN);
+DECLARE_CONSTASCII_USTRING(PROPERTY_READONLY);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FILTER_CRITERIA);
+DECLARE_CONSTASCII_USTRING(PROPERTY_AUTOINCREMENT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CACHESIZE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_LASTDIRTY);
+DECLARE_CONSTASCII_USTRING(PROPERTY_STATEMENT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_WIDTH);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SEARCHABLE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_MULTILINE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TARGET_URL);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DEFAULTCONTROL);
+DECLARE_CONSTASCII_USTRING(PROPERTY_MAXTEXTLEN);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SIZE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DATE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TIME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_STATE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TRISTATE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_HIDDEN_VALUE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TARGET_FRAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_BUTTONTYPE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_STRINGITEMLIST);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DEFAULT_TEXT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DEFAULTCHECKED);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DEFAULT_DATE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DEFAULT_TIME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DEFAULT_VALUE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FORMATKEY);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FORMATSSUPPLIER);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SUBMIT_ACTION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SUBMIT_TARGET);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SUBMIT_METHOD);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SUBMIT_ENCODING);
+DECLARE_CONSTASCII_USTRING(PROPERTY_IMAGE_URL);
+DECLARE_CONSTASCII_USTRING(PROPERTY_EMPTY_IS_NULL);
+DECLARE_CONSTASCII_USTRING(PROPERTY_LISTSOURCETYPE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_LISTSOURCE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SELECT_SEQ);
+DECLARE_CONSTASCII_USTRING(PROPERTY_VALUE_SEQ);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DEFAULT_SELECT_SEQ);
+DECLARE_CONSTASCII_USTRING(PROPERTY_MULTISELECTION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DECIMAL_ACCURACY);
+DECLARE_CONSTASCII_USTRING(PROPERTY_EDITMASK);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISREADONLY);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISREQUIRED);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FIELDTYPE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DECIMALS);
+DECLARE_CONSTASCII_USTRING(PROPERTY_REFVALUE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_STRICTFORMAT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DATASOURCE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ALLOWADDITIONS);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ALLOWEDITS);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ALLOWDELETIONS);
+DECLARE_CONSTASCII_USTRING(PROPERTY_MASTERFIELDS);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISPASSTHROUGH);
+DECLARE_CONSTASCII_USTRING(PROPERTY_QUERY);
+DECLARE_CONSTASCII_USTRING(PROPERTY_LITERALMASK);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SHOWTHOUSANDSEP);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CURRENCYSYMBOL);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DATEFORMAT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DATEMIN);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DATEMAX);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DATE_SHOW_CENTURY);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TIMEFORMAT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TIMEMIN);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TIMEMAX);
+DECLARE_CONSTASCII_USTRING(PROPERTY_LINECOUNT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_BOUNDCOLUMN);
+DECLARE_CONSTASCII_USTRING(PROPERTY_HASNAVIGATION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_BACKGROUNDCOLOR);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FILLCOLOR);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TEXTCOLOR);
+DECLARE_CONSTASCII_USTRING(PROPERTY_LINECOLOR);
+DECLARE_CONSTASCII_USTRING(PROPERTY_BORDER);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DROPDOWN);
+DECLARE_CONSTASCII_USTRING(PROPERTY_MULTI);
+DECLARE_CONSTASCII_USTRING(PROPERTY_HSCROLL);
+DECLARE_CONSTASCII_USTRING(PROPERTY_VSCROLL);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TABSTOP);
+DECLARE_CONSTASCII_USTRING(PROPERTY_AUTOCOMPLETE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_HARDLINEBREAKS);
+DECLARE_CONSTASCII_USTRING(PROPERTY_PRINTABLE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ECHO_CHAR);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ROWHEIGHT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_HELPTEXT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONT_NAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONT_STYLENAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONT_FAMILY);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONT_CHARSET);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONT_HEIGHT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONT_WEIGHT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONT_SLANT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONT_UNDERLINE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FONT_STRIKEOUT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_HELPURL);
+DECLARE_CONSTASCII_USTRING(PROPERTY_RECORDMARKER);
+DECLARE_CONSTASCII_USTRING(PROPERTY_BOUNDFIELD);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TREATASNUMERIC);
+DECLARE_CONSTASCII_USTRING(PROPERTY_EFFECTIVE_VALUE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_EFFECTIVE_DEFAULT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_EFFECTIVE_MIN);
+DECLARE_CONSTASCII_USTRING(PROPERTY_EFFECTIVE_MAX);
+DECLARE_CONSTASCII_USTRING(PROPERTY_HIDDEN);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FILTERPROPOSAL);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FIELDSOURCE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TABLENAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_FILTERSUPPLIER);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CURRENTFILTER);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SELECTED_FIELDS);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SELECTED_TABLES);
+DECLARE_CONSTASCII_USTRING(PROPERTY_THREADSAFE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CONTROLLABEL);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CURRSYM_POSITION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SOURCE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CURSORCOLOR);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ALWAYSSHOWCURSOR);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DISPLAYSYNCHRON);
+
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISMODIFIED);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISNEW);
+DECLARE_CONSTASCII_USTRING(PROPERTY_PRIVILEGES);
+DECLARE_CONSTASCII_USTRING(PROPERTY_DETAILFIELDS);
+DECLARE_CONSTASCII_USTRING(PROPERTY_COMMAND);
+DECLARE_CONSTASCII_USTRING(PROPERTY_COMMANDTYPE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_RESULTSET_CONCURRENCY);
+DECLARE_CONSTASCII_USTRING(PROPERTY_INSERTONLY);
+DECLARE_CONSTASCII_USTRING(PROPERTY_RESULTSET_TYPE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ESCAPE_PROCESSING);
+DECLARE_CONSTASCII_USTRING(PROPERTY_APPLYFILTER);
+
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISNULLABLE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ACTIVECOMMAND);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ISCURRENCY);
+DECLARE_CONSTASCII_USTRING(PROPERTY_NUMBER_FORMATS_SUPPLIER);
+DECLARE_CONSTASCII_USTRING(PROPERTY_URL);
+DECLARE_CONSTASCII_USTRING(PROPERTY_TITLE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_ACTIVE_CONNECTION);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SCALE);
+DECLARE_CONSTASCII_USTRING(PROPERTY_SORT);
+DECLARE_CONSTASCII_USTRING(PROPERTY_COLUMNSERVICENAME);
+DECLARE_CONSTASCII_USTRING(PROPERTY_CONTROLSOURCEPROPERTY);
+DECLARE_CONSTASCII_USTRING(PROPERTY_REALNAME);
+
+//.........................................................................
+}
+//.........................................................................
+
+
+#endif // _FRM_PROPERTY_HRC_
+
diff --git a/forms/source/inc/property.hxx b/forms/source/inc/property.hxx
new file mode 100644
index 000000000000..8e6871fa4e41
--- /dev/null
+++ b/forms/source/inc/property.hxx
@@ -0,0 +1,261 @@
+/*************************************************************************
+ *
+ * $RCSfile: property.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:29:06 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef _FRM_PROPERTY_HXX_
+#define _FRM_PROPERTY_HXX_
+
+#ifndef _COM_SUN_STAR_UNO_XAGGREGATION_HPP_
+#include <com/sun/star/uno/XAggregation.hpp>
+#endif
+#ifndef _COM_SUN_STAR_BEANS_XPROPERTYSTATE_HPP_
+#include <com/sun/star/beans/XPropertyState.hpp>
+#endif
+#ifndef _COM_SUN_STAR_BEANS_PROPERTYATTRIBUTE_HPP_
+#include <com/sun/star/beans/PropertyAttribute.hpp>
+#endif
+
+#ifndef _CPPUHELPER_PROPSHLP_HXX
+#include <cppuhelper/propshlp.hxx>
+#endif
+#ifndef _CPPUHELPER_PROPTYPEHLP_HXX
+#include <cppuhelper/proptypehlp.hxx>
+#endif
+
+#ifndef _UTL_PROPERTY_HXX_
+#include <unotools/property.hxx>
+#endif
+#ifndef _UNOTOOLS_PROPERTY_AGGREGATION_HXX_
+#include <unotools/propagg.hxx>
+#endif
+#ifndef _UTL_STLTYPES_HXX_
+#include <unotools/stl_types.hxx>
+#endif
+
+using namespace utl;
+
+//=========================================================================
+//= property helper classes
+//=========================================================================
+
+//... namespace frm .......................................................
+namespace frm
+{
+//.........................................................................
+
+//==================================================================
+//= assigment property handle <-> property name
+//= used by the PropertySetAggregationHelper
+//==================================================================
+
+class PropertyInfoService
+{
+ //..................................................................
+ struct PropertyAssignment
+ {
+ ::rtl::OUString sName;
+ sal_Int32 nHandle;
+
+ PropertyAssignment() { nHandle = -1; }
+ PropertyAssignment(const PropertyAssignment& _rSource)
+ :sName(_rSource.sName), nHandle(_rSource.nHandle) { }
+ PropertyAssignment(const ::rtl::OUString& _rName, sal_Int32 _nHandle)
+ :sName(_rName), nHandle(_nHandle) { }
+
+ };
+
+ DECLARE_STL_VECTOR(PropertyAssignment, PropertyMap);
+ static PropertyMap s_AllKnownProperties;
+
+ //..................................................................
+ // comparing two PropertyAssignment's
+public:
+ typedef PropertyAssignment PUBLIC_SOLARIS_COMPILER_HACK;
+ // did not get the following compiled under with SUNPRO 5 without this
+ // public typedef
+private:
+ friend struct PropertyAssignmentNameCompareLess;
+ typedef binary_function< PUBLIC_SOLARIS_COMPILER_HACK, PUBLIC_SOLARIS_COMPILER_HACK, sal_Bool > PropertyAssignmentNameCompareLess_Base;
+ struct PropertyAssignmentNameCompareLess : public PropertyAssignmentNameCompareLess_Base
+ {
+ inline sal_Bool operator() (const PUBLIC_SOLARIS_COMPILER_HACK& _rL, const PUBLIC_SOLARIS_COMPILER_HACK& _rR) const
+ {
+ return (_rL.sName.compareTo(_rR.sName) < 0);
+ }
+ };
+
+public:
+ PropertyInfoService() { }
+
+public:
+ static sal_Int32 getPropertyId(const ::rtl::OUString& _rName);
+ static ::rtl::OUString getPropertyName(sal_Int32 _nHandle);
+
+private:
+ static void initialize();
+};
+
+//..................................................................
+// a class implementing the utl::IPropertyInfoService
+class ConcretInfoService : public ::utl::IPropertyInfoService
+{
+public:
+ virtual sal_Int32 getPreferedPropertyId(const ::rtl::OUString& _rName);
+};
+
+//------------------------------------------------------------------------------
+#define DECL_PROP_IMPL(varname, type) \
+ pProps[nPos++] = starbeans::Property(PROPERTY_##varname, PROPERTY_ID_##varname, ::getCppuType(reinterpret_cast< type* >(NULL)),
+
+//------------------------------------------------------------------------------
+#define DECL_BOOL_PROP_IMPL(varname) \
+pProps[nPos++] = starbeans::Property(PROPERTY_##varname, PROPERTY_ID_##varname, ::getBooleanCppuType(),
+
+//------------------------------------------------------------------------------
+#define DECL_IFACE_PROP_IMPL(varname, type) \
+pProps[nPos++] = starbeans::Property(PROPERTY_##varname, PROPERTY_ID_##varname, ::getCppuType(reinterpret_cast< staruno::Reference< type >* >(NULL)),
+
+//------------------------------------------------------------------------------
+#define BEGIN_AGGREGATION_PROPERTY_HELPER(count, aggregate) \
+ _rProps.realloc(count); \
+ starbeans::Property* pProps = _rProps.getArray(); \
+ sal_Int32 nPos = 0; \
+ \
+ if (aggregate.is()) \
+ _rAggregateProps = aggregate->getPropertySetInfo()->getProperties(); \
+
+//------------------------------------------------------------------------------
+#define BEGIN_PROPERTY_ARRAY_HELPER(count) \
+ staruno::Sequence<starbeans::Property> aProps(count); \
+ starbeans::Property* pProps = aProps.getArray(); \
+ sal_Int32 nPos = 0; \
+
+// ===
+//------------------------------------------------------------------------------
+#define DECL_PROP0(varname, type) \
+ DECL_PROP_IMPL(varname, type) 0)
+
+//------------------------------------------------------------------------------
+#define DECL_PROP1(varname, type, attrib1) \
+ DECL_PROP_IMPL(varname, type) starbeans::PropertyAttribute::attrib1)
+
+//------------------------------------------------------------------------------
+#define DECL_PROP2(varname, type, attrib1, attrib2) \
+ DECL_PROP_IMPL(varname, type) starbeans::PropertyAttribute::attrib1 | starbeans::PropertyAttribute::attrib2)
+
+//------------------------------------------------------------------------------
+#define DECL_PROP3(varname, type, attrib1, attrib2, attrib3) \
+ DECL_PROP_IMPL(varname, type) starbeans::PropertyAttribute::attrib1 | starbeans::PropertyAttribute::attrib2 | starbeans::PropertyAttribute::attrib3)
+
+//------------------------------------------------------------------------------
+#define DECL_PROP4(varname, type, attrib1, attrib2, attrib3, attrib4) \
+ DECL_PROP_IMPL(varname, type) starbeans::PropertyAttribute::attrib1 | starbeans::PropertyAttribute::attrib2 | starbeans::PropertyAttribute::attrib3 | starbeans::PropertyAttribute::attrib4)
+
+// === some property types require special handling
+// === such as interfaces
+//------------------------------------------------------------------------------
+#define DECL_IFACE_PROP0(varname, type) \
+ DECL_IFACE_PROP_IMPL(varname, type) 0)
+
+//------------------------------------------------------------------------------
+#define DECL_IFACE_PROP1(varname, type, attrib1) \
+ DECL_IFACE_PROP_IMPL(varname, type) starbeans::PropertyAttribute::attrib1)
+
+//------------------------------------------------------------------------------
+#define DECL_IFACE_PROP2(varname, type, attrib1, attrib2) \
+ DECL_IFACE_PROP_IMPL(varname, type) starbeans::PropertyAttribute::attrib1 | starbeans::PropertyAttribute::attrib2)
+
+//------------------------------------------------------------------------------
+#define DECL_IFACE_PROP3(varname, type, attrib1, attrib2, attrib3) \
+ DECL_IFACE_PROP_IMPL(varname, type) starbeans::PropertyAttribute::attrib1 | starbeans::PropertyAttribute::attrib2 | starbeans::PropertyAttribute::attrib3)
+
+//------------------------------------------------------------------------------
+#define DECL_IFACE_PROP4(varname, type, attrib1, attrib2, attrib3, attrib4) \
+ DECL_IFACE_PROP_IMPL(varname, type) starbeans::PropertyAttribute::attrib1 | starbeans::PropertyAttribute::attrib2 | starbeans::PropertyAttribute::attrib3 | PropertyAttribute::attrib4)
+
+// === or Boolean properties
+//------------------------------------------------------------------------------
+#define DECL_BOOL_PROP0(varname) \
+ DECL_BOOL_PROP_IMPL(varname) 0)
+
+//------------------------------------------------------------------------------
+#define DECL_BOOL_PROP1(varname, attrib1) \
+ DECL_BOOL_PROP_IMPL(varname) starbeans::PropertyAttribute::attrib1)
+
+//------------------------------------------------------------------------------
+#define DECL_BOOL_PROP2(varname, attrib1, attrib2) \
+ DECL_BOOL_PROP_IMPL(varname) starbeans::PropertyAttribute::attrib1 | starbeans::PropertyAttribute::attrib2)
+
+// ===
+//------------------------------------------------------------------------------
+#define END_AGGREGATION_PROPERTY_HELPER() \
+ DBG_ASSERT(nPos == _rProps.getLength(), "<...>::getInfohelper : forgot to adjust the count ?"); \
+
+//------------------------------------------------------------------------------
+#define END_PROPERTY_ARRAY_HELPER() \
+ DBG_ASSERT(nPos == aProps.getLength(), "<...>::getInfohelper : forgot to adjust the count ?"); \
+ return new ::cppu::OPropertyArrayHelper(aProps);
+
+//.........................................................................
+}
+//... namespace frm .......................................................
+
+#endif // _FRM_PROPERTY_HXX_
+
diff --git a/forms/source/inc/services.hxx b/forms/source/inc/services.hxx
new file mode 100644
index 000000000000..20c513c19c02
--- /dev/null
+++ b/forms/source/inc/services.hxx
@@ -0,0 +1,234 @@
+/*************************************************************************
+ *
+ * $RCSfile: services.hxx,v $
+ *
+ * $Revision: 1.1.1.1 $
+ *
+ * last change: $Author: hr $ $Date: 2000-09-18 16:29:06 $
+ *
+ * The Contents of this file are made available subject to the terms of
+ * either of the following licenses
+ *
+ * - GNU Lesser General Public License Version 2.1
+ * - Sun Industry Standards Source License Version 1.1
+ *
+ * Sun Microsystems Inc., October, 2000
+ *
+ * GNU Lesser General Public License Version 2.1
+ * =============================================
+ * Copyright 2000 by Sun Microsystems, Inc.
+ * 901 San Antonio Road, Palo Alto, CA 94303, USA
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License version 2.1, as published by the Free Software Foundation.
+ *
+ * This library 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 for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place, Suite 330, Boston,
+ * MA 02111-1307 USA
+ *
+ *
+ * Sun Industry Standards Source License Version 1.1
+ * =================================================
+ * The contents of this file are subject to the Sun Industry Standards
+ * Source License Version 1.1 (the "License"); You may not use this file
+ * except in compliance with the License. You may obtain a copy of the
+ * License at http://www.openoffice.org/license.html.
+ *
+ * Software provided under this License is provided on an "AS IS" basis,
+ * WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING,
+ * WITHOUT LIMITATION, WARRANTIES THAT THE SOFTWARE IS FREE OF DEFECTS,
+ * MERCHANTABLE, FIT FOR A PARTICULAR PURPOSE, OR NON-INFRINGING.
+ * See the License for the specific provisions governing your rights and
+ * obligations concerning the Software.
+ *
+ * The Initial Developer of the Original Code is: Sun Microsystems, Inc.
+ *
+ * Copyright: 2000 by Sun Microsystems, Inc.
+ *
+ * All Rights Reserved.
+ *
+ * Contributor(s): _______________________________________
+ *
+ *
+ ************************************************************************/
+
+#ifndef _FRM_SERVICES_HXX_
+#define _FRM_SERVICES_HXX_
+
+#ifndef _RTL_USTRING_HXX_
+#include <rtl/ustring.hxx>
+#endif
+
+#ifndef _FRM_STRINGS_HXX_
+#include "strings.hxx"
+#endif
+
+//... namespace frm .......................................................
+namespace frm
+{
+//.........................................................................
+
+// alle serviceNamen
+DECLARE_CONSTASCII_USTRING(FRM_NUMBER_FORMATTER);
+
+DECLARE_CONSTASCII_USTRING(VCL_CONTROL_EDIT);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROL_LISTBOX);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROL_COMBOBOX);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROL_RADIOBUTTON);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROL_GROUPBOX);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROL_FIXEDTEXT);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROL_COMMANDBUTTON);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROL_CHECKBOX);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROL_IMAGEBUTTON);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROL_FILECONTROL);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROL_TIMEFIELD);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROL_DATEFIELD);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROL_NUMERICFIELD);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROL_CURRENCYFIELD);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROL_PATTERNFIELD);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROL_FORMATTEDFIELD);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROL_IMAGECONTROL);
+
+DECLARE_CONSTASCII_USTRING(VCL_CONTROLMODEL_EDIT);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROLMODEL_LISTBOX);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROLMODEL_COMBOBOX);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROLMODEL_RADIOBUTTON);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROLMODEL_GROUPBOX);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROLMODEL_FIXEDTEXT);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROLMODEL_COMMANDBUTTON);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROLMODEL_CHECKBOX);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROLMODEL_IMAGEBUTTON);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROLMODEL_FILECONTROL);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROLMODEL_TIMEFIELD);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROLMODEL_DATEFIELD);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROLMODEL_NUMERICFIELD);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROLMODEL_CURRENCYFIELD);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROLMODEL_PATTERNFIELD);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROLMODEL_FORMATTEDFIELD);
+DECLARE_CONSTASCII_USTRING(VCL_CONTROLMODEL_IMAGECONTROL);
+
+DECLARE_CONSTASCII_USTRING(AWT_CONTROL_TEXTFIELD);
+
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_FORM);
+
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_EDIT); // alter service name (5.0)
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_TEXTFIELD);
+
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_LISTBOX);
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_COMBOBOX);
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_RADIOBUTTON);
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_GROUPBOX);
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_FIXEDTEXT);
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_COMMANDBUTTON);
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_CHECKBOX);
+
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_GRID); // alter service name (5.0)
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_GRIDCONTROL);
+
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_IMAGEBUTTON);
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_FILECONTROL);
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_TIMEFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_DATEFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_NUMERICFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_CURRENCYFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_PATTERNFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_FORMATTEDFIELD);
+
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_HIDDEN); // alter service name (5.0)
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_HIDDENCONTROL);
+
+DECLARE_CONSTASCII_USTRING(FRM_COMPONENT_IMAGECONTROL);
+
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_LISTBOX);
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_RADIOBUTTON);
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_COMBOBOX);
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_GROUPBOX);
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_CHECKBOX);
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_FIXEDTEXT);
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_COMMANDBUTTON);
+
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_GRID);
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_GRIDCONTROL);
+
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_IMAGEBUTTON);
+
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_EDIT); // alt
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_TEXTFIELD);
+
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_TIMEFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_DATEFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_NUMERICFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_CURRENCYFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_PATTERNFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_FILECONTROL);
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_IMAGECONTROL);
+DECLARE_CONSTASCII_USTRING(FRM_CONTROL_FORMATTEDFIELD);
+
+DECLARE_CONSTASCII_USTRING(SRV_SDB_ROWSET);
+DECLARE_CONSTASCII_USTRING(SRV_SDB_CONNECTION);
+DECLARE_CONSTASCII_USTRING(SRV_SDBC_STATEMENT);
+DECLARE_CONSTASCII_USTRING(SRV_SDB_DATABASE_ENVIRONMENT);
+DECLARE_CONSTASCII_USTRING(SRV_SDB_DATABASE_ACCESS_CONNECTION);
+DECLARE_CONSTASCII_USTRING(SRV_SDB_DATABASE_ACCESS_CONTEXT);
+
+DECLARE_CONSTASCII_USTRING(SRV_AWT_POINTER);
+
+
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_FORM);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_HTMLFORM);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_DATAFORM);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_TEXTFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_LISTBOX);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_COMBOBOX);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_RADIOBUTTON);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_GROUPBOX);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_FIXEDTEXT);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_COMMANDBUTTON);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_CHECKBOX);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_GRIDCONTROL);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_IMAGEBUTTON);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_FILECONTROL);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_TIMEFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_DATEFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_NUMERICFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_CURRENCYFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_PATTERNFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_HIDDENCONTROL);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_IMAGECONTROL);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_COMPONENT_FORMATTEDFIELD);
+
+DECLARE_CONSTASCII_USTRING(FRM_SUN_CONTROL_TEXTFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_CONTROL_LISTBOX);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_CONTROL_COMBOBOX);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_CONTROL_RADIOBUTTON);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_CONTROL_GROUPBOX);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_CONTROL_FIXEDTEXT);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_CONTROL_COMMANDBUTTON);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_CONTROL_CHECKBOX);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_CONTROL_GRIDCONTROL);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_CONTROL_IMAGEBUTTON);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_CONTROL_TIMEFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_CONTROL_DATEFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_CONTROL_NUMERICFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_CONTROL_CURRENCYFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_CONTROL_PATTERNFIELD);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_CONTROL_IMAGECONTROL);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_CONTROL_FORMATTEDFIELD);
+
+DECLARE_CONSTASCII_USTRING(FRM_SUN_FORMS_COLLECTION);
+DECLARE_CONSTASCII_USTRING(FRM_SUN_INTERNATIONAL_INFO);
+
+
+//.........................................................................
+}
+//... namespace frm .......................................................
+
+#endif // _FRM_SERVICES_HXX_
+