xref: /aoo41x/main/svx/source/form/fmexpl.cxx (revision f6e50924)
1*f6e50924SAndrew Rist /**************************************************************
2cdf0e10cSrcweir  *
3*f6e50924SAndrew Rist  * Licensed to the Apache Software Foundation (ASF) under one
4*f6e50924SAndrew Rist  * or more contributor license agreements.  See the NOTICE file
5*f6e50924SAndrew Rist  * distributed with this work for additional information
6*f6e50924SAndrew Rist  * regarding copyright ownership.  The ASF licenses this file
7*f6e50924SAndrew Rist  * to you under the Apache License, Version 2.0 (the
8*f6e50924SAndrew Rist  * "License"); you may not use this file except in compliance
9*f6e50924SAndrew Rist  * with the License.  You may obtain a copy of the License at
10*f6e50924SAndrew Rist  *
11*f6e50924SAndrew Rist  *   http://www.apache.org/licenses/LICENSE-2.0
12*f6e50924SAndrew Rist  *
13*f6e50924SAndrew Rist  * Unless required by applicable law or agreed to in writing,
14*f6e50924SAndrew Rist  * software distributed under the License is distributed on an
15*f6e50924SAndrew Rist  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16*f6e50924SAndrew Rist  * KIND, either express or implied.  See the License for the
17*f6e50924SAndrew Rist  * specific language governing permissions and limitations
18*f6e50924SAndrew Rist  * under the License.
19*f6e50924SAndrew Rist  *
20*f6e50924SAndrew Rist  *************************************************************/
21*f6e50924SAndrew Rist 
22*f6e50924SAndrew Rist 
23cdf0e10cSrcweir 
24cdf0e10cSrcweir // MARKER(update_precomp.py): autogen include statement, do not remove
25cdf0e10cSrcweir #include "precompiled_svx.hxx"
26cdf0e10cSrcweir 
27cdf0e10cSrcweir #ifndef _SVX_FMRESIDS_HRC
28cdf0e10cSrcweir #include "svx/fmresids.hrc"
29cdf0e10cSrcweir #endif
30cdf0e10cSrcweir #ifndef _SVX_FMEXPL_HRC
31cdf0e10cSrcweir #include "fmexpl.hrc"
32cdf0e10cSrcweir #endif
33cdf0e10cSrcweir #include "fmexpl.hxx"
34cdf0e10cSrcweir 
35cdf0e10cSrcweir #ifndef _SVX_FMHELP_HRC
36cdf0e10cSrcweir #include "fmhelp.hrc"
37cdf0e10cSrcweir #endif
38cdf0e10cSrcweir #include <svx/fmglob.hxx>
39cdf0e10cSrcweir #include "fmservs.hxx"
40cdf0e10cSrcweir #include <svx/fmmodel.hxx>
41cdf0e10cSrcweir #include "fmexch.hxx"
42cdf0e10cSrcweir #include "fmundo.hxx"
43cdf0e10cSrcweir #include "fmpgeimp.hxx"
44cdf0e10cSrcweir 
45cdf0e10cSrcweir #ifndef _SVX_SVXIDS_HRC
46cdf0e10cSrcweir #include <svx/svxids.hrc>
47cdf0e10cSrcweir #endif
48cdf0e10cSrcweir 
49cdf0e10cSrcweir #ifndef _SVX_FMPROP_HRC
50cdf0e10cSrcweir #include "fmprop.hrc"
51cdf0e10cSrcweir #endif
52cdf0e10cSrcweir #include <svx/dialmgr.hxx>
53cdf0e10cSrcweir #include "svx/svditer.hxx"
54cdf0e10cSrcweir #include <svx/svdouno.hxx>
55cdf0e10cSrcweir #include <fmundo.hxx>
56cdf0e10cSrcweir #include <svx/svdobj.hxx>
57cdf0e10cSrcweir #include <vcl/msgbox.hxx>
58cdf0e10cSrcweir #include <sfx2/dispatch.hxx>
59cdf0e10cSrcweir #include <sfx2/objsh.hxx>
60cdf0e10cSrcweir #include <sfx2/viewsh.hxx>
61cdf0e10cSrcweir #include <sfx2/viewfrm.hxx>
62cdf0e10cSrcweir #include <com/sun/star/lang/XServiceInfo.hpp>
63cdf0e10cSrcweir #include <com/sun/star/form/FormComponentType.hpp>
64cdf0e10cSrcweir #include <com/sun/star/awt/XTabControllerModel.hpp>
65cdf0e10cSrcweir #include <vcl/menu.hxx>
66cdf0e10cSrcweir #include <sfx2/objitem.hxx>
67cdf0e10cSrcweir #include <sfx2/request.hxx>
68cdf0e10cSrcweir #include <tools/shl.hxx>
69cdf0e10cSrcweir 
70cdf0e10cSrcweir #ifndef _WRKWIN_HXX //autogen
71cdf0e10cSrcweir #include <vcl/wrkwin.hxx>
72cdf0e10cSrcweir #endif
73cdf0e10cSrcweir #include <vcl/sound.hxx>
74cdf0e10cSrcweir #include <svx/fmshell.hxx>
75cdf0e10cSrcweir #include "fmshimp.hxx"
76cdf0e10cSrcweir #include <svx/fmpage.hxx>
77cdf0e10cSrcweir #include <com/sun/star/io/XPersistObject.hpp>
78cdf0e10cSrcweir #include <com/sun/star/script/XEventAttacherManager.hpp>
79cdf0e10cSrcweir #include <com/sun/star/sdb/CommandType.hpp>
80cdf0e10cSrcweir #include <com/sun/star/beans/PropertyAttribute.hpp>
81cdf0e10cSrcweir #include <comphelper/property.hxx>
82cdf0e10cSrcweir #include <comphelper/processfactory.hxx>
83cdf0e10cSrcweir #include <osl/diagnose.h>
84cdf0e10cSrcweir #include <rtl/logfile.hxx>
85cdf0e10cSrcweir 
86cdf0e10cSrcweir using namespace ::svxform;
87cdf0e10cSrcweir using namespace ::com::sun::star::uno;
88cdf0e10cSrcweir using namespace ::com::sun::star::sdbc;
89cdf0e10cSrcweir using namespace ::com::sun::star::sdb;
90cdf0e10cSrcweir using namespace ::com::sun::star::form;
91cdf0e10cSrcweir using namespace ::com::sun::star::beans;
92cdf0e10cSrcweir using namespace ::com::sun::star::lang;
93cdf0e10cSrcweir using namespace ::com::sun::star::container;
94cdf0e10cSrcweir 
95cdf0e10cSrcweir //========================================================================
96cdf0e10cSrcweir 
97cdf0e10cSrcweir SV_IMPL_PTRARR_SORT( FmEntryDataArray, FmEntryDataPtr )
98cdf0e10cSrcweir SV_IMPL_PTRARR_SORT( SvLBoxEntrySortedArray, SvLBoxEntryPtr )
99cdf0e10cSrcweir 
100cdf0e10cSrcweir //========================================================================
101cdf0e10cSrcweir // class FmNavInsertedHint
102cdf0e10cSrcweir //========================================================================
103cdf0e10cSrcweir TYPEINIT1( FmNavInsertedHint, SfxHint );
104cdf0e10cSrcweir DBG_NAME(FmNavInsertedHint);
105cdf0e10cSrcweir //------------------------------------------------------------------------
FmNavInsertedHint(FmEntryData * pInsertedEntryData,sal_uInt32 nRelPos)106cdf0e10cSrcweir FmNavInsertedHint::FmNavInsertedHint( FmEntryData* pInsertedEntryData, sal_uInt32 nRelPos )
107cdf0e10cSrcweir     :pEntryData( pInsertedEntryData )
108cdf0e10cSrcweir     ,nPos( nRelPos )
109cdf0e10cSrcweir 
110cdf0e10cSrcweir {
111cdf0e10cSrcweir     DBG_CTOR(FmNavInsertedHint,NULL);
112cdf0e10cSrcweir }
113cdf0e10cSrcweir 
114cdf0e10cSrcweir //------------------------------------------------------------------------
~FmNavInsertedHint()115cdf0e10cSrcweir FmNavInsertedHint::~FmNavInsertedHint()
116cdf0e10cSrcweir {
117cdf0e10cSrcweir     DBG_DTOR(FmNavInsertedHint,NULL);
118cdf0e10cSrcweir }
119cdf0e10cSrcweir 
120cdf0e10cSrcweir 
121cdf0e10cSrcweir //========================================================================
122cdf0e10cSrcweir // class FmNavInsertedHint
123cdf0e10cSrcweir //========================================================================
124cdf0e10cSrcweir TYPEINIT1( FmNavModelReplacedHint, SfxHint );
125cdf0e10cSrcweir DBG_NAME(FmNavModelReplacedHint);
126cdf0e10cSrcweir //------------------------------------------------------------------------
FmNavModelReplacedHint(FmEntryData * pAffectedEntryData)127cdf0e10cSrcweir FmNavModelReplacedHint::FmNavModelReplacedHint( FmEntryData* pAffectedEntryData )
128cdf0e10cSrcweir     :pEntryData( pAffectedEntryData )
129cdf0e10cSrcweir {
130cdf0e10cSrcweir     DBG_CTOR(FmNavModelReplacedHint,NULL);
131cdf0e10cSrcweir }
132cdf0e10cSrcweir 
133cdf0e10cSrcweir //------------------------------------------------------------------------
~FmNavModelReplacedHint()134cdf0e10cSrcweir FmNavModelReplacedHint::~FmNavModelReplacedHint()
135cdf0e10cSrcweir {
136cdf0e10cSrcweir     DBG_DTOR(FmNavModelReplacedHint,NULL);
137cdf0e10cSrcweir }
138cdf0e10cSrcweir 
139cdf0e10cSrcweir //========================================================================
140cdf0e10cSrcweir // class FmNavRemovedHint
141cdf0e10cSrcweir //========================================================================
142cdf0e10cSrcweir TYPEINIT1( FmNavRemovedHint, SfxHint );
143cdf0e10cSrcweir DBG_NAME(FmNavRemovedHint);
144cdf0e10cSrcweir //------------------------------------------------------------------------
FmNavRemovedHint(FmEntryData * pRemovedEntryData)145cdf0e10cSrcweir FmNavRemovedHint::FmNavRemovedHint( FmEntryData* pRemovedEntryData )
146cdf0e10cSrcweir     :pEntryData( pRemovedEntryData )
147cdf0e10cSrcweir {
148cdf0e10cSrcweir     DBG_CTOR(FmNavRemovedHint,NULL);
149cdf0e10cSrcweir }
150cdf0e10cSrcweir 
151cdf0e10cSrcweir //------------------------------------------------------------------------
~FmNavRemovedHint()152cdf0e10cSrcweir FmNavRemovedHint::~FmNavRemovedHint()
153cdf0e10cSrcweir {
154cdf0e10cSrcweir     DBG_DTOR(FmNavRemovedHint,NULL);
155cdf0e10cSrcweir }
156cdf0e10cSrcweir 
157cdf0e10cSrcweir 
158cdf0e10cSrcweir //========================================================================
159cdf0e10cSrcweir // class FmNavNameChangedHint
160cdf0e10cSrcweir //========================================================================
161cdf0e10cSrcweir TYPEINIT1( FmNavNameChangedHint, SfxHint );
162cdf0e10cSrcweir DBG_NAME(FmNavNameChangedHint);
163cdf0e10cSrcweir //------------------------------------------------------------------------
FmNavNameChangedHint(FmEntryData * pData,const::rtl::OUString & rNewName)164cdf0e10cSrcweir FmNavNameChangedHint::FmNavNameChangedHint( FmEntryData* pData, const ::rtl::OUString& rNewName )
165cdf0e10cSrcweir     :pEntryData( pData )
166cdf0e10cSrcweir     ,aNewName( rNewName )
167cdf0e10cSrcweir {
168cdf0e10cSrcweir     DBG_CTOR(FmNavNameChangedHint,NULL);
169cdf0e10cSrcweir }
170cdf0e10cSrcweir 
171cdf0e10cSrcweir //------------------------------------------------------------------------
~FmNavNameChangedHint()172cdf0e10cSrcweir FmNavNameChangedHint::~FmNavNameChangedHint()
173cdf0e10cSrcweir {
174cdf0e10cSrcweir     DBG_DTOR(FmNavNameChangedHint,NULL);
175cdf0e10cSrcweir }
176cdf0e10cSrcweir 
177cdf0e10cSrcweir //========================================================================
178cdf0e10cSrcweir // class FmNavClearedHint
179cdf0e10cSrcweir //========================================================================
180cdf0e10cSrcweir TYPEINIT1( FmNavClearedHint, SfxHint );
181cdf0e10cSrcweir DBG_NAME(FmNavClearedHint);
182cdf0e10cSrcweir //------------------------------------------------------------------------
FmNavClearedHint()183cdf0e10cSrcweir FmNavClearedHint::FmNavClearedHint()
184cdf0e10cSrcweir {
185cdf0e10cSrcweir     DBG_CTOR(FmNavClearedHint,NULL);
186cdf0e10cSrcweir }
187cdf0e10cSrcweir 
188cdf0e10cSrcweir //------------------------------------------------------------------------
~FmNavClearedHint()189cdf0e10cSrcweir FmNavClearedHint::~FmNavClearedHint()
190cdf0e10cSrcweir {
191cdf0e10cSrcweir     DBG_DTOR(FmNavClearedHint,NULL);
192cdf0e10cSrcweir }
193cdf0e10cSrcweir 
194cdf0e10cSrcweir //========================================================================
195cdf0e10cSrcweir // class FmNavRequestSelectHint
196cdf0e10cSrcweir //========================================================================
197cdf0e10cSrcweir TYPEINIT1(FmNavRequestSelectHint, SfxHint);
198cdf0e10cSrcweir 
199cdf0e10cSrcweir //========================================================================
200cdf0e10cSrcweir // class FmNavViewMarksChanged
201cdf0e10cSrcweir //========================================================================
202cdf0e10cSrcweir TYPEINIT1(FmNavViewMarksChanged, SfxHint);
203cdf0e10cSrcweir 
204cdf0e10cSrcweir //========================================================================
205cdf0e10cSrcweir // class FmEntryDataList
206cdf0e10cSrcweir //========================================================================
207cdf0e10cSrcweir DBG_NAME(FmEntryDataList);
208cdf0e10cSrcweir //------------------------------------------------------------------------
FmEntryDataList()209cdf0e10cSrcweir FmEntryDataList::FmEntryDataList()
210cdf0e10cSrcweir {
211cdf0e10cSrcweir     DBG_CTOR(FmEntryDataList,NULL);
212cdf0e10cSrcweir }
213cdf0e10cSrcweir 
214cdf0e10cSrcweir //------------------------------------------------------------------------
~FmEntryDataList()215cdf0e10cSrcweir FmEntryDataList::~FmEntryDataList()
216cdf0e10cSrcweir {
217cdf0e10cSrcweir     DBG_DTOR(FmEntryDataList,NULL);
218cdf0e10cSrcweir }
219cdf0e10cSrcweir 
220cdf0e10cSrcweir 
221cdf0e10cSrcweir //========================================================================
222cdf0e10cSrcweir // class FmEntryData
223cdf0e10cSrcweir //========================================================================
224cdf0e10cSrcweir TYPEINIT0( FmEntryData );
225cdf0e10cSrcweir DBG_NAME(FmEntryData);
226cdf0e10cSrcweir //------------------------------------------------------------------------
FmEntryData(FmEntryData * pParentData,const Reference<XInterface> & _rxIFace)227cdf0e10cSrcweir FmEntryData::FmEntryData( FmEntryData* pParentData, const Reference< XInterface >& _rxIFace )
228cdf0e10cSrcweir     :pParent( pParentData )
229cdf0e10cSrcweir {
230cdf0e10cSrcweir     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmEntryData::FmEntryData" );
231cdf0e10cSrcweir     DBG_CTOR(FmEntryData,NULL);
232cdf0e10cSrcweir     pChildList = new FmEntryDataList();
233cdf0e10cSrcweir 
234cdf0e10cSrcweir 	newObject( _rxIFace );
235cdf0e10cSrcweir }
236cdf0e10cSrcweir 
237cdf0e10cSrcweir //------------------------------------------------------------------------
~FmEntryData()238cdf0e10cSrcweir FmEntryData::~FmEntryData()
239cdf0e10cSrcweir {
240cdf0e10cSrcweir     Clear();
241cdf0e10cSrcweir     delete pChildList;
242cdf0e10cSrcweir     DBG_DTOR(FmEntryData,NULL);
243cdf0e10cSrcweir }
244cdf0e10cSrcweir 
245cdf0e10cSrcweir //------------------------------------------------------------------------
newObject(const::com::sun::star::uno::Reference<::com::sun::star::uno::XInterface> & _rxIFace)246cdf0e10cSrcweir void FmEntryData::newObject( const ::com::sun::star::uno::Reference< ::com::sun::star::uno::XInterface >& _rxIFace )
247cdf0e10cSrcweir {
248cdf0e10cSrcweir     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmEntryData::newObject" );
249cdf0e10cSrcweir 	// do not just copy, normalize it
250cdf0e10cSrcweir 	m_xNormalizedIFace = Reference< XInterface >( _rxIFace, UNO_QUERY );
251cdf0e10cSrcweir 	m_xProperties = m_xProperties.query( m_xNormalizedIFace );
252cdf0e10cSrcweir 	m_xChild = m_xChild.query( m_xNormalizedIFace );
253cdf0e10cSrcweir }
254cdf0e10cSrcweir 
255cdf0e10cSrcweir //------------------------------------------------------------------------
FmEntryData(const FmEntryData & rEntryData)256cdf0e10cSrcweir FmEntryData::FmEntryData( const FmEntryData& rEntryData )
257cdf0e10cSrcweir {
258cdf0e10cSrcweir     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmEntryData::FmEntryData" );
259cdf0e10cSrcweir     pChildList = new FmEntryDataList();
260cdf0e10cSrcweir     aText = rEntryData.GetText();
261cdf0e10cSrcweir     m_aNormalImage = rEntryData.GetNormalImage();
262cdf0e10cSrcweir     m_aHCImage = rEntryData.GetHCImage();
263cdf0e10cSrcweir     pParent = rEntryData.GetParent();
264cdf0e10cSrcweir 
265cdf0e10cSrcweir     FmEntryData* pChildData;
266cdf0e10cSrcweir     sal_uInt32 nEntryCount = rEntryData.GetChildList()->Count();
267cdf0e10cSrcweir     for( sal_uInt32 i=0; i<nEntryCount; i++ )
268cdf0e10cSrcweir     {
269cdf0e10cSrcweir         pChildData = rEntryData.GetChildList()->GetObject(i);
270cdf0e10cSrcweir         FmEntryData* pNewChildData = pChildData->Clone();
271cdf0e10cSrcweir         pChildList->Insert( pNewChildData, LIST_APPEND );
272cdf0e10cSrcweir     }
273cdf0e10cSrcweir 
274cdf0e10cSrcweir 	m_xNormalizedIFace = rEntryData.m_xNormalizedIFace;
275cdf0e10cSrcweir 	m_xProperties = rEntryData.m_xProperties;
276cdf0e10cSrcweir 	m_xChild = rEntryData.m_xChild;
277cdf0e10cSrcweir }
278cdf0e10cSrcweir 
279cdf0e10cSrcweir //------------------------------------------------------------------------
Clear()280cdf0e10cSrcweir void FmEntryData::Clear()
281cdf0e10cSrcweir {
282cdf0e10cSrcweir     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmEntryData::Clear" );
283cdf0e10cSrcweir     for (;;)
284cdf0e10cSrcweir     {
285cdf0e10cSrcweir         FmEntryData* pEntryData = GetChildList()->Remove(sal_uLong(0));
286cdf0e10cSrcweir         if (pEntryData == NULL)
287cdf0e10cSrcweir             break;
288cdf0e10cSrcweir         delete pEntryData;
289cdf0e10cSrcweir     }
290cdf0e10cSrcweir }
291cdf0e10cSrcweir 
292cdf0e10cSrcweir //------------------------------------------------------------------------
IsEqualWithoutChilds(FmEntryData * pEntryData)293cdf0e10cSrcweir sal_Bool FmEntryData::IsEqualWithoutChilds( FmEntryData* pEntryData )
294cdf0e10cSrcweir {
295cdf0e10cSrcweir     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmEntryData::IsEqualWithoutChilds" );
296cdf0e10cSrcweir     if(this == pEntryData)
297cdf0e10cSrcweir         return sal_True;
298cdf0e10cSrcweir 
299cdf0e10cSrcweir     if( !pEntryData )
300cdf0e10cSrcweir         return sal_False;
301cdf0e10cSrcweir 
302cdf0e10cSrcweir     if( !aText.equals(pEntryData->GetText()))
303cdf0e10cSrcweir         return sal_False;
304cdf0e10cSrcweir 
305cdf0e10cSrcweir     if( !pEntryData->GetParent() && pParent )
306cdf0e10cSrcweir         return sal_False;
307cdf0e10cSrcweir 
308cdf0e10cSrcweir     if( pEntryData->GetParent() && !pParent )
309cdf0e10cSrcweir         return sal_False;
310cdf0e10cSrcweir 
311cdf0e10cSrcweir     if( !pEntryData->GetParent() && !pParent )
312cdf0e10cSrcweir         return sal_True;
313cdf0e10cSrcweir 
314cdf0e10cSrcweir     if( !pParent->IsEqualWithoutChilds(pEntryData->GetParent()) )
315cdf0e10cSrcweir         return sal_False;
316cdf0e10cSrcweir 
317cdf0e10cSrcweir     return sal_True;
318cdf0e10cSrcweir }
319cdf0e10cSrcweir 
320cdf0e10cSrcweir 
321cdf0e10cSrcweir //========================================================================
322cdf0e10cSrcweir // class FmFormData
323cdf0e10cSrcweir //========================================================================
324cdf0e10cSrcweir TYPEINIT1( FmFormData, FmEntryData );
325cdf0e10cSrcweir DBG_NAME(FmFormData);
326cdf0e10cSrcweir //------------------------------------------------------------------------
FmFormData(const Reference<XForm> & _rxForm,const ImageList & _rNormalImages,const ImageList & _rHCImages,FmFormData * _pParent)327cdf0e10cSrcweir FmFormData::FmFormData( const Reference< XForm >& _rxForm, const ImageList& _rNormalImages, const ImageList& _rHCImages, FmFormData* _pParent )
328cdf0e10cSrcweir     :FmEntryData( _pParent, _rxForm )
329cdf0e10cSrcweir     ,m_xForm( _rxForm )
330cdf0e10cSrcweir {
331cdf0e10cSrcweir     DBG_CTOR(FmEntryData,NULL);
332cdf0e10cSrcweir     //////////////////////////////////////////////////////////////////////
333cdf0e10cSrcweir     // Images setzen
334cdf0e10cSrcweir 
335cdf0e10cSrcweir     m_aNormalImage = _rNormalImages.GetImage( RID_SVXIMG_FORM );
336cdf0e10cSrcweir     m_aHCImage = _rHCImages.GetImage( RID_SVXIMG_FORM );
337cdf0e10cSrcweir 
338cdf0e10cSrcweir     //////////////////////////////////////////////////////////////////////
339cdf0e10cSrcweir     // Titel setzen
340cdf0e10cSrcweir     if (m_xForm.is())
341cdf0e10cSrcweir     {
342cdf0e10cSrcweir         Reference< XPropertySet >  xSet(m_xForm, UNO_QUERY);
343cdf0e10cSrcweir         if (xSet.is())
344cdf0e10cSrcweir         {
345cdf0e10cSrcweir             ::rtl::OUString aEntryName(::comphelper::getString(xSet->getPropertyValue( FM_PROP_NAME )));
346cdf0e10cSrcweir             SetText(aEntryName);
347cdf0e10cSrcweir         }
348cdf0e10cSrcweir     }
349cdf0e10cSrcweir     else
350cdf0e10cSrcweir         SetText( ::rtl::OUString() );
351cdf0e10cSrcweir }
352cdf0e10cSrcweir 
353cdf0e10cSrcweir //------------------------------------------------------------------------
~FmFormData()354cdf0e10cSrcweir FmFormData::~FmFormData()
355cdf0e10cSrcweir {
356cdf0e10cSrcweir     DBG_DTOR(FmEntryData,NULL);
357cdf0e10cSrcweir }
358cdf0e10cSrcweir 
359cdf0e10cSrcweir //------------------------------------------------------------------------
FmFormData(const FmFormData & rFormData)360cdf0e10cSrcweir FmFormData::FmFormData( const FmFormData& rFormData )
361cdf0e10cSrcweir     :FmEntryData( rFormData )
362cdf0e10cSrcweir {
363cdf0e10cSrcweir     DBG_CTOR(FmEntryData,NULL);
364cdf0e10cSrcweir     m_xForm = rFormData.GetFormIface();
365cdf0e10cSrcweir }
366cdf0e10cSrcweir 
367cdf0e10cSrcweir //------------------------------------------------------------------------
Clone()368cdf0e10cSrcweir FmEntryData* FmFormData::Clone()
369cdf0e10cSrcweir {
370cdf0e10cSrcweir     return new FmFormData( *this );
371cdf0e10cSrcweir }
372cdf0e10cSrcweir 
373cdf0e10cSrcweir //------------------------------------------------------------------------
IsEqualWithoutChilds(FmEntryData * pEntryData)374cdf0e10cSrcweir sal_Bool FmFormData::IsEqualWithoutChilds( FmEntryData* pEntryData )
375cdf0e10cSrcweir {
376cdf0e10cSrcweir     if(this == pEntryData)
377cdf0e10cSrcweir         return sal_True;
378cdf0e10cSrcweir     if( !pEntryData->ISA(FmFormData) )
379cdf0e10cSrcweir         return sal_False;
380cdf0e10cSrcweir     FmFormData* pFormData = (FmFormData*)pEntryData;
381cdf0e10cSrcweir     if( (XForm*)m_xForm.get() != (XForm*)pFormData->GetFormIface().get() )
382cdf0e10cSrcweir         return sal_False;
383cdf0e10cSrcweir 
384cdf0e10cSrcweir     return FmEntryData::IsEqualWithoutChilds( pFormData );
385cdf0e10cSrcweir }
386cdf0e10cSrcweir 
387cdf0e10cSrcweir 
388cdf0e10cSrcweir //========================================================================
389cdf0e10cSrcweir // class FmControlData
390cdf0e10cSrcweir //========================================================================
391cdf0e10cSrcweir TYPEINIT1( FmControlData, FmEntryData );
392cdf0e10cSrcweir DBG_NAME(FmControlData);
393cdf0e10cSrcweir //------------------------------------------------------------------------
FmControlData(const Reference<XFormComponent> & _rxComponent,const ImageList & _rNormalImages,const ImageList & _rHCImages,FmFormData * _pParent)394cdf0e10cSrcweir FmControlData::FmControlData( const Reference< XFormComponent >& _rxComponent, const ImageList& _rNormalImages, const ImageList& _rHCImages, FmFormData* _pParent )
395cdf0e10cSrcweir     :FmEntryData( _pParent, _rxComponent )
396cdf0e10cSrcweir     ,m_xFormComponent( _rxComponent )
397cdf0e10cSrcweir {
398cdf0e10cSrcweir     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmControlData::FmControlData" );
399cdf0e10cSrcweir     DBG_CTOR(FmControlData,NULL);
400cdf0e10cSrcweir     //////////////////////////////////////////////////////////////////////
401cdf0e10cSrcweir     // Images setzen
402cdf0e10cSrcweir     m_aNormalImage = GetImage( _rNormalImages );
403cdf0e10cSrcweir     m_aHCImage = GetImage( _rHCImages );
404cdf0e10cSrcweir 
405cdf0e10cSrcweir     //////////////////////////////////////////////////////////////////////
406cdf0e10cSrcweir     // Titel setzen
407cdf0e10cSrcweir     Reference< XPropertySet >  xSet(m_xFormComponent, UNO_QUERY);
408cdf0e10cSrcweir     if( xSet.is() )
409cdf0e10cSrcweir     {
410cdf0e10cSrcweir #ifdef DBG_UTIL
411cdf0e10cSrcweir         ::rtl::OUString aEntryName = ::comphelper::getString(xSet->getPropertyValue( FM_PROP_NAME ));
412cdf0e10cSrcweir #endif
413cdf0e10cSrcweir         SetText( ::comphelper::getString(xSet->getPropertyValue( FM_PROP_NAME )));
414cdf0e10cSrcweir     }
415cdf0e10cSrcweir }
416cdf0e10cSrcweir 
417cdf0e10cSrcweir //------------------------------------------------------------------------
~FmControlData()418cdf0e10cSrcweir FmControlData::~FmControlData()
419cdf0e10cSrcweir {
420cdf0e10cSrcweir     DBG_DTOR(FmControlData,NULL);
421cdf0e10cSrcweir }
422cdf0e10cSrcweir 
423cdf0e10cSrcweir //------------------------------------------------------------------------
FmControlData(const FmControlData & rControlData)424cdf0e10cSrcweir FmControlData::FmControlData( const FmControlData& rControlData )
425cdf0e10cSrcweir     :FmEntryData( rControlData )
426cdf0e10cSrcweir {
427cdf0e10cSrcweir     DBG_CTOR(FmControlData,NULL);
428cdf0e10cSrcweir     m_xFormComponent = rControlData.GetFormComponent();
429cdf0e10cSrcweir }
430cdf0e10cSrcweir 
431cdf0e10cSrcweir //------------------------------------------------------------------------
Clone()432cdf0e10cSrcweir FmEntryData* FmControlData::Clone()
433cdf0e10cSrcweir {
434cdf0e10cSrcweir     return new FmControlData( *this );
435cdf0e10cSrcweir }
436cdf0e10cSrcweir 
437cdf0e10cSrcweir //------------------------------------------------------------------------
GetImage(const ImageList & ilNavigatorImages) const438cdf0e10cSrcweir Image FmControlData::GetImage(const ImageList& ilNavigatorImages) const
439cdf0e10cSrcweir {
440cdf0e10cSrcweir     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmControlData::FmControlData" );
441cdf0e10cSrcweir     //////////////////////////////////////////////////////////////////////
442cdf0e10cSrcweir     // Default-Image
443cdf0e10cSrcweir     Image aImage = ilNavigatorImages.GetImage( RID_SVXIMG_CONTROL );
444cdf0e10cSrcweir 
445cdf0e10cSrcweir     Reference< XServiceInfo > xInfo( m_xFormComponent, UNO_QUERY );
446cdf0e10cSrcweir     if (!m_xFormComponent.is())
447cdf0e10cSrcweir 		return aImage;
448cdf0e10cSrcweir 
449cdf0e10cSrcweir     //////////////////////////////////////////////////////////////////////
450cdf0e10cSrcweir     // Spezielle Control-Images
451cdf0e10cSrcweir     sal_Int16 nObjectType = getControlTypeByObject(xInfo);
452cdf0e10cSrcweir     switch (nObjectType)
453cdf0e10cSrcweir     {
454cdf0e10cSrcweir     case OBJ_FM_BUTTON:
455cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_BUTTON );
456cdf0e10cSrcweir         break;
457cdf0e10cSrcweir 
458cdf0e10cSrcweir     case OBJ_FM_FIXEDTEXT:
459cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_FIXEDTEXT );
460cdf0e10cSrcweir         break;
461cdf0e10cSrcweir 
462cdf0e10cSrcweir     case OBJ_FM_EDIT:
463cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_EDIT );
464cdf0e10cSrcweir         break;
465cdf0e10cSrcweir 
466cdf0e10cSrcweir     case OBJ_FM_RADIOBUTTON:
467cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_RADIOBUTTON );
468cdf0e10cSrcweir         break;
469cdf0e10cSrcweir 
470cdf0e10cSrcweir     case OBJ_FM_CHECKBOX:
471cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_CHECKBOX );
472cdf0e10cSrcweir         break;
473cdf0e10cSrcweir 
474cdf0e10cSrcweir     case OBJ_FM_LISTBOX:
475cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_LISTBOX );
476cdf0e10cSrcweir         break;
477cdf0e10cSrcweir 
478cdf0e10cSrcweir     case OBJ_FM_COMBOBOX:
479cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_COMBOBOX );
480cdf0e10cSrcweir         break;
481cdf0e10cSrcweir 
482cdf0e10cSrcweir     case OBJ_FM_NAVIGATIONBAR:
483cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_NAVIGATIONBAR );
484cdf0e10cSrcweir         break;
485cdf0e10cSrcweir 
486cdf0e10cSrcweir     case OBJ_FM_GROUPBOX:
487cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_GROUPBOX );
488cdf0e10cSrcweir         break;
489cdf0e10cSrcweir 
490cdf0e10cSrcweir     case OBJ_FM_IMAGEBUTTON:
491cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_IMAGEBUTTON );
492cdf0e10cSrcweir         break;
493cdf0e10cSrcweir 
494cdf0e10cSrcweir     case OBJ_FM_FILECONTROL:
495cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_FILECONTROL );
496cdf0e10cSrcweir         break;
497cdf0e10cSrcweir 
498cdf0e10cSrcweir     case OBJ_FM_HIDDEN:
499cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_HIDDEN );
500cdf0e10cSrcweir         break;
501cdf0e10cSrcweir 
502cdf0e10cSrcweir     case OBJ_FM_DATEFIELD:
503cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_DATEFIELD );
504cdf0e10cSrcweir         break;
505cdf0e10cSrcweir 
506cdf0e10cSrcweir     case OBJ_FM_TIMEFIELD:
507cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_TIMEFIELD );
508cdf0e10cSrcweir         break;
509cdf0e10cSrcweir 
510cdf0e10cSrcweir     case OBJ_FM_NUMERICFIELD:
511cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_NUMERICFIELD );
512cdf0e10cSrcweir         break;
513cdf0e10cSrcweir 
514cdf0e10cSrcweir     case OBJ_FM_CURRENCYFIELD:
515cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_CURRENCYFIELD );
516cdf0e10cSrcweir         break;
517cdf0e10cSrcweir 
518cdf0e10cSrcweir     case OBJ_FM_PATTERNFIELD:
519cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_PATTERNFIELD );
520cdf0e10cSrcweir         break;
521cdf0e10cSrcweir 
522cdf0e10cSrcweir     case OBJ_FM_IMAGECONTROL:
523cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_IMAGECONTROL );
524cdf0e10cSrcweir         break;
525cdf0e10cSrcweir 
526cdf0e10cSrcweir     case OBJ_FM_FORMATTEDFIELD:
527cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_FORMATTEDFIELD );
528cdf0e10cSrcweir         break;
529cdf0e10cSrcweir 
530cdf0e10cSrcweir     case OBJ_FM_GRID:
531cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_GRID );
532cdf0e10cSrcweir         break;
533cdf0e10cSrcweir 
534cdf0e10cSrcweir     case OBJ_FM_SCROLLBAR:
535cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_SCROLLBAR );
536cdf0e10cSrcweir         break;
537cdf0e10cSrcweir 
538cdf0e10cSrcweir     case OBJ_FM_SPINBUTTON:
539cdf0e10cSrcweir         aImage = ilNavigatorImages.GetImage( RID_SVXIMG_SPINBUTTON);
540cdf0e10cSrcweir         break;
541cdf0e10cSrcweir     }
542cdf0e10cSrcweir 
543cdf0e10cSrcweir     return aImage;
544cdf0e10cSrcweir }
545cdf0e10cSrcweir 
546cdf0e10cSrcweir //------------------------------------------------------------------------
IsEqualWithoutChilds(FmEntryData * pEntryData)547cdf0e10cSrcweir sal_Bool FmControlData::IsEqualWithoutChilds( FmEntryData* pEntryData )
548cdf0e10cSrcweir {
549cdf0e10cSrcweir     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmControlData::IsEqualWithoutChilds" );
550cdf0e10cSrcweir     if(this == pEntryData)
551cdf0e10cSrcweir         return sal_True;
552cdf0e10cSrcweir 
553cdf0e10cSrcweir     if( !pEntryData->ISA(FmControlData) )
554cdf0e10cSrcweir         return sal_False;
555cdf0e10cSrcweir     FmControlData* pControlData = (FmControlData*)pEntryData;
556cdf0e10cSrcweir 
557cdf0e10cSrcweir     if( (XFormComponent*)m_xFormComponent.get() != (XFormComponent*)pControlData->GetFormComponent().get() )
558cdf0e10cSrcweir         return sal_False;
559cdf0e10cSrcweir 
560cdf0e10cSrcweir     return FmEntryData::IsEqualWithoutChilds( pControlData );
561cdf0e10cSrcweir }
562cdf0e10cSrcweir 
563cdf0e10cSrcweir //------------------------------------------------------------------------
ModelReplaced(const Reference<XFormComponent> & _rxNew,const ImageList & _rNormalImages,const ImageList & _rHCImages)564cdf0e10cSrcweir void FmControlData::ModelReplaced( const Reference< XFormComponent >& _rxNew, const ImageList& _rNormalImages, const ImageList& _rHCImages )
565cdf0e10cSrcweir {
566cdf0e10cSrcweir     RTL_LOGFILE_CONTEXT_AUTHOR( aLogger, "svx", "Ocke.Janssen@sun.com", "FmControlData::ModelReplaced" );
567cdf0e10cSrcweir     m_xFormComponent = _rxNew;
568cdf0e10cSrcweir 	newObject( m_xFormComponent );
569cdf0e10cSrcweir 
570cdf0e10cSrcweir     // Images neu setzen
571cdf0e10cSrcweir     m_aNormalImage = GetImage( _rNormalImages );
572cdf0e10cSrcweir 	m_aHCImage = GetImage( _rHCImages );
573cdf0e10cSrcweir }
574cdf0e10cSrcweir 
575cdf0e10cSrcweir //............................................................................
576cdf0e10cSrcweir namespace svxform
577cdf0e10cSrcweir {
578cdf0e10cSrcweir //............................................................................
579cdf0e10cSrcweir 
580cdf0e10cSrcweir 	//========================================================================
581cdf0e10cSrcweir 	// class NavigatorFrame
582cdf0e10cSrcweir 	//========================================================================
DBG_NAME(NavigatorFrame)583cdf0e10cSrcweir 	DBG_NAME(NavigatorFrame)
584cdf0e10cSrcweir 	//------------------------------------------------------------------------
585cdf0e10cSrcweir 	NavigatorFrame::NavigatorFrame( SfxBindings* _pBindings, SfxChildWindow* _pMgr,
586cdf0e10cSrcweir 								  Window* _pParent )
587cdf0e10cSrcweir 	  :SfxDockingWindow( _pBindings, _pMgr, _pParent, WinBits(WB_STDMODELESS|WB_SIZEABLE|WB_ROLLABLE|WB_3DLOOK|WB_DOCKABLE) )
588cdf0e10cSrcweir 	  ,SfxControllerItem( SID_FM_FMEXPLORER_CONTROL, *_pBindings )
589cdf0e10cSrcweir 	{
590cdf0e10cSrcweir 		DBG_CTOR(NavigatorFrame,NULL);
591cdf0e10cSrcweir 		SetHelpId( HID_FORM_NAVIGATOR_WIN );
592cdf0e10cSrcweir 
593cdf0e10cSrcweir 		m_pNavigatorTree = new NavigatorTree(comphelper::getProcessServiceFactory(), this );
594cdf0e10cSrcweir 		m_pNavigatorTree->Show();
595cdf0e10cSrcweir 		SetText( SVX_RES(RID_STR_FMEXPLORER) );
596cdf0e10cSrcweir 		SfxDockingWindow::SetFloatingSize( Size(200,200) );
597cdf0e10cSrcweir 	}
598cdf0e10cSrcweir 
599cdf0e10cSrcweir 	//------------------------------------------------------------------------
~NavigatorFrame()600cdf0e10cSrcweir 	NavigatorFrame::~NavigatorFrame()
601cdf0e10cSrcweir 	{
602cdf0e10cSrcweir 		delete m_pNavigatorTree;
603cdf0e10cSrcweir 		DBG_DTOR(NavigatorFrame,NULL);
604cdf0e10cSrcweir 	}
605cdf0e10cSrcweir 
606cdf0e10cSrcweir 	//-----------------------------------------------------------------------
UpdateContent(FmFormShell * pFormShell)607cdf0e10cSrcweir 	void NavigatorFrame::UpdateContent( FmFormShell* pFormShell )
608cdf0e10cSrcweir 	{
609cdf0e10cSrcweir 		m_pNavigatorTree->UpdateContent( pFormShell );
610cdf0e10cSrcweir 	}
611cdf0e10cSrcweir 
612cdf0e10cSrcweir 	//-----------------------------------------------------------------------
StateChanged(sal_uInt16 nSID,SfxItemState eState,const SfxPoolItem * pState)613cdf0e10cSrcweir 	void NavigatorFrame::StateChanged( sal_uInt16 nSID, SfxItemState eState, const SfxPoolItem* pState )
614cdf0e10cSrcweir 	{
615cdf0e10cSrcweir 		if( !pState  || SID_FM_FMEXPLORER_CONTROL != nSID )
616cdf0e10cSrcweir 			return;
617cdf0e10cSrcweir 
618cdf0e10cSrcweir 		if( eState >= SFX_ITEM_AVAILABLE )
619cdf0e10cSrcweir 		{
620cdf0e10cSrcweir 			FmFormShell* pShell = PTR_CAST( FmFormShell,((SfxObjectItem*)pState)->GetShell() );
621cdf0e10cSrcweir 			UpdateContent( pShell );
622cdf0e10cSrcweir 		}
623cdf0e10cSrcweir 		else
624cdf0e10cSrcweir 			UpdateContent( NULL );
625cdf0e10cSrcweir 	}
626cdf0e10cSrcweir 
627cdf0e10cSrcweir 	//-----------------------------------------------------------------------
GetFocus()628cdf0e10cSrcweir 	void NavigatorFrame::GetFocus()
629cdf0e10cSrcweir 	{
630cdf0e10cSrcweir 		if ( m_pNavigatorTree )
631cdf0e10cSrcweir 			m_pNavigatorTree->GrabFocus();
632cdf0e10cSrcweir 		else
633cdf0e10cSrcweir 			SfxDockingWindow::GetFocus();
634cdf0e10cSrcweir 	}
635cdf0e10cSrcweir 
636cdf0e10cSrcweir 	//-----------------------------------------------------------------------
Close()637cdf0e10cSrcweir 	sal_Bool NavigatorFrame::Close()
638cdf0e10cSrcweir 	{
639cdf0e10cSrcweir 		UpdateContent( NULL );
640cdf0e10cSrcweir 		return SfxDockingWindow::Close();
641cdf0e10cSrcweir 	}
642cdf0e10cSrcweir 
643cdf0e10cSrcweir 	//-----------------------------------------------------------------------
FillInfo(SfxChildWinInfo & rInfo) const644cdf0e10cSrcweir 	void NavigatorFrame::FillInfo( SfxChildWinInfo& rInfo ) const
645cdf0e10cSrcweir 	{
646cdf0e10cSrcweir 		SfxDockingWindow::FillInfo( rInfo );
647cdf0e10cSrcweir 		rInfo.bVisible = sal_False;
648cdf0e10cSrcweir 	}
649cdf0e10cSrcweir 
650cdf0e10cSrcweir 	//-----------------------------------------------------------------------
CalcDockingSize(SfxChildAlignment eAlign)651cdf0e10cSrcweir 	Size NavigatorFrame::CalcDockingSize( SfxChildAlignment eAlign )
652cdf0e10cSrcweir 	{
653cdf0e10cSrcweir         if ( ( eAlign == SFX_ALIGN_TOP ) || ( eAlign == SFX_ALIGN_BOTTOM ) )
654cdf0e10cSrcweir             return Size();
655cdf0e10cSrcweir 
656cdf0e10cSrcweir         return SfxDockingWindow::CalcDockingSize( eAlign );
657cdf0e10cSrcweir 	}
658cdf0e10cSrcweir 
659cdf0e10cSrcweir 	//-----------------------------------------------------------------------
CheckAlignment(SfxChildAlignment _eActAlign,SfxChildAlignment _eAlign)660cdf0e10cSrcweir 	SfxChildAlignment NavigatorFrame::CheckAlignment( SfxChildAlignment _eActAlign, SfxChildAlignment _eAlign )
661cdf0e10cSrcweir 	{
662cdf0e10cSrcweir 		if ( ( _eAlign == SFX_ALIGN_LEFT ) || ( _eAlign == SFX_ALIGN_RIGHT ) || ( _eAlign == SFX_ALIGN_NOALIGNMENT ) )
663cdf0e10cSrcweir 			return _eAlign;
664cdf0e10cSrcweir         return _eActAlign;
665cdf0e10cSrcweir 	}
666cdf0e10cSrcweir 
667cdf0e10cSrcweir 	//------------------------------------------------------------------------
Resize()668cdf0e10cSrcweir 	void NavigatorFrame::Resize()
669cdf0e10cSrcweir 	{
670cdf0e10cSrcweir 		SfxDockingWindow::Resize();
671cdf0e10cSrcweir 
672cdf0e10cSrcweir 		Size aLogOutputSize = PixelToLogic( GetOutputSizePixel(), MAP_APPFONT );
673cdf0e10cSrcweir 		Size aLogExplSize = aLogOutputSize;
674cdf0e10cSrcweir 		aLogExplSize.Width() -= 6;
675cdf0e10cSrcweir 		aLogExplSize.Height() -= 6;
676cdf0e10cSrcweir 
677cdf0e10cSrcweir 		Point aExplPos = LogicToPixel( Point(3,3), MAP_APPFONT );
678cdf0e10cSrcweir 		Size aExplSize = LogicToPixel( aLogExplSize, MAP_APPFONT );
679cdf0e10cSrcweir 
680cdf0e10cSrcweir 		m_pNavigatorTree->SetPosSizePixel( aExplPos, aExplSize );
681cdf0e10cSrcweir 	}
682cdf0e10cSrcweir 
683cdf0e10cSrcweir 
684cdf0e10cSrcweir 	//========================================================================
685cdf0e10cSrcweir 	// class NavigatorFrameManager
686cdf0e10cSrcweir 	//========================================================================
687cdf0e10cSrcweir 
688cdf0e10cSrcweir 	//-----------------------------------------------------------------------
SFX_IMPL_DOCKINGWINDOW(NavigatorFrameManager,SID_FM_SHOW_FMEXPLORER)689cdf0e10cSrcweir 	SFX_IMPL_DOCKINGWINDOW( NavigatorFrameManager, SID_FM_SHOW_FMEXPLORER )
690cdf0e10cSrcweir 
691cdf0e10cSrcweir 	//-----------------------------------------------------------------------
692cdf0e10cSrcweir 	NavigatorFrameManager::NavigatorFrameManager( Window* _pParent, sal_uInt16 _nId,
693cdf0e10cSrcweir 										SfxBindings* _pBindings, SfxChildWinInfo* _pInfo )
694cdf0e10cSrcweir 					 :SfxChildWindow( _pParent, _nId )
695cdf0e10cSrcweir 	{
696cdf0e10cSrcweir 		pWindow = new NavigatorFrame( _pBindings, this, _pParent );
697cdf0e10cSrcweir 		eChildAlignment = SFX_ALIGN_NOALIGNMENT;
698cdf0e10cSrcweir 		((SfxDockingWindow*)pWindow)->Initialize( _pInfo );
699cdf0e10cSrcweir 	}
700cdf0e10cSrcweir 
701cdf0e10cSrcweir //............................................................................
702cdf0e10cSrcweir }	// namespace svxform
703cdf0e10cSrcweir //............................................................................
704