1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
3 * This file is part of the LibreOffice project.
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
9 * This file incorporates work covered by the following license notice:
11 * Licensed to the Apache Software Foundation (ASF) under one or more
12 * contributor license agreements. See the NOTICE file distributed
13 * with this work for additional information regarding copyright
14 * ownership. The ASF licenses this file to you under the Apache
15 * License, Version 2.0 (the "License"); you may not use this file
16 * except in compliance with the License. You may obtain a copy of
17 * the License at http://www.apache.org/licenses/LICENSE-2.0 .
21 #include "svx/fmresids.hrc"
26 #include <svx/fmglob.hxx>
27 #include "fmservs.hxx"
28 #include <svx/fmmodel.hxx>
31 #include "fmpgeimp.hxx"
33 #include <svx/svxids.hrc>
36 #include <svx/dialmgr.hxx>
37 #include "svx/svditer.hxx"
38 #include <svx/svdouno.hxx>
40 #include <svx/svdobj.hxx>
41 #include <vcl/msgbox.hxx>
42 #include <sfx2/dispatch.hxx>
43 #include <sfx2/objsh.hxx>
44 #include <sfx2/viewsh.hxx>
45 #include <sfx2/viewfrm.hxx>
46 #include <com/sun/star/lang/XServiceInfo.hpp>
47 #include <com/sun/star/form/FormComponentType.hpp>
48 #include <com/sun/star/awt/XTabControllerModel.hpp>
49 #include <vcl/menu.hxx>
50 #include <sfx2/objitem.hxx>
51 #include <sfx2/request.hxx>
52 #include <tools/shl.hxx>
54 #include <vcl/wrkwin.hxx>
55 #include <svx/fmshell.hxx>
56 #include "fmshimp.hxx"
57 #include <svx/fmpage.hxx>
58 #include <com/sun/star/io/XPersistObject.hpp>
59 #include <com/sun/star/script/XEventAttacherManager.hpp>
60 #include <com/sun/star/sdb/CommandType.hpp>
61 #include <com/sun/star/beans/PropertyAttribute.hpp>
62 #include <comphelper/property.hxx>
63 #include <comphelper/processfactory.hxx>
64 #include <osl/diagnose.h>
65 #include <rtl/logfile.hxx>
67 using namespace ::svxform
;
68 using namespace ::com::sun::star::uno
;
69 using namespace ::com::sun::star::sdbc
;
70 using namespace ::com::sun::star::sdb
;
71 using namespace ::com::sun::star::form
;
72 using namespace ::com::sun::star::beans
;
73 using namespace ::com::sun::star::lang
;
74 using namespace ::com::sun::star::container
;
76 //========================================================================
77 // class FmNavInsertedHint
78 //========================================================================
79 TYPEINIT1( FmNavInsertedHint
, SfxHint
);
80 DBG_NAME(FmNavInsertedHint
);
81 //------------------------------------------------------------------------
82 FmNavInsertedHint::FmNavInsertedHint( FmEntryData
* pInsertedEntryData
, sal_uInt32 nRelPos
)
83 :pEntryData( pInsertedEntryData
)
87 DBG_CTOR(FmNavInsertedHint
,NULL
);
90 //------------------------------------------------------------------------
91 FmNavInsertedHint::~FmNavInsertedHint()
93 DBG_DTOR(FmNavInsertedHint
,NULL
);
97 //========================================================================
98 // class FmNavInsertedHint
99 //========================================================================
100 TYPEINIT1( FmNavModelReplacedHint
, SfxHint
);
101 DBG_NAME(FmNavModelReplacedHint
);
102 //------------------------------------------------------------------------
103 FmNavModelReplacedHint::FmNavModelReplacedHint( FmEntryData
* pAffectedEntryData
)
104 :pEntryData( pAffectedEntryData
)
106 DBG_CTOR(FmNavModelReplacedHint
,NULL
);
109 //------------------------------------------------------------------------
110 FmNavModelReplacedHint::~FmNavModelReplacedHint()
112 DBG_DTOR(FmNavModelReplacedHint
,NULL
);
115 //========================================================================
116 // class FmNavRemovedHint
117 //========================================================================
118 TYPEINIT1( FmNavRemovedHint
, SfxHint
);
119 DBG_NAME(FmNavRemovedHint
);
120 //------------------------------------------------------------------------
121 FmNavRemovedHint::FmNavRemovedHint( FmEntryData
* pRemovedEntryData
)
122 :pEntryData( pRemovedEntryData
)
124 DBG_CTOR(FmNavRemovedHint
,NULL
);
127 //------------------------------------------------------------------------
128 FmNavRemovedHint::~FmNavRemovedHint()
130 DBG_DTOR(FmNavRemovedHint
,NULL
);
134 //========================================================================
135 // class FmNavNameChangedHint
136 //========================================================================
137 TYPEINIT1( FmNavNameChangedHint
, SfxHint
);
138 DBG_NAME(FmNavNameChangedHint
);
139 //------------------------------------------------------------------------
140 FmNavNameChangedHint::FmNavNameChangedHint( FmEntryData
* pData
, const OUString
& rNewName
)
142 ,aNewName( rNewName
)
144 DBG_CTOR(FmNavNameChangedHint
,NULL
);
147 //------------------------------------------------------------------------
148 FmNavNameChangedHint::~FmNavNameChangedHint()
150 DBG_DTOR(FmNavNameChangedHint
,NULL
);
153 //========================================================================
154 // class FmNavClearedHint
155 //========================================================================
156 TYPEINIT1( FmNavClearedHint
, SfxHint
);
157 DBG_NAME(FmNavClearedHint
);
158 //------------------------------------------------------------------------
159 FmNavClearedHint::FmNavClearedHint()
161 DBG_CTOR(FmNavClearedHint
,NULL
);
164 //------------------------------------------------------------------------
165 FmNavClearedHint::~FmNavClearedHint()
167 DBG_DTOR(FmNavClearedHint
,NULL
);
170 //========================================================================
171 // class FmNavRequestSelectHint
172 //========================================================================
173 TYPEINIT1(FmNavRequestSelectHint
, SfxHint
);
175 //========================================================================
176 // class FmNavViewMarksChanged
177 //========================================================================
178 TYPEINIT1(FmNavViewMarksChanged
, SfxHint
);
180 //========================================================================
181 // class FmEntryDataList
182 //========================================================================
183 DBG_NAME(FmEntryDataList
);
184 //------------------------------------------------------------------------
185 FmEntryDataList::FmEntryDataList()
187 DBG_CTOR(FmEntryDataList
,NULL
);
190 //------------------------------------------------------------------------
191 FmEntryDataList::~FmEntryDataList()
193 DBG_DTOR(FmEntryDataList
,NULL
);
196 //------------------------------------------------------------------------
197 FmEntryData
* FmEntryDataList::remove( FmEntryData
* pItem
)
199 for ( FmEntryDataBaseList::iterator it
= maEntryDataList
.begin();
200 it
!= maEntryDataList
.end();
206 maEntryDataList
.erase( it
);
213 //------------------------------------------------------------------------
214 void FmEntryDataList::insert( FmEntryData
* pItem
, size_t Index
)
216 if ( Index
< maEntryDataList
.size() )
218 FmEntryDataBaseList::iterator it
= maEntryDataList
.begin();
219 ::std::advance( it
, Index
);
220 maEntryDataList
.insert( it
, pItem
);
223 maEntryDataList
.push_back( pItem
);
226 //------------------------------------------------------------------------
227 void FmEntryDataList::clear()
229 for ( size_t i
= 0, n
= maEntryDataList
.size(); i
< n
; ++i
)
230 delete maEntryDataList
[ i
];
231 maEntryDataList
.clear();
234 //========================================================================
236 //========================================================================
237 TYPEINIT0( FmEntryData
);
238 DBG_NAME(FmEntryData
);
239 //------------------------------------------------------------------------
240 FmEntryData::FmEntryData( FmEntryData
* pParentData
, const Reference
< XInterface
>& _rxIFace
)
241 :pParent( pParentData
)
243 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger
, "svx", "Ocke.Janssen@sun.com", "FmEntryData::FmEntryData" );
244 DBG_CTOR(FmEntryData
,NULL
);
245 pChildList
= new FmEntryDataList();
247 newObject( _rxIFace
);
250 //------------------------------------------------------------------------
251 FmEntryData::~FmEntryData()
255 DBG_DTOR(FmEntryData
,NULL
);
258 //------------------------------------------------------------------------
259 void FmEntryData::newObject( const ::com::sun::star::uno::Reference
< ::com::sun::star::uno::XInterface
>& _rxIFace
)
261 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger
, "svx", "Ocke.Janssen@sun.com", "FmEntryData::newObject" );
262 // do not just copy, normalize it
263 m_xNormalizedIFace
= Reference
< XInterface
>( _rxIFace
, UNO_QUERY
);
264 m_xProperties
= m_xProperties
.query( m_xNormalizedIFace
);
265 m_xChild
= m_xChild
.query( m_xNormalizedIFace
);
268 //------------------------------------------------------------------------
269 FmEntryData::FmEntryData( const FmEntryData
& rEntryData
)
271 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger
, "svx", "Ocke.Janssen@sun.com", "FmEntryData::FmEntryData" );
272 pChildList
= new FmEntryDataList();
273 aText
= rEntryData
.GetText();
274 m_aNormalImage
= rEntryData
.GetNormalImage();
275 pParent
= rEntryData
.GetParent();
277 FmEntryData
* pChildData
;
278 size_t nEntryCount
= rEntryData
.GetChildList()->size();
279 for( size_t i
= 0; i
< nEntryCount
; i
++ )
281 pChildData
= rEntryData
.GetChildList()->at( i
);
282 FmEntryData
* pNewChildData
= pChildData
->Clone();
283 pChildList
->insert( pNewChildData
, size_t(-1) );
286 m_xNormalizedIFace
= rEntryData
.m_xNormalizedIFace
;
287 m_xProperties
= rEntryData
.m_xProperties
;
288 m_xChild
= rEntryData
.m_xChild
;
291 //------------------------------------------------------------------------
292 void FmEntryData::Clear()
294 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger
, "svx", "Ocke.Janssen@sun.com", "FmEntryData::Clear" );
295 GetChildList()->clear();
298 //------------------------------------------------------------------------
299 sal_Bool
FmEntryData::IsEqualWithoutChildren( FmEntryData
* pEntryData
)
301 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger
, "svx", "Ocke.Janssen@sun.com", "FmEntryData::IsEqualWithoutChildren" );
302 if(this == pEntryData
)
308 if( !aText
.equals(pEntryData
->GetText()))
311 if( !pEntryData
->GetParent() && pParent
)
314 if( pEntryData
->GetParent() && !pParent
)
317 if( !pEntryData
->GetParent() && !pParent
)
320 if( !pParent
->IsEqualWithoutChildren(pEntryData
->GetParent()) )
327 //========================================================================
329 //========================================================================
330 TYPEINIT1( FmFormData
, FmEntryData
);
331 DBG_NAME(FmFormData
);
332 //------------------------------------------------------------------------
333 FmFormData::FmFormData(
334 const Reference
< XForm
>& _rxForm
,
335 const ImageList
& _rNormalImages
,
338 : FmEntryData( _pParent
, _rxForm
),
341 DBG_CTOR(FmEntryData
,NULL
);
342 //////////////////////////////////////////////////////////////////////
345 m_aNormalImage
= _rNormalImages
.GetImage( RID_SVXIMG_FORM
);
347 //////////////////////////////////////////////////////////////////////
351 Reference
< XPropertySet
> xSet(m_xForm
, UNO_QUERY
);
354 OUString
aEntryName(::comphelper::getString(xSet
->getPropertyValue( FM_PROP_NAME
)));
359 SetText( OUString() );
362 //------------------------------------------------------------------------
363 FmFormData::~FmFormData()
365 DBG_DTOR(FmEntryData
,NULL
);
368 //------------------------------------------------------------------------
369 FmFormData::FmFormData( const FmFormData
& rFormData
)
370 :FmEntryData( rFormData
)
372 DBG_CTOR(FmEntryData
,NULL
);
373 m_xForm
= rFormData
.GetFormIface();
376 //------------------------------------------------------------------------
377 FmEntryData
* FmFormData::Clone()
379 return new FmFormData( *this );
382 //------------------------------------------------------------------------
383 sal_Bool
FmFormData::IsEqualWithoutChildren( FmEntryData
* pEntryData
)
385 if(this == pEntryData
)
387 if( !pEntryData
->ISA(FmFormData
) )
389 FmFormData
* pFormData
= (FmFormData
*)pEntryData
;
390 if( (XForm
*)m_xForm
.get() != (XForm
*)pFormData
->GetFormIface().get() )
393 return FmEntryData::IsEqualWithoutChildren( pFormData
);
397 //========================================================================
398 // class FmControlData
399 //========================================================================
400 TYPEINIT1( FmControlData
, FmEntryData
);
401 DBG_NAME(FmControlData
);
402 //------------------------------------------------------------------------
403 FmControlData::FmControlData(
404 const Reference
< XFormComponent
>& _rxComponent
,
405 const ImageList
& _rNormalImages
,
408 : FmEntryData( _pParent
, _rxComponent
),
409 m_xFormComponent( _rxComponent
)
411 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger
, "svx", "Ocke.Janssen@sun.com", "FmControlData::FmControlData" );
412 DBG_CTOR(FmControlData
,NULL
);
413 //////////////////////////////////////////////////////////////////////
415 m_aNormalImage
= GetImage( _rNormalImages
);
417 //////////////////////////////////////////////////////////////////////
419 Reference
< XPropertySet
> xSet(m_xFormComponent
, UNO_QUERY
);
422 SetText( ::comphelper::getString(xSet
->getPropertyValue( FM_PROP_NAME
)));
426 //------------------------------------------------------------------------
427 FmControlData::~FmControlData()
429 DBG_DTOR(FmControlData
,NULL
);
432 //------------------------------------------------------------------------
433 FmControlData::FmControlData( const FmControlData
& rControlData
)
434 :FmEntryData( rControlData
)
436 DBG_CTOR(FmControlData
,NULL
);
437 m_xFormComponent
= rControlData
.GetFormComponent();
440 //------------------------------------------------------------------------
441 FmEntryData
* FmControlData::Clone()
443 return new FmControlData( *this );
446 //------------------------------------------------------------------------
447 Image
FmControlData::GetImage(const ImageList
& ilNavigatorImages
) const
449 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger
, "svx", "Ocke.Janssen@sun.com", "FmControlData::FmControlData" );
450 //////////////////////////////////////////////////////////////////////
452 Image aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_CONTROL
);
454 Reference
< XServiceInfo
> xInfo( m_xFormComponent
, UNO_QUERY
);
455 if (!m_xFormComponent
.is())
458 //////////////////////////////////////////////////////////////////////
459 // Spezielle Control-Images
460 sal_Int16 nObjectType
= getControlTypeByObject(xInfo
);
464 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_BUTTON
);
467 case OBJ_FM_FIXEDTEXT
:
468 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_FIXEDTEXT
);
472 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_EDIT
);
475 case OBJ_FM_RADIOBUTTON
:
476 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_RADIOBUTTON
);
479 case OBJ_FM_CHECKBOX
:
480 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_CHECKBOX
);
484 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_LISTBOX
);
487 case OBJ_FM_COMBOBOX
:
488 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_COMBOBOX
);
491 case OBJ_FM_NAVIGATIONBAR
:
492 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_NAVIGATIONBAR
);
495 case OBJ_FM_GROUPBOX
:
496 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_GROUPBOX
);
499 case OBJ_FM_IMAGEBUTTON
:
500 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_IMAGEBUTTON
);
503 case OBJ_FM_FILECONTROL
:
504 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_FILECONTROL
);
508 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_HIDDEN
);
511 case OBJ_FM_DATEFIELD
:
512 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_DATEFIELD
);
515 case OBJ_FM_TIMEFIELD
:
516 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_TIMEFIELD
);
519 case OBJ_FM_NUMERICFIELD
:
520 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_NUMERICFIELD
);
523 case OBJ_FM_CURRENCYFIELD
:
524 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_CURRENCYFIELD
);
527 case OBJ_FM_PATTERNFIELD
:
528 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_PATTERNFIELD
);
531 case OBJ_FM_IMAGECONTROL
:
532 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_IMAGECONTROL
);
535 case OBJ_FM_FORMATTEDFIELD
:
536 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_FORMATTEDFIELD
);
540 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_GRID
);
543 case OBJ_FM_SCROLLBAR
:
544 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_SCROLLBAR
);
547 case OBJ_FM_SPINBUTTON
:
548 aImage
= ilNavigatorImages
.GetImage( RID_SVXIMG_SPINBUTTON
);
555 //------------------------------------------------------------------------
556 sal_Bool
FmControlData::IsEqualWithoutChildren( FmEntryData
* pEntryData
)
558 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger
, "svx", "Ocke.Janssen@sun.com", "FmControlData::IsEqualWithoutChildren" );
559 if(this == pEntryData
)
562 if( !pEntryData
->ISA(FmControlData
) )
564 FmControlData
* pControlData
= (FmControlData
*)pEntryData
;
566 if( (XFormComponent
*)m_xFormComponent
.get() != (XFormComponent
*)pControlData
->GetFormComponent().get() )
569 return FmEntryData::IsEqualWithoutChildren( pControlData
);
572 //------------------------------------------------------------------------
573 void FmControlData::ModelReplaced(
574 const Reference
< XFormComponent
>& _rxNew
,
575 const ImageList
& _rNormalImages
578 RTL_LOGFILE_CONTEXT_AUTHOR( aLogger
, "svx", "Ocke.Janssen@sun.com", "FmControlData::ModelReplaced" );
579 m_xFormComponent
= _rxNew
;
580 newObject( m_xFormComponent
);
583 m_aNormalImage
= GetImage( _rNormalImages
);
586 //............................................................................
589 //............................................................................
591 //========================================================================
592 // class NavigatorFrame
593 //========================================================================
594 DBG_NAME(NavigatorFrame
)
595 //------------------------------------------------------------------------
596 NavigatorFrame::NavigatorFrame( SfxBindings
* _pBindings
, SfxChildWindow
* _pMgr
,
598 :SfxDockingWindow( _pBindings
, _pMgr
, _pParent
, WinBits(WB_STDMODELESS
|WB_SIZEABLE
|WB_ROLLABLE
|WB_3DLOOK
|WB_DOCKABLE
) )
599 ,SfxControllerItem( SID_FM_FMEXPLORER_CONTROL
, *_pBindings
)
601 DBG_CTOR(NavigatorFrame
,NULL
);
602 SetHelpId( HID_FORM_NAVIGATOR_WIN
);
604 m_pNavigatorTree
= new NavigatorTree(comphelper::getProcessServiceFactory(), this );
605 m_pNavigatorTree
->Show();
606 SetText( SVX_RES(RID_STR_FMEXPLORER
) );
607 SfxDockingWindow::SetFloatingSize( Size(200,200) );
610 //------------------------------------------------------------------------
611 NavigatorFrame::~NavigatorFrame()
613 delete m_pNavigatorTree
;
614 DBG_DTOR(NavigatorFrame
,NULL
);
617 //-----------------------------------------------------------------------
618 void NavigatorFrame::UpdateContent( FmFormShell
* pFormShell
)
620 m_pNavigatorTree
->UpdateContent( pFormShell
);
623 //-----------------------------------------------------------------------
624 void NavigatorFrame::StateChanged( sal_uInt16 nSID
, SfxItemState eState
, const SfxPoolItem
* pState
)
626 if( !pState
|| SID_FM_FMEXPLORER_CONTROL
!= nSID
)
629 if( eState
>= SFX_ITEM_AVAILABLE
)
631 FmFormShell
* pShell
= PTR_CAST( FmFormShell
,((SfxObjectItem
*)pState
)->GetShell() );
632 UpdateContent( pShell
);
635 UpdateContent( NULL
);
638 //-----------------------------------------------------------------------
639 void NavigatorFrame::GetFocus()
641 if ( m_pNavigatorTree
)
642 m_pNavigatorTree
->GrabFocus();
644 SfxDockingWindow::GetFocus();
647 //-----------------------------------------------------------------------
648 sal_Bool
NavigatorFrame::Close()
650 UpdateContent( NULL
);
651 return SfxDockingWindow::Close();
654 //-----------------------------------------------------------------------
655 void NavigatorFrame::FillInfo( SfxChildWinInfo
& rInfo
) const
657 SfxDockingWindow::FillInfo( rInfo
);
658 rInfo
.bVisible
= sal_False
;
661 //-----------------------------------------------------------------------
662 Size
NavigatorFrame::CalcDockingSize( SfxChildAlignment eAlign
)
664 if ( ( eAlign
== SFX_ALIGN_TOP
) || ( eAlign
== SFX_ALIGN_BOTTOM
) )
667 return SfxDockingWindow::CalcDockingSize( eAlign
);
670 //-----------------------------------------------------------------------
671 SfxChildAlignment
NavigatorFrame::CheckAlignment( SfxChildAlignment _eActAlign
, SfxChildAlignment _eAlign
)
673 if ( ( _eAlign
== SFX_ALIGN_LEFT
) || ( _eAlign
== SFX_ALIGN_RIGHT
) || ( _eAlign
== SFX_ALIGN_NOALIGNMENT
) )
678 //------------------------------------------------------------------------
679 void NavigatorFrame::Resize()
681 SfxDockingWindow::Resize();
683 Size aLogOutputSize
= PixelToLogic( GetOutputSizePixel(), MAP_APPFONT
);
684 Size aLogExplSize
= aLogOutputSize
;
685 aLogExplSize
.Width() -= 6;
686 aLogExplSize
.Height() -= 6;
688 Point aExplPos
= LogicToPixel( Point(3,3), MAP_APPFONT
);
689 Size aExplSize
= LogicToPixel( aLogExplSize
, MAP_APPFONT
);
691 m_pNavigatorTree
->SetPosSizePixel( aExplPos
, aExplSize
);
695 //========================================================================
696 // class NavigatorFrameManager
697 //========================================================================
699 //-----------------------------------------------------------------------
700 SFX_IMPL_DOCKINGWINDOW( NavigatorFrameManager
, SID_FM_SHOW_FMEXPLORER
)
702 //-----------------------------------------------------------------------
703 NavigatorFrameManager::NavigatorFrameManager( Window
* _pParent
, sal_uInt16 _nId
,
704 SfxBindings
* _pBindings
, SfxChildWinInfo
* _pInfo
)
705 :SfxChildWindow( _pParent
, _nId
)
707 pWindow
= new NavigatorFrame( _pBindings
, this, _pParent
);
708 eChildAlignment
= SFX_ALIGN_NOALIGNMENT
;
709 ((SfxDockingWindow
*)pWindow
)->Initialize( _pInfo
);
712 //............................................................................
713 } // namespace svxform
714 //............................................................................
716 /* vim:set shiftwidth=4 softtabstop=4 expandtab: */