summaryrefslogtreecommitdiff
path: root/svx/source/inc/fmpgeimp.hxx
diff options
context:
space:
mode:
Diffstat (limited to 'svx/source/inc/fmpgeimp.hxx')
-rw-r--r--svx/source/inc/fmpgeimp.hxx46
1 files changed, 29 insertions, 17 deletions
diff --git a/svx/source/inc/fmpgeimp.hxx b/svx/source/inc/fmpgeimp.hxx
index ac2c573565dc..90a7a4027b46 100644
--- a/svx/source/inc/fmpgeimp.hxx
+++ b/svx/source/inc/fmpgeimp.hxx
@@ -37,10 +37,12 @@
#include <com/sun/star/container/XNameContainer.hpp>
#include <com/sun/star/frame/XModel.hpp>
#include <com/sun/star/lang/XServiceInfo.hpp>
+#include <com/sun/star/container/XMap.hpp>
#include <tools/list.hxx>
#include <tools/link.hxx>
#include <comphelper/uno3.hxx>
+#include <cppuhelper/weakref.hxx>
#include "svx/svxdllapi.h"
#include <map>
@@ -57,8 +59,6 @@ FORWARD_DECLARE_INTERFACE(container,XIndexContainer)
class SdrObjList;
-DECLARE_LIST(FmObjectList, FmFormObj*)
-
//==================================================================
// FmFormPageImpl
// lauscht an allen Containern, um festzustellen, wann Objecte
@@ -68,9 +68,11 @@ DECLARE_LIST(FmObjectList, FmFormObj*)
class SVX_DLLPRIVATE FmFormPageImpl
{
::std::map< ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormComponent >,SdrObject* > m_aComponentMap;
- ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm> xCurrentForm;
- ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer> m_xForms;
- FmFormPage* pPage;
+ ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm > xCurrentForm;
+ ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameContainer > m_xForms;
+ ::com::sun::star::uno::WeakReference< ::com::sun::star::container::XMap > m_aControlShapeMap;
+
+ FmFormPage& m_rPage;
Link m_aFormsCreationHdl;
sal_Bool m_bFirstActivation;
@@ -81,8 +83,8 @@ protected:
void Init();
public:
- FmFormPageImpl(FmFormPage* _pPage);
- FmFormPageImpl(FmFormPage* _pPage, const FmFormPageImpl& rImpl);
+ FmFormPageImpl( FmFormPage& _rPage );
+ FmFormPageImpl( FmFormPage& _rPage, const FmFormPageImpl& rImpl );
~FmFormPageImpl();
// nur wichtig fuer den DesignMode
@@ -137,6 +139,24 @@ protected:
const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XServiceInfo >& _rxObject
) const;
+public:
+
+ static UniString getDefaultName(
+ sal_Int16 nClassId,
+ const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XServiceInfo >& _rxObject
+ );
+
+ ::rtl::OUString setUniqueName(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormComponent>& xFormComponent, const ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm>& xControls);
+ ::rtl::OUString getUniqueName(const ::rtl::OUString& rName, const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess>& xNamedSet) const;
+
+ void formObjectInserted( const FmFormObj& _object );
+ void formObjectRemoved( const FmFormObj& _object );
+
+ /** returns an object mapping from control models to drawing shapes.
+ */
+ ::com::sun::star::uno::Reference< ::com::sun::star::container::XMap >
+ getControlToShapeMap();
+
private:
/** validates whether <member>xCurrentForm</member> is still valid and to be used
@@ -153,16 +173,8 @@ private:
*/
bool validateCurForm();
-public:
-
- static UniString getDefaultName(
- sal_Int16 nClassId,
- const ::com::sun::star::uno::Reference< ::com::sun::star::lang::XServiceInfo >& _rxObject
- );
-
- ::rtl::OUString setUniqueName(const ::com::sun::star::uno::Reference< ::com::sun::star::form::XFormComponent>& xFormComponent, const ::com::sun::star::uno::Reference< ::com::sun::star::form::XForm>& xControls);
- ::rtl::OUString getUniqueName(const ::rtl::OUString& rName, const ::com::sun::star::uno::Reference< ::com::sun::star::container::XNameAccess>& xNamedSet) const;
-
+ ::com::sun::star::uno::Reference< ::com::sun::star::container::XMap >
+ impl_createControlShapeMap_nothrow();
private:
FmFormPageImpl(); // never implemented