fdo#74697 Add Bluez 5 support for impress remote.
[LibreOffice.git] / svx / source / form / fmexpl.cxx
blob26b8b906e2ee36ed03753c03c20770141efd2938
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
2 /*
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"
22 #include "fmexpl.hrc"
23 #include "fmexpl.hxx"
25 #include "fmhelp.hrc"
26 #include <svx/fmglob.hxx>
27 #include "fmservs.hxx"
28 #include <svx/fmmodel.hxx>
29 #include "fmexch.hxx"
30 #include "fmundo.hxx"
31 #include "fmpgeimp.hxx"
33 #include <svx/svxids.hrc>
35 #include "fmprop.hrc"
36 #include <svx/dialmgr.hxx>
37 #include "svx/svditer.hxx"
38 #include <svx/svdouno.hxx>
39 #include <fmundo.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 )
84 ,nPos( nRelPos )
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 )
141 :pEntryData( pData )
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();
201 ++it
204 if ( *it == pItem )
206 maEntryDataList.erase( it );
207 break;
210 return pItem;
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 );
222 else
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 //========================================================================
235 // class FmEntryData
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()
253 Clear();
254 delete pChildList;
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)
303 return sal_True;
305 if( !pEntryData )
306 return sal_False;
308 if( !aText.equals(pEntryData->GetText()))
309 return sal_False;
311 if( !pEntryData->GetParent() && pParent )
312 return sal_False;
314 if( pEntryData->GetParent() && !pParent )
315 return sal_False;
317 if( !pEntryData->GetParent() && !pParent )
318 return sal_True;
320 if( !pParent->IsEqualWithoutChildren(pEntryData->GetParent()) )
321 return sal_False;
323 return sal_True;
327 //========================================================================
328 // class FmFormData
329 //========================================================================
330 TYPEINIT1( FmFormData, FmEntryData );
331 DBG_NAME(FmFormData);
332 //------------------------------------------------------------------------
333 FmFormData::FmFormData(
334 const Reference< XForm >& _rxForm,
335 const ImageList& _rNormalImages,
336 FmFormData* _pParent
338 : FmEntryData( _pParent, _rxForm ),
339 m_xForm( _rxForm )
341 DBG_CTOR(FmEntryData,NULL);
342 //////////////////////////////////////////////////////////////////////
343 // Images setzen
345 m_aNormalImage = _rNormalImages.GetImage( RID_SVXIMG_FORM );
347 //////////////////////////////////////////////////////////////////////
348 // Titel setzen
349 if (m_xForm.is())
351 Reference< XPropertySet > xSet(m_xForm, UNO_QUERY);
352 if (xSet.is())
354 OUString aEntryName(::comphelper::getString(xSet->getPropertyValue( FM_PROP_NAME )));
355 SetText(aEntryName);
358 else
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)
386 return sal_True;
387 if( !pEntryData->ISA(FmFormData) )
388 return sal_False;
389 FmFormData* pFormData = (FmFormData*)pEntryData;
390 if( (XForm*)m_xForm.get() != (XForm*)pFormData->GetFormIface().get() )
391 return sal_False;
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,
406 FmFormData* _pParent
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 //////////////////////////////////////////////////////////////////////
414 // Images setzen
415 m_aNormalImage = GetImage( _rNormalImages );
417 //////////////////////////////////////////////////////////////////////
418 // Titel setzen
419 Reference< XPropertySet > xSet(m_xFormComponent, UNO_QUERY);
420 if( xSet.is() )
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 //////////////////////////////////////////////////////////////////////
451 // Default-Image
452 Image aImage = ilNavigatorImages.GetImage( RID_SVXIMG_CONTROL );
454 Reference< XServiceInfo > xInfo( m_xFormComponent, UNO_QUERY );
455 if (!m_xFormComponent.is())
456 return aImage;
458 //////////////////////////////////////////////////////////////////////
459 // Spezielle Control-Images
460 sal_Int16 nObjectType = getControlTypeByObject(xInfo);
461 switch (nObjectType)
463 case OBJ_FM_BUTTON:
464 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_BUTTON );
465 break;
467 case OBJ_FM_FIXEDTEXT:
468 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_FIXEDTEXT );
469 break;
471 case OBJ_FM_EDIT:
472 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_EDIT );
473 break;
475 case OBJ_FM_RADIOBUTTON:
476 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_RADIOBUTTON );
477 break;
479 case OBJ_FM_CHECKBOX:
480 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_CHECKBOX );
481 break;
483 case OBJ_FM_LISTBOX:
484 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_LISTBOX );
485 break;
487 case OBJ_FM_COMBOBOX:
488 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_COMBOBOX );
489 break;
491 case OBJ_FM_NAVIGATIONBAR:
492 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_NAVIGATIONBAR );
493 break;
495 case OBJ_FM_GROUPBOX:
496 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_GROUPBOX );
497 break;
499 case OBJ_FM_IMAGEBUTTON:
500 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_IMAGEBUTTON );
501 break;
503 case OBJ_FM_FILECONTROL:
504 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_FILECONTROL );
505 break;
507 case OBJ_FM_HIDDEN:
508 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_HIDDEN );
509 break;
511 case OBJ_FM_DATEFIELD:
512 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_DATEFIELD );
513 break;
515 case OBJ_FM_TIMEFIELD:
516 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_TIMEFIELD );
517 break;
519 case OBJ_FM_NUMERICFIELD:
520 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_NUMERICFIELD );
521 break;
523 case OBJ_FM_CURRENCYFIELD:
524 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_CURRENCYFIELD );
525 break;
527 case OBJ_FM_PATTERNFIELD:
528 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_PATTERNFIELD );
529 break;
531 case OBJ_FM_IMAGECONTROL:
532 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_IMAGECONTROL );
533 break;
535 case OBJ_FM_FORMATTEDFIELD:
536 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_FORMATTEDFIELD );
537 break;
539 case OBJ_FM_GRID:
540 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_GRID );
541 break;
543 case OBJ_FM_SCROLLBAR:
544 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_SCROLLBAR );
545 break;
547 case OBJ_FM_SPINBUTTON:
548 aImage = ilNavigatorImages.GetImage( RID_SVXIMG_SPINBUTTON);
549 break;
552 return aImage;
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)
560 return sal_True;
562 if( !pEntryData->ISA(FmControlData) )
563 return sal_False;
564 FmControlData* pControlData = (FmControlData*)pEntryData;
566 if( (XFormComponent*)m_xFormComponent.get() != (XFormComponent*)pControlData->GetFormComponent().get() )
567 return sal_False;
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 );
582 // Images neu setzen
583 m_aNormalImage = GetImage( _rNormalImages );
586 //............................................................................
587 namespace svxform
589 //............................................................................
591 //========================================================================
592 // class NavigatorFrame
593 //========================================================================
594 DBG_NAME(NavigatorFrame)
595 //------------------------------------------------------------------------
596 NavigatorFrame::NavigatorFrame( SfxBindings* _pBindings, SfxChildWindow* _pMgr,
597 Window* _pParent )
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 )
627 return;
629 if( eState >= SFX_ITEM_AVAILABLE )
631 FmFormShell* pShell = PTR_CAST( FmFormShell,((SfxObjectItem*)pState)->GetShell() );
632 UpdateContent( pShell );
634 else
635 UpdateContent( NULL );
638 //-----------------------------------------------------------------------
639 void NavigatorFrame::GetFocus()
641 if ( m_pNavigatorTree )
642 m_pNavigatorTree->GrabFocus();
643 else
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 ) )
665 return Size();
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 ) )
674 return _eAlign;
675 return _eActAlign;
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: */